Протокол PPP (Point-to-Point Protocol)
ОГЛАВЛЕНИЕ
1. Введение | ||
2. Общее описание протокола PPP | ||
3. Инкапсуляция PPP | ||
3.1. Принцип инкапсуляции | ||
3.2. Формат кадра РРР при инкапсуляции | ||
4. Функционирование звена PPP | ||
4.1. Краткий обзор | ||
4.2. Диаграмма стадий PPP | ||
4.3. Стадия "Выключено" | ||
4.4. Стадия "Установление связи" | ||
4.5. Стадия "Аутентификация" | ||
4.6. Стадия "Протокол сетевого уровня" | ||
4.7. Стадия "Завершение связи" | ||
5. Автомат согласования опций | ||
5.1. Таблица переходов состояний | ||
5.2. Состояния | ||
5.3. События | ||
5.4. Действия | ||
5.5. Предотвращение зацикливания | ||
5.6. Счетчики и таймеры | ||
6. Форматы пакетов LCP | ||
6.1. Формат пакетов LCP "Запрос конфигурации" | ||
6.2. Формат пакетов LCP "Подтверждение конфигурации" | ||
6.3. Формат пакетов LCP "Неподтверждение конфигурации" | ||
6.4. Формат пакетов LCP "Сброс конфигурации" | ||
6.5. Формат пакетов LCP "Запрос разъединения" и "Подтверждение разъединения" | ||
6.6. Формат пакетов LCP "Сброс кода" | ||
6.7. Формат пакетов LCP "Сброс протокола" | ||
6.8. Формат пакетов LCP "Запрос эха" и "Ответ эха" | ||
6.9. Формат пакетов LCP "Запрос сброса" | ||
7. Опции конфигурации LCP | ||
7.1. Максимальный размер принимаемого блока | ||
7.2. Протокол аутентификации | ||
7.3. Протокол качества | ||
7.4. Мagic-номера | ||
7.5. Сжатие поля протокола | ||
7.6. Сжатие полей адреса и управления | ||
Список литературы | ||
Список используемых сокращений и терминов |
1. Введение
С конца 1980-х годов в сети Internet наблюдается резкий рост числа главных вычислительных машин (ГВМ или хостов), работающих с протоколами TCP/IP. Их преобладающее большинство было подключено к локальным вычислительным сетям различных типов, наиболее популярной среди которых была сеть Ethernet. Большая часть других хостов соединялась через глобальные сети, такие как сети передачи данных общего пользования типа Х.25. Сравнительно небольшое число ГВМ было подключено к каналам связи с непосредственным соединением точка-точка (т.е.
Метод инкапсуляции (метод формирования дейтаграмм для передачи по последовательным каналам). РРР в качестве базиса для формирования дейтаграмм при прохождении через каналы с непосредственным соединением использует кадры, подобные кадрам процедуры HDLC (High-level Data Link Control - управление каналом передачи данных высокого уровня). | |
Расширяемый протокол контроля канала LCP (Link Control Protocol). LCP предназначен для организации, выбора конфигурации и проверки соединения канала передачи данных. | |
Семейство протоколов контроля сети NCP (Network Control Protocols). Служит для организации и выбора конфигурации различных протоколов сетевого уровня. |
Организация канала и согласование его конфигурации. Прежде, чем может быть произведен обмен какими-либо дейтаграммами сетевого уровня (например, IP), LCP сначала должен открыть связь и согласовать параметры конфигурации. Эта фаза завершается после того, как будет отправлен и принят пакет подтверждения конфигурации. | |
Определение качества канала связи. LCP обеспечивает необязательную фазу определения качества канала, которая следует за фазой организации канала и согласования его конфигурации. В этой фазе проверяется канал с целью выяснения, является ли качество канала достаточным для вызова протоколов сетевого уровня. Эта фаза является полностью факультативной. LСP может задержать передачу информации протоколов сетевого уровня до завершения этой фазы. | |
Согласование конфигурации протоколов сетевого уровня. После того, как LСP завершит фазу определения качества канала связи, соответствующими NCP может быть выбрана конфигурация сетевых протоколов, и они могут быть в любой момент вызваны и освобождены для последующего использования. Если LCP закрывает данный канал, он информирует об этом протоколы сетевого уровня, чтобы они могли принять соответствующие меры. | |
Прекращение действия канала. LCP может в любой момент закрыть канал. Это обычно делается по запросу пользователя, но может произойти также из-за какого-нибудь физического события, такого, как потеря носителя или истечение периода бездействия таймера. |
Пакеты для организации канала связи. Используются для организации и выбора конфигурации канала. | |
Пакеты для завершения действия канала. Используются для завершения действия канала связи. | |
Пакеты для поддержания работоспособности канала. Используются для поддержания и отладки канала. |
Протокол (8/16 бит) |
Информация | Дополнение |
Значение (в 16-ричном виде) | Наименование протокола |
0001 | Протокол дополнения |
0003..001f | Резерв |
007d | Резерв |
00cf | Резерв |
00ff | Резерв |
8001..801f | Не используется |
807d | Не используется |
80cf | Не используется |
80ff | Не используется |
C021 | Протокол LCP |
C023 | Протокол аутентификации пароля |
C025 | Сообщение о качестве связи |
C223 | Отклик протокола аутентификации в режиме подтверждения |
Длина поля в байтах: 1 | 1 | 1 | 2/1 | Переменная | 2 или 4 |
Флаг | Адрес | Управление | Протокол | Данные | FCS |
События: | Действия: |
Up = включение нижнего уровня | tlu = этот уровень включается |
Down = выключение нижнего уровня | tld = этот уровень выключается |
Open = административное открытие | tls = этот уровень начинается |
Close= административное закрытие | tlf = этот уровень завершается |
TO+ = таймаут со счетчиком > 0 | irc = счетчик перезапуска инициализируется |
TO- = таймаут с истекшим счетчиком | zrc = счетчик перезапуска обнуляется |
RCR+ = принят запрос конфигурации (удовлетворительный) | scr = посылается запрос конфигурации |
RCR- = принят запрос конфигурации (неудовлетворительный) | |
RCA = принято подтверждение конфигурации | sca = посылается подтверждение конфигурации |
RCN = принято неподтверждение/сброс конфигурации | scn = посылается неподтверждение/сброс конфигурации |
RTR = принят запрос разъединения | str = посылается запрос разъединения |
RTA = принято подтверждение разъединения | sta = посылается подтверждение разъединения |
RUC = принят нераспознанный код | scj = посылается сброс кода |
RXJ+ = принят сброс кода (разрешаемый) или сброс протокола | |
RXJ- = принят сброс кода (аварийный) или сброс протокола | |
RXR = принят запрос эха или ответ эха или запрос сброса | ser = посылается ответ эха |
Состояния | ||||||
События | 0. Начальное | 1. Старт | 2. Закрыто | 3. Стоп | 4. Закрытие | 5. Остановка |
Up | 2 | irc, scr/6 | - | - | - | - |
Down | - | - | 0 | tls/1 | 0 | 1 |
Open | tls/1 | 1 | irc, scr/6 | 3r | 5r | 5r |
Close | 0 | tlf/0 | 2 | 2 | 4 | 4 |
TO+ | - | - | - | - | str/4 | str/5 |
TO- | - | - | - | - | tlf/2 | tlf/3 |
RCR+ | - | - | sta/2 | irc, scr, sca/8 | 4 | 5 |
RCR- | - | - | sta/2 | irc, scr, scn/6 | 4 | 5 |
RCA | - | - | sta/2 | sta/3 | 4 | 5 |
RCN | - | - | sta/2 | sta/3 | 4 | 5 |
RTR | - | - | sta/2 | sta/3 | sta/4 | sta/5 |
RTA | - | - | 2 | 3 | tlf/2 | tlf/3 |
RUC | - | - | scj/2 | scj/3 | scj/4 | scj/5 |
RXJ+ | - | - | 2 | 3 | 4 | 5 |
RXJ- | - | - | tlf/2 | tlf/3 | tlf/2 | tlf/3 |
RXR | - | - | 2 | 3 | 4 | 5 |
Состояния | ||||
События | 6. Послан запрос | 7. Принято подтверждение | 8. Послано подтверждение | 9. Открыто |
Up | - | - | - | - |
Down | 1 | 1 | 1 | tld/1 |
Open | 6 | 7 | 8 | 9r |
Close | irc, str/4 | irc, str/4 | irc, str/4 | tld, irc, str/4 |
TO+ | scr/6 | scr/6 | scr/8 | - |
TO- | tlf/3p | tlf/3p | tlf/3p | - |
RCR+ | sca/8 | sca, tlu/9 | sca/8 | tld, scr, sca/8 |
RCR- | scn/6 | scn/7 | scn/6 | tld, scr, scn/6 |
RCA | irc/7 | scr/6x | irc, tlu/9 | tld, scr/6x |
RCN | irc, scr/6 | scr/6x | irc, scr/8 | tld, scr/6x |
RTR | sta/6 | sta/6 | sta/6 | tld, zrc, sta/5 |
RTA | 6 | 6 | 8 | tld, zrc, sta/5 |
RUC | scj/6 | scj/7 | scj/8 | scj/9 |
RXJ+ | 6 | 6 | 8 | 9 |
RXJ- | tlf/3 | tlf/3 | tlf/3 | tld, irc, str/5 |
RXR | 6 | 7 | 9 | ser/9 |
0 | 1 | 2 3 | |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
Код | Идентификатор | Длина | Данные ... |
0 | 1 | 2 3 | |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
Код | Идентификатор | Длина | Опции ... |
0 | 1 | 2 3 | |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
Код | Идентификатор | Длина | Опции ... |
0 | 1 | 2 3 | |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
Код | Идентификатор | Длина | Опции ... |
0 | 1 | 2 3 | |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
Код | Идентификатор | Длина | Опции ... |
0 | 1 | 2 3 | |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
Код | Идентификатор | Длина | Данные... |
0 | 1 | 2 3 | |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
Код | Идентификатор | Длина | Сброшенный пакет... |
0 | 1 | 2 3 |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
Код | Идентификатор | Длина |
Сброшенный протокол | Сброшенная информация... |
0 | 1 | 2 3 |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
Код | Идентификатор | Длина |
Номер | Данные... |
0 | 1 | 2 3 |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
Код | Идентификатор | Длина |
Номер | Данные... |
0 | 1 | |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 |
Тип | Длина | Данные... |
0 | Резерв |
1 | Максимальный размер принимаемого блока (MRU - Maximum-Receive-Unit) |
3 | Протокол аутентификации (Authentication-Protocol) |
4 | Протокол качества (Quality-Protocol) |
5 | Magic-номер |
7 | Сжатие полей протокола (Protocol-Field-Compression) |
8 | Сжатие адресных и управляющих полей (Address-and-Control-Field-Compression) |
0 | 1 | 2 3 |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 |
Тип | Длина | MRU |
0 | 1 | 2 3 | |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
Тип | Длина | Протокол аутентификации | Данные... |
Величина в 16-ричном виде | Протокол |
C023 - | Протокол установления подлинности пароля PAP (Password Authentication Protocol); |
C223 - | Протокол аутентификации запроса диалога CHAP (Challenge Handshake Authentication Protocol). |
0 | 1 | 2 3 | |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | |
Тип | Длина | Протокол качества | Данные... |
Величина в 16-ричном виде | Протокол |
C025 | Сообщение качества канала связи LQR (Link Quality Report) |
Число повторений | Вероятность |
1 | 1/2**32= 2.3 E-10 |
2 | 1/2**32**2 = 5.4 E-20 |
3 | 1/2**32**3 = 1.3 E-29 |
0 | 1 | 2 3 4 |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 | 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 12 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 |
Тип | Длина | Мagic-номер |
0 | 1 |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 |
Тип | Длина |
0 | 1 |
0 1 2 3 4 5 6 7 | 8 9 0 1 2 3 4 5 |
Тип | Длина |