Каждый протокол обладает свойством инкапсулировать данные. Протокол SLIP
использует специальные символы для ограничения кадра данных в последовательном
канале. Для того чтобы распознать границы SLIP-кадров, передаваемых по
последовательной линии связи, и отделить один кадр от другого, протокол SLIP
предусматривает использование специального символа END, значение которого в
шестнадцатеричном представлении равно C0. Применение специального символа может
породить конфликт: если байт пересылаемых данных тождественен символу END, то он
будет ошибочно определен как признак конца кадра. Чтобы предотвратить такую
ситуацию, байт данных со значением, равным значению символа END, заменяется
составной двухбайтовой последовательностью, состоящей из специального символа
ESC (DB) и кода DC. (Применяемый в протоколе SLIP символ ESC, не равный символу
ESC в кодировке ASCII, будем обозначать SLIP ESC.) Если же байт данных имеет тот
же код, что и символ SLIP ESC, то он заменяется двухбайтовой
последовательностью, состоящей из собственно символа SLIP ESC и кода DD. После
последнего байта пакета передается символ END.
Механизм формирования составных последовательностей показан на рис.1. Здесь
приведены стандартный пакет IP, один байт которого тождественен символу END, а
другой - символу SLIP ESC, и соответствующий ему пакет SLIP, который больше на 4
байта.
Хотя в спецификации протокола SLIP не определена максимальная длина
передаваемого SLIP-кадра, реальный его размер определяется длной IP-
пакета и не должен превышать 1006 байтов. Данное ограничение связано с первой
реализацией протокола SLIP в соответствующем драйвере для Berkley Unix, и
его соблюдение необходимо для поддержки совместимости разных реализаций
SLIP .
Популярность протокола SLIP объясняется тем, что он дал возможность
подключаться к сети Internet посредством стандартного порта RS 232, имеющегося в
большинстве компьютеров. Программа управления SLIP загружается и
выгружается по мере надобности. Большинство программ управления SLIP
имеют возможность набирать телефонный номер провайдера.
Программное обеспечение, реализующее работу с протоколом SLIP
(TCP-manager), выполняет функции управления сетевым устройством, то есть
является драйвером сетевого устройства, такого, как модем. Оно принимает
IP -пакеты от программы (точнее процесса), посылающей их (от программы
сетевого уровня), обкладывает своей служебной информацией и передаёт устройству
последовательной передачи данных (модему, в последовательный порт и т.п.). На
другом конце последовательной линии аналогичная программа принимает символы,
приходящие с устройства последовательной передачи данных, освобождает от
служебной информации и передаёт то, что получилось, а должны получаться при этом
IP -пакеты, соответствующей программе (сетевого уровня), которая
обрабатывает IP -пакеты.
|