PPP

Оригинал #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
Category:Связь