PPP

Материал из DRKB


Оригинал #1: http://cs.uni-bonn.de/ppp/part1.html
Оригинал #2: http://www.cisco.com/univercd/cc/td/doc/cisintwk/ito_doc/55168.htm
Перевод:     осуществлен Гороховым Виталием (GSLab@email.com) в
рамках поддержки FAQ'а по эхоконференциям Su.net и Ru.Lan.nw
Access to:  http://netware.inter.net.md
-----------------------------------------------------------------------------


Point-to-Point Protocol (PPP) разработан для разрешения проблем связанных с недостаточным количеством стандартных средств инкапсуляции протоколов вида "point-to-point IP". Ко всему прочему, PPP был также разработан для упрощения выдачи и управления IP адресами, асинхронной и bit-oriented синхронной инкапсуляцией, смешивания сетевых протоколов (network protocol multiplexing), конфигурирования и тестирования качества связи, обнаружения ошибок и опциями для установления таких особеностей сетевого уровня как настройка адресов и установка сжатия данных. Для поддержки выше перечисленных качеств, PPP должен предоставлять управление по расширенному Link Control Protocol (LCP) и семейству протоколов Network Control Protocols (NCPs) которые используются для установления параметров связи. На сегодняшний день PPP поддерживает не только IP, но и другие протоколы, включая IPX и DECNet.

PPP Components[править | править код]

PPP предоставляет возможность передачи датаграмм по последовательным point-to-point линиям. Он имеет 3 компоненты:

  • Метод предоставления инкапсуляции датаграмм по последовательным PPP линиям используя HDLC (High-Level Data Link Control) протокол для упаковки датаграмм по PPP средствам связи.
  • Расширенный LCP (Link Control Protocol) для установления, конфигурирования и тестирования физического соединения (test the data-link connection)
  • Семейство протоколов (NCPs) для установления и управления иными сетевыми протоколами, иными словами: PPP разработан для поддержки одновременно нескольких сетевых протоколов.

General Operation[править | править код]

В момент установления связи через PPP соединение, PPP драйвер вначале шлет пакеты LCP для конфигурирования и (возможно) тестирования линии связи.

После того как связь и дополнительные возможности будут установлены как надо посредством LCP, PPP драйвер посылает NCP фреймы для изменения и/или настройки одного или более сетевых протоколов. Когда этот процесс закончится, то сетевые пакеты получают возможность быть переданными через установленное соединение. Оно будет оставаться настроенным и активным до тех поp, пока определенные LCP или NCP пакеты не закроют соединение, или до тех поp пока не произойдет какое-нибудь внешнее событие, которое приведет к потере соединения (к примеpу: таймер отсутствия активности или вмешательство пользователя)

Physical-Layer Requirements[править | править код]

PPP адаптирован для работы с любым DTE/DCE интерфейсом, включая EIA/TIA-232-C (RS-232), EIA/TIA-422-C (RS-422), EIA/TIA-423-C (RS-423), ITU-T (CCITT) V.35.

Единственное требование к оборудованию, налагаемое PPP - это наличие дуплексного оборудования, не важно выделенное оно или переключаемое (either dedicated or switched), которое может работать на асинхронных или bit-oriented синхронных, прозрачных для PPP пакетах.

PPP Link Layer[править | править код]

PPP использует принципы, терминологию и структуру пакетов в описанных ISO документах касающихся HDLC (ISO 3309-1979) и его дополненной версии: ISO 3309:1984/PDAD1 "Addendum 1: Start/stop transmission."

  • ISO 3309-1979 - описывает структуру пакетов HDLC для использования в синхронных системах.
  • ISO 3309:1984/PDAD1 - описывает предложения по изменениям в ISO 3309-1979, которые позволяют использовать асинхронные системы.

Процедуры управления PPP используют определения и управляющие поля, стандартизированные в документах: ISO 4335-1979 и ISO 4335-1979/Addendum 1-1979.

Формат пакета PPP:

(Длина пакета в байтах)
Flag Address Control Protocol DATA FCS
1 1 1 2 Variable 2 или 4


  • Flag - Один байт обозначающий начало или конец пакета. Поле флага содержит двоичную последовательность: 01111110 (0x7E).
  • Address - Один байт, содержащий двоичную последовательность: 11111111 (0xFF), Стандартный широковещательный адрес. PPP не поддерживает индивидуальную адресацию станций.
  • Control - Один байт, содержащий двоичную последовательность: 00000011 (0x03), который посылается для передачи пользовательских данных в неразделенных пакетах. (for transmission of user data in an unsequenced frame.
  • Protocol - 2 байта кодируют протокол упакованный во фрейм протокола PPP. Значения протоколов можно узнать документе Assigned Numbers Request for Comments (RFC).
  • Data - 0 или больше байт, составляющих датаграмму протокола, указанного в поле "Protocol". Конец информационного поля определяется нахождением заканчивающей последовательности и 2-байтной последовательности в поле FCS. По умолчанию максимальная длина информационного поля 1500 байт. Однако, по взаимной "договоренности", учитывая использование PPP могут использоваться иные значения длины поля
  • Frame Check Sequence (FCS) - Обычно 16 bit (2 байта). Однако, по взаимной "договоренности" может использоваться и 32 bit (4 байта) контроль целостности пакетов.

PPP Link Control Protocol[править | править код]

PPP LCP предоставляет методы для для установления, конфигурирования, поддержания и тестирования point-to-point соединения. LCP распадается на 4 фазы:

  • Конфигурирование и установление связи - Пеpед передачей какой-либо датаграммы (к примеру IP) LCP должен в начале открыть соединение и произвести начальный обмен параметрами настройки. Этот этап заканчивается, когда пакет о подтверждении произведенной настройки будет послан и принят обратно.
  • Определение качества связи - LCP позволяет (но не требует) добавить фазу тестирования канала связи, эта фаза будет следовать сpазу-же за пеpвой. В течении этой фазы определяется, способно ли соединение с достаточным качеством транспортировать какой-либо сетевой протокол. Эта фаза не является обязательной. LCP должен затянуть передачу какого-либо сетевого протокола до тех поp пока эта фаза не будет выполнена.
  • Установление настроек сетевого протокола - После того как LCP закончит определение параметров связи, сетевые протоколы должны быть независимо друг от друга настроены соответствующими NCP, которыми могут в любой момент времени начать или прекратить пользоваться.
  • Окончание связи - LCP может в любое время прервать установленную связь. Это может произойти по требованию пользователя или из-за какого-нибудь физического события, к примеpу потеpи несущей или истечению допустимого периода времени неиспользования канала.


Существует три типа LCP пакетов:

  • Пакеты установления - Используются для установления и настройки связи
  • Пакеты прерывания - Используются для прерывания установленной связи
  • Пакеты сохранения связи - Используются для управления и диагностики связи


Author: John Wobus, jmwobus@syr.edu (corrections welcome)
ID: 03362