Протокол "точка-точка" (PPP): основные аспекты и детали работы

Как и SLIP, PPP — это протокол для передачи датаграмм через последовательное соединение. Однако PPP решает ряд проблем, связанных со SLIP. Протокол позволяет обеим сторонам обсудить параметры, такие как IP-адрес и максимальный размер датаграммы в процессе установления соединения, и предоставляет функцию разрешения клиента. Для каждой из этих функций у PPP есть свой протокол. Далее мы рассмотрим основные блоки PPP. Этот обзор не является исчерпывающим; если вы хотите узнать больше о PPP, рекомендую ознакомиться со спецификацией в RFC 1548, а также с рядом других соответствующих RFC. В основе PPP лежит протокол управления передачей данных высокого уровня (HDLC), который определяет границы структур PPP и предоставляет 16-разрядную контрольную сумму. В отличие от примитивного формата пакетов SLIP, PPP может обрабатывать блоки данных других протоколов, таких как IP, IPX от Novell или AppleTalk. PPP достигает этого путем добавления поля протокола к основному HDLC.

LCP (Link Control Protocol) используется поверх HDLC для согласования параметров канала связи, например, Maximum Receive Unit (MRU), который указывает максимальный размер датаграммы, который может принимать одна из сторон связи.

Важным этапом настройки PPP является процедура аутентификации клиента. Хотя это и не обязательно, это крайне желательно для dial-up соединений. Обычно сервер просит клиента идентифицировать себя, предоставив секретный ключ. Если клиент вводит неверный ключ, соединение разрывается. В PPP аутентификация может работать в обе стороны: клиент также может запросить аутентификацию сервера. Эти процедуры аутентификации работают независимо друг от друга. Существуют два протокола для разных видов аутентификации: PAP (Password Authentication Protocol) и CHAP (Challenge Handshake Authentication Protocol).

Каждый сетевой протокол, который передается по каналу связи, такой как IP или AppleTalk, настраивается динамически с использованием соответствующего Network Control Protocol (NCP). Например, для передачи IP-датаграмм через PPP используется IPCP (Internet Protocol Control Protocol).

Помимо стандартной передачи IP-датаграмм по соединению, PPP также поддерживает сжатие заголовков IP согласно методу Van Jacobson. Это метод уменьшения заголовков TCP-пакетов до трех байт. Такой метод также используется в CSLIP. Применение сжатия может быть включено или выключено в процессе установления соединения через IPCP.