Для передачи данных между маршрутизаторами, мостами или отдельными компьютерами с помощью выделенного канала необходимо решить, какие протоколы уровней выше физического необходимы для передачи сообщений с нужной степенью надежности и с возможностями управления потоком кадров для предотвращения переполнения соседних узлов.
Протокол SLIP (Serial Line IP) был первым стандартом де-факто, позволяющим устройствам, соединенным последовательной линией связи, работать по протоколам TCP/IP. Он был создан в начале 80-х.
Протокол SLIP выполняет единственную функцию — он позволяет в потоке бит, которые поступают по выделенному (или коммутируемому) каналу, распознать начало и конец IP-пакета. Помимо протокола IP, другие протоколы сетевого уровня SLIP не поддерживает.
Чтобы распознать границы IP-пакетов, протокол SLIP предусматривает использование специального символа END, значение которого в шестнадцатеричном представлении равно С0. Применение специального символа может породить конфликт: если байт пересылаемых данных тождественен символу END, то он будет ошибочно определен как признак конца пакета. Чтобы предотвратить такую ситуацию, байт данных со значением, равным значению символа END, заменяется составной двухбайтовой последовательностью, состоящей из специального символа ESC (DB) и кода DC. Если же байт данных имеет тот же код, что и символ SLIP ESC, то он заменяется двухбайтовой последовательностью, состоящей из собственно символа SLIP ESC и кода DD. После последнего байта пакета передается символ END.
Механизм формирования составных последовательностей показан на рис. Здесь приведены стандартный IP-пакет (один байт которого тождественен символу END, а другой — символу SLIP ESC) и соответствующий ему SLIP-пакет, который больше на 4 байта.
Рис. 3.9. Инкапсуляция IP-пакетов в SLIP-пакеты
Долгое время основным протоколом выделенных линий был протокол HDLC (High-level Data Link Control), имеющий статус стандарта ISO..
Основные принципы работы протокола HDLC: режим логического соединения, контроль искаженных и потерянных кадров.
Однако сегодня протокол HDLC на выделенных каналах вытеснил протокол «точка-точка», Point-to-Point Protocol, PPP.
Дело в том, что одна из основных функций протокола HDLC — это восстановление искаженных и утерянных кадров. Действительно, применение протокола HDLC обеспечивает снижение вероятности искажения бита с10-3, что характерно для территориальных аналоговых каналов, до 10-9.
Однако сегодня популярны цифровые каналы, которые и без внешних процедур восстановления кадров обладают высоким качеством величина вероятности искажения бита составляет 10-8-10-9). Для работы по такому каналу восстановительные функции протокола HDLC не нужны.
Протокол РРР разработан группой IETF (Internet Engineering Task Force) как часть стека TCP/IP для передачи кадров информации по последовательным глобальным каналам связи взамен устаревшего протокола SLIP (Serial Line IP). Протокол РРР стал фактическим стандартом для глобальных линий связи при соединении удаленных клиентов с серверами и для образования соединений между маршрутизаторами в корпоративной сети. При разработке протокола РРР за основу был взят формат кадров HDLC и дополнен собственными полями.
Основное отличие РРР от других протоколов канального уровня состоит в том, что он добивается согласованной работы различных устройств с помощью переговорной процедуры, во время которой передаются различные параметры, такие как качество линии, протокол аутентификации и инкапсулируемые протоколы сетевого уровня. Переговорная процедура происходит во время установления соединения.
Протокол РРР основан на четырех принципах: переговорное принятие параметров соединения, многопротокольная поддержка, расширяемость протокола, независимость от глобальных служб.
Переговорное принятие параметров соединения. В корпоративной сети конечные системы часто отличаются размерами буферов для временного хранения пакетов, ограничениями на размер пакета, списком поддерживаемых протоколов сетевого уровня. Физическая линия, связывающая конечные устройства, может варьироваться от низкоскоростной аналоговой линии до высокоскоростной цифровой линии с различными уровнями качества обслуживания.
При установлении соединения два взаимодействующих устройства описывают свои возможности и требования. Затем на основании этой информации принимаются параметры соединения, устраивающие обе стороны, в которые входят форматы инкапсуляции данных, размеры пакетов, качество линии и процедура аутентификации.
Многопротокольная поддержка — способность протокола РРР поддерживать несколько протоколов сетевого уровня — обусловила распространение РРР как стандарта де-факто.
Расширяемость протокола. Под расширяемостью понимается как возможность включения новых протоколов в стек РРР, так и возможность использования собственных протоколов пользователей вместо рекомендуемых в РРР по умолчанию. Это позволяет наилучшим образом настроить РРР для каждой конкретной ситуации.
Независимость от глобальных служб. Встек РРР добавлены спецификации, позволяющие использовать РРР в любой технологии глобальных сетей, например ISDN, frame relay, Х.25 и Sonet.