16 de febrero de 2014

El comando network

En el mundo Cisco, la configuración básica de un protocolo de enrutamiento IPv4 es relativamente simple:
Router#configure terminal
Router(config)#router [protocolo]
Router(config-router)#network [ID de red]
Router(config-router)#end
El proceso del protocolo de enrutamiento se activa en el momento en el que se ingresa el primer comando network. Si no hay comandos network, no se activa el protocolo de enrutamiento.
Pero esta configuración básica tiene algunas limitaciones primarias que deben ser tenidas en cuenta:
  • Aplica exclusivamente a protocolos de enrutamiento interior (RIP, EIGRP, OSPF). No aplica de la misma forma a la configuración de BGP.
  • No aplica a la configuración de enrutamiento IPv6.
Con estas salvedades, los protocolos de enrutamiento interior IPv4 se configuran esencialmente de igual manera. Pero en esa configuración el comando network tiene un rol particular que debemos comprender, y que no es exactamente idéntico en todos los protocolos.
El comando network es el que se utiliza para definir en todos los casos qué interfaces del dispositivo participan del proceso de enrutamiento. Los efectos prácticos del comando son 3:
  • Identifica las interfaces a través de las cuáles se publica información del protocolo de enrutamiento hacia los dispositivos vecinos.
  • Identifica las interfaces a través de las cuáles se recibe información del protocolo de enrutamiento publicada por los dispositivos vecinos.
  • La red o subred a la que está asociada la interfaz va a ser incluida en el proceso del protocolo de enrutamiento.
Tengamos presente entonces: el comando network define las interfaces del dispositivo que participan del proceso del protocolo de enrutamiento.
Dado que hay particularidades respecto del uso de este comando en cada uno de los protocolos de enrutamiento interior, voy a tomar como base la configuración de un dispositivo (un router 2911), y luego revisaremos la utilización del comando en un entorno de enrutamiento RIP, en uno EIGRP y en uno OSPF.
Las interfaces de nuestro dispositivo de pruebas:
Router#show ip interface brief
Interface             IP-Address       OK? Method Status Protocol
GigabitEthernet0/0    192.168.1.1      YES manual  up       up
GigabitEthernet0/1    192.168.1.129    YES manual  up       up
GigabitEthernet0/2    172.16.1.1       YES manual  up       up
Serial0/0/0           192.168.100.1    YES manual  up       up
Serial0/0/1           192.168.100.5    YES manual  up       up

Uso de network en RIP
En el caso de RIP no es posible identificar subredes (en nuestro ejemplo tenemos varias), pudiéndose declarar únicamente las redes completas según clase.
En nuestro caso, la configuración es:
Router#configure terminal
Router(config)#router rip
Router(config-router)#network 192.168.1.0
Router(config-router)#network 192.168.100.0
Router(config-router)#network 172.16.0.0
Router(config-router)#end
No hay límite respecto de la cantidad de networks que se pueden declarar. Si una interfaz no está incluida en esta configuración, la red asociada a ese interfaz no será publicada por el protocolo.

Uso de network en EIGRP
En el caso de EIGRP es posible utilizar, opcionalmente, una máscara de wildcard para definir con mayor precisión cuáles son las interfaces que participan del proceso de este protocolo de enrutamiento.
En el caso de nuestro ejemplo, supondré que no deseamos incluir en el proceso de EIGRP la interfaz Serial 0/0/1 que utiliza una subred de la misma red que la interfaz Serial 0/0/0; por lo que utilizaré máscara de wildcard para incluir solamente la interfaz Serial 0/0/0.
Router(config)#router eigrp 1
Router(config-router)#network 192.168.1.0
Router(config-router)#network 172.16.0.0
Router(config-router)#network 192.168.100.1 0.0.0.3
Router(config-router)#end
En este caso, es posible utilizar el comando para incluir una o varias interfaces según se prefiera. El router sólo establecerá relación de vecindad con dispositivos que sean accesibles a través de las interfaces incluidas en el proceso del protocolo.
Dado que podemos utilizar máscaras de wildcard, en EIGRP un comando network puede incluir un host en particular, una subred o conjunto de subredes, o incluso un conjunto de redes. Cuando no se aplica la máscara de wildcard el comando se comporta de modo similar a como lo hace en RIP.

Uso de network en OSPF
En OSPF, el comando network no sólo define las interfaces que participan del proceso del protocolo, sino que también se utiliza para asignar la interfaz a un área OSPF específica. En este caso, el uso de la máscara de wildcard es obligatorio; pero el conjunto ID de red + wildcard puede identificar un host, una interfaz o un conjunto de ellas, mientras que las interfaces comprendidas pertenezcan a la misma área.
En el caso de nuestro ejemplo, incluiré las interfaces Serial 0/0/0 y 0/0/1 como pertenecientes al área 0 utilizando una única sentencia.
Router(config)#router ospf 1
Router(config-router)#network 192.168.1.0 0.0.0.127 area 1
Router(config-router)#network 192.168.1.128 0.0.0.127 area 1
Router(config-router)#network 172.16.1.0 0.0.0.255 area 1
Router(config-router)#network 192.168.100.0 0.0.0.7 area 0
Router(config-router)#end
No hay límite respecto de la cantidad de comandos network que se pueden declarar. Se debe tener presente que cada interfaz puede estar asociada a una única área OSPF.

Enlaces con documentación de referencia