Interested Article - IPCP

IPCP ( англ. Internet Protocol Control Protocol — протокол управления IP) — протокол управления сетевым уровнем для установки, настройки и разрыва IP подключения поверх PPP ( Point-to-Point Protocol ) соединения. IPCP использует тот же механизм обмена пакетами, что и LCP (Link Control Protocol). Обмен пакетами IPCP не происходит до тех пор, пока PPP не начнёт фазу согласования протокола сетевого уровня. Любые пакеты IPCP, полученные до того, как начнётся эта фаза, должны быть отброшены.

IPCP отличается от LCP лишь тем, что:

  • Поле протокола канального уровня — ровно один IPCP пакет инкапсулируется в поле данных PPP кадра, где поле протокола указывает тип 8021(hex) — IPCP.
  • Поле кода — используются только значения от 1 до 7 (настроить-запрос, настроить-подтверждение, настроить-негативное подтверждение, настроить-отклонение, завершить-запрос, завершить-подтверждение, код-отклонение). Другие значения должны рассматриваться как нераспознанные и приводить к коду-отклонение.
  • Тайм-аут — Обмен пакетами IPCP не происходит до тех пор, пока PPP не начнёт фазу согласования протокола сетевого уровня. Реализация должна быть подготовлена к ожиданию завершения проверки подлинности и проверки качества линии перед тем, как истечёт тайм-аут. Было предложено чтобы реализация прекращала ожидание только после вмешательства пользователя или истечению настраиваемого количества времени.
  • Типы настраиваемых опций — IPCP имеет набор различных настраиваемых опций.

Пересылка IP датаграмм

Обмен пакетами IP не происходит до тех пор, пока PPP не достигнет фазы сетевого уровня, а IPCP не будет находиться в открытом состоянии.

Ровно один IP пакет инкапсулируется в поле данных кадра PPP, где поле протокола указывает тип 0021(hex) — IP.

Максимальная длина IP пакета передающегося через PPP-соединение, соответствует максимальной длине поля полезных данных кадра PPP. Датаграммы большого размера, при необходимости должны фрагментироваться. Если система предпочитает избегать фрагментации или пересборки, она должна использовать особую опцию для установки максимального размера TCP сегмента и вычислять максимальный размер пакета ( MTU ) для выбранного пути.

Настраиваемые опции IPCP

Настраиваемые опции IPCP позволяют обговаривать желаемые параметры IP протокола. Формат настраиваемых опций IPCP соответствует формату определённому для LCP, с собственным набором опций.

Самые обновлённые значения поля «Тип опции IPCP» определены в самой последней версии документа RFC «Assigned numbers». Текущие зарегистрированные значения:

  • 1 IP адреса
  • 2 Протокол сжатия IP
  • 3 IP адрес
  • 4 Mobile-IPv4
  • 129 Primary DNS Server Address
  • 130 Primary NBNS Server Address
  • 131 Secondary DNS Server Address
  • 132 Secondary NBNS Server Address

Опция «IP адреса»

Опция «IP адреса» считается устаревшей. Это было определенно опытом, так как было трудно гарантировать схожесть переговоров во всех случаях использующих эту опцию. Настраиваемая опция «IP адрес» заменила её, также она считается предпочитаемой.

Эта опция не должна посылаться в сообщении «настроить-запрос» если было получено сообщение «настроить-запрос», которое включало в себя либо опцию «IP адрес», либо «IP адреса». Эта опция может посылаться, если получено сообщение «настроить-отклонить» для опции «IP адрес» или сообщение «настроить-негативное подтверждение» получено с опцией «IP адреса» как дополнительная опция.

Опция «Протокол сжатия IP»

Эта настраиваемая опция даёт возможность обговорить использование конкретного протокола сжатия. По умолчанию, сжатие отключено.

Метод сжатия заголовков TCP/IP Якобсона

Метод сжатия заголовков TCP/IP Вана Якобсона позволяет уменьшить размер TCP/IP до трёх байт. Это может значительно улучшить производительность на медленных, последовательных каналах связи, особенно для интерактивного трафика.

Настраиваемая опция «Протокол сжатия IP» используется для обозначения способности принять сжатые пакеты. Каждая сторона подключения должна независимо запросить эту опцию, если планируется двухстороннее сжатие. Поле «протокол» кадра PPP принимает следующие значения, когда передаются IP пакеты:

  • 0021(hex) — Поле «протокол» пакета IP не TCP, либо пакет является фрагментом или не может быть сжатым.
  • 002d(hex) — Сжатый TCP. Заголовки TCP/IP заменяются сжатым заголовком.
  • 002f(hex) — Не сжатый TCP. Поле «протокол» пакета IP заменено идентификатором слота.

Кадр IPCP

Код ID Длина Информация IPCP
1 байт 1 байт 2 байта переменное значение

IPCP пакет инкапсулированный в кадр PPP

Флаг Адрес Управление 8021(hex) Полезная информация (и заполнитель) Контрольная сумма Флаг

Информация содержащаяся в пакете IPCP:

  • Настроить-запрос
  • Настроить-подтверждение
  • Настроить-негативное подтверждение
  • Настроить-отклонение
  • Завершить-запрос
  • Завершить-подтверждение
  • Код-отклонение

После завершения настройки, соединение способно передать IP информацию как полезные данные кадра PPP. Поле протокола имеет значение 0021(hex). Это значение указывает, что передаётся информация IP.

Ссылки

— The PPP Internet Protocol Control Protocol (IPCP)

— PPP Internet Protocol Control Protocol Extensions for Name Server Addresses

— Mobile-IPv4 Configuration Option for PPP IPCP

Same as IPCP