Протоколы SLIP/CSLIP и PPP
SLIP и PPP - это протоколы, адаптирующие IP для работы на последовательных линиях. Они представляют собой некую прокладку между IP и модемными протоколами.
Основная функция программного обеспечения SLIP/PPP - организовать пересылку IP-пакетов по последовательной линии.
Многие интернет-провайдеры используют PPP для предоставления коммутируемого доступа в Интернет.
SLIP (SerialLineIP) был создан в начале 80-х годов и в 1984 году встроен Риком Адамсом (RickAdams) в ОС 4.2 BerkleyUNIX. Позднее SLIP был поддержан и в других версиях UNIX и реализован в программном обеспечении для ПК.
Протокол SLIP использует специальные символы для ограничения кадра данных в последовательном канале. Для того чтобы распознать границы SLIP-кадров, передаваемых по последовательной линии связи, и отделить один кадр от другого, протокол SLIP предусматривает использование специального символа END, значение которого в шестнадцатеричном представлении равно C0. Применение специального символа может породить конфликт: если байт пересылаемых данных тождественен символу END, то он будет ошибочно определен как признак конца кадра. Чтобы предотвратить такую ситуацию, байт данных со значением, равным значению символа END, заменяется составной двухбайтовой последовательностью, состоящей из специального символа ESC (DB) и кода DC. (Применяемый в протоколе SLIP символ ESC, не равный символу ESC в кодировке ASCII, будем обозначать SLIP ESC.) Если же байт данных имеет тот же код, что и символ SLIP ESC, то он заменяется двухбайтовой последовательностью, состоящей из собственно символа SLIP ESC и кода DD. После последнего байта пакета передается символ END.
Механизм формирования составных последовательностей показан на рисунке. Здесь приведены стандартный пакет IP, один байт которого тождественен символу END, а другой - символу SLIP ESC, и соответствующий ему пакет SLIP, который больше на 4 байта.
Рис. 27.Соответствие между пакетами протоколов IP и SLIP
Хотя в спецификации протокола SLIP не определена максимальная длина передаваемого SLIP-кадра, реальный его размер определяется длной IP- пакета и не должен превышать 1006 байтов. Данное ограничение связано с первой реализацией протокола SLIP в соответствующем драйвере для BerkleyUnix, и его соблюдение необходимо для поддержки совместимости разных реализаций SLIP .
Дата добавления: 2015-08-11; просмотров: 807;