SLIP

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


1. Історія

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


2. Принципи роботи

  • Для встановлення зв'язку необхідно заздалегідь задати IP-адреси, так як в протоколі SLIP немає системи обміну адресною інформацією.
  • У прийнятому потоці біт SLIP дозволяє визначити ознаки початку і кінця пакета IP. За цими ознаками SLIP збирає повноцінні пакети IP і передає верхньому рівню. При відправленні IP-пакетів відбувається зворотна операція - вони переформатуються і посимвольно відправляються одержувачу через послідовну лінію.
  • Для передачі необхідно використовувати конкретну конфігурацію UART : 8 біт даних (8 data bits), без паритету (no parity), апаратне керування каналом передачі ( EIA Hardware Flow Control) або трьохпровідний нуль-модемний кабель (3-wire null-modem - CLOCAL mode).

3. Структура кадрів

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

4. Недоліки

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

5. CSLIP

Мережевий протокол CSLIP (Compressed SLIP) - трохи вдосконалений Ван Якобсоном (Van Jacobsen з Lawrence Berkeley Labs) протокол SLIP. Зміни торкнулися стиснення IP-заголовків і TCP-заголовків. 40 байт цих двох заголовків можуть стискатися до 3-5 байт. CSLIP дає помітний виграш проти SLIP тільки при використанні невеликих пакетів і хороших ліній зв'язку, так як при необхідності повтору передачі в CSLIP наново передані будуть всі пакети, аж до останнього переданого нестисненого, проти одного пакету в SLIP.


Література

  • Галкін В. А., Григор'єв Ю. А. Телекомунікації та Мережі. - М.: МГТУ ім. Н. Е. Баумана, 2003. С. 608. ISBN 5-7038-1961-X