Введение

Протокол связи на канальном уровне (Data link layer communication protocol) – это протокол связи на канальном уровне (layer 2) между двумя маршрутизаторами напрямую, без каких-либо промежуточных хостов или других сетевых устройств. Он обеспечивает обнаружение петель, аутентификацию, шифрование передаваемых данных и сжатие данных. PPP используется в различных типах физических сетей, включая последовательные порты, телефонные линии, магистральные линии, сети сотовой связи, специализированные радиоканалы, ISDN и волоконно-оптические линии связи, такие как SONET. Поскольку IP-пакеты не могут передаваться по модемной линии самостоятельно без протокола канального уровня, определяющего начало и конец передаваемого кадра, интернет-провайдеры (ISP) использовали PPP для обеспечения доступа клиентов в Интернет по коммутируемым линиям. PPP применялся на линиях устаревшей коммутируемой сети. Два производных протокола PPP – Point to Point Protocol over Ethernet (PPPoE) и Point to Point Protocol over ATM (PPPoA) – наиболее часто используются интернет-провайдерами для установления соединения цифровой абонентской линии (DSL) с клиентами.

Описание

PPP очень часто используется в качестве протокола канального уровня для установления соединения по синхронным и асинхронным линиям связи, где он в значительной степени вытеснил более ранний протокол SLIP и стандарты, предписываемые телефонными компаниями (такие как протокол доступа к каналу с балансировкой (LAPB) в составе протоколов X.25). Единственным требованием к PPP является дуплексный режим работы линии связи. PPP разработан для работы с множеством протоколов сетевого уровня, включая Internet Protocol (IP), TRILL, Internetwork Packet Exchange (IPX) от Novell, NBF, DECnet и AppleTalk. Как и SLIP, это обеспечивает полноценное подключение к Интернету по телефонным линиям через модем. Он надежнее, чем SLIP, поскольку осуществляет двойную проверку целостности интернет-пакетов при передаче. Это компонент инкапсуляции, используемый для передачи датаграмм через указанный физический уровень. Протокол управления каналом (LCP) предназначен для установления, настройки и тестирования канала, а также для согласования параметров, опций и использования функций. Один или несколько протоколов управления сетью (NCP) используются для согласования дополнительных параметров конфигурации и возможностей для сетевого уровня. Для каждого протокола более высокого уровня, поддерживаемого PPP, предусмотрен один NCP.

Автоматическая самоконфигурация

LCP изящно устанавливает и завершает соединения, позволяя хостам согласовывать параметры соединения. Это неотъемлемая часть протокола PPP и определяется в той же спецификации. LCP обеспечивает автоматическую настройку интерфейсов на каждом конце (например, размера датаграмм, управляющих символов и магических чисел) и выбор дополнительной аутентификации. Протокол LCP работает поверх PPP (с идентификатором протокола PPP 0xC021), поэтому для его настройки необходимо предварительно установить базовое PPP-соединение. RFC 1994 описывает протокол аутентификации Challenge Handshake Authentication Protocol (CHAP), который предпочтителен для установления dial-up соединений с интернет-провайдерами. Хотя протокол Password Authentication Protocol (PAP) считается устаревшим, он все еще иногда используется. Другим вариантом аутентификации по PPP является протокол Extensible Authentication Protocol (EAP), описанный в RFC 2284. После установления канала связи может быть выполнена дополнительная настройка сети (уровня 3). Чаще всего используется протокол управления интернет-протоколом (IPCP), хотя протоколы управления Internetwork Packet Exchange (IPXCP) и AppleTalk (ATCP) когда-то были популярны. Протокол управления протоколом Internet Protocol версии 6 (IPv6CP) получит более широкое распространение в будущем, когда IPv6 заменит IPv4 как доминирующий протокол 3-го уровня.

Обнаружение циклической связи

PPP обнаруживает петли в соединениях, используя механизм с применением "магических чисел". При отправке PPP LCP-сообщений узел может включать в них "магическое число". Если соединение замкнуто в петлю, узел получает LCP-сообщение со своим собственным "магическим числом", вместо сообщения с "магическим числом" удалённого узла.

Варианты конфигурации

В предыдущем разделе было представлено использование опций LCP для удовлетворения конкретных требований к подключению к WAN. PPP может включать следующие опции LCP:
Аутентификация – Пир-маршрутизаторы обмениваются сообщениями аутентификации. Два варианта аутентификации – Протокол аутентификации паролем (PAP) и Протокол аутентификации с помощью вызова-ответа (CHAP). Аутентификация объясняется в следующем разделе.
Сжатие – Увеличивает эффективную пропускную способность PPP-соединений за счет уменьшения объема данных в кадре, передаваемого по каналу связи, с использованием согласованного алгоритма, такого как BSD-компрессия или Deflate. Протокол распаковывает кадр в пункте назначения. Подробности см. в [ссылка].
Обнаружение ошибок – Определяет условия возникновения неисправностей. Опции "Качество" и "Магическое число" помогают обеспечить надежную связь данных без петель. Поле "Магическое число" помогает обнаруживать каналы связи, находящиеся в состоянии петли. До тех пор, пока опция конфигурации "Магическое число" не будет успешно согласована, магическое число должно передаваться как ноль. Магические числа генерируются случайным образом на каждом конце соединения.
Multilink – Обеспечивает балансировку нагрузки между несколькими интерфейсами, используемыми PPP, посредством Multilink PPP (см. ниже).

Фазы и активация линии

Link Dead Эта фаза наступает, когда соединение разрывается или одной из сторон предписано отключиться (например, пользователь завершил сеанс dial-up). Фаза установления соединения На этой фазе происходит попытка согласования по протоколу управления каналом связи. В случае успеха управление передается либо на фазу аутентификации, либо на фазу протокола сетевого уровня, в зависимости от того, требуется ли аутентификация. Фаза аутентификации Эта фаза является необязательной. Она позволяет сторонам аутентифицировать друг друга перед установлением соединения. В случае успеха управление передается на фазу протокола сетевого уровня. Фаза протокола сетевого уровня На этой фазе вызываются протоколы управления сетью для каждого из требуемых протоколов. Например, IPCP используется для установления IP-сервиса по каналу связи. Транспортировка данных для всех протоколов, успешно запущенных с их протоколами управления сетью, также происходит на этой фазе. Отключение сетевых протоколов также происходит на этой фазе. Фаза завершения соединения Эта фаза закрывает соединение. Это может произойти в случае сбоя аутентификации, при большом количестве ошибок контрольной суммы, приводящих к автоматическому разрыву соединения обеими сторонами, при внезапном разрыве соединения или при отключении соединения пользователем.

Многоконтактная ПЧП

Многоканальная PPP (также известная как MLPPP, MP, MPPP, MLP или Multilink) предоставляет метод распределения трафика по нескольким независимым PPP-соединениям. Она определена в RFC 1990. Её можно использовать, например, для подключения домашнего компьютера к интернет-провайдеру с помощью двух традиционных 56k-модемов или для подключения компании через две выделенные линии. На одном PPP-канале кадры не могут поступать не по порядку, но это возможно, когда кадры разделены между несколькими PPP-соединениями. Поэтому Multilink PPP должна нумеровать фрагменты, чтобы их можно было восстановить в правильном порядке после получения. Multilink PPP является примером технологии агрегирования каналов. Cisco IOS Release 11.1 и более поздние версии поддерживают Multilink PPP.

Многоклассная ГЧП

При использовании PPP невозможно установить несколько одновременных различных PPP-соединений по одному каналу связи. Это также невозможно и с Multilink PPP. Multilink PPP использует последовательные номера для всех фрагментов пакета, и, как следствие, нельзя приостановить передачу последовательности фрагментов одного пакета, чтобы отправить другой пакет. Это не позволяет запускать Multilink PPP несколько раз по одному и тому же каналу связи. Multiclass PPP – это разновидность Multilink PPP, в которой каждый "класс" трафика использует отдельное пространство нумерации последовательностей и буфер для пересборки. Multiclass PPP определена в RFC 2686.

Производные протоколы

PPTP (Point to Point Tunneling Protocol) — это разновидность PPP между двумя хостами через GRE с использованием шифрования (MPPE) и сжатия (MPPC).

В качестве протокола второго уровня между обоими концами туннеля

Многие протоколы могут использоваться для туннелирования данных по IP-сетям. Некоторые из них, такие как SSL, SSH или L2TP, создают виртуальные сетевые интерфейсы и создают впечатление прямых физических соединений между конечными точками туннеля. Например, на хосте Linux эти интерфейсы будут называться tun0 или ppp0. Поскольку в туннеле только две конечные точки, туннель представляет собой соединение типа «точка-точка», и PPP является естественным выбором в качестве протокола канального уровня между виртуальными сетевыми интерфейсами. PPP может назначать IP-адреса этим виртуальным интерфейсам, и эти IP-адреса могут использоваться, например, для маршрутизации между сетями по обе стороны туннеля. IPsec в режиме туннелирования не создает виртуальных физических интерфейсов на концах туннеля, поскольку туннель обрабатывается непосредственно стеком TCP/IP. L2TP может быть использован для обеспечения этих интерфейсов, эта техника называется L2TP/IPsec. В этом случае PPP также предоставляет IP-адреса концам туннеля.

Стандарты IETF

PPP определяется в RFC 1661 (Протокол «точка-точка», июль 1994 г.). RFC 1547 (Требования к протоколу «точка-точка» как интернет-стандарту, декабрь 1993 г.) содержит историческую информацию о необходимости создания PPP и его разработке. Серия связанных RFC была написана для определения способов работы различных сетевых протоколов управления, включая TCP/IP, DECnet, AppleTalk и IPX, с PPP; их можно найти на веб-сайте Datatracker IETF.