2.3 Implementation Practices
2.3.2 Principles
MLS es una forma de realizar la conmutación de paquetes nivel 3 o superior mediante hardware (ASICS). Se precisa de un router y de un switch. El router puede ser interno o externo.
En el proceso MLS intervienen tres componentes principales: MLS-SE (Multilayer Switching Switch Engine): Es el switch.
MLS-RP (Multilayer Switching Route Processor): El router, ya sea externo o interno. MLSP (Multilayer Switching Protocol): Protocolo que opera entre el MLS-SE y el MLS-RP
para habilitar MLS.
4.9.1 Funcionamiento
Cuando se activa un MLS-RP, éste manda tramas “hello” multicast cada 15 segundos. Este mensaje se manda a todos los switches de la red, e incluye su dirección MAC (la de todos los interfaces que tengan que ver en el MLS), información de las listas de acceso y entradas o borrados de rutas. La dirección multicast es la misma que se emplea por el protocolo CGMP, y se envían con un tipo de protocolo distinto para que se reconozca entre uno y otro.
Todos los switches reciben la trama, ya que todos escuchan la dirección multicast. Los switches que no soporten MLS hacen forwarding de la misma, y lo que si lo soporten (MLS-SE) graban las direcciones MAC de la trama (direcciones del MLS-RP) en la tabla CAM (Content-addressable memory), asociándolas al puerto de donde legó. Para que un switch haga caso a estas tramas hay que indicarle quien es el router con el comando set mls include [IP]. El comando show mls
include muestra todos los routers con los que hablará MLS. Si el MLS-RP es interno, no es
necesario configurarlo, ya que es automático.
El MLS-SE asigna una XTAG de un byte a cada MLS-RP, de modo que todas las direcciones MAC que éste le ha mandado queda identificadas por el mismo byte.
ese flujo, si es así, manda la trama a su destino, sin que la trama sea vista por el router. Si no la tiene en caché, le manda la trama al router, y marca el flujo en el caché como “candidato”.
El MLS-RP recibe el paquete y mira en su tabla de rutas y reenvía el paquete hacía la dirección MAC destino siguiente, reenviando la trama al MLS-SE.
Cuando el switch recibe la trama, ya sabe el puerto destino, basándose en la CAM, y, por la dirección MAC fuente, sabe que el paquete proviene del router. Entonces, compara la XTAG entre la trama que ha recibido y la tabla MLS de candidatos. Si coinciden se marca el “candidato” como “enable” y manda la trama por el puerto adecuado.
Para las siguientes tramas, el MLS-SE reconoce que la dirección MAC destino es la del router. Analizando su trama MLS ve que ya tiene en cache este flujo, así que cambia la dirección MAC destino por la del siguiente salto (que ya indicó el router) y la fuente por la del router, decrementa el TTL y manda el paquete por el puerto correspondiente.
Las entradas parciales o candidatas estarán en el cache durante 5 segundos. Las enable estarán hasta que no se detecten más paquetes de ese flujo durante el tiempo aging time, que por defecto es 256 segundos. Se puede modificar con el comando set mls agingtime [tiempo] sólo en saltos de 8 segundos. La tabla MLS es limitada, por lo que hay que mantenerla siempre actualizada. Existen algunos flujos de corta vida, como una petición DNS, que si se almacenaran durante 256 segundos se estaría consumiendo mucha tabla. Para ello, se puede usar el comando set mls agingtime fast
[tiempo] [paquetes]. En paquetes se indican los paquetes de este flujo dentro del tiempo definido
que han de pasar como mínimo para no considerarlo un flujo de corta vida.
4.9.2 Máscaras de flujo
El MLS-SE emplea máscaras para comparar los paquetes que se corresponden con un flujo. Está basada en listas de acceso aplicadas al interface del router, y éste se las comunica mediante mensajes MLSP. El MLS-SE sólo soporta una, y siempre es la más restrictiva de la unión de todas las suministradas por los routers. Las máscaras pueden ser:
Por dirección IP destino: Es por defecto y la menos restrictiva de todas. Se mantiene una entrada en el cache por cada dirección destino. Se usa si no hay listas de acceso configuradas en los routers.
Por dirección fuente y dirección destino: Se almacena en el cache una entrada por pareja de IP fuente y destino. Se usa si hay listas de acceso standards configuradas en el interface. Por flujo IP: Se almacena en el caché una entrada por IP fuente y destino, protocolo y puertos.
Se usa si hay listas de acceso extendidas configuradas en el router.
Se puede forzar al switch a emplear un tipo de máscara aunque no haya listas de acceso en los routers con el comando set mls flow [destination | destination-source | full]
Si la lista de acceso es de entrada al interface del router, como deben ser analizados todos los paquetes, no se soportaría MLS. Para que se soporten hay que poner el comando mls rp ip input-
4.9.3 Configuración
DESCRIPCION MLS-RP MLS-SE
Habilitar MLS (config) mls rp ip
(config-if) mls rp ip
set mls enable (sólo si es externo)
Habilitar MLS para una VLAN (solo en MLS-RP externo y con enlaces de acceso no trunk)
(config-if) mls rp vlan-id [vlan] Asignar MLS a un dominio VTP (config-if) mls rp vtp-domain
[dominio]
Crear interface de management (config-if) mls rp managment- interface
Verificar MLS show mls rp
Verificar MLS en un dominio show mls rp vtp-domain [dominio]
Verificar MLS en un interface show mls rp interface [interface]
Ver los routers asociados MLS show mls include
Ver la tabla MLS show mls entry
Ver tabla MLS para un destino show mls entry destination
[ip]
Es necesario configurar el dominio VTP antes de poner el comando de MLS, ya que si no se crea el dominio null y el router no hablaría con los switches.
El interface de management será el que se emplee para las tramas de control del protocolo MLSP (hellos).
El comando clear mls entry source [IP] elimina del caché del switch todas las entradas que tengan como dirección origen la IP indicada.
Algunos comandos del router requieren que el router analice todos los paquetes, y al ejecutarlos de desactiva MLS, como ip tcp header-compression.