El protocolo de Internet de línea serie ( SLIP ) [1] [2] es una encapsulación del protocolo de Internet [a] diseñada para funcionar en puertos serie y conexiones de enrutador . Está documentada en RFC 1055. En las computadoras personales, SLIP ha sido reemplazado en gran medida por el protocolo punto a punto (PPP), que está mejor diseñado, tiene más funciones y no requiere que se configure su dirección IP antes de establecerlo. Sin embargo, en los microcontroladores , SLIP sigue siendo la forma preferida de encapsular paquetes IP , debido a su muy pequeña sobrecarga.
Algunas personas se refieren al exitoso y ampliamente utilizado Protocolo de Internet de Línea Serie RFC 1055 como "SLIP de Rick Adams", [3] para evitar confusiones con otros protocolos propuestos denominados "SLIP". Entre esos otros protocolos se incluye el mucho más complicado Protocolo de Interfaz de Línea Serie del Apéndice D del RFC 914. [3]
SLIP modifica un datagrama TCP/IP estándar mediante:
SLIP requiere una configuración de puerto serial de 8 bits de datos , sin paridad y control de flujo de hardware EIA o configuraciones de operación UART en modo CLOCAL ( módem nulo de 3 cables ) .
SLIP no permite la detección de errores , ya que depende de los protocolos de capa superior para ello. Por lo tanto, SLIP por sí solo no es satisfactorio en un enlace propenso a errores, como una conexión telefónica de mala calidad .
Los caracteres de escape SLIP también se requerían en algunas conexiones de módem para escapar del conjunto de comandos Hayes , lo que permitía pasar datos binarios a través de aquellos módems que reconocerían algunos caracteres como comandos.
Una versión de SLIP con compresión de encabezado se llama SLIP comprimido ( CSLIP ). [4] El algoritmo de compresión utilizado en CSLIP se conoce como Van Jacobson TCP/IP Header Compression . [5] CSLIP no tiene efecto sobre la carga útil de datos de un paquete y es independiente de cualquier compresión por parte del módem de línea serial utilizado para la transmisión. Reduce el encabezado del Protocolo de control de transmisión (TCP) de veinte bytes a siete bytes. CSLIP no tiene efecto sobre los datagramas del Protocolo de datagramas de usuario (UDP).
El RFC 1055, un "no estándar" para SLIP, tiene sus orígenes en la implementación de TCP/IP de 3COM UNET de los años 1980. Rick Adams añadió SLIP al popular 4.2BSD en 1984 y "se popularizó rápidamente". En el momento del RFC (1988), se lo describe como "comúnmente utilizado en enlaces seriales dedicados y, a veces, para propósitos de acceso telefónico". [6]
La última versión de FreeBSD que incluye "slattach" (un comando para conectarse a slip) en la base de datos del manual es FreeBSD 7.4, publicada en 2011. El manual afirma que existe negociación automática para CSLIP. La versión de FreeBSD es heredada de 4.3BSD. [7]
Anteriormente, Linux utilizaba la misma base de código para SLIP y KISS (TNC) . La división se produjo antes del inicio del historial de git del núcleo (Linux-2.6.12-rc2, 2005). [8] El controlador SLIP ofrece un modo de escape especial de "6 bits" para adaptarse a los módems que no pueden manejar caracteres que no sean ASCII. [9] El comando slattach de Linux (escrito de forma independiente) también tiene la capacidad de detectar automáticamente la compatibilidad con CSLIP. [10]