stringtranslate.com

Протокол точка-точка

Протокол точка-точка

В компьютерных сетях протокол «точка-точка» ( PPP ) представляет собой протокол связи канального уровня (уровень 2) между двумя маршрутизаторами напрямую, без какого-либо хоста или какой-либо другой сети между ними. [1] Он может обеспечивать обнаружение петель, аутентификацию , шифрование передачи [2] и сжатие данных .

PPP используется во многих типах физических сетей, включая последовательный кабель , телефонную линию , магистральную линию , сотовый телефон , специализированные радиолинии, ISDN и оптоволоконные линии, такие как SONET . Поскольку IP-пакеты не могут передаваться по модемной линии самостоятельно без какого-либо протокола канала передачи данных, который может определить, где начинается и заканчивается передаваемый кадр, поставщики услуг Интернета (ISP) использовали PPP для коммутируемого доступа клиентов к Интернету .

PPP используется на бывших коммутируемых сетевых линиях. [3] Две производные от PPP, протокол «точка-точка» через Ethernet (PPPoE) и протокол «точка-точка» через ATM (PPPoA), чаще всего используются интернет-провайдерами для установления LP-соединения с клиентами по цифровой абонентской линии (DSL).

Описание

PPP очень часто используется в качестве протокола уровня канала передачи данных для соединения по синхронным и асинхронным каналам , где он в значительной степени вытеснил старый протокол последовательной линии Интернета (SLIP) и стандарты, предписанные телефонными компаниями (такие как протокол доступа к каналу, сбалансированный (LAPB) в наборе протоколов X.25 ). Единственное требование для PPP заключается в том, чтобы предоставляемый канал был дуплексным . PPP был создан для работы с многочисленными протоколами сетевого уровня , включая протокол Интернета (IP), TRILL , Novell's Internetwork Packet Exchange (IPX), NBF , DECnet и AppleTalk . Как и SLIP, это полноценное подключение к Интернету по телефонным линиям через модем. Он более надежен, чем SLIP, поскольку дважды проверяет, чтобы гарантировать, что пакеты Интернета доставляются в целости и сохранности. [4] Он повторно отправляет любые поврежденные пакеты.

PPP был разработан несколько позже оригинальных спецификаций HDLC . Люди, которые разработали PPP, включили много дополнительных функций, которые до того времени можно было увидеть только в закрытых протоколах передачи данных. PPP описан в RFC 1661.

RFC 2516 описывает протокол «точка-точка» через Ethernet (PPPoE) как метод передачи PPP через Ethernet , который иногда используется с DSL . RFC 2364 описывает протокол «точка-точка» через ATM (PPPoA) как метод передачи PPP через ATM Adaptation Layer 5 ( AAL5 ), который также является распространенной альтернативой PPPoE, используемому с DSL.

PPP, PPPoE и PPPoA широко используются в линиях WAN .

PPP — это многоуровневый протокол, состоящий из трех компонентов: [4]

  1. Компонент инкапсуляции, который используется для передачи датаграмм через указанный физический уровень .
  2. Протокол управления каналом связи (LCP) для установления, настройки и тестирования канала связи, а также согласования настроек, опций и использования функций.
  3. Один или несколько сетевых протоколов управления (NCP), используемых для согласования дополнительных параметров конфигурации и возможностей для сетевого уровня. Для каждого протокола более высокого уровня, поддерживаемого PPP, существует один NCP.

Автоматическая самонастройка

LCP изящно инициирует и завершает соединения, позволяя хостам согласовывать параметры соединения. Он является неотъемлемой частью PPP и определен в той же стандартной спецификации. LCP обеспечивает автоматическую настройку интерфейсов на каждом конце (например, установку размера датаграммы , экранированных символов и магических чисел) и для выбора дополнительной аутентификации. Протокол LCP работает поверх PPP (с номером протокола PPP 0xC021), и поэтому базовое соединение PPP должно быть установлено до того, как LCP сможет его настроить.

RFC 1994 описывает Challenge-Handshake Authentication Protocol (CHAP), который предпочтителен для установления коммутируемых соединений с интернет-провайдерами. Хотя он и устарел, Password Authentication Protocol (PAP) иногда все еще используется.

Другим вариантом аутентификации по протоколу PPP является расширяемый протокол аутентификации (EAP), описанный в RFC 2284.

После установления связи может быть выполнена дополнительная настройка сети ( уровня 3 ). Чаще всего используется протокол управления протоколом Интернета (IPCP), хотя когда-то были популярны протокол управления пакетами межсетевого обмена (IPXCP) и протокол управления AppleTalk (ATCP). [5] [6] Протокол управления протоколом Интернета версии 6 (IPv6CP) получит расширенное применение в будущем, когда IPv6 заменит IPv4 в качестве доминирующего протокола уровня 3.

Протоколы нескольких сетевых уровней

PPP позволяет нескольким протоколам сетевого уровня работать на одном и том же канале связи. Для каждого используемого протокола сетевого уровня предоставляется отдельный сетевой протокол управления ( NCP ) для инкапсуляции и согласования опций для нескольких протоколов сетевого уровня. Он согласовывает информацию сетевого уровня, например, сетевой адрес или параметры сжатия, после установления соединения.

Например, IP использует IPCP, а Internetwork Packet Exchange (IPX) использует Novell IPX Control Protocol ( IPX/SPX ). NCP включают поля, содержащие стандартизированные коды для указания типа протокола сетевого уровня, который инкапсулирует соединение PPP.

Следующие NCP могут использоваться с PPP:

Обнаружение зацикленных ссылок

PPP обнаруживает зацикленные ссылки, используя функцию, включающую магические числа . Когда узел отправляет сообщения PPP LCP, эти сообщения могут включать магическое число. Если линия зациклена, узел получает сообщение LCP со своим собственным магическим числом вместо получения сообщения с магическим числом однорангового узла.

Параметры конфигурации

В предыдущем разделе было представлено использование опций LCP для удовлетворения конкретных требований WAN-подключения. PPP может включать следующие опции LCP:

Рамка ППП

Структура

Кадры PPP представляют собой варианты кадров HDLC :

Если оба пира согласны на сжатие поля адреса и поля управления во время LCP, то эти поля опускаются. Аналогично, если оба пира согласны на сжатие поля протокола, то байт 0x00 может быть опущен.

Поле Protocol указывает тип пакета полезной нагрузки: 0xC021 для LCP , 0x80xy для различных NCP, 0x0021 для IP, 0x0029 AppleTalk, 0x002B для IPX , 0x003D для Multilink, 0x003F для NetBIOS , 0x00FD для MPPC и MPPE и т. д. [7] PPP ограничен и не может содержать общие данные уровня 3 , в отличие от EtherType .

Поле «Информация» содержит полезную нагрузку PPP; оно имеет переменную длину с согласованным максимумом, называемым « Максимальной единицей передачи» . По умолчанию максимум составляет 1500 октетов . Оно может быть дополнено при передаче; если информация для конкретного протокола может быть дополнена, этот протокол должен позволять отличать информацию от заполнения.

Инкапсуляция

Кадры PPP инкапсулируются в протокол нижнего уровня, который обеспечивает кадрирование и может предоставлять другие функции, такие как контрольная сумма для обнаружения ошибок передачи. PPP на последовательных соединениях обычно инкапсулируется в кадрирование, похожее на HDLC , описанное в IETF RFC 1662.

Поле флага присутствует, когда используется PPP с кадрированием, подобным HDLC.

Поля адреса и управления всегда имеют шестнадцатеричное значение FF (для «всех станций») и шестнадцатеричное значение 03 (для «ненумерованной информации») и могут быть опущены всякий раз, когда согласовывается сжатие адресно-контрольного поля PPP LCP (ACFC).

Поле последовательности проверки кадра (FCS) используется для определения того, содержит ли отдельный кадр ошибку. Оно содержит контрольную сумму, вычисленную по кадру, для обеспечения базовой защиты от ошибок при передаче. Это код CRC, аналогичный тому, который используется для других схем защиты от ошибок протокола второго уровня, например, используемого в Ethernet. Согласно RFC 1662, он может иметь размер 16 бит (2 байта) или 32 бита (4 байта) (по умолчанию 16 бит — полином x 16 + x 12 + x 5 + 1).

FCS рассчитывается по полям Адрес, Управление, Протокол, Информация и Заполнение после инкапсуляции сообщения.

Активация линии и фазы

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

По нескольким ссылкам

Многоканальный PPP

Multilink PPP (также называемый MLPPP , MP , MPPP , MLP или Multilink) предоставляет метод распределения трафика по нескольким отдельным соединениям PPP. Он определен в RFC 1990. Его можно использовать, например, для подключения домашнего компьютера к поставщику услуг Интернета с помощью двух традиционных модемов 56k или для подключения компании через две арендованные линии.

На одной линии PPP кадры не могут приходить в неправильном порядке, но это возможно, когда кадры разделены между несколькими соединениями PPP. Поэтому Multilink PPP должен нумеровать фрагменты, чтобы их можно было снова расположить в правильном порядке, когда они прибудут.

Multilink PPP — пример технологии агрегации каналов . Cisco IOS версии 11.1 и более поздние версии поддерживают Multilink PPP.

Мультиклассовый PPP

При использовании PPP невозможно установить несколько одновременных отдельных соединений PPP по одному каналу.

Это также невозможно с Multilink PPP. Multilink PPP использует смежные номера для всех фрагментов пакета, и, как следствие, невозможно приостановить отправку последовательности фрагментов одного пакета, чтобы отправить другой пакет. Это предотвращает запуск Multilink PPP несколько раз на одних и тех же соединениях.

Multiclass PPP — это разновидность Multilink PPP, где каждый «класс» трафика использует отдельное пространство порядковых номеров и буфер повторной сборки. Multiclass PPP определен в RFC 2686

Туннели

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

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

Как протокол уровня 2 между обоими концами туннеля

Для туннелирования данных по 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. [8]

Смотрите также

Ссылки

  1. ^ RFC  1661
  2. ^ RFC  1968
  3. ^ "41. Протокол точка-точка — коммутируемое сетевое соединение", Linux: Учебное пособие и описание пользователя Rute , получено 20 августа 2024 г.
  4. ^ Стивенс 1994, стр. 26–27, раздел 2.6: «PPP: протокол точка-точка»
  5. ^ Симпсон, Уильям А. (декабрь 1993 г.). Протокол управления межсетевым обменом пакетами PPP (IPXCP) (отчет). Internet Engineering Task Force.
  6. ^ Паркер, Дж. Брэдфорд (ноябрь 1992 г.). Протокол управления PPP AppleTalk (ATCP) (отчет). Internet Engineering Task Force.
  7. ^ "Назначение полей протокола точка-точка (PPP)". IANA . Получено 3 сентября 2015 г. .
  8. ^ "Отслеживание данных IETF" . Проверено 26 августа 2023 г.