SLIP y PPP son dos protocolos de
nivel 2 ampliamente utilizados; en especial para realizar
conexiones caseras entre un PC y el proveedor de acceso a
Internet; donde
se requiere un protocolo punto a
punto de enlace de datos. Son
sencillos y pequeños; pensando tal vez en su fácil
implementación; y en la baja velocidad de
los enlaces telefónicos.
SLIP
SLIP viene de Serial Line IP; es una
forma muy simple de encapsulación para datagramas IP en lineas
seriales; diseñado en 1984 por Rick Adams para conectar
estaciones de trabajo SUN a Internet a travésde
una línea de discado usando un Modem.
Se ha vuelto muy popular para conectar sistemas caseros
a Internet. a
través del puerto serial
RS-232 que se encuentra en casi todos los computadores y
modems.
Formato:
- Cada datagrama IP es
terminado por el carácter especial C0. Para prevenir
ruido de
línea se acostumbra mandar uno al principio
también; de modo que se de por terminada cualquier tipo
de conexión errónea anterior. - Si el carácter C0 se presenta en el contenido
del datagrama; se utiliza la secuencia de dos bytes DB, DC el
carácter DB es el carácter de escape de SLIP
(distinto al valor
ASCII de ESC
–1B–). - Si en el contenido se presenta el carácter de
escape; se reemplaza por la secuencia DB, DD.
SLIP deja a las capas superiores la detección y
recuperación de marcos perdidos.
· CSLIP
Teniendo en cuenta el gran tamaño del header de
IP y TCP,
aun para enviar muy poca información, se creó una nueva
versión de SLIP llamada CSLIP (compressed SLIP). Este
reduce el header típico de 40 bytes a 3 o 5 bytes,
ayudándose del hecho de que muchos de los campos del
header no varían durante una conexión.
PPP
El PPP es el producto del
grupo de
trabajo IETF (Internet
Engineering Task Force), y es básicamente un protocolo de
enlace de datos para
líneas punto a punto.
PPP provee un protocolo de
encapsulación tanto sobre enlaces sincrónicos
orientados a bits, como sobre enlaces asincrónicos con 8
bits de datos sin
paridad.
PPP puede operar a través de cualquier interfaz
DTE/DCE. Estos enlaces deben ser Full-Duplex pero pueden ser
dedicados, o de circuitos
conmutados.
Lo conforman básicamente 3 aspectos:
- Un método
de encapsulado sin ambigüedades que identifica claramente
el inicio de un datagrama y el final del anterior. - Un protocolo de
control de
enlace, para activar y probar líneas; negociar opciones
y desactivar el enlace ordenadamente cuando ya no es
necesario. - Una familia de NCPs
(Network Control
Protocols) para negociar opciones de la capa de red con independencia del protocolo de
red
usado.
El procedimiento
típico de conexión es el siguiente:
· El PC llama al enrutador del proveedor a
través de un modem.
· El modem del
enrutador contesta y establece una conexión física.
· El PC y el enrutador intercambian una serie
de paquete LCP para
seleccionar los parámetros PPP por
usar.
· Se envía una serie de paquetes NCP
para configurar la capa de red.
· Se asigna al PC una dirección IP a
través de NCP para IP.
· El enlace continua configurado para comunicaciones, hasta que LCP,
NCP , o algún evento externo lo
tumbe.
· Se usa NCP para desmantelar la conexión
en la capa de red y liberar la
dirección IP.
· Se usa LCP para eliminar la conexión a
nivel de enlace.
· El modem cuelga
liberando la capa física.
El formato de un marco de PPP es muy similar al formato
de marco de HDLC; con la diferencia que PPP es orientado a
caracteres y no a bits; todos los marcos tienen un número
entero de bytes.
Cada marco comienza y termina con un byte "bandera" 7E;
para evitar que la aparición de este byte en los campos de
información cause confusiones; se utiliza
bit stuffing si el enlace es sincrónico. Si el enlace es
asincrónico se utiliza el carácter 7D como
carácter de escape. Cada vez que este carácter
aparece en un marco PPP indica que el siguiente carácter
tiene su sexto bit complementado.
Si en el campo de información se presenta un byte 7E;
sería transmitido como
7D 5E; y el escape del carácter de escape
sería 7D 5D .
Por defecto cualquier valor que
corresponda a un carácter ASCII de control es
escapado, ya que en algunos casos estos caracteres son
interpretados de manera especial por los modems.
Es posible determinar por LCP cuales de los 32
caracteres de control son
escapados; por defecto todos lo son.
Luego viene el campo de dirección que siempre vale FF; indicando a
todas las estaciones que deben aceptar el marco, de este modo se
evita tener que asignar direcciones a nivel de enlace.
Viene después el campo de control; con
valor
predeterminado 03, que indica que es un marco
no-numerado.
Por omisión PPP no proporciona transmisión
confiable usando números de secuencia y acuses; pero puede
ser implementada en ambientes particularmente
ruidosos.
El siguiente campo es el de protocolo; que indica que
tipo de carga está en el campo de información. Se definen valores
válidos por ejemplo para LCP,NCP, IP, IPX y
Appletalk.
Este byte siempre es impar, el bit menos significativo
siempre es 1. Si el bit mas significativo del marco es un cero,
se trata de un protocolo de nivel de red (IP, IPX, OSI CLNP, XNS);
el primer bit en uno indica otros protocolos como
LCP y un NCP particular para cada protocolo de nivel 3 admitido.
Los desarrolladores de nuevos protocolos deben
obtener un número válido del IANA (Internet Assigned Numbers
Authority)
La longitud de este campo (2 bytes) puede reducirse a
través de LCP.
Los valores
asignados (para 1992) son los siguientes:
Valor (en hexa) Protocolo
0001 a 001f reserved (transparency
inefficient)
0021 Internet Protocol
0023 OSI Network
Layer
0025 Xerox NS IDP
0027 DECnet Phase IV
0029 Appletalk
002b Novell
IPX
002d Van Jacobson Compressed TCP/IP
002f Van Jacobson Uncompressed TCP/IP
0031 Bridging PDU
0033 Stream Protocol (ST-II)
0035 Banyan Vines
0037 reserved (until 1993)
00ff reserved (compression inefficient)
0201 802.1d Hello Packets
0231 Luxcom
0233 Sigma Network Systems
8021 Internet Protocol Control Protocol
8023 OSI Network Layer
Control Protocol
8025 Xerox NS IDP Control Protocol
8027 DECnet Phase IV Control Protocol
8029 Appletalk Control Protocol
802b Novell IPX
Control Protocol
802d Reserved
802f Reserved
8031 Bridging NCP
8033 Stream Protocol Control Protocol
8035 Banyan Vines Control Protocol
c021 Link Control Protocol
c023 Password Authentication Protocol
c025 Link Quality Report
c223 Challenge Handshake Authentication
Protocol
El campo de información es de longitud variable, con un
máximo predeterminado de 1500 bytes pero alterable
también a través de LCP.
Luego viene el campo para CRC (suma de
comprobación) que permite identificar errores a nivel de
enlace.
Comparación:
SLIP | PPP |
Fácil de implementar.
| Más complejo.
|
Adiciona muy pocos bytes de overhead | Mayor overhead |
Utilizado por muchas aplicaciones | Su uso está en crecimiento |
Efectúa compresión de overhead | Puede configurarse para que use compresión |
No estándar | Estándar |
No efectúa detección ni | Suma de verificación (CRC) en cada |
Solo reconoce IP | Múltiples protocolos |
Debe conocerse el IP de cada extremo. | Permite la asignación dinámica de IP. |
No confiable | Transmisión confiable opcional. |
Estático | Configurable a través de LCP. |
BIBLIOGRAFIA
Redes de computadores. Tanenbaum, Andrew S.
TCP/IP illustrated Volume 1. Stevens,
W.Richard.
RFC 1331, Network Working
Group, Simpson, W.
RFC 1055, Network Working Group, Romkey, J.
PPP white paper, Morning Star Technologies.
Autor:
javier villegas