Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ruteo Envo de un paquete a su destino de la manera ms eficiente posible Requiere un conocimiento global de la topologa de la red Se adquiere a travs de un protocolo de ruteo Reenvo Proceso local en un router Cada paquete, se debe enviar lo ms rpidamente al siguiente router camino al destino El reenvo se realiza en base a informacin provista por el componente de ruteo
Interfaz 0
Interfaz 1 Protocolo de ruteo Tabla de ruteo Tabla de reenvio Interfaz 2 Interfaz 3
Protocolos de ruteo
Ruteo esttico Simples Predecibles Sin overhead No escalables No reaccionen ante cambios Ruteo dinmico Escalable Adaptable a cambios En la topologa En las capacidades de los links Complejidad en la administracin Overhead en proceso y en uso de lnea
Ruteo en la Intenet
Un S.A. en un conjunto de redes con una administracin comn La Internet puede verse como un conjunto de SAs interconectados entre s Ruteo jerarquico Entre SAs: un EGP (External Gateway Protocol) Dentro de un SA, uno o ms IGP (Internal Gateway Protocol) Dentro de un SA, el objetivo del ruteo es eficiencia El ruteo entre SAs, tiene por objetivo posibilitar la definicin de polticas de trnsito de la informacin, basadas en razones de seguridad, econmicas o polticas, p. ej.: Un SA propiedad de A, no desea servir de trnito para paquetes de SA B a SA C Las polticas no forman parte del protocolo de ruteo Protocolos EGP: BGP (Border Gateway Protocol) Protocolos IGP: RIP (Routing Information Protocol), OSPF (Open Shorthest Path First), IGRP (Interior Gateway Routing Protocol), EIGRP (Enhanced IGRP)
Red 1
1 2 3
C (1,2,3) D F E
Border Router
4 5
SA
Mtodo para intercambiar informacin (de topologa o de ruteo) Algoritmo para clculo de las mejores rutas a cada red destino
Distance vector
Ruteo dinmico, distribuido Utilizado en la Internet, RIPv1(Dominio pblico), RIPv2(DP), IGRP (Cisco), EIGRP (Cisco) Est siendo reemplazado por ruteo link state (OSPF) Simple de instalar y administrar Puede soportar una mtrica (pura o combinada) Limitado en cuanto al dimetro mximo de la red Presenta problemas de convergencia Cada nodo conoce el costo de cada uno de sus vnculos (distancia, demora, etc) Un nodo intercambia peridicamente sus tablas de ruteo con sus nodos adyacentes El clculo del camino ms corto se realiza distribuido entre los nodos
10
2 5
3
D
2. Primer intercambio, cada nodo enva su tabla a los adyacentes (p.ej. A enva: A=0 a B y a D)
NODO A A Nodo Costo Por link A 0 local B 1 1 D 1 3 NODO B A Nodo Costo Por link B 0 local A 1 1 C 1 2 E 1 4 NODO C A Nodo Costo Por link C 0 local B 1 2 E 1 5
INTERCAMBIO 1 AB(L1): (A,0) AD(L3): (A,0) BA(L1): (B,0) BC(L2): (B,0) BE(L4): (B,0) CB(L2): (C,0) CE(L5): (C,0) DA(L3):(D,0) DE(L6): (D,0) EB(L4): (E,0) EC(L5): (E,0) ED(L6): (E,0)
11
2. Segundo intercambio
INTERCAMBIO 2 AB(L1): (A,0), (B,1), (D,1) AD(L3): (A,0), (B,1), (D,1) BA(L1): (B,0), (A,1), (C,1), (E,1) BC(L2): (B,0), (A,1), (C,1), (E,1) BE(L4): (B,0), (A,1), (C,1), (E,1) CB(L2): (C,0), (B,1), E,1) CE(L5): (C,0), (B,1), E,1) DA(L3):(D,0), (A,1), (E,1) DE(L6): (D,0), (A,1), (E,1) EB(L4): (E,0), (B,1), (C,1), (D,1) EC(L5): (E,0), (B,1), (C,1), (D,1) ED(L6): (E,0), (B,1), (C,1), (D,1)
NODO A A Nodo Costo Por link A 0 local B 1 1 D 1 3 C 2 1 E 2 3 NODO B A Nodo Costo Por link B 0 local A 1 1 C 1 2 E 1 4 D 2 4 NODO C A Nodo Costo Por link C 0 local B 1 2 E 1 5 A 2 2 D 2 5 NODO D A Nodo Costo Por link D 0 local A 1 3 E 1 6 C 2 6 B 2 6 NODO E A Nodo Costo Por link E 0 local B 1 4 C 1 5 D 1 6 12 6 A 2
2 5
3
D
4 6
E
PROCESO EN NODO A Rutas a A: de B, costo 1 C=2, se queda con la de la tabla (C=0) de D, costo 1 C=2, se queda con la de la tabla (C=0) Rutas a B: de B, costo 0 C=1, igual tabla por el mismo link, no cambia Rutas a C: de B, costo 1 C=2, agrega entrada en tabla Rutas a D: de D, costo 0 C=1, igual tabla por el mismo link, no cambia Rutas a E: de B, costo 1 C=2 elige cualquiera de las dos de D, costo 1 C=2 ya que tienen igual costo
13
1-Estado de convergencia
NODO A A Nodo Costo Por link A 0 local B 1 1 D 1 3 C 2 1 E 2 3 NODO A A Nodo Costo Por link A 0 local B * 1 D 1 3 C * 1 E 2 3
2 5
D E 6 NODO E A Nodo Costo Por link E 0 local B 1 4 C 1 5 D 1 6 A 2 6 NODO E A Nodo Costo Por link E 0 local B 1 4 C 1 5 D 1 6 A 2 6 NODO C A Nodo Costo Por link C 0 local B 1 2 E 1 5 A 2 2 D 2 5
INTERCAMBIO 1 AD(L3): (A,0), (B,*), (D,1), (C,*), (E,2) BC(L2): (B,0), (A,*), (C,1), (E,1), (D,*) BE(L4): (B,0), (A,*), (C,1), (E,1), (D,*) CB(L2): (C,0), (B,1), E,1), (A,2), (D,2) CE(L5): (C,0), (B,1), E,1), (A,2), (D,2) DA(L3):(D,0), (A,1), (E,1), (C,2), (B,2) DE(L6): (D,0), (A,1), (E,1), (C,2), (B,2) EB(L4): (E,0), (B,1), (C,1), (D,1), (A,2) EC(L5): (E,0), (B,1), (C,1), (D,1), (A,2) ED(L6): (E,0), (B,1), (C,1), (D,1), (A,2)
Nodo A, recibe rutas a C y B por L3, reemplaza porque son de menor costo y por otro link Nodo D, recibe rutas de A, hacia B y C, costo *; no modifica sus rutas porque tiene costo menor y son por otro link
14
INTERCAMBIO 1 AD(L3): (A,0), (B,*), (D,1), (C,*), (E,2) BC(L2): (B,0), (A,*), (C,1), (E,1), (D,*) BE(L4): (B,0), (A,*), (C,1), (E,1), (D,*) CB(L2): (C,0), (B,1), E,1), (A,2), (D,2) CE(L5): (C,0), (B,1), E,1), (A,2), (D,2) DA(L3):(D,0), (A,1), (E,1), (C,2), (B,2) DE(L6): (D,0), (A,1), (E,1), (C,2), (B,2) EB(L4): (E,0), (B,1), (C,1), (D,1), (A,2) EC(L5): (E,0), (B,1), (C,1), (D,1), (A,2) ED(L6): (E,0), (B,1), (C,1), (D,1), (A,2) Nodo C, recibe de B, por link 2: (A,*) recibe de E, por link 5: (A,2) Nueva entrada para A: link 5, costo 3
Nodo B, recibe de C, por link 2: (A,2) recibe de E, por link 4: (A, 2) Si elige link 4 (por E), el protocolo converge Si elige link 2 (por C), el protocolo no converge (bouncing effect)
2 5
3
D
4 6
E
15
C Ejemplo de rebote (bouncing effect): Casos de fallas en 3 los que el algoritmo converge, pero de manera lenta, 2 A B 1 produciendo situaciones de mal uso de los vnculos Los vnculos 1 y 2 tienen costo1, el 3 tiene costo5 Se supone que cae el vnculo 2. Los intercambios de tablas se producen cada 30 segundos, en el orden C a A; B a A; A a B y A a C. La informacin que se intercambia est an sin actualizar
3
A
2 1 2
Se produce el intercambio de tablas con informacin de Tabla 2: A C a A: A no actualiza, tiene un costo menor B a A: A a C, Link 1, Costo inf; actualiza pues aumenta costo en vnculo A a B: B a C, Link 1, Costo 3;
3 1
B
2 inf 2 16
2 inf 2 0
Se produce el intercambio de tablas con informacin de Tabla 3: C a A: A a C, Link 3, Costo 5; actualiza porque tiene un costo mayor(inf) B a A: A a C, Link 1, Costo 4; actualiza porque tiene costo mayor(5) A a B: B a C, Link 1, Costo inf; actualiza porque el link aument el costo
3
A
inf 0
Se produce el intercambio de tablas con informacin de Tabla 4: C a A: A A no actualiza porque tiene un costo menor(4) B a A: A a C, Link 1, Costo inf; actualiza porque el link aument el costo A a B: B a C, Link 1, Costo 5; actualiza porque tena un costo mayor(inf)
3
A
2 4 0
inf
Se produce el intercambio de tablas con informacin de Tabla 5: C a A: A a C, Link 3, Costo 5; actualiza porque tiene un costo mayor(inf) B a A: A no actualiza porque el clculo de costos es mayor (6) A a B: B a C, Link 1, Costo inf; actualiza porque el link aument el costo
3
A
inf 17
inf 0
5 3
A C
Se produce el intercambio de tablas con informacin de Tabla 6: C a A: A no actualiza porque es el mismo costo B a A: A no actualiza porque el clculo de costos es mayor (inf) A a B: B a C, Link 1, Costo 6; actualiza porque el costo es menor
1 5
0 3
C
6 El tiempo de convergencia depende del costo del vnculo 3 El algoritmo oscila, teniendo perodos de inconsistencia (loop de paquetes, destinos no alcanzables) 18
Problemas: Limita el dimetro de la red Produce inconsistencias temporarias hasta que se alcanza dicho valor
19
Modificacin al algoritmo: Si el nodo A est enviando paquetes al nodo X a travs del nodo B, B no podr tratar de llegar a X a travs de A Dos variantes Un nodo A que est enviando paquetes a otro X a travs de uno B, no anunciar a B (por ese vnculo) ruta a X (tcnica conservadora, basada en timeouts de entradas) Un nodo A que est enviando paquetes a otro X a travs de B, anunciar por ese vnculo un costo infinito a X (Split horizon with poisonus reverse).Tcnica ms agresiva, inmediatamente cancela la ruta
20
1 4
D
1 A 2 3 C B
A propaga ruta destino D a B, ya que est ruteando va C Lo mismo ocurre con B Ni A ni B propagan a C informacin acerca de D, por split horizon (envan costo infinito) De C a A: D, Costo inf De C a B: D, Costo inf De B a A: D, Costo 2 De A a B: D, Costo 2
Inf 4
D
3 1
A 2 C 3
3
B
Luego comienza a incrementarse el costo a D en A y B (count to infinity) ya que el nodo al otro lado del vnculo registrar un incremento en el costo
Inf
D
21
22
Comando
Versin
Comando
Versin
Routing domain
Tipo Autenticacin Aut Aut Aut
0XFFFF
Aut
23
RIP-Triggered Updates
Informacin de ruteo enviada asincrnicamente al producirse un cambio Aceleran tiempos de convergencia del algoritmo Complementan al intercambio peridico de tablas
Pueden dar lugar a un volumen de trfico considerable (dependiendo del estado de las tablas)
24
Caractersticas de routed
Split horizon Poissonus reverse Timers: Intercambio de informacin de ruteo : 30 segundos Validez de una ruta : 180 segs. Garbage collection: 120 segs Timer para triggered updates: al azar, entre 1 y 5 segs. Entradas en la tabla Direccin del destino (red o host) Mtrica Direccin del next hop Silent nodes
25
opciones routed
routed [-d] [-g] [-q] [-s] [-t] [logfile] -d: debugging -g: anuncia direccin default -q: no provee informacion de rutas -s: se fuerza a routed a proveer informacin de rutas -t: corre en una terminal, no en background
26
Ruteo en Linux
Versiones de Kernel hasta 2.2 ifconfig: manejo de interfaces de red y asignacin de direcciones route: manejo de entradas en la tabla de ruteo Veriones posteriores iproute2 Integra los comandos anteriores Permite acceso a nuevas caractersticas al networking de Linux Ruteo avanzado Clasificacin de paquetes Reserva de ancho de banda Tneles para encapsulacin de paquetes
27
iproute2
Objetos Link: dispositivo de red (fsico o lgico) Address: direcciones (de nivel de red) asociadas a los dispositivos Neighbor: tablas de resolucin de direcciones Route: entradas en la tabla de ruteo Rule: reglas en lal base de datos de polticas de ruteo Maddres: direcciones multicast Mroute: entradas en la cache de ruteo multicast Tunnel: tuneles sobre IP
28
Sintaxis de iproute2
ip [ OPTIONS ] OBJECT [ COMMAND [ ARGUMENTS ]]
OPTIONS: -v, -Version: muestra verin de iproute2 -s, -stats, -statistics: muestra informacin adicional -f, -family {inet, inet6, link} :familia de direcciones a usar -r, -resolve: resuelve direcciones en nombres. OBJECTS: (link, address, neighbor, route, rule, maddress, mroute, tunnel) COMMAND: accin a ejecutar sobre el objeto add delete show ARGUMENTS: dependen de cada comando
29
ip link
ip link set: cambia valores del dispositivo de red
Argumentos set (valor en maysculas)
ip link
ip link show: muestra el estado y caracteristricas del dispositivo
Argumentos show (valor en maysculas)
dev NAME: nombre del device a mostar up: muestra solo interfaces operativas
Ejemplo: ip -s link ls eth0 3: eth0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc cbq qlen 100 link/ether 00a0cc661878 brd ffffffffffff RX bytes packets errors dropped overrun mcast 2449949362 2786187 0 0 0 0 TX bytes packets errors dropped carrier collsns 178558497 1783945 332 0 332 35172
31
ip address
ip address add: agrega direcciones a un dispositivo
Argumentos add (valor en maysculas) dev NAME: nombre del dispositivo al que se le agrega la direccin. local ADDRESS: direccin de la interfaz (local) peer ADDRESS:para interfaces punto a punto broadcast ADDRESS : . scope VALOR: alcance de la validez de la direccin. label NAME: nombre asociado a la direccin
Ejemplos ip addr add 127.0.0.1/8 dev lo brd + scope host ip addr add 10.0.0.1/24 brd + dev eth0
32
ip address
ip address del: elimina direcciones asociadas a una interfaz ip address flush: elimina direcciones ip address show: muestra direcciones
Argumentos show dev NAME:nombre del dispositivo.
deprecated: solo v6
primary / secondary: muestra solo direcciones primarias o secundarias. Ejemplos ip addr del 127.0.0.1/8 dev lo ip -4 addr flush label "eth*"
33
ip neighbour
ip neighbor add: agrega una entrada ip neighbor delete: reemplaza una entrada ip neighbor replace: cambia una entrada ip neighbour flush: elimina entradas ip neighbour show: muestra entradas
Argumentos add, del, replace to ADDRESS: direccin de nivel 3 (v4 o v6) del nodo neighbour. dev NAME: device correspondiente al nodo neighbour lladdr LLADDRESS: (NO USADO EN DEL) direccion link layer del neighbour nud NUD_STATE: (NO USADO EN DEL) estado de la entrada Permanent Noarp Ejemplos Reachable Stale ip neigh add 10.0.0.3 lladdr 000001 dev eth0 nud perm
ip neigh chg 10.0.0.3 dev eth0 nud reachable ip neigh del 10.0.0.3 dev eth0
34
ip route
Tablas de ruteo en Linux Hasta 255 tablas Por defecto, main (254) Local, manejada por el SO (255) Reglas de matching: Sin policy routing:(prefijo, TOS, preferencia) Con policy routing: (tabla, prefijo, TOS, preferencia) Tipos de rutas unicast, multicast, anycast, broadcast unreachable, prohibit, blackholet local nat throw Atributos de una entrada mtu Direccin preferida de origen
35
ip route
iproute add: agrega una ruta iproute change: cambia una ruta iproute replace: reemplaza o agrega una ruta
Ejemplos Argumentos to PREFIX: red de destino Agregado y cambio de ruta tos TOS: preferencia ip route add 10.0.0/24 via 193.233.7.65 metric NUMBER:mtrica de la ruta ip ro chg 10.0.0/24 via 193.233.7.65 dev dummy table TABLEID:tabla de ruteo dev NAME: nombre del device de salida via ADDRESS: direccin del nexthop router Balanceo de carga mtu MTU mtu hacia el destino de la ruta. ip route add default nexthop via 193.4.7.7 dev ppp0 weight 5 nexthop NEXTHOP: prximo nodo nexthop via 193.4.4.3 dev ppp1 weight 1 mail.out via ADDRESS:especifica direccin dev NAME: especifica device weight NUMBER.peso para balanceo de carga protocol RTPROTO: indica cmo se configur la ruta boot: proceso de booteo redirect: ICMP redirect kernel: autoconfiguracin static: administrador ra: router discovery protocol 36
ip route
iproute del: elimina una ruta iproute show: lista contenido de tablas iproute flush: elimina rutas
Ejemplos ip route list: 10.0.0.0/24 dev eth0 proto kernel scope link src 10.0.0.1 10.0.1.0/24 dev eth1 proto kernel scope link src 10.0.1.1 10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1 127.0.0.0/8 dev lo scope link ip route list match 10.0.1.2 10.0.1.0/24 dev eth1 proto kernel scope link src 10.0.1.1 10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1
Argumentos to PREFIX: red de destino tos TOS: preferencia metric NUMBER:mtrica de la ruta ip route list match 10.0.1.2/8: 10.0.0.0/8 dev eth0 proto kernel scope link src 10.0.0.1 table TABLEID:tabla de ruteo dev NAME: nomre del device de salida via ADDRESS: direccin del nexthop router ip route list proto kernel mtu MTU mtu hacia el destino de la ruta. ip route list proto gated/bgp nexthop NEXTHOP: prximo nodo via ADDRESS:especifica direccin dev NAME: especifica device weight NUMBER.peso para balanceo de carga protocol RTPROTO: indica cmo se configur la ruta boot: proceso de booteo redirect: ICMP redirect kernel: autoconfiguracin static: administrador ra: router discovery protocol
37
ip route
iproute get: obtiene y muestra una ruta a un destino dado
Argumentos to ADDRESS (default): direccin de destino. from ADDRESS:direccin de origen. tos TOS ( o dsfield TOS). iif NAME: interfaz (device) desde el que sse espera que llegue el paquete. oif NAME: fuerza a que el paquete deba ser enviado por este device. Connected:
Ejemplo ip route get 193.233.7.82 193.233.7.82 dev eth0 src 193.233.7.65 realms inr.ac cache mtu 1500 rtt 300
38