Contenidos
Tema 1: Virtualizacin. User-Mode-Linux (UML) Tema 2: IP de nueva generacin: IPv6 Tema 3: Encaminamiento en Sistemas Autnomos. OSPFv2 y OSPFv3
Protocolos de Encaminamiento
Introduccin
Sistemas Autnomos
Conjunto conexo de redes IP y encaminadores bajo el control de una o varias organizaciones y con poltica de encaminamiento comn (RFC1930)
Utiliza un protocolo de pasarela interior (IGP, Internal Gateway Protocol). Generalmente OSPF o RIP. Se comunica con otros AS mediante un protocolo de pasarela de frontera (BGP, Border Gateway Protocol)
AS776
BGP
BGP
OSPF
RIP
Definido en los RFC 1058 (v1) y 2453 (v2). Pertenece a la familia de protocolos de vectordistancia. La mtrica es el nmero de saltos. til para redes pequeas.
RIPv1
Observaciones
Las 5 ltimas lneas (entrada RIP) se repiten para cada destino. El nmero mximo de saltos es 16 (inalcanzable). Orden:
Request (1) Response (2)
RIPv2
Observaciones
Marca de ruta (route tag): distingue entre rutas RIP y externas. El nmero mximo de saltos es 16 (inalcanzable). Si AFI==0xFFFF, significa que se utiliza autenticacin.
Encaminamiento en Linux
Encaminamiento en GNU/Linux
Quagga (Zebra)
Quagga es el sucesor (no oficial) de Zebra. Superdemonio genrico de encaminamiento. Soporta los siguientes protocolos:
RIP (versiones 1 y 2) RIPng (RIP para IPv6) OSPFv2 OSPFv3 (OSPF para IPv6) BGPv4 y BGPv4+ IS-IS Otros...
Zebra
Kernel
Zebra
OSPF
RIP
BGP
Zebra
Configuracin de Zebra
/etc/quagga/zebra.conf
!! Zebra configuration saved from vty ! 2005/11/28 14:13:23 ! hostname zebra password zebra enable password zebra log file /var/log/zebra/zebra.log ! interface eth0 no ipv6 nd suppress-ra ipv6 nd prefix fd00:50::/64 ! interface lo ! interface sit0 ipv6 nd suppress-ra ! line vty !
Zebra
Definicin de demonios
/etc/quagga/daemons
This file tells the quagga package which daemons to start. # # Entries are in the format: <daemon>=(yes|no|priority) # 0, "no" = disabled # 1, "yes" = highest priority # 2 .. 10 = lower priorities # # When activation a daemon at the first time, a config file, even if it is # empty, has to be present *and* be owned by the user and group "quagga", else # the daemon will not be started by /etc/init.d/quagga. The permissions should # be u=rw,g=r,o=. # When using "vtysh" such a config file is also needed. It should be owned by # group "quaggavty" and set to ug=rw,o= though. # zebra=yes bgpd=no ospfd=no ospf6d=no ripd=yes ripngd=no isisd=no
Zebra
Configuracin de RIPd
RIPv1
Ejercicio:
Crear la siguiente configuracin de red y utilizar RIPv1 en las mquinas uml. Comprobar las tablas de rutas y los mensajes intercambiados.
uml1
192.168.1.0/24
uml2
192.168.2.0/24
uml3
uml4
Juan Carlos Fabero
192.168.4.0/24
RIPv2
Ejercicio:
Crear la siguiente configuracin de red y utilizar RIPv1 en las mquinas uml. Comprobar las tablas de rutas y los mensajes intercambiados.
uml1
192.168.1.0/24
uml2
192.168.2.0/24
uml3
uml4
Juan Carlos Fabero
192.168.1.192/28
OSPF
OSPF
Es el IGP ms utilizado. Pertenece a la familia de encaminamiento por estado del enlace. Se puede dividir el SA en reas. Cada rea se conecta al rea 0, que recibe el nombre de troncal de AS.
rea 0
OSPF
El problema de la inundacin
SPF necesita informacin topolgica del estado de todos los enlaces. La informacin se recaba en cada encaminador y se difunde por la red. Es necesario acotar el proceso de inundacin. Mediante el router-id y la edad del anuncio.
OSPF
Encaminador Designado
Para disminuir el nmero de mensajes intercambiados en una red de difusin, uno de los encaminadores es elegido como encaminador designado (DR, Designated Router) Para aumentar la fiabilidad, se designa a otro encaminador como copia de seguridad (BDR, Backup Designated Router). Los dems encaminadores crean adyacencias slo con el DR y el BDR.
DR
OSPF
Funcionamiento
OSPF
Una vez que se han intercambiado los estados del enlace, cada encaminador realiza el clculo de rutas. Ejemplo:
(A,2) B 2 A 3 C (A,3) 2 D (C,5) 7 3 E 7 2 (D,8) (B,9) 5 (B,7) F 3 G (F,10)
OSPFv2
OSPFv2
Caractersticas
Definido en el RFC 2328 (abril de 1998). Emplea un modelo jerrquico de 2 niveles: todas las reas deben conectarse directamente al rea 0 (troncal). El clculo del rbol SPF (Shortest Path First) se realiza de manera independiente en cada rea. Generalmente ofrece una mejor convergencia que los algoritmos de vector distancia (RIP). Baja utilizacin de la red en el estado estacionario (slo mensajes hello peridicos) No soporta IPv6.
OSPFv2
Ejemplo:
192.168.0.0/24
192.168.1.0/24
rea 0
192.168.2.0/24
192.168.6.0/24
192.168.7.0/24
192.168.4.0/24
rea 1
192.168.3.0/24
rea 2
192.168.5.0
AS65534
OSPF: definiciones
OSPF: Definiciones
reas:
En una red grande, el algoritmo SPF puede ser muy costoso computacionalmente.
OSFP permite dividir la red en reas.
Un rea:
Es un conjunto lgico de redes y encaminadores. Puede coincidir con fronteras administrativas o topolgicas. Cada rea se distingue por un nmero de 32 bits.
Ventajas:
Dentro del rea, cada encaminador mantiene la misma informacin topolgica del rea. No conocen las topologas fuera del rea. Slo conocen rutas a los destinos externos al rea.
Menor informacin topolgica en cada dispositivo.
OSPF: Definiciones
reas
rea 0
OSPF: Definiciones
Tipos de Encaminadores
Troncales: en el rea troncal. Frontera de rea (ABR): interconectan un rea con la troncal.
Mantienen bases de datos de topologa separadas para cada rea.
Frontera de AS (ASBR): intercambian informacin de encaminamiento entre la red OSPF y otros algoritmos.
rea 0
OSPF: Definiciones
Encaminamiento
Cada datagrama se encamina hacia la frontera de rea. Puesto que los encaminadores frontera de rea pertenecen a la troncal, se encamina el datagrama hacia la frontera del rea de destino. Se encamina el datagrama hacia el destino final.
rea 0
OSPF: Definiciones
El contenido de un LSA describe un componente de la red (encaminador, enlace o ruta externa). Se intercambian LSA entre encaminadores adyacentes.
Con el fin de actualizar la base de datos de estado del enlace.
Cuando un encaminador genera o modifica un LSA, debe anunciar el cambio por toda la red (rea). Cuando se recibe un LSA, se actualiza la informacin topolgica y se reenva el LSA a cada encaminador adyacente (inundacin controlada y fiable).
Universidad Nacional de Asuncin Encaminamiento interno 31/81
OSPF: Definiciones
Encaminador (router): Describe el estado de los interfaces (enlaces) de cada encaminador. Se difunde por toda el rea. Red (network): Contiene los encaminadores conectados a una red de difusin. Se genera por el DR. Se difunde por toda el rea. Resumen (summary) (tipos 3 y 4): Se genera por un ABR. La informacin se anuncia en la troncal, y luego se inyecta en las otras reas.
Tipo 3: describe rutas a destinos que pertenecen a otras reas (destinos inter-reas). Tipo 4: describe rutas a encaminadores ASBR.
Externos (external AS): describe rutas a destinos fuera de la red OSPF. Son generados por los ASBR. Se difunden por todas las reas de la red OSPF.
OSPF: Definiciones
Tipos de LSA
Router Network DR
Summary ABR
External ASBR
rea X
rea 0
rea X
rea 0
Proceso OSPF
Para realizar estas tareas, los encaminadores intercambian entre s distintos tipos de mensajes.
Authentication Type
0=No Authentication 1=Simple Password
Authentication Data
Contrasea si Type=1
Saludo (hello)
Para descubrir las redes/encaminadores conectados directamente y el coste del enlace. Encaminadores conectados directamente establecen una relacin de vecindad.
Cada mensaje hello porta los identificadores de los encaminadores (RID) que han sido descubiertos a travs de ese enlace. Cuando un encaminador recibe un hello con su propio RID, establece una relacin de vecindad con el emisor.
Cada mensaje hello incluye la prioridad del encaminador, el identificador del DR (Designated Routed) y el del BDR (Backup Designated Router). Para elegir el DR:
El encaminador con mayor prioridad. Si igual, el encaminador con RID ms alto.
Dos encaminadores OSPF son adyacentes cuando han sincronizado su informacin topolgica.
Dos pasos:
Paso 2:
Cada encaminador solicita de sus vecinos los LSA ms recientes
Contiene el conjunto de LSA contenidos en la base de datos local del encaminador. Cada LSA lleva una marca de tiempo.
Se definen una serie de estados para cada vecino y los eventos asociados.
Down: Estado inicial. No se ha recibido informacin a travs de ese enlace. Attempt: En redes de no difusin. El vecino parece inactivo. Se intenta restablecer la vecindad. Init: Se ha recibido un paquete hello pero el RID local no est listado en l. 2-way: Comunicacin bidireccional, vecindad establecida. ExStart: los vecinos estn comenzando a formar la adyacencia. Exchange: los dos vecinos estn intercambiando sus bases de datos. Loading: los dos vecinos estn sincronizando sus bases de datos. Full: los dos vecinos son adyacentes y sus bases de datos estn sincronizadas
Universidad Nacional de Asuncin Encaminamiento interno 42/81
Definicin
Ejemplo
El ASBR redistribuye la ruta hacia 10.99.5.0/24 en OSPF. La subred pertenece a la red RIP. El coste externo se ha configurado como 50.
ASBR
Definicin
rea 0
ABR
rea stub
Definicin
Un rea NSSA (not-so-stubby area) es un rea stub que contiene un ASBR. El ABR que la une con la troncal no inyecta rutas externas al rea, pero propaga las generadas por el ASBR dentro de la NSSA en la troncal.
ASBR1
rea 0
ABR
Definicin
Es el proceso de resumir varias redes consecutivas en una sola. Dos tipos de agregados:
Inter-rea: se realiza en el ABR para agregar los anuncios desde el rea. Externo: se realiza en el ASBR.
ASBR1
10.99.80.0/20
rea 0
10.99.80.0/20 192.168.192.0/18
ABR
192.168.192.0/18
rea 2
rea 1
Zebra
Definicin de demonios
/etc/quagga/daemons
This file tells the quagga package which daemons to start. # # Entries are in the format: <daemon>=(yes|no|priority) # 0, "no" = disabled # 1, "yes" = highest priority # 2 .. 10 = lower priorities # # When activation a daemon at the first time, a config file, even if it is # empty, has to be present *and* be owned by the user and group "quagga", else # the daemon will not be started by /etc/init.d/quagga. The permissions should # be u=rw,g=r,o=. # When using "vtysh" such a config file is also needed. It should be owned by # group "quaggavty" and set to ug=rw,o= though. # zebra=yes bgpd=no ospfd=yes ospf6d=no ripd=no ripngd=no isisd=no
OSPFv2
Configuracin bsica
En el archivo /etc/quagga/ospfd.conf se configuran los distintos aspectos de OSPF. Los principales parmetros son:
Network: indica las redes involucradas en el algoritmo de manera que ospfd conozca los interfaces activos. Cada red se asocia con el rea correspondiente. Router-id: permite identificar de manera nica a cada encaminador participante. Sigue la notacin IP. Priority: la prioridad del encaminador para ser elegido como encaminador designado (DR o BDR). Redistribute: especifica qu rutas (de otros protocolos) deben inyectarse en OSPF.
OSPFv2
Configuracin bsica
Ejemplo:
! -*- ospf -*! ! OSPFd configuration file ! ! hostname ospfd password zebra !enable password please-set-at-here ! router ospf router-id 0.0.0.2 redistribute kernel redistribute connected network 192.168.0.0/24 area 0 ! log stdout
Seccin de router
OSPFv2
Ejemplo:
uml1
192.168.1.0/24
uml2
192.168.3.0/24
router ospf router-id 0.0.0.1 network 192.168.1.0/24 area 0 network 192.168.2.0/28 area 0 network 192.168.3.0/24 area 0 passive-interface eth1 passive-interface eth2
Juan Carlos Fabero
192.168.5.0/24
router ospf router-id 0.0.0.2 network 192.168.1.0/24 area 0 network 192.168.4.0/24 area 0 network 192.168.5.0/24 area 0 passive-interface eth1 passive-interface eth2
Universidad Nacional de Asuncin Encaminamiento interno 55/81
OSPFv2
reas
Para controlar el tamao de las tablas de rutas se puede dividir el AS en reas. Un rea es un conjunto de redes y encaminadores agrupados con un identificador comn. Un identificador de rea es un nmero entero de 32 bits, en notacin punto-decimal (como IP) o entero. El rea 0 (equivalente a 0.0.0.0) recibe el nombre de troncal. Todas las reas deben conectarse con la troncal.
OSPFv2
Ejercicio:
192.168.0.0/24
192.168.1.0/24
rea 0
192.168.6.0/24 192.168.2.0/24
192.168.7.0/24 192.168.4.0/24
rea 1
192.168.3.0/24
rea 2
192.168.5.0/24
OSPFv2
Ejemplo:
! -*- ospf -*! ! OSPFd configuration file ! ! hostname ospfd password zebra !enable password please-set-at-here ! router ospf router-id 0.0.0.2 network 192.168.0.0/24 area 0 network 192.168.6.0/24 area 1 ! log stdout
OSPFv2
Ejercicio:
192.168.0.0/24
192.168.1.0/24
rea 0
192.168.6.0/24 192.168.2.0/24
192.168.7.0/24 192.168.4.0/24
rea 1
192.168.3.0/24
rea 2
192.168.5.0/24
OSPFv2
Notas:
Pero entonces hay un problema. Cul? Cul sera la solucin? Comprobar las rutas que se aaden en cada encaminador Definir las reas 1 y 2 como stub, en todos los encaminadores del rea:
area 1 stub
OSPFv2
Ejercicio:
192.168.7.0/24
192.168.6.0/24
Area 1
Juan Carlos Fabero
Area 2
Universidad Nacional de Asuncin Encaminamiento interno 61/81
OSPFv2
Ejercicio:
router ospf ospf router-id 0.0.0.1 network 10.0.0.0/24 area 0 network 10.0.1.0/24 area 1 passive-interface eth1 passive-interface eth2 router ospf ospf router-id 0.0.0.2 network 10.0.0.0/24 area 0 network 10.0.2.0/24 area 2 passive-interface eth2 passive-interface eth3
router ospf ospf router-id 0.0.0.4 network 10.0.1.0/24 area 1 passive-interface eth1 passive-interface eth2
router ospf ospf router-id 0.0.0.3 network 10.0.2.0/24 area 2 passive-interface eth1 passive-interface eth2
OSPFv2
Ejercicio:
Aparecen las direcciones privadas 10.0.0.0/8 Para suprimirlas, aadir en la seccin router ospf (slo ABR):
area <X> range 10.0.0.0/8 not-advertise
Probar a hacer traceroute desde uml3 a uml1 Comprobar con ayuda de wireshark qu sucede Lanzar uml5 y conectarla a la red 192.168.6.0/24 Hacer un traceroute desde uml5 a uml1
OSPFv2
Ejercicio:
En el caso de que todos los encaminadores estuvieran en el rea 0, las rutas a 10.x.0.0/16 seguiran apareciendo. Para evitarlo:
router ospf redistribute connected distribute-list not-private out connected access-list not-private deny 10.0.0.0/8 access-list not-private permit any
OSPFv2
Su sintaxis es parecida a la de IOS de Cisco. Quagga abre un puerto TCP por cada protocolo activo, accesible normalmente desde localhost. Con telnet a dicho puerto entramos en modo cli y podemos ver o modificar la configuracin y el estado del protocolo correspondiente. Tiene diversos niveles de acceso:
Slo lectura: el modo de entrada. Slo se puede ver la configuracin y el estado actual, pero no modificar. Modo enable: se accede mediante la orden enable (nos pedir la contrasea especificada en el archivo de configuracin). Se puede modificar la configuracin en curso, escribirla en un archivo, restaurarla desde un archivo...
OSPFv2
Ejemplo de sesin
uml2:/etc/quagga# telnet 127.0.01 ospfd Connected to localhost. Escape character is '^]'. Hello, this is Quagga (version 0.99.9). Copyright 1996-2005 Kunihiro Ishiguro, et al. User Access Verification Password: ospfd> show ip ospf route ============ OSPF network routing table ============ N 192.168.0.0/24 [10] area: 0.0.0.0 directly attached to eth0 N 192.168.1.0/24 [20] area: 0.0.0.0 via 192.168.0.1, eth0 N 192.168.2.0/24 [20] area: 0.0.0.1 via 192.168.6.4, eth1 N 192.168.3.0/24 [20] area: 0.0.0.1 via 192.168.6.4, eth1 N 192.168.6.0/24 [10] area: 0.0.0.1 directly attached to eth1
OSPFv2
Se puede acceder a la ayuda con help Si se pulsa ? muestra las alternativas posibles para completar una orden:
ospfd> show ip ospf (se pulsa ?) border-routers for this area database Database summary interface Interface information neighbor Neighbor list route OSPF routing table <cr> ospfd> show ip ospf
OSPFv2
OSPFv2
interface <iface>
Se emplea para configurar parmetros de un interfaz:
authentication: activa la autenticacin en este interfaz authentication-key: la clave de autenticacin cost: El coste del interfaz (puede no ser simtrico) dead-interval: periodo antes de declarar muerto a un vecino hello-interval: periodo entre paquetes HELLO message-digest-key: Clave de autenticacin de huellas de mensajes mtu-ignore: desactiva la deteccin de desacuerdo en la MTU network: tipo de red (broadcast, NBMA, p-t-p...) priority: prioridad del encaminador para ser elegido DR retransmit-interval: periodo entre retransmisiones de avisos de prdida de enlace
OSPFv2
router ospf
area: parmetros de rea OSPF (coste, autenticacin, filtros de rutas, enlace virtual, rea stub...) auto-cost: calcula el coste OSPF segn el ancho de banda del enlace compatible: lista de compatibilidad OSPF (con RFC1583) default-information: control de la distribucin de la informacin de encaminamiento predeterminada default-metric: mtrica de las rutas redistribuidas distance: define una distancia adicional para rutas externas, interrea o intra-rea distribute-list: filtra redes en la actualizacin de rutas end: sale del modo actual y cambia a modo enable log-adjacency-changes: traza los cambios en estado de adyacencia max-metric: distancia mxima/infinita de OSPF mpls-te: configura parmetros MPLS-TE neighbor: especifica un encaminador vecino network: activa encaminamiento en una red IP no: desactiva una orden o la restaura a sus valores predeterminados
OSPFv2
router ospf
ospf: rdenes especficas de ospf passive-interface: suprime el envo de actualizaciones de ruta sobre un interfaz quit: vuelve al modo cli anterior redistribute: controla la redistribucin de informacin que proviene de otros protocolos refresh: ajusta parmetros de refresco router-id: identificador del proceso ospf show: muestra informacin del sistema actual timers: ajusta intervalos de temporizacin de encaminamiento
OSPFv3
OSPFv3
Caractersticas
Especfico para IPv6. Basado en OSPFv2, con algunas mejoras. Distribuye prefijos IPv6. Utiliza directamente IPv6 (no necesita encapsulamiento adicional) Tipos de interfaces:
P2P (Point To Point) P2MP (Point To Multipoint) Broadcast NBMA (Non Broadcast Multiple Access) Virtual
OSPFv3
Link LSA
Un nico LSA por link. Inundacin de mbito enlace local Proporciona direccin de encaminador de enlace local. Enumera todos los prefijos IPv6 asociados con el enlace. Enumera los destinos fuera del rea pero dentro del SA. Se crea un resumen del rea, que se inyecta en las dems reas. Se origina en un ABR. Slo se inyectan en la troncal las rutas intra-rea.
OSPF6d
Configuracin de OSPFv3
/etc/quagga/ospf6d.conf
! ! Zebra configuration saved from vty ! 2003/11/28 00:49:49 ! hostname ospf6d@deimos password 1qaz2wsx enable password 1qaz2wsx !log stdout log file /tmp/ospf6d.log service advanced-vty ! !debug ospf6 neighbor state debug ospf6 message all ! line vty access-class access4 ipv6 access-class access6 exec-timeout 0 0 ! access-list access4 permit 127.0.0.1/32 ipv6 access-list access6 permit 2001:7f9:400:139::/64 ipv6 access-list access6 permit ::1/128
OSPF6d
Configuracin de OSPFv3
/etc/quagga/ospf6d.conf
interface eth0 ipv6 ospf6 ipv6 ospf6 ipv6 ospf6 ipv6 ospf6 ipv6 ospf6 ipv6 ospf6 ipv6 ospf6 ! interface eth1 ipv6 ospf6 ipv6 ospf6 ! interface lo0 ipv6 ospf6 ipv6 ospf6 ipv6 ospf6 ipv6 ospf6 ipv6 ospf6 ipv6 ospf6 ipv6 ospf6 cost 2 hello-interval 60 dead-interval 240 retransmit-interval 5 priority 5 transmit-delay 1 instance-id 0
passive cost 50
OSPF6d
Configuracin de OSPFv3
/etc/quagga/ospf6d.conf
! router ospf6 router-id 1.1.1.26 redistribute static redistribute kernel area 0.0.0.0 range 2001:db8:400:139::/64 area 0.0.22.0 range 2001:db8:400:160::/64 interface eth0 area 0.0.0.0 interface eth1 area 0.0.0.22 ! ipv6 prefix-list test-prefix seq 1000 deny any ! route-map static-ospf6 permit 10 match ipv6 address prefix-list test-prefix set metric-type type-2 set metric 2000
OSPF6d
CLI
juan@deimos:/etc/quagga$ telnet ::1 ospf6d Trying ::1... Connected to ::1. Escape character is '^]'. Hello, this is Quagga (version 0.99.6). Copyright 1996-2005 Kunihiro Ishiguro, et al.
User Access Verification Password: ospf6d@deimos> show ipv6 ospf6 neighbor Neighbor ID Pri DeadTime State/IfState 1.1.1.170 30 -327806:-3:-56 Full/BDR ospf6d@deimos> Duration I/F[State] 2d19:05:01 eth0[DR]
OSPFv3
3ff0:1:2::/64
uml3 3ff0:3:2::/64
uml4 3ff0:4:2::/64
3ff0:3:3::/64
3ff0:4:3::/64
Area 1
Juan Carlos Fabero
Area 2
Universidad Nacional de Asuncin Encaminamiento interno 80/81
OSPFv3
Solucin
Para uml1
! hostname ospf6d@uml1 password zebra log stdout service advanced-vty ! interface eth0 ipv6 ospf6 cost 1 ! interface eth1 ipv6 ospf6 cost 1 ! interface eth2 ipv6 ospf6 cost 1 ipv6 ospf6 passive ! interface eth3 ipv6 ospf6 cost 1 ipv6 ospf6 passive !
Juan Carlos Fabero
router ospf6 router-id 0.0.0.1 interface eth0 area interface eth2 area interface eth3 area interface eth1 area ! line vty !
Universidad Nacional de Asuncin