7.2. Operación de SLIP

Los servidores IP que ofrecen enlaces telefónicos vía SLIP, por lo general, utilizan cuentas de usuario especiales. Una vez iniciada exitosamente la sesión, el servidor comienza a ejecutar un guión (script) para la activación del manejador SLIP y las interfaces de red apropiadas. Al mismo tiempo, en su terminal debe ocurrir exactamente lo mismo.

En algunos sistemas operativos, el gestor SLIP es un programa de usuario. Bajo Linux, es parte del núcleo del sistema, cosa que lo hace mucho más rápido. Esta ventaja, sin embargo, requiere que la línea sea convertida a modo SLIP de forma explícita. Esta conversión, es llevada a cabo mediante una disciplina de terminal (tty) especial llamada SLIPDISC. Mientras que un terminal (tty) trabaja en forma normal (DSIC0), los datos intercambiados entre los procesos del usuario, se realizan mediante las llamadas read(2) y write(2) estándar, y el manejador SLIP es incapaz de leer o escribir en este modo. En SLIPDISC se invierten los roles: ahora ningún proceso de usuario podrá escribir o leer desde un terminal (tty), ya que son dirigidos desde el puerto serie al gestor de SLIP.

El gestor SLIP entiende por sí mismo distintas variantes del protocolo SLIP. Además, de las variantes ordinarias, es capaz de interpretar una variante del protocolo llamada CSLIP, cuya particularidad es la de utilizar el método de compresión de cabeceras de Van Jacobson(descritas en el RFC-1144) para los paquetes IP salientes. Este método aumenta el rendimiento de las sesiones interactivas. Además, existen versiones de seis bits de cada uno de estos protocolos.

Una forma simple de convertir una línea serie al modo SLIP es usando la herramienta slattach. Suponiendo que su módem está en /dev/ttyS3 y que ha podido acceder correctamente al servidor SLIP de forma correcta, deberá ejecutar:
    # slattach /dev/ttyS3 &

Esta herramienta cambiará la disciplina de línea de ttyS3 a SLIPDISC y lo enlazará a una de las interfaces SLIP. Si este es el primer enlace activo SLIP, será enlazado a sl0 ; el segundo, será enlazado a sl1 y así, sucesivamente. Los núcleos actuales soportan hasta un máximo de 256 enlaces SLIP simultáneamente.

Por omisión slattachusa CSLIP como método de compresión de cabeceras. Con el parámetro –p, usted puede seleccionar cualquier otra disciplina de línea. Para utilizar SLIP de forma normal (sin compresión) se debe teclear:
    # slattach -p slip /dev/ttyS3 &

Las disciplinas disponibles se muestran en laTabla 7-1. Una seudo-disciplina disponible llamada adaptive, (adaptativa) deja al núcleo averiguar que tipo de encapsulado SLIP se está utilizando.

Tabla 7-1. Disciplinas de línea SLIP bajo Linux

Disciplina

Descripción
slip

Encapsulación tradicional.

cslip

Encapsulación SLIP con compresión de cabeceras Van Jacobsen.

slip6

Encapsulación SLIP con codificación a 6 bits. Este método de codificación es similar al usado por la orden uuencode, y causa que los datagramas SLIP sean convertidos a caracteres ASCII. Esta conversión es útil cuando no se poseen enlaces en serie con el octavo bit vacío.

cslip6

Encapsulación SLIP con compresión tipo Van Jacobsen de cabeceras y y codificado a 6 bits.

adaptive

No es una disciplina de línea real, y posibilita que el núcleo intente identificar la disciplina de línea usada en la máquina remota y hacer que concuerden.

Observe que debe utilizarse el mismo sistema de encapsulación que la máquina remota. Por ejemplo, si cowslip usara CSLIP, tendría que usarlo usted también. Si su conexión SLIP no funciona, lo primero que hay que saber es si en los dos puntos de conexión, se está utilizando compresión de cabeceras o no. Si no está seguro, intente configurar el gestor SLIP para que trabaje de forma adaptativa y que el núcleo se tome el trabajo de averiguarlo por usted.

slattach no sólamente configura el protocolo, sino también PPP o KISS (otro protocolo utilizado en redes tipo ham radio). Hacer esto no es común, ya que existen mejores herramientas para gestionar estos protocolos. Para más detalles, consulte las páginas man de slattach(8).

Teniendo al gestor SLIP funcionando correctamente, se debe configurar la interfaz de red. Nuevamente, puede utilizar las órdenes ifconfig y route para configurar la interfaz. Asumiendo que ya estableció una conexión telefónica con un servidor llamado cowslip desde vlager. En vlager se debe ejecutar:
    # ifconfig sl0 vlager-slip pointopoint cowslip
    # route add cowslip
    # route add default gw cowslip

La primera orden realiza un enlace punto a punto con cowslip, mientras que la segunda y la tercera orden sirven para añadir la ruta correspondiente a cowslip como ruta predeterminada y configurar a cowslip como pasarela (gateway).

Dos cosas que no tienen nada que ver con la invocación de ifconfig: La opción pointopoint especifica la dirección del servidor remoto en nuestro enlace punto a punto y vlager-slip es la dirección local de la interfase SLIP.

Ya se ha mencionado que se puede utilizar la misma dirección asignada para la interfaz Ethernet vlagercomo para su enlace SLIP. En este caso, vlager-slip necesita otro alias para la dirección 172.16.1.1. Sin embargo, es posible tener una dirección completamente distinta para su enlace SLIP. Este es el caso cuando no se tienen direcciones IP registradas como con Cervecera. En la próxima sección se hablará con más detalle de este tipo de escenario.

Como referencia, siempre se usará vlager-slip para referirse a su interfase local SLIP.

Cuando se quiera terminar el enlace SLIP, debe empezarse por eliminar todas las rutas que pasan por cowslip usando la orden route con la opción del, luego desactivar la interfaz, y enviar al proceso slattach la señal de colgar. Después se podrá colgar el módem usando el terminal:
    # route del default
    # route del cowslip
    # ifconfig sl0 down
    # kill -HUP 516
Nota: el número 516 deberá ser reemplazado por el correspondiente identificador de proceso (como muestran las salidas de las órdenes ps ax) para el proceso slattach que controla al gestor SLIP que se quiera desconectar.