Вы находитесь на странице: 1из 13

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico UNIDAD 1: Enrutamiento Objetivo de la Unidad:

Capacitar a los participantes con los conocimientos que le faciliten los mtodos y tcnicas requeridas para realizar enrutamiento esttico y dinmico ; as como tambin mtodos para el optimo aprovechamiento de los recursos de red disponibles. Temas:

Definicin de router Segmentacin con router Enrutamiento como poltica segura. Uso de router Introduccin a Iproute2 ARP Reglas de enrutamiento Enrutado multicast Compartimiento de carga sobre interfases Encaminamiento Dinmico Definicin de Router

Un router es un dispositivo de proposito general diseado para segmentar la red, con la idea de limitar trfico de brodcast y proporcionar seguridad, control y redundancia entre dominios individuales de brodcast, tambin puede dar servicio de firewall y un acceso econmico a una WAN. El router opera en la capa 3 del modelo OSI y tiene ms facilidades de software que un switch. Al funcionar en una capa mayor que la del switch, el router distinge entre los diferentes protocolos de red, tales como IP, IPX, AppleTalk o DECnet. Esto le permite hacer una decisin ms inteligente que al switch, al momento de reenviar los paquetes. El router realiza dos funciones bsicas: 1. Es responsable de crear y mantener tablas de ruteo para cada capa de protocolo de red, estas tablas son creadas ya sea estticamente o dinmicamente. De esta manera el router extrae de la capa de red la direccin destino y realiza una decisin de envio basado sobre el contenido de la especificacin del protocolo en la tabla de ruteo. 2. La inteligencia de un router permite seleccionar la mejor ruta, basndose sobre diversos factores, ms que por la direccion MAC destino. Estos factores pueden incluir la cuenta de saltos, velocidad de la linea, costo de transmisin, retraso y condiciones de trfico. La desventaja es que el proceso adicional de procesado de tramas por un router puede incrementar el tiempo de espera o reducir el desempeo del router cuando se compara con una simple arquitectura de switch. Segmentacin con Router Una subred es un puente o un switch compuesto de dominios de broadcast con dominios individuales de colisin. Un router esta diseado para interconectar y definir los limites de los dominios de broadcast. La figura muestra un dominio de broadcast que se segment en dos dominios de
Pg. 1 Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico colisiones por un switch, aqu el trfico de broadcast originado en un dominio es reenviado al otro dominio.

En la siguiente figura muestra la misma red, despus que fu segmentada con un router en dos dominios diferentes de broadcast. En este medio el trfico generado de broadcast no fluye a travs del router al otro dominio.

Enrutamiento como poltica segura Cuando el nmero de usuarios en los grupos de trabajo se incrementa, el crecimiento de los broadcast puede eventualmente causar una legtima preocupacin sobre lo siguiente:

Rendimiento en la red. Problemas de aislamiento. Los efectos de radiar el broadcast en el rendimiento del CPU de la estacin final. Seguridad en la red.

Generalmente la cantidad de trfico de broadcast en un grupo de trabajo con switches de 100 a 200 usuarios, no es un problema significativo a menos que se presente un mal funcionamiento en el equipo o un protocolo se comporte mal. Los factores de riesgo dominantes en grupos de trabajo grandes, son la seguridad y el costo del negocio por una tormenta de broadcast u otro tipo de comportamiento que tumbe la red. El router puede proporcionar un bajo costo por usuario en polticas de seguridad en
Pg. 2 Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico contraste con este tipo de problemas. Pero adems, puede proporcionar dicha seguridad, tanto por la segmentacin fsica como lgica. Uso de un router Las funciones primarias de un router son:

Segmentar la red dentro de dominios individuales de brodcast. Suministrar un envo inteligente de paquetes. Y Soportar rutas redundantes en la red.

Aislar el trfico de la red ayuda a diagnosticar problemas, puesto que cada puerto del router es una subred separada, el trfico de los brodcast no pasarn a travs del router. Otros importantes beneficios del router son:

Proporcionar seguridad a travs de sofisticados filtros de paquetes, en ambiente LAN y WAN. Permitir disear redes jerrquicas, que deleguen autoridad y puedan forzar el manejo local de regiones separadas de redes internas. Integrar diferentes tecnologas de enlace de datos, tales como Ethernet, Fast Ethernet, Token Ring, FDDI y ATM. Introduccin a Iproute2

La mayora de las distribuciones de Linux usan actualmente los tradicionales comandos arp, ifconfig y route Aunque funcionan, muestran cierto comportamiento inesperado. Por ejemplo, los tneles GRE son parte integral del enrutado hoy da, pero precisan herramientas completamente diferentes.Con iproute2, los tneles son una parte integral del juego de herramientas. Los ncleos Linux 2.2 y superiores incluyen un subsistema de red completamente rediseado. Este nuevo cdigo de red proporciona a Linux un rendimiento y caractersticas con poca competencia en el panorama general de los SO. En realidad, el cdigo de enrutado, filtrado y clasificacin tiene ms posibilidades que el que proporcionan muchos enrutadores y cortafuegos dedicados y productos de control de trfico. Linux tiene un sistema sofisticado para proporcionar ancho de banda llamado Traffic Control. Este sistema soporta varios mtodos de clasificacin, priorizado, comparticin y limitacin tanto de trfico entrante como saliente. Prerequisitos paquete iproute Algunas partes de iproute requieren que active ciertas opciones del ncleo. Tambin debe asegurarse de que tiene soporte de netlink, en caso de que escoja configurar su propio ncleo. Iproute2 lo necesita. Explorar la configuracin actual Las rdenes ifconfig y route actuales ya usan las llamadas a sistema avanzadas, pero
Pg. 3 Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico en su mayora con configuraciones por defecto. La herramienta ip es central, y muestra las interfaces. Visualizando los enlaces

[ahu@homeahu]$iplinklist
1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 2: dummy: <BROADCAST,NOARP> mtu 1500 qdisc noop link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1400 qdisc pfifo_fast qlen 100 link/ether 48:54:e8:2a:47:16 brd ff:ff:ff:ff:ff:ff 4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:e0:4c:39:24:78 brd ff:ff:ff:ff:ff:ff 3764: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 10 link/ppp Primero se aprecia la interfaz loopback. El tamao MTU (Maximum Transfer Unit) es de 3924 octetos, y no se supone que deba encolar. Lo cual tiene sentido porque la interfaz loopback es virtual. Despus estn dos interfaces de red fsicas, una est del lado de un cable mdem, y la otra sirve a un segmento ethernet. Tambin se aprecia una interfaz ppp0. Observe la ausencia de direcciones IP. iproute desconecta los conceptos de enlace y direccin IP. De todas maneras, con el alias de IP, el concepto de la direccin IP se ha vuelto bastante irrelevante. Sin embargo, nos muestra las direcciones MAC, el identificador en hardware de nuestras interfaces ethernet. Visualizando las direcciones IP

[ahu@homeahu]$ipaddressshow
1: lo: <LOOPBACK,UP> mtu 3924 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 brd 127.255.255.255 scope host lo 2: dummy: <BROADCAST,NOARP> mtu 1500 qdisc noop link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff 3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1400 qdisc pfifo_fast qlen 100 link/ether 48:54:e8:2a:47:16 brd ff:ff:ff:ff:ff:ff inet 10.0.0.1/8 brd 10.255.255.255 scope global eth0 4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:e0:4c:39:24:78 brd ff:ff:ff:ff:ff:ff 3764: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP> mtu 1492 qdisc pfifo_fast qlen 10 link/ppp inet 212.64.94.251 peer 212.64.94.1/32 scope global ppp0

Pg. 4

Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico Esto contiene ms informacin. Nos muestra todas nuestras direcciones, y a qu tarjetas pertenecen. inet significa Internet (IPv4). Hay muchas otras familias de direcciones. Examinemos eth0 ms de cerca. Dice que est relacionada con la direccin inet 10.0.0.1/8. Qu significa esto? El /8 indica el nmero de bits que estn en la Direccin de Red. Hay 32 bit, de manera que quedan 24 bits que son parte de la red. Los primeros 8 bits de 10.0.0.1 corresponden a 10.0.0.0, la Direccin de Red, y la mscara de red (netmask) es 255.0.0.0. Las otras mquinas estn conectadas a esta interfaz, de manera que 10.250.3.13 es accesible de forma directa desde eth0, al igual que 10.0.0.1, por ejemplo. Con ppp0, se observa el mismo concepto, aunque los nmeros son diferentes. Su direccin es 212.64.94.251, sin mscara de subred. Esto significa que se tiene una conexin punto a punto y que cada direccin, con la excepcin de 212.64.94.251, es remota. Hay ms informacin: En la otra punta del enlace hay, una nica direccin, 212.64.94.1. El /32 nos dice que no hay bits de red. Tambin se observa qdisc, que significa Disciplina de Cola (Queueing Discipline). Visualizando las rutas Ya se conoce cmo encontrar direcciones 10.x.y.z y alcanzar 212.64.94.1. Sin embargo, esto no es suficiente, de manera que se requieren instrucciones sobre cmo alcanzar al resto del mundo. La Internet est disponible mediante la conexin ppp.

[ahu@homeahu]$iprouteshow
212.64.94.1 dev ppp0 proto kernel scope link src 212.64.94.251 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 default via 212.64.94.1 dev ppp0 Las primeras 3 lneas indican explcitamente lo que qued implcito con ip address show, y la ltima lnea dice que el resto del mundo lo podemos encontrar mediante 212.64.94.1, la pasarela por defecto. Se determina que es una pasarela por la palabra via, que indica que necesitamos enviar paquetes a 212.64.94.1, que se encargar del resto. Como referencia, esto es lo que la antigua utilidad route muestra:

[ahu@homeahu]$routen
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 212.64.94.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0 10.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0
Pg. 5 Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico 127.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 lo 0.0.0.0 212.64.94.1 0.0.0.0 UG 0 0 0 ppp0 ARP ARP es el Address Resolution Protocol que se describe en el RFC 826. ARP lo usa una mquina en red para averiguar la localizacin/direccin hardware de otra mquina en la misma red local. Las mquinas en Internet se conocen generalmente por sus nombres que se corresponden a direcciones IP. As es como una mquina en la red foo.com es capaz de comunicarse con otras mquinas que estn en la red bar.net. Una direccin IP, sin embargo, no puede decir la localizacin fsica de una mquina. Aqu es donde entra ARP. Tomemos un ejemplo muy sencillo. Supongamos que se tiene una red compuesta de varias mquinas. Dos de ellas que estn en la red son foo con direccin IP 10.0.0.1 y bar con direccin IP 10.0.0.2. Ahora foo quiere hacer ping hacia bar para ver si funciona, pero, foo no tiene idea de dnde est bar. De manera que cuando foo decide hacer ping hacia bar necesita realizar una consulta ARP. Esta consulta ARP es algo as como si foo gritase en la red Bar (10.0.0.2)! Dnde ests? Como resultado de esto, cada mquina de la red escuchar el grito de foo, pero slo bar (10.0.0.2) responder. Bar enviar entonces una respuesta ARP directamente a foo, que viene a ser como si bar dijese, Foo (10.0.0.1), estoy aqu en 00:60:94:E9:08:12. Despus de esta sencilla transaccin que sirve para localizar a su amigo en la red, foo es capaz de comunicarse con bar hasta que olvide (su cach arp) dnde est bar (normalmente tras 15 minutos, en Unix).Ahora, veamos cmo funciona. Se puede ver la cach/tabla arp/neighbor actual de una mquina as:

[root@espa041/home/src/iputils]#ipneighshow
9.3.76.42 dev eth0 lladdr 00:60:08:3f:e9:f9 nud reachable 9.3.76.1 dev eth0 lladdr 00:06:29:21:73:c8 nud reachable Como puede ver, la mquina espa041 (9.3.76.41) sabe dnde encontrar a espa042 (9.3.76.42) y espagate (9.3.76.1). Ahora aadamos otra mquina a la cach arp.

[root@espa041/home/paulsch/.gnomedesktop]#pingc1espa043
PING espa043.austin.ibm.com (9.3.76.43) from 9.3.76.41 : 56(84) bytes of data. 64 bytes from 9.3.76.43: icmp_seq=0 ttl=255 time=0.9 ms --- espa043.austin.ibm.com ping statistics --1 packets transmitted, 1 packets received, 0% packet loss round-trip min/avg/max = 0.9/0.9/0.9 ms [root@espa041 /home/src/iputils]# ip neigh show 9.3.76.43 dev eth0 lladdr 00:06:29:21:80:20 nud reachable 9.3.76.42 dev eth0 lladdr 00:60:08:3f:e9:f9 nud reachable 9.3.76.1 dev eth0 lladdr 00:06:29:21:73:c8 nud reachable

Pg. 6

Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico Como resultado de que espa041 intente contactar con espa043, se ha aadido la direccin/localizacin hardware de espa043 a la cach arp/neighbor. De manera que mientras no caduque la entrada de espa043 (como resultado de la ausencia de comunicacin entre ambas), espa041 sabe dnde encontrar a espa043 y no necesita enviar una consulta ARP. Ahora, eliminemos a espa043 de nuestra cach arp:

[root@espa041/home/src/iputils]#ipneighdelete9.3.76.43deveth0 [root@espa041/home/src/iputils]#ipneighshow
9.3.76.43 dev eth0 nud failed 9.3.76.42 dev eth0 lladdr 00:60:08:3f:e9:f9 nud reachable 9.3.76.1 dev eth0 lladdr 00:06:29:21:73:c8 nud stale Ahora espa041 ha vuelto a olvidar dnde encontrar a espa043 y necesitar enviar otra consulta ARP la siguiente vez que necesite comunicarse con espa043. Tambin puede ver en el listado anterior que espagate (9.3.76.1) ha cambiado al estado stale. Esto significa que la localizacin mostrada todava es vlida, pero tendr que ser confirmada en la primera transaccin que se haga con esa mquina. Reglas de enrutamiento (base de datos de normas de rutado) Si se tiene una red grande, probablemente se tenga que encargar de las necesidades de diferentes personas, que deberan ser servidas de forma diferente. La base de datos de normas de rutado (routing policy database) permite hacerlo teniendo varios conjuntos de tablas de rutado. Si se quiere usar esta caracterstica, hay que asegurarse de que se compila el ncleo con las opciones IP: advanced router e IP: policy routing. Cuando el ncleo necesita tomar una decisin de encaminamiento, busca la tabla que necesita consultar. Por defecto, hay tres tablas. La antigua herramienta "route" modifica las tablas principal y local, al igual que la herramienta ip (por defecto). Las reglas por defecto:

[ahu@homeahu]$iprulelist
0: from all lookup local 32766: from all lookup main 32767: from all lookup default Aqu se lista la prioridad de todas las reglas. Vemos que todas son aplicables a todos los paquetes (from all). Hemos visto anteriormente la tabla main, mostrada por ip route ls, pero las tablas local y default son nuevas. Normas de encaminamiento por origen sencillas Tomando de nuevo un ejemplo real, se cuenta con 2 cable mdems, conectados a un router Linux NAT (masquerading), para proporcionar Internet a una vecindad. Suponga que uno de los clientes slo visita hotmail y desea pagar menos. Por ello, lo asignaremos
Pg. 7 Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico al cable mdem de menos prestaciones. El cable mdem rpido se conoce como 212.64.94.251 y es un enlace PPP a 212.64.94.1. El lento es conocido por varias IP, por ejemplo 212.64.78.148, y es un enlace a 195.96.98.253. La tabla local:

[ahu@homeahu]$iproutelisttablelocal
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1 local 10.0.0.1 dev eth0 proto kernel scope host src 10.0.0.1 broadcast 10.0.0.0 dev eth0 proto kernel scope link src 10.0.0.1 local 212.64.94.251 dev ppp0 proto kernel scope host src 212.64.94.251 broadcast 10.255.255.255 dev eth0 proto kernel scope link src 10.0.0.1 broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1 local 212.64.78.148 dev ppp2 proto kernel scope host src 212.64.78.148 local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1 local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1 La tabla por defecto est vaca. Veamos la tabla main:

[ahu@homeahu]$iproutelisttablemain
195.96.98.253 dev ppp2 proto kernel scope link src 212.64.78.148 212.64.94.1 dev ppp0 proto kernel scope link src 212.64.94.251 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 default via 212.64.94.1 dev ppp0 Ahora generaremos una nueva regla que llamaremos John, por nuestro hipottico vecino. Aunque podemos trabajar con nmeros, es mucho ms sencillo aadir nuestras tablas a /etc/iproute2/rt_tables.

#echo200John>>/etc/iproute2/rt_tables #ipruleaddfrom10.0.0.10tableJohn #iprulels


0: from all lookup local 32765: from 10.0.0.10 lookup John 32766: from all lookup main 32767: from all lookup default Ahora todo lo que queda es generar la tabla John, y refrescar la cach de rutas:

#iprouteadddefaultvia195.96.98.253devppp2tableJohn #iprouteflushcache
Pg. 8 Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico

Ya hemos terminado. Encaminamiento con varios enlaces de salida/proveedores La siguiente es una configuracin comn, en la que hay dos proveedores que conectan una red local (o incluso una nica mquina) a la gran Internet.

Proveedor 1 If1 Router Linux if2 Proveedor 2

Red de area Local

Normalmente surgen dos preguntas dada esta configuracin. Acceso dividido La primera es cmo enrutar respuestas a paquetes que vienen de un proveedor particular, por ejemplo Proveedor 1, de vuelta por el mismo camino. Primero establezcamos algunos nombres simblicos. Digamos que $IF1 es el nombre de la primera interfaz (if1 en la figura) y $IF2 el nombre de la segunda. Sean entonces $IP1 la direccin IP asociada con $IF1 y $IP2 la IP asociada con $IF2. Luego, digamos que $P1 es la direccin IP de la pasarela a Proveedor 1, y $P2 la IP de la pasarela a Proveedor 2. Por ltimo, $P1_NET ser la red IP donde est $P1, y $P2_NET la red IP donde est $P2. Creamos dos tablas de encaminamiento adicionales, llammoslas T1 y T2. Las aadimos a /etc/iproute2/rt_tables. Entonces las configuramos de la siguiente manera:

iprouteadd$P1_NETdev$IF1src$IP1tableT1 iprouteadddefaultvia$P1tableT1 iprouteadd$P2_NETdev$IF2src$IP2tableT2 iprouteadddefaultvia$P2tableT2

Pg. 9

Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico Simplemente hemos montado una ruta hacia una pasarela, y una ruta por defecto mediante ella, tal como sera el caso con un nico proveedor, pero ponemos las rutas en tablas separadas, una por proveedor. Observe que basta la ruta hacia la red, ya que le indica cmo encontrar cualquier mquina dentro de esa red, lo que incluye la pasarela, como se especific anteriormente. Despus configuramos la tabla de rutas principal (main). Es una buena idea encaminar las cosas a vecinos directos mediante la interfaz conectada a ese vecino. Observe las opciones src, que se aseguran que se escoge la direccin IP correcta.

iprouteadd$P1_NETdev$IF1src$IP1 iprouteadd$P2_NETdev$IF2src$IP2
Luego, la ruta por defecto preferente: ip route add default via $P1 A continuacin, configuramos las reglas de encaminamiento. Estas son las que escogen qu tabla de rutas se usa. Querr asegurarse de que encamina por una interfaz dada si ya tenemos una direccin de origen correspondiente:

ipruleaddfrom$IP1tableT1 ipruleaddfrom$IP2tableT2
Estas rdenes se aseguran de que todas las respuestas al trfico proveniente de una interfaz en particular ser contestado por esta interfaz. Esta es la configuracin ms bsica. Funcionar para todos los procesos que estn funcionando en el propio router, y para la red local, si est enmascarada, y si no, entonces puede que tenga un espacio IP de ambos proveedores, o que vaya a enmascarar la salida por uno de los proveedores. En ambos casos, querr aadir reglas escogiendo por cual proveedor encaminar basndose en las direcciones IP de las mquinas en la red local. Equilibrio de carga La segunda pregunta es cmo equilibar el trfico que va por los dos proveedores. En realidad no es difcil si ya ha configurado un acceso dividido como se indic previamente. En lugar de escoger uno de los proveedores como la salida por defecto, configuraremos la ruta por defecto para que sea multicamino (multipath route). Por defecto, el ncleo equilibrar las rutas sobre los dos proveedores. Esto se hace como sigue (una vez ms, nos apoyamos en el ejemplo de la seccin sobre acceso dividido): ip route add default scope global nexthop via $P1 dev $IF1 weight 1 \ nexthop via $P2 dev $IF2 weight 1 Esto equilibrar las rutas sobre ambos proveedores. Los parmetros weight se pueden modificar para favorecer a un proveedor sobre el otro. Tenga en cuenta que el equilibrio no ser perfecto, ya que se basa en rutas, y las rutas estn en cach. Esto significa que las rutas usadas ms a menudo siempre irn sobre el mismo proveedor. Ms an, si realmente quiere hacer esto, probablemente tambin
Pg. 10 Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico quiera los parches de Julian Anastasov que hay en http://www.linuxvirtualserver.org/~julian/#routes, la pgina del parche de rutas de Julian. Har ms sencillo el trabajo. Enrutado multicast Antes de que pueda encaminar trfico multicast, necesita configurar el ncleo Linux para que admita el tipo de enrutado multicast que desea. Para esto, a su vez, se necesita que decida qu tipo de encaminamiento multicast espera usar. Esencialmente hay cuatro tipos "comunes":

DVMRP (la versin Multicast del protocolo RIP nicas). MOSPF (lo mismo pero para OSPF). PIM-SM ("Protocol Independent Multicasting - Sparse Mode", que asume que los usuarios de cualquier grupo multicast estn esparcidos, en lugar de concentrados). PIM-DM (lo mismo, pero en "Modo Denso", que asume que hay concentraciones significativas de usuarios en el mismo grupo multicast).

En el ncleo Linux, ver que no aparecen estas opciones. Esto es debido a que el protocolo en s lo controla una aplicacin de enrutado, como Zebra, mrouted o pimd. Sin embargo, an as hace falta que tenga una buena idea de lo que va a usar, para escoger las opciones adecuadas en el ncleo. Para todo el encaminamiento multicast, definitivamente necesitar activar multicasting y multicast routing. Esto es suficiente para DVMRP y MOSPF. Si va a usar PIM, tambin debe activar PIMv1 o PIMv2, dependiendo de si el tipo de red al que conecta usa la versin 1 o la 2 del protocolo PIM. Una vez tenga preparado todo lo que necesita, y tenga el ncleo de Linux compilado, podr ver que los protocolos IP que se listan durante el arranque ahora incluyen IGMP. Este protocolo sirve para gestionar grupos multicast. En el momento de escribir esto, Linux admite slo las versiones 1 y 2 de IGMP, aunque existe la versin 3 y ha sido documentada. Esto en realidad no nos afecta mucho, ya que IGMPv3 todava es nueva como para que sus capacidades extra vayan a ser muy tiles. Como IGMP trata con grupos, slo vamos a usar las caractersticas presentes en la versin ms sencilla de IGMP sobre grupos enteros. En la mayora de los casos encontrar IGMPv2, aunque todava se usa IGMPv1. Hemos activado multicasting. Ahora, tenemos que decirle al ncleo de Linux que haga algo con l, para poder empezar a encaminar. Esto significa aadir la red virtual Multicast a la tabla del router:

iprouteadd224.0.0.0/4deveth0
Asumiendo, por supuesto, que est haciendo multicast sobre eth0. Sustituya el dispositivo por el que haya escogido. Ahora, dgale a Linux que reenve paquetes:

echo1>/proc/sys/net/ipv4/ip_forward
Para probar la conexin, haga ping al grupo por defecto, 224.0.0.1, para ver si alguien responde. Todas las mquinas de su LAN con el multicast activo deberan responder, pero
Pg. 11 Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico nadie ms. Comprobar que ninguna de las mquinas que responden tiene la direccin IP 224.0.0.1. Esta es una direccin de grupo (difusin o broadcast para suscriptores), y todos los miembros del grupo respondern con su propia direccin, no con la direccin de grupo.

pingc2224.0.0.1
En este momento, estamos preparados para hacer el verdadero encaminamiento de multicast. Compartimiento de carga sobre varias interfaces Hay varias maneras de hacer esto. Una de las ms sencillas y directas es TEQL ("True" - o "trivial" - link equalizer). Como la mayora de las cosas que tienen que ver con las colas, la divisin de cargas va en ambos sentidos. Puede que ambos extremos del enlace deban participar para conseguir un efecto completo. Imagine esta situacin: A y B son routers, y por el momento asumiremos que ambos funcionan con Linux. Si el trfico va de la red 1 a la red 2, el router A necesita distribuir los paquetes sobre ambos enlaces hacia B. Se necesita configurar el router B para que acepte esto. Lo mismo sucede en la otra direccin: cuando los paquetes van desde la red 2 a la red 1, el router B necesita enviar paquetes tanto sobre eth1 como eth2. La parte de distribucin la hace un dispositivo TEQL, as :

#tcqdiscadddeveth1rootteql0 #tcqdiscadddeveth2rootteql0 #iplinksetdevteql0up


Esto debe hacerse en ambas mquinas. El dispositivo teql0 bsicamente es un distribuidor roundrobin sobre eth1 y eth2, para enviar paquetes. Nunca aparecern datos viniendo por un dispositivo teql, sino que simplemente aparecen en las eth1 y eth2 "bsicas". Pero ahora slo tenemos dispositivos, de manera que necesitamos hacer un rutado adecuado. Una manera de hacerlo es asignar una red /31 para ambos enlaces, y tambin al dispositivo teql0. NOTA: necesita esto algo como nobroadcast? Una /31 es demasiado pequea para contener una direccin de red y una de difusin (si no funciona como debe, pruebe con / 30 y ajuste las direcciones IP de acuerdo). ncluso podra intentar que eth1 y eth2 vayan sin direccin IP En el router A:

#ipaddradddeveth110.0.0.0/31 #ipaddradddeveth210.0.0.2/31 #ipaddradddevteql010.0.0.4/31


En el router B:
Pg. 12 Mdulo: Implementacin de Redes

Programa de Formacin de la Academia de Software Libre Perfil : Administradores en Software Libre Nivel: Bsico

#ipaddradddeveth110.0.0.1/31 #ipaddradddeveth210.0.0.3/31 #ipaddradddevteql010.0.0.5/31


El router A debera ser capaz ahora de hacer ping a 10.0.0.1, 10.0.0.3 y 10.0.0.5 sobre los dos enlaces reales y el ecualizado. El router B debera ser capaz de hacer ping a 10.0.0.0, 10.0.0.2 y 10.0.0.4 sobre los enlaces. Si esto funciona, el router A debera hacer que 10.0.0.5 sea su ruta para alcanzar la red 2, y el router B debera hacer de 10.0.0.4 su ruta para alcanzar la red 1. Para el caso especial en que la red 1 sea su red casera y la red 2 Internet, el router A debera hacer de 10.0.0.5 su ruta por defecto. Problemas Se necesita desactivar el filtrado de ruta de vuelta (return path filtering) en eth1 y eth2 de ambos router, porque en caso contrario descartarn los paquetes destinados direcciones IP que no sean las suyas:

#echo0>/proc/net/ipv4/conf/eth1/rp_filter #echo0>/proc/net/ipv4/conf/eth2/rp_filter
Entonces nos encontramos con el problema de la reordenacin de paquetes. Digamos que A enva 6 paquetes a B (eth1 podra llevar los 1, 3 y 5. eth2 llevara entonces los 2, 4 y 6). En un mundo ideal, el router B los recibira en este orden, 1, 2, 3, 4, 5, 6. Pero hay una posibilidad muy cierta de que el ncleo haga esto: 2, 1, 4, 3, 6, 5. El problema es que esto confunde a TCP/IP. Mientras que esto no es un problema para enlaces que llevan sesiones TCP/IP diferentes, no ser capaz de juntar varios enlaces y conseguir enviar un nico fichero por ftp mucho ms rpido, a menos que el SO emisor o receptor sea Linux, que no se asusta fcilmente por un reordenado sencillo. Sin embargo, para muchas aplicaciones, el equilibrio de carga sobre enlaces es una gran idea. Encaminamiento dinmico - OSPF y BGP Una vez que su red empiece a hacerse realmente grande, o empiece a considerar "la Internet" como su red, necesitar herramientas que encaminen los datos de forma dinmica. A menudo los sitios estn conectados unos con otros mediante enlaces mltiples, y aparecen otros de cuando en cuando. La Internet prcticamente ha estandarizado OSPF y BGP4 (rfc1771). Linux soporta ambos, mediante gated y zebra. Se recomienda instalar alguna de estas aplicaciones y familiarizarse con su configuracin y puesta en marcha.

Pg. 13

Mdulo: Implementacin de Redes

Вам также может понравиться