IPSec (сокращение от IP Security
Таблица 3.5.2 Значения поля код LCP-заголовка
Код | Тип пакета | |
Запрос конфигурации | Configure-Request | |
Подтверждение конфигурации | Configure-Ack | |
Не подтверждение конфигурации | Configure-Nak | |
Отклонение конфигурации | Configure-Reject | |
Запрос завершения | Terminate-Request | |
Подтверждение завершения | Terminate-Ack | |
Отклонение кода | Code-Reject | |
8* | Отклонение протокола | Protocol-Reject |
9* | Запрос отклика | Echo-Request |
10* | Эхо-отклик | Echo-Reply |
11* | Запрос отмены | Discard-Request |
12* | Идентификация | |
13* | Остающееся время | |
14** | Запрос сброса | |
15** | Отклик на запрос сброса | |
*) Только LCP; | **) Только CCP |
Для случая запроса Discard-Request между полями длина и данные помещается 4-байтовое поле Magic-Number (магическое число).
Протокол PPP многолик, он способен поддерживать и многоканальные соединения (RFC-1990). Это бывает полезно при работе через ISDN, X.25, Frame Relay или при необходимости расширить пропускную способность за счет подключения нескольких параллельных каналов (MP - MultiLink Protocol). Так как я не сталкивался со случаями, когда пропускной способности было вполне достаточно, данную модификацию PPP-протокола следует считать крайне важной. При этом одной из проблем является распределение пакетов по каналам и последующее их упорядочение принимающей стороной. Особую осторожность в этом случае следует соблюдать при использовании заполнителей. В этом режиме по виртуальному каналу MultiLink запрещается посылать конфигурационные LCP-пакеты Configure-Request, -Reject, -Ack, -Nak, Terminate-Request или -Ack. Принимающая сторона в случае их обнаружения должна их игнорировать. Применение других LCP-пакетов допускается (например, Code-Reject, Protocol-Reject, Echo-Request, Echo-Reply и Discard-Request).
Подключение нескольких параллельных каналов (MP)
Формат MP-пакета представлен на рис. 3.5.5.
Рис. 3.5.5. Формат MР-пакета
Поля PID - идентификатор протокола. Субполе B (Beginning) - бит фрагмента =1 для первого фрагмента PPP и =0 для всех последующих фрагментов. Субполе E (Ending) - бит фрагмента =1 для последнего фрагмента PPP и =0 для всех прочих фрагментов. Поле номер по порядку имеет длину 24 бита. Существует модификация пакета с укороченным кодом (12 бит) номера по порядку. При этом к этому полю отходят 4 нулевые бита после BE00. Выбор длины этого поля осуществляется протоколом LCP. Значение поля увеличивается на 1 при посылке очередного фрагмента. Для вышерасположенных уровней совокупность совместно используемых каналов выглядит, как один виртуальный канал.
При передаче пакетов по каналу Multilink инкапсуляция производится согласно следующим правилам, которые задаются вручную:
· Никакого асинхронного управления кодированием символов
· Запрет использования магических чисел
· Запрещено мониторирование качества канала
· Сжатие полей адреса, протокола и управления
· Никаких составных кадров
· Запрет заполнения с самоописанием (Self-Describing-Padding)
Для предварительно фрагментированных пакетов запрещено дополнение нулями или использование каких-либо иных заполнителей. Рассмотрим пример Multilink-соединения, приведенный на рис. 3.5.6. Канал 1 между двумя системами согласуется сетевыми уровнями NL1, NL2 и MP. Затем эти две системы согласуют с MP канал 2. Кадры, полученные каналом 1, демультиплексируются на канальном уровне согласно сетевому протокольному идентификатору PPP и могут быть посланы NL1, NL2 или MP. Канал 2 примет кадры со всеми сетевыми протокольными идентификаторами, с которыми принимает их канал 1. Кадры, полученные MP, позднее демультиплексируются на сетевом уровне согласно протокольному идентификатору PPP и посылаются NL1 или NL2. Любые кадры, полученные MP для других протоколов сетевого уровня, отбрасываются с помощью стандартного протокольного механизма (Reject).
Рис. 3.5.6. Пример Multilink-конфигурации
Так как межсетевые связи часто используют последовательные каналы (выделенные линии, радиомодемы и пр.), протокол PPP распространен достаточно широко. Протокол PPP служит и для создания межсетевых туннелей (протокол PPTP - Point to Point Tunneling Protocol). Протокол PPTP использует MTU=1532, номер порта 5678 и номер версии 0x0100, пакеты данных здесь транспортируются с использованием протокола инкапсуляции GRE V2 (см. сноску в начале раздела).
IPSec (сокращение от IP Security) — набор протоколов для обеспечения защиты данных, передаваемых по межсетевому протоколуIP, позволяет осуществлять подтверждение подлинности и/или шифрование IP-пакетов. IPsec также включает в себя протоколы для защищённого обмена ключами в сети Интернет. В основном, применяется для организации vpn-соединений.