Протокол SLIP
Протокол SLIP (Serial Line IP), созданный в начале 80-х годов, стал первым стандартом, позволяющим устройствам, соединенным последовательной линией связи, работать по протоколам ТСР/IР. SLIP является простым протоколом, используемым в основном на коммутируемых линиях связи. Поскольку коммутируемый канал отличается от некоммутируемого только более низким качеством и необходимостью выполнять процедуру вызова абонента, то SLIP вполне применим и на выделенных каналах. Протокол SLIP выполняет единственную функцию — он позволяет в потоке бит, которые поступают по выделенному (или коммутируемому) каналу, распознать начало и конец IP-пакета. Помимо протокола IP, другие протоколы сетевого уровня SLIP не поддерживает. Чтобы распознать границы IP-пакетов, протокол SLIP предусматривает использование специального символа END, значение которого 8 шестнадцатеричном представлении равно СО. Применение специального символа может породить конфликт: если байт пересылаемых данных тождественен символу END, то он будет ошибочно определен как признак конца пакета. Чтобы предотвратить такую ситуацию, байт данных со значением, равным значению символа END, заменяется составной двухбайтовой последовательностью, состоящей из специального символа ESC (шестнадцатеричный код DB) и кода DC. Если же байт данных имеет тот же код, что и символ ESC, то он заменяется двухбайтовой последовательностью, состоящей из собственно символа ESC и кода DD. После последнего байта пакета передается символ END. Хотя в спецификации протокола SLIP не определена максимальная длина передаваемого пакета, в первой версии протокола размер IP-пакета ограничен 1006 байт. Большинство современных реализации позволяют администратору устанавливать размер пакета, а по умолчанию SLIP использует размер (500 байт. Для установления связи по протоколу SLIP компьютеры должны иметь информацию об IP-адресах друг друга. Однако возможна ситуация, когда, скажем, при осуществлении соединения между хостом и маршрутизатором последнему понадобится передать хосту информацию о его IP-адресе. В протоколе SLIP нет механизмов, дающих возможность обмениваться адресной информацией. Это ограничение не позволяет использовать SLIP для некоторых видов сетевых служб. Другой недостаток SLIP — отсутствие индикации типа протокола, пакет которого инкапсулируется в SLIP-пакет. Поэтому через последовательную линию по протоколу SLIP можно передавать трафик лишь одного сетевого протокола — IP. При работе с реальными телефонными линиями, зашумленными и поэтому искажающими пакеты при пересылке, требуются процедуры обнаружения и коррекции ошибок- В протоколе SLIP такие процедуры не предусмотрены. Эти функции обеспечивают вышележащие протоколы: протокол IP проводит тестирование целостности пакета по заголовку IP, а один из двух транспортных протоколов (UDP или TCP) проверяет целостность всех данных по контрольным суммам. Низкая пропускная способность последовательных линий связи вынуждает сокращать время передачи пакетов, уменьшая объем содержащейся в них служебной информации. Эта задача решается с помощью протокола Compressed SLIP (CSLIP), поддерживающего сжатие заголовков пакетов. Появление CSLIP объясняется тем фактом, что при использовании программ типа Telnet, Rlogin и других для пересылки одного байта данных требуется переслать 20-байтовый заголовок IP-пакета и 20-байтовый заголовок TCP-пакета (итого 40 байт). Спецификация CSLIP обеспечивает сжатие 40-байтового заголовка до 3-5 байт. На сегодняшний момент большинство реализаций протокола SLIP поддерживают спецификацию CSLIP. Таким образом, протокол SLIP выделяет IP-пакеты из последовательности передаваемых бит. Протокол не имеет механизмов передачи адресной информации, идентификации типа протокола сетевого уровня, определения и коррекции ошибок.
|