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