SLIP

Оглавление

SLIP (Serial Line Internet Protocol) - устаревший сетевой протокол канального уровня эталонной сетевой модели OSI для доступа к сетям стека TCP/IP через низкоскоростные линии связи путем простой инкапсуляции IP-пакетов. Используются коммутируемые соединения через последовательные порты для соединений клиент-сервер типа точка-точка. В настоящее время вместо него используют более совершенный протокол PPP.

История

SLIP был разработан в начале 80-ых компанией 3COM. Протокол начал быстро распространяться после включения в ОС Berkeley Unix 4.2 Риком Адамсом(Rick Adams) в 1984, так как благодаря ему стало возможным подключение к Интернет через последовательный COM-порт, имевшийся на большинстве компьютеров. Ввиду своей простоты сейчас используется в микроконтроллерах.

Принципы работы

  • Для установления связи необходимо заранее задать IP-адреса, так как в протоколе SLIP нет системы обмена адресной информацией
  • В принимаемом потоке бит SLIP позволяет определить признаки начала и конца пакета IP. По этим признакам SLIP собирает полноценные пакеты IP и передает верхнему уровню. При отправлении IP-пакетов происходит обратная операция - они переформатируются и посимвольно отправляются получателю через последовательную линию
  • Для передачи необходимо использовать конкретную конфигурацию UART: 8 бит данных (8 data bits), без паритета (no parity), аппаратное управление каналом передачи (EIA hardware flow control) или трехпроходной нуль-модемный кабель (3-wire null-modem - CLOCAL mode)

Структура кадров

Так как передача данных в последовательных асинхронных линиях связи байт-ориентированная, сначала IP-пакет разбивается на байты (октеты). Границей SLIP-кадра является уникальный флаг END (0xC0). Уникальность этого флага поддерживается байт-стаффингом(byte stuffing) внутри кадра с ESC-последовательностью 0xDB, причем байт END (0xС0) заменяется последовательностью (0xDB, 0xDC), а байт ESC (0xDB) - последовательностью (0xDB, 0xDD).

Недостатки

  • Нет возможности обмениваться адресной информацией - необходимость предустановки IP-адресов
  • Отсутствие индикации типа инкапсулируемого протокола - возможно использование только IP
  • Не предусмотрена коррекция ошибок - необходимо выполнять на верхних уровнях, рекомендуется использовать протокол TCP
  • Высокая избыточность - из-за использования стартовых и стоповых битов при асинхронной передаче(+20 %), передачи в каждом SLIP-кадре полного IP-заголовка(+20 байт) и полных заголовков верхних уровней, байт-стаффинга
  • В некоторых реализациях протокола максимальный размер кадра ограничен 1006 байтами для достижения обратной совместимости с реализацией в Berkeley Unix

 
 
Prev
Предыдущий
Next
Следующий
Hosted by uCoz