8.6. Opciones de Control de Enlace

Anteriormente, ya hemos tratado sobre LCP, el protocolo de control de enlace (Link Control Protocol), que se utiliza para negociar las características de la conexión y comprobarla.

Las dos opciones más importantes que pueden ser negociadas por el LCP son la unidad máxima de recepción (MRU) y el mapa de caracteres de control asíncronos. También hay varias opciones más de configuración LCP, pero son demasiado específicas como para comentarlas aquí. Eche un vistazo a la RFC 1548 para ver una descripción de éstas.

El mapa de caracteres de control asíncronos, también conocido como el mapa asíncrono, se usa en enlaces asíncronos, como las líneas telefónicas, para identificar los caracteres de control que deben de ser reemplazados por una secuencia específica de dos caracteres, para evitar que sean interpretados por el equipamiento utilizado para establecer el enlace. Por ejemplo, puede que quiera evitar los caracteres XON y XOFF utilizados con el control de flujo hardware activado, pues algún módem mal configurado puede parar hasta que reciba un XOFF. Otro candidato puede ser Ctrl-] (el carácter de escape del telnet). PPP le permite obviar/rehuir de cualquiera de los caracteres con códigos ASCII comprendidos entre 0 y 31 especificándolos en el mapa asíncrono.

El mapa asíncrono (async map) es un mapa de bits de 32 bits de ancho, y cuyo bit menos significativo corresponde al carácter ASCII NUL, y cuyo bit mas significativo corresponde al ASCII 31. Estos 32 caracteres ASCII son los caracteres de control. Si un bit se pone a 1, indica que el carácter correspondiente debe de ser "escapado" antes de ser enviado a través de la conexión.

Para decir al otro ordenador que no tiene que rehuir de todos los caracteres de control sino sólo de algunos, puede establecer un nuevo mapa asíncrono al pppd utilizando la opción asyncmap. Por ejemplo, si sólo ^S y ^Q (los códigos ASCII 17 y 19, normalmente utilizados para XON y XOFF) deben de ser "escapados", utilice la siguiente opción:
    asyncmap 0x000A0000

Mientras sepa convertir binario a hexadecimal la conversión es simple. Coloque 32 bits enfrente de usted. El bit más a la derecha corresponde al ASCII 00(NULL), y el de más a la izquierda al ASCII 32 decimal. Establezca los bits que corresponden a los caracteres que quiera "escapar" a uno, y el resto a 0. Para convertir eso al número en hexadecimal que el pppd espera, simplemente coja cada grupo de 4 bits y conviértalos en hexadecimal. Debería terminar con ocho figuras en hexadecimal. Póngalos todos juntos en cadena y antepóngale “0x” para mostrar que es un número hexadecimal, y habrá terminado.

Inicialmente, el mapa asíncrono se establece como 0xffffffff— lo que significa que todos los caracteres de control serán "escapados". De partida esto es seguro, pero normalmente es más de lo que necesita. Cada carácter que aparece en el mapa asíncrono produce dos caracteres que son transmitidos a través del enlace, así al introducir estos caracteres de escape se produce un incremento de la utilización del enlace y la correspondiente reducción del rendimiento.

En la mayoria de las circunstancias, un mapa asíncrono de 0x0 funcionará correctamente. No se producen caracteres de escape.

La unidad máxima de recepción, o MRU, señaliza al otro extremo el tamaño máximo de las tramas HDLC que queremos recibir. Aunque esto puede que le recuerde al valor de la MTU (unidad máxima de transferencia), tienen poco en común. El MTU es un parámetro del dispositivo de red del núcleo, y describe el tamaño máximo de la trama que el interfaz es capaz de soportar. El MRU es más bien un consejo al ordenador remoto para que no genere ninguna trama más grande que la MRU; no obstante, el interfaz ha de ser capaz de recibir tramas de hasta 1500 bytes.

Por lo tanto, elegir un MRU no es tanto una cuestión de que es capaz de transmitir la conexión, sino de cómo conseguir el mejor rendimiento. Si va a usar la conexión para aplicaciones interactivas, el poner en el MRU valores tan bajos como 296 es una buena idea, de forma que un paquete ocasional mayor (digamos, de una sesión de FTP) no haga a su cursor “saltar.”. Para decir al pppd que pida un MRU de 296, pondría la opción mru 296. Las MRUs pequeñas, de todas maneras, sólo tienen sentido si no tiene la compresión de cabecera VJ desactivada (esta activada por omisión), de otra manera desaprovechará una gran cantidad de su ancho de banda sólo transportando la cavecera IP de cada datagrama.

El pppd también entiende un par de opciones LCP que configuran el comportamiento general del proceso de negociación, como es el máximo número de peticiones de configuración que pueden ser intercambiadas antes de que se corte la conexión. A menos que sepa exactamente lo que esta haciendo, deberá dejar este valor fijo.

Finalmente, hay dos opciones que se aplican a los mensajes de eco del LCP. El PPP define dos mensajes,Petición de Eco y Respuesta de Eco. El pppd usa esta característica para comprobar si la conexión esta aún operativa. Puede habilitarla utilizando la opción lcp-echo-interval junto con el tiempo en segundos. Si no se reciben tramas del ordenador remoto en este intervalo, el pppd genera una Petición de Eco, y espera a que el compañero devuelva una Respuesta de Eco. Si el compañero no produce una respuesta, la conexión es cortada después de que se hayan enviado un cierto número de peticiones. Este número puede ser establecido utilizando la opción lcp-echo-failure. predeterminado, esta característica también esta desactivada.