Protocolo de Internet de línea serial

Encapsulación del protocolo de Internet para puertos serie y conexiones de enrutador

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]

Descripción

Valor hexadecimalValor DecValor de octubreAbreviaturaDescripción
0xC0192300FINExtremo del marco
0xDB219333ESCEscape de marco
0xDC220334ESC_FINFinal del marco transpuesto
0xDD221335ESC_ESCEscape de marco transpuesto

SLIP modifica un datagrama TCP/IP estándar mediante:

  • agregándole un byte "END" especial , que distingue los límites del datagrama en el flujo de bytes,
  • Si el byte END aparece en los datos que se van a enviar, se envía en su lugar la secuencia de dos bytes ESC, ESC_END.
  • Si el byte ESC aparece en los datos, se envía la secuencia de dos bytes ESC, ESC_ESC.
  • Las variantes del protocolo pueden comenzar, así como finalizar, paquetes con END.

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.

CSLIP

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).

Historia

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 80. 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]

Véase también

Referencias

  1. ^ SLIP en realidad no se preocupa por las estructuras internas de IP: cualquier protocolo de capa de red puede enviarse a través del cable.
  1. ^ "Preguntas y respuestas sobre Internet". The New York Times . 31 de mayo de 1996.
  2. ^ "La computadora ejecutiva: acceso más fácil para los recién llegados confundidos". The New York Times . 8 de mayo de 1994.
  3. ^ ab RFC  1547: "Requisitos para un protocolo punto a punto estándar de Internet"
  4. ^ Comprensión de TCP/IP (Capítulo 4.2 SLIP comprimido).
  5. ^ Jacobson, V. (febrero de 1990). "Compresión de encabezados TCP/IP para enlaces seriales de baja velocidad".— introdujo la compresión de encabezado TCP/IP de Van Jacobson utilizada por CSLIP
  6. ^ "RFC 1055: No estándar para la transmisión de datagramas IP sobre líneas seriales: SLIP". IETF Datatracker . 1 de junio de 1988.
  7. ^ "slattach(8)". man.freebsd.org .
  8. ^ Torvalds, Linus (13 de mayo de 2023). «Historia de mkiss.c» . Consultado el 13 de mayo de 2023 .
  9. ^ Torvalds, Linus (13 de mayo de 2023). "drivers/net/slip/Kconfig".
  10. ^ slattach(8)  –  Manual del programador de Linux – Administración y comandos privilegiados "Otros valores posibles son slip (SLIP normal), adaptive (CSLIP/SLIP adaptativo)...
Retrieved from "https://en.wikipedia.org/w/index.php?title=Serial_Line_Internet_Protocol&oldid=1217012114"