Введение

Инкапсуляция протокола Интернета для последовательных портов и подключений маршрутизаторов

Протокол Интернета последовательной линии (SLIP) – это инкапсуляция протокола Интернета, разработанная для работы через последовательные порты и подключения маршрутизаторов. В персональных компьютерах SLIP в значительной степени был заменен протоколом «точка-точка» (PPP), который лучше спроектирован, обладает большим количеством функций и не требует настройки IP-адреса до установления соединения. Однако на микроконтроллерах SLIP по-прежнему является предпочтительным способом инкапсулирования IP-пакетов благодаря очень небольшому объему служебной информации. Некоторые называют успешный и широко используемый протокол Интернета последовательной линии RFC 1055 «SLIP Рика Адамса», чтобы избежать путаницы с другими предлагаемыми протоколами под названием «SLIP». К другим протоколам относится гораздо более сложный протокол интерфейса последовательной линии, описанный в приложении D. Алгоритм сжатия, используемый в CSLIP, известен как сжатие заголовков TCP/IP по Ван Джейкобсону. CSLIP не влияет на полезную нагрузку данных пакета и не зависит от сжатия, выполняемого последовательным линейным модемом, используемым для передачи. Он уменьшает заголовок протокола управления передачей (TCP) с двадцати байтов до семи байтов. CSLIP не влияет на дейтаграммы протокола пользовательских данных (UDP).

История

RFC 1055, фактически "нестандарт" для SLIP, берет свое начало из реализации 3COM UNET TCP/IP 1980-х годов. Рик Адамс добавил SLIP в популярную 4.2BSD в 1984 году, и он "быстро получил распространение". К моменту публикации RFC (1988) он описывался как "обычно используемый на выделенных последовательных каналах связи и иногда для dial-up соединений". Последняя версия FreeBSD, включающая "slattach" (команду для подключения к SLIP) в справочную базу данных, – FreeBSD 7.4, выпущенная в 2011 году. В руководстве утверждается, что для CSLIP предусмотрена автоматическая настройка. Версия FreeBSD унаследована от 4.3BSD. Ранее Linux использовал ту же кодовую базу для SLIP и KISS (TNC). Разделение произошло до начала истории ядра в системе контроля версий Git (Linux 2.6.12 rc2, 2005). Драйвер SLIP предлагает специальный "6-битный" режим экранирования для модемов, не способных обрабатывать символы, отличные от ASCII. Команда slattach в Linux (разработанная независимо) также обладает возможностью автоматического определения поддержки CSLIP.