Академический Документы
Профессиональный Документы
Культура Документы
Prctica 3
Departamento de Ingeniera Telemtica (ENTEL) Mnica Aguilar Juanjo Alins Oscar Esparza Jose L. Muz Marcos Postigo Antoni X. Valverde
II
La composicin de este manual de prcticas ha sido realizada con el A programa LTEX 2 . Agradecer a D ONALD K NUTH la idea y el programa TEX y a L ESLIE L AMPORT sus magncas macros que han derivado A en LTEX.
Barcelona a 5 de Febrero de 2003
Edicin electrnica de este documento. Este manual de prcticas se puede conseguir en http://labtel2.upc.es
3. Internet Protocol (IP) 3.1. Introduccin . . . . . . . . . . . . . . . . . . . . . . . . 3.2. Las direcciones de Internet . . . . . . . . . . . . . . . . . 3.3. El datagrama IP . . . . . . . . . . . . . . . . . . . . . . . 3.3.1. Formato del datagrama IP . . . . . . . . . . . . . 3.3.2. La fragmentacin de datagramas IP . . . . . . . . 3.3.3. Algunas opciones importantes del datagrama IP . . 3.3.3.1. Registro de ruta o RR (Record Route) . 3.3.3.2. Ruta fuente o SR (source route) . . . . . 3.3.3.3. Sello temporal o IT (Internet Timestamp) 3.4. Resolucin de direcciones (ARP) . . . . . . . . . . . . . . 3.5. Las subredes . . . . . . . . . . . . . . . . . . . . . . . . . 3.6. Encaminamiento IP . . . . . . . . . . . . . . . . . . . . . 3.6.1. Introduccin . . . . . . . . . . . . . . . . . . . . 3.6.2. Entrega directa e indirecta . . . . . . . . . . . . . 3.6.3. El algoritmo de encaminamiento . . . . . . . . . . 3.7. ICMP- Internet Control Message Protocol . . . . . . . . . 3.7.1. ICMP echo y el programa ping . . . . . . . . . . 3.8. Estudio Previo . . . . . . . . . . . . . . . . . . . . . . . . 3.9. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . .
1 1 2 4 5 7 8 8 8 9 9 10 12 12 13 14 16 17 18 18
III
ndice de guras
3.1. Las 4 capas de TCP/IP . . . . . . . . . . . . . 3.2. Protocolos de la familia TCP/IP . . . . . . . . 3.3. Clases de direcciones IP . . . . . . . . . . . . 3.4. Formato del datagrama IP . . . . . . . . . . . . 3.5. Detalle del campo Flags . . . . . . . . . . . . 3.6. Detalle del type byte . . . . . . . . . . . . . . . 3.7. Formato de la opcin RR . . . . . . . . . . . . 3.8. Formato de la trama ARP . . . . . . . . . . . . 3.9. Ejemplo de ARP . . . . . . . . . . . . . . . . 3.10. Entrega directa e indirecta . . . . . . . . . . . 3.11. Ejemplo de encaminamiento . . . . . . . . . . 3.12. Mensaje ICMP . . . . . . . . . . . . . . . . . 3.13. Conguracin de laboratorio para el ejercicio 1 3.14. Captura de paquetes con wireshark. . . . . . . 3.15. Estructura de la empresa Acme SA. . . . . . . 3.16. Conexionado para el ejercicio 5 . . . . . . . . 3.17. Topologa de red. . . . . . . . . . . . . . . . . 3.18. Conexin de la red. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . .
1 1 4 5 5 6 8 10 11 14 15 17 19 20 22 23 25 26
PRCTICA 3
3.1. Introduccin
Los protocolos de red se disean en forma de capas o niveles, donde cada nivel es responsable de una faceta diferente de las comunicaciones. Una torre de protocolos es la combinacin de diversos protocolos de varios niveles. TCP/IP se considera un sistema de 4 niveles (o 4 capas) tal y como se muestra en la gura 3.1.
Aplicacion Transporte Red Enlace Telnet, FTP, SMTP ... TCP, UDP IP, ICMP, IGMP Drivers de dispositivo
TCP e IP son los dos protocolos que dan nombre a una arquitectura de red. Sin embargo, una red TCP/IP necesita otros protocolos para tener todas las funcionalidades. La gura 3.2 muestra los protocolos que forman la familia TCP/IP.
Ping FTP SMTP Telnet DNS SNMP TFTP BOOTP
TCP
UDP
Transporte
ICMP
IP
IGMP
Red
ARP
Hardware Interface
RARP
Enlace
medio
El objetivo del protocolo IP es convertir redes fsicamente diferentes (como pueden ser Ethernet, Token Ring, X.25, Frame Relay, ATM...) en una red aparentemente homognea, lo que se conoce como interconexin de redes. De esta forma IP oculta las redes fsicas subyacentes creando por encima de stas una nica red virtual o red de redes, donde: Hay un esquema de identicacin (o direccionamiento) de todos los sistemas, uniforme y universal. Este esquema de direccionamiento ha de ser independiente del hardware. Esto se consigue asignando a cada nodo un nmero nico de 32 bits (en IPv4, Internet Protocol versin 4 ) llamado direccin IP. Los datos viajan por la red virtual IP agrupados en paquetes denominados datagramas. La manipulacin de estos datagramas por parte de la red sigue un mtodo uniforme llamado encaminamiento de datagramas, independiente de la red en particular donde se encuentren estos datagramas. La entrega de datagramas de un extremo a otro por la red IP es: No able (no hay control de errores, ni control de ujo). No orientado a conexin. La red se esfuerza al mximo para entregar los paquetes, pero no asegura la entrega (best effort). Por tanto los datagramas se pueden perder, desordenar o incluso duplicar, e IP no tendr en cuenta estas situaciones (lo controlarn protocolos superiores). El protocolo IP asume pocas cosas de las capas inferiores, slo que los datagramas probablemente sern transportados al host de destino.
00000010 con una mscara 11111111. 11111111. 00000000. 00000000 tenemos un nmero de red 10010011. 01010011. y un nmero de host 00010100. 00000010. Por convenio el nmero de red se encuentra en los bits ms signicativos (los bits de la izquierda de la direccin) mientras que el nmero de host se suele encontrar en los bits menos signicativos (los bits de la derecha de la direccin). Adems los nmeros de red y host suelen estar formados por bits consecutivos de la direccin IP (es muy extrao ver mscaras con ceros y unos no consecutivos). La mscara de red tambin se suele representar en formato decimal, de manera que para el ejemplo anterior tenemos la direccin 147.83.20.2 y la mscara 255.255.0.0. Otra manera de representar una direccin IP es poniendo la direccin en formato decimal y la mscara como un nmero decimal que indica cuntos unos consecutivos forman el nmero de red. As para nuestro ejemplo, la direccin 147.83.20.2 con mscara 255.255.0.0 se puede escribir como 147.83.20.2/16. El tamao de la parte dedicada al host depende del tamao de la red. Para satisfacer mltiples necesidades se han denido varias clases de redes, jando diferentes puntos donde dividir la direccin IP. De esta manera se dispone las siguientes clases:
Clase A La clase A comprende redes desde 1.0.0.0 hasta 127.0.0.0. El identicador de red est contenido en el primer octeto, quedando para el host los 24 bits restantes y permitiendo aproximadamente 1.6 millones de mquinas por red. Por lo tanto, la mscara de red resultante es 255.0.0.0 (11111111. 00000000. 00000000. 00000000 en formato binario). Dentro de esta clase, el rango 10.0.0.0 hasta 10.255.255.255 es un rango reservado para uso privado. Una direccin de host reservada posible sera 10.0.0.1/8.
Clase B La clase B comprende las redes desde 128.0.0.0 hasta 191.255.0.0, donde el netid est en los dos primeros octetos. Esta clase permite 16320 redes con 65024 lugares cada una. La mscara de esta clase es 255.255.0.0 (11111111. 11111111. 00000000. 00000000 en formato binario). En esta clase el rango 172.16.0.0 hasta 172.31.0.0 se reserva para uso privado. Una direccin de host posible reservada sera 172.31.0.1/16.
Clase C Las redes de clase C van desde 192.0.0.0 hasta 223.255.255.0, donde el netid est en los tres primeros octetos. Esta clase permite cerca de 2 millones de redes con 254 lugares. La mscara de esta clase es de la forma 255.255.255.0 (11111111. 11111111. 11111111. 00000000 en formato binario). En esta clase se reserva para uso privado el rango 192.168.0.0 hasta 192.168.255.0. Una posible direccin de host privada puede ser 192.168.128.1/24.
Clase D Son direcciones dentro del rango 224.0.0.0 hasta 239.255.255.255 y se las llama direcciones multicast o de multidifusin.
3.3. EL DATAGRAMA IP
Clase E Las direcciones que estn en el rango 240.0.0.0 hasta 247.255.255.255 son experimentales o estn reservadas para futuras aplicaciones.
Direcciones Especiales Cabe destacar que en la parte reservada a host, los valores 0 y 255 se reservan porque tienen un signicado especial: Una direccin IP donde todos los bits de la parte de host son cero se reere a la direccin de la red misma. Una direccin donde todos los bits de la parte de host son uno se denomina direccin de difusin (o broadcast), ya que hace referencia a todas las mquinas de la red especca. As 147.83.20.255 no es un hostid vlido, pero se reere a todos los hostid de la red 147.83.20.0. Las direcciones de red 0.0.0.0 y 127.0.0.0 estn reservadas. La primera direccin se llama encaminamiento por defecto (por donde IP encamina los datagramas), y la segunda es la direccin de loopback. La red 127.0.0.0 est reservada para el trco local IP de la mquina. Normalmente la direccin 127.0.0.1 se asigna a una interfaz de la mquina (la interfaz de loopback) que acta como un circuito cerrado. Cualquier paquete IP enviado a este interfaz ser devuelto como si hubiera vuelto desde alguna red. Esto permite por ejemplo instalar software de red o probar tarjetas ethernet, aunque no se disponga de una red real.
7 bits 24 bits
Clase A
netid
14 bits
hostid
16 bits
Clase B
1 0
netid
21 bits
hostid
8 bits
Clase C
1 1 0
netid
28 bits
hostid
Clase D
1 1 1 0
multicast group ID
28 bits
Clase E
1 1 1 1
3.3. El datagrama IP
El datagrama IP es la unidad de transferencia en las redes IP. Bsicamente consiste en una cabecera IP y un campo de datos para protocolos superiores. El datagrama IP est encapsulado en la trama de nivel de enlace, que suele tener una longitud mxima (MTU, Maximum Transfer Unit), dependiendo del hardware de red usado. Para Ethernet, esta es tpicamente de 1500 bytes. En vez de limitar el datagrama a un tamao mximo, IP puede tratar la fragmentacin y el reensamblado de sus datagramas. En particular, IP no impone un tamao mximo, pero establece que todas las redes deberan ser capaces de manejar al menos 576 bytes. Los fragmentos de datagramas tienen todos una cabecera, copiada bsicamente del datagrama original, y de los datos que la siguen. Los fragmentos se tratan como datagramas
normales mientras son transportados a su destino. Ntese, sin embargo, que si uno de los fragmentos se pierde, todo el datagrama se considerar perdido, y los restantes fragmentos tambin se considerarn perdidos.
data
Donde: Version es la versin del protocolo IP. La versin actual es la 4. La 5 es experimental y la 6 es IPng. Hdr Len es la longitud de la cabecera IP contada en cantidades de 32 bits. Esto no incluye el campo de datos. Type Of Service es el tipo de servicio es una indicacin de la calidad del servicio solicitado para este datagrama IP. Una descripcin detallada de este campo se puede encontrar en el RFC 1349. Total Length es la longitud total del datagrama, cabecera y datos, especicada en bytes. Identication es un nmero nico que asigna el emisor para ayudar a reensamblar un datagrama fragmentado. Los fragmentos de un datagrama tendrn el mismo nmero de identicacin. Flags son ags para el control de fragmentacin. Donde:
0 0
1 D F
2 M F
El bit 0 est reservado y debe ser 0. El bit DF signica no fragmentar (Do not Fragment). Con 0 se permite fragmentacin y con 1 no. El bit MF signica que hay ms fragmentos (More Fragments). Con 0 signica que se trata del ltimo fragmento del datagrama y con 1 que hay ms fragmentos. Fragment Offset (FO) se usa en datagramas fragmentados para ayudar al reensamblado de todo el datagrama. El valor es el nmero de partes de 64 bits (no se cuentan los bytes de la cabecera) contenidas en fragmentos anteriores. En el primer (o nico) fragmento el valor es siempre cero.
3.3. EL DATAGRAMA IP
Time To Live especica el tiempo (en segundos) que se le permite viajar a este datagrama. Cada "router" por el que pase este datagrama ha de sustraer de este campo el tiempo tardado en procesarlo. En la realidad un "router" es capaz de procesar un datagrama en menos de 1 segundo; por ello restar uno de este campo y el TTL se convierte ms en una cuenta de saltos que en una mtrica del tiempo. Cuando el valor alcanza cero, se asume que este datagrama ha estado viajando en un bucle y se desecha. El valor inicial lo debera jar el protocolo de alto nivel que crea el datagrama. Protocol indica el nmero ocial del protocolo de alto nivel al que IP debera entregar los datos del datagrama. Algunos valores importantes se muestran en la Tabla 3.1.
Nmero 0 1 2 4 6 17 89
Header Checksum es el checksum de la cabecera. Se calcula como el complemento a uno de la suma de los complementos a uno de todas las palabras de 16 bits de la cabecera. Si el checksum de la cabecera no se corresponde con los contenidos, el datagrama se desecha, ya que al menos un bit de la cabecera est corrupto, y el datagrama podra haber llegado a un destino equivocado. Source IP Address es la direccin IP de 32 bits del host emisor. Destination IP Address es la direccin IP de 32 bits del host receptor. Options es un campo de longitud variable. Las opciones se incluyen en principio para pruebas de red o depuracin, por tanto no se requiere que toda implementacin de IP sea capaz de generar opciones en los datagramas que crea, pero s que sea capaz de procesar datagramas que contengan opciones. El campo Options tiene longitud variable en funcin de la opcin seleccionada. Algunas opciones tienen una longitud de un solo byte y otras tienen longitudes variables. El primer byte de cualquier opcin se denomina type byte y su estructura se muestra en la gura 3.6.
0 fc
class
option number
Donde: FC es el ag de copia (Flag Copy), e indica si el campo de opciones se ha de copiar (1) o no (0) cuando el datagrama est fragmentado. class es un entero sin signo de 2 bits, donde: number es un entero sin signo de 5 bits que indica el nmero de opcin dentro de cada clase.
PRCTICA 3. INTERNET PROTOCOL (IP) Option class 0 1 2 3 signicado Control de red o datagrama Reservado para uso futuro Depuracin y medicin Reservado para uso futuro
el apartado 3.7, dedicado a este protocolo. Por ejemplo, las opciones de encaminamiento de la fuente se tendrn que copiar en todos los fragmentos y por tanto tendrn a uno este bit.
3.3. EL DATAGRAMA IP
Cada fragmento se identica mediante el campo Identication que es un nmero nico dentro de los lmites impuestos por el uso de un nmero de 16 bits. Como la fragmentacin no altera este campo, los fragmentos que van llegando al destino pueden ser identicados gracias a este identicador y a las direcciones IP fuente y destino del datagrama. Adems el campo Protocol tambin se chequea. Los fragmentos que van llegando se copian en el buffer en la localizacin indicada por el campo FO. Cuando han llegado todos los fragmentos, se restaura el datagrama original y se contina con su proceso. Si vence el contador temporal y no se han recibido todos los fragmentos, el datagrama en fase de reensamblado se desecha.
code
length
pointer
route data
Donde: Code contiene la clase y el nmero de opcin para RR (Code tiene un valor decimal 7 para esta opcin). Lenght indica la longitud total en bytes de la opcin. Pointer se utiliza para apuntar a la siguiente ranura disponible para almacenar una direccin IP. Este campo est en bytes, por lo que cada router introduce su direccin IP en la ranura correspondiente e incrementa Pointer en 4. Si en un determinado router sucede que Pointer >Lenght, la ruta deja de grabarse desde ese router. IP Address n indica la direccin registrada por el router n. 3.3.3.2. Ruta fuente o SR (source route) Esta opcin proporciona al emisor una forma de controlar de forma ms na el proceso de encaminamiento que usualmente se basa en una nica direccin destino. Mediante esta opcin el emisor puede proporcionar informacin sobre la ruta que deben seguir los datagramas4.
3 En realidad el proceso de reensamblado no es una tarea de la capa IP, este proceso depende de la capa superior (la capa de transporte). Es pues la capa de transporte la que ha de implementar este contador y reconocer la prdida de fragmentos. Esta capa podra ser TCP para el transporte en un red orientada a conexin o UDP para el caso de redes no orientadas a conexin. El valor de este contador suele ser el campo TTL, aunque algunas implementaciones permiten congurarlo. 4 Con esta opcin se pueden encaminar datagramas a travs de una determinada red fsica y de esta forma poder comprobar su estado, realizar tareas de mantenimiento etc.
IP proporciona dos formas de enrutado de fuente: Enrutado estricto de fuente o SSR (Strict Source Routing). La fuente proporciona la ruta estricta por la que los datagramas debe encaminarse hasta el destino. Cuando decimos que la ruta es estricta nos referimos a que la ruta entre dos direcciones sucesivas de la lista debe consistir en una sola red fsica. Si un router no puede encaminar directamente el datagrama a la siguiente direccin de la lista se produce un error y se genera un mensaje ICMP indicando destino inalcanzable (ver apartado 3.7). Enrutado no estricto de fuente o LSR (Loose Source Routing). En este caso la lista que especica el emisor no es estricta, es decir, se permiten mltiples saltos de redes fsicas entre direcciones sucesivas de la lista. El formato es equivalente al de la opcin RR (gura 3.7) pero el funcionamiento es un poco diferente: Para SSR y LSR el campo Code vale 137 y 131 respectivamente. El host origen pone en el campo de IP Destino la direccin del primer router de la ruta. Los n campos IP Address almacenan las direcciones IP de los routers de la ruta. Cuando un datagrama llega a su siguiente destino y la ruta fuente no est vaca (pointer <lenght) el receptor: Toma la direccin del campo IP Address indicada por pointer y la coloca como nueva direccin destino del datagrama. Substituye la direccin del campo IP Address indicada por pointer por su direccin IP local correspondiente a la red por la que se enviar el datagrama. Incrementa pointer en 4 (es decir 32 bits). Transmite el datagrama a la nueva direccin IP de destino. Este procedimiento asegura que la ruta de retorno se graba en orden inverso de modo que el receptor puede usar los datos de la opcin para construir la ruta de vuelta. 3.3.3.3. Sello temporal o IT (Internet Timestamp) El timestamp o sello de tiempo es una opcin para forzar a algunos (o a todos) los routers en la ruta hacia el destino a poner un sello temporal (timestamp) en los datos de la opcin. Los timestamps se miden en segundos y se pueden usar para depuracin. No se pueden emplear para medir el rendimiento de la red por dos razones: 1. No son lo bastante precisos porque la mayora de los datagramas se envan en menos de un segundo. 2. No son lo bastante precisos porque los routers no suelen tener los relojes sincronizados.
10
ARP es un protocolo de peticin/respuesta. La peticin se enva en forma de broadcast de nivel 2 a la red. Si una de las mquinas de la red reconoce su propia direccin IP en la peticin, devuelve una respuesta ARP al host que la solicit. La respuesta contendr la direccin fsica correspondiente a la direccin IP solicitada. Esta direccin se almacenar en la cach ARP del host solicitante. Todos los posteriores datagramas enviados a esta direccin IP se podrn asociar a la direccin fsica correspondiente, que ser la que utilice el driver del dispositivo de red para mandar el datagrama. La gura 3.8 muestra el formato de la trama ARP.
0 8 16 24 31
hardware type protocol type hlen plen operation sender HA (octets 0 -3) sender HA (4 -5) sender IP (0 -1) sender IP (2 -3) target HA (0 -1) target HA (octets 2 -5) target IP (octets 0 -3)
Figura 3.8: Formato de la trama ARP
Si una aplicacin desea enviar datos a una determinada direccin IP de destino, el software de encaminamiento IP determina en primer lugar la direccin IP del siguiente salto (que puede ser el propio host de destino o un router) y en segundo lugar el dispositivo de red al que se debera enviar. A continuacin se consulta el mdulo ARP para hallar la direccin fsica. El mdulo ARP intenta hallar la direccin en su cach. Si la encuentra, devuelve la correspondiente direccin fsica. Si no la encuentra, descarta el paquete (se asume que al ser un protocolo de alto nivel volver a transmitirlo) y genera un mensaje de broadcast de red para una solicitud ARP de dicha direccin fsica. Cuando un host recibe un paquete ARP (bien un broadcast o una respuesta punto a punto), el dispositivo receptor pasa el paquete al mdulo ARP, que lo aadir a la cach ARP. La prxima vez que un protocolo de nivel superior quiera enviar un paquete a ese host, el mdulo de ARP encontrar la direccin hardware, a la que se enviar el paquete.
11
Ethernet header
Eth dest addr Eth source addr Frame Type Hard Type Prot Type
HOST 1
IP 147.83.40.60 Eth A0:A0:A0:A0:A0:A0
HOST 2
IP 147.83.40.1 Eth 0B:0B:0B:0B:0B:0B
a)
Broadcast ARP Request (1) Entrada Cache ARP HOST 2 147.83.40.60 0A:0A:0A:0A:0A:0A
b)
Responde ARP Reply (2) Entrada Cache ARP HOST 1 147.83.40.1 0B:0B:0B:0B:0B:0B
c)
(1) ARP Request
Datagrama IP a 147.83.39.1
Para evitar tener que solicitar direcciones IP adicionales en estos casos, se introdujo el concepto de subred, donde el nmero de host de la direccin IP se subdivide de nuevo en un nmero de red y de host. Esta segunda red se denomina subred. La red principal consiste ahora en un conjunto de subredes y la direccin IP se interpreta como <nmero de red, nmero de subred, nmero de host> La combinacin del nmero de subred y del host suele denominarse direccin local o parte local. La creacin de subredes se implementa de forma que es transparente a redes remotas. Un host dentro de una red con subredes es consciente de la existencia de stas, pero un host de una red distinta no lo es y sigue considerando la parte local de la direccin IP como un nmero de host. La divisin de la parte local de la direccin IP en nmeros de subred y de host queda a libre eleccin del administrador local. Cualquier serie de bits de la parte local se puede tomar para la subred requerida. Por ejemplo, el subnetting es muy utilizado por los ISPs (Internet Service Provider) que se encargan de dar servicio de acceso a la Internet, stos suelen tener asignado un rango de direcciones pblicas de Internet, que dividen en subredes para despus asignarlas a sus clientes. La divisin se efecta empleando una mscara de red diferente a las que dividen las direcciones IP en clases estndar. El funcionamiento de estas mscaras es equivalente al que se describe en la seccin 3.2 para las clases estndar, es decir, los bits a cero en esta mscara indican posiciones de bits correspondientes al nmero de host, y los que estn a uno, indican posiciones de bits correspondientes al nmero de subred. Las posiciones de la mscara pertenecientes al nmero de red se ponen a uno pero no se usan. El tratamiento especial de todos los bits a cero y todos los bits a uno se aplica a cada una de las tres partes de direccin IP con subredes del mismo modo que a una direccin IP que no las tenga. Notar que al hacer subnetting, el nmero de mquinas sobre las que se hace broadcast (difusin) se reduce, optimizando el trco til dentro de la red.
12
3.6. ENCAMINAMIENTO IP
Como ejemplo supongamos que tenemos la red privada de clase C 192.168.1.0/24. En este caso tendremos un total de 254 (es decir 28 2, por tener 8 bits de hostid) direcciones posibles de host, de la 192.168.1.1/24 hasta la 192.168.1.254/24. Observe que las direcciones 192.168.1.0 y 192.168.1.255 se reservan, la primera para identicar la red y la segunda como direccin de broadcast. Supongamos que hemos de repartir este direccionamiento en dos subredes de la misma dimensin, ya que tenemos dos ocinas en poblaciones diferentes y montaremos dos LANs unidas por la WAN (Wide Area Network o red de transporte que alquilaremos a algn operador). As pues, tenemos que la parte de hostid ha de ceder terreno para la parte de subred. Como necesitamos hacer dos subredes, con un bit tendremos suciente para identicar la subred en la que nos encontramos, quedndonos dos subredes: la 192.168.1.0/25 y la 192.168.1.128/25, con 126 direcciones posibles de host en cada subred (es decir 27 2, con 7 bits de hostid). A continuacin resumimos las direcciones de red, de mscara y de hosts implicadas en el subnetting de este ejemplo. Red bsica original: 11000000. 10101000. 00000001. 00000000 = 192.168.1.0/24 Mscara: 11111111. 11111111. 11111111. 00000000 = 255.255.255.0 = /24 Hay 254 direcciones posibles para asignar a la red: host # 0 11000000. 10101000. 00000001. 00000001 = 192.168.1.1/24 (netmask 255.255.255.0) host # 1 11000000. 10101000. 00000001. 00000010 = 192.168.1.2/24 (netmask 255.255.255.0) host # 253 11000000. 10101000. 00000001. 11111110 = 192.168.1.254/24 (netmask 255.255.255.0) Si hacemos subnetting nos quedarn estas dos subredes: Subnet # 0 11000000. 10101000. 00000001. 00000000 = 192.168.1.0/25 (netmask 255.255.255.128) Subnet # 1 11000000. 10101000. 00000001. 10000000 = 192.168.1.128/25 (netmask 255.255.255.128) Con las siguientes direcciones de host disponibles en cada ocina: Subnet # 0 de una ocina: host # 0 11000000. 10101000. 00000001. 00000001 = 192.168.1.1/25 (netmask 255.255.255.128) host # 1 11000000. 10101000. 00000001. 00000010 = 192.168.1.2/25 (netmask 255.255.255.128) host # 125 11000000. 10101000. 00000001. 01111110 = 192.168.1.126 / 25 (netmask 255.255.255.128) Subnet # 1 de la otra ocina: host # 0 11000000. 10101000. 00000001. 10000001 = 192.168.1.129/25 (netmask 255.255.255.128) host # 1 11000000. 10101000. 00000001. 10000010 = 192.168.1.130/25 (netmask 255.255.255.128) host # 125 11000000. 10101000. 00000001. 11111110 = 192.168.1.254/25 (netmask 255.255.255.128)
3.6. Encaminamiento IP
3.6.1. Introduccin
La funcin ms importante de la capa IP es el encaminamiento de datagramas extremo a extremo a travs de la red virtual. Por tanto esta funcin proporciona los mecanismos necesarios para interconectar distintas redes fsicas. La formacin de la red virtual que conecta mltiples redes se consigue por medio de unos hosts especiales denominados "routers". Es importante distinguir entre un hub, un puente, un router y una pasarela.
13
El hub interconecta segmentos de LAN a nivel de interfaz de red y enva tramas entre ellos. El hub sirve como prolongacin del cable fsico que conecta las mquinas de la LAN y su nica funcin es difundir la seal que llega por un cierto puerto (entrada) al resto de puertos. Los hubs pueden ser pasivos (si no amplican las seales recibidas por sus puertos) o activos (si las amplican). El conmutador (switch) es un dispositivo parecido al hub pero en el que se realiza conmutacin entre sus diferentes puertos, es decir, conmuta los paquetes observando sus direcciones fsicas origen/destino. Un puente (bridge) interconecta segmentos de LAN a nivel de interfaz de red y enva tramas entre ellos. Un puente realiza la funcin de retransmisin MAC (Medium Access Control) y es independiente de cualquier capa superior (incluyendo LLC). Proporciona, si se necesita, conversin de protocolos a nivel MAC. Un puente es transparente para IP. Es decir, cuando un host enva un datagrama a otro host en una red con el que se conecta a travs de un puente, enva el datagrama al host y el datagrama cruza el puente sin que el emisor se d cuenta. El puente es capaz de aprender las direcciones hardware de las mquinas que tiene en cada puerto y aislar el trco y las colisiones de cada tramo LAN. Un router interconecta redes fsicas diferentes a nivel de la capa de red y encamina paquetes entre ellas. El router debe comprender la estructura de direccionamiento asociada con los protocolos que soporta (IP en nuestro caso) y debe elegir las mejores rutas de transmisin as como tamaos ptimos para los datagramas realizando fragmentacin si lo considera oportuno. La pasarela (gateway) interconecta redes a niveles superiores que los puentes y los routers. Una pasarela suele soportar el mapeado de direcciones de una red a otra, as como la transformacin de datos entre distintos entornos para conseguir conectividad entre los extremos de la comunicacin. Las pasarelas tpicamente proporcionan conectividad de dos redes para un subconjunto de protocolos de aplicacin soportados en cada una de ellas. Una pasarela es opaca para IP. Es decir, un host no puede enviar un datagrama IP a travs de una pasarela: slo puede enviarlo a la pasarela. La pasarela se ocupa de transmitirlo a la otra red con la informacin de los protocolos de alto nivel que vaya en l. Estrechamente ligado al concepto de pasarela, est el de cortafuegos (rewall), que se usa para restringir la circulacin de datagramas entre redes por motivos de seguridad.
14
3.6. ENCAMINAMIENTO IP
servidor
15
5. Si no hay ruta especca, se comprueba si hay una ruta para la red N y en caso armativo se enva el datagrama al router del salto siguiente especicado en la tabla. 6. Si no hay ruta para N, se enva el datagrama al router por defecto especicado en la tabla. 7. Si no hay ruta por defecto y el software de encaminamiento IP ha llegado a este punto se produce un error (que se puede reportar mediante ICMP). Como conclusiones importantes del algoritmo de encaminamiento IP podemos destacar que: 1. En la mayor parte de implementaciones, el trco dirigido a una determinada red desde un host origen va a seguir el mismo camino aunque existan diversas posibilidades. 2. Slo el ltimo router de la ruta puede determinar si el host destino est disponible (estas situaciones se reportan mediante ICMP). Adems tambin necesitamos reportes de los routers intermedios si sucede algn problema. 3. Los datagramas que viajen de A a B pueden seguir rutas diferentes a los datagramas que viajen de B a A. La gura 3.11 muestra 4 redes interconectados a travs de 2 routers y la tabla de rutas del router R1 .
red 10.0.0.0
10.0.0.1
20.0.0.1
R1 b
c
30.0.0.1
red 20.0.0.0
red 30.0.0.0
Tabla de rutas de R1 Red Destino 10.0.0.0 20.0.0.0 30.0.0.0 40.0.0.0 Enrutar a: iF Entrega directa a Entrega directa c Entrega directa b 30.0.0.5 b
30.0.0.5
R2 b
40.0.0.1
red 40.0.0.0
Figura 3.11: Ejemplo de encaminamiento
Es importante entender que a excepcin de la disminucin del campo TTL el software de encaminamiento no modica la cabecera del datagrama original. En particular, las direcciones IP origen y destino permanecen inalteradas durante toda la ruta6 . Por lo que respecta a los datagramas entrantes: Cuando un datagrama llega a un host el driver del dispositivo de red lo entrega al software IP para su procesamiento. El software IP determina si el datagrama es para el propio host en cuyo caso lo pasa al software del protocolo de nivel alto apropiado. El datagrama se descarta si no es para el propio host. En el caso de los routers, estos deben encaminar el datagrama si no va dirigido hacia ellos. Decidir si una mquina es o no la destinataria de un datagrama no es una tarea tan trivial como a simple vista pueda parecer. En primer lugar pueden haber muchos interfaces de red cada uno de ellos con su correspondiente direccin IP,
6
16
type 0 3
code 0 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 0 0 1 2 3 0 0 0 0 1
4 5
8 9 10 11
12 0 1 0 0 0 0 0 0
13 14 15 16 17 18
Description echo reply destination unreachable network unreachable host unreachable protocol unreachable port unreachable fragmentation needed but fg not set source route failed destination network unknown destination host unknown source host isolated (obsolete) destination network adimistrativly prohibited destination host administratively prohibited network unreachable for TOS host unreachable for TOS communication administratively prohibited by ltering host precedence violation precedence cut-off in effect source quench (elementary ow control) redirect redirect for network redirect for host redirect for TOS and network redirect for TOS and host echo request router advertisement router solicitation time exceeded time-to-live equals 0 during transit time-to-live equals 0 during reassembly parameter problem IP header bad required option missing timestamp request timestamp reply information request (obsolete) information reply (obsolete) address mask request address mask reply
Tabla 3.4: Mensajes ICMP
Query
Error
se debe comprobar la correspondiente identicacin de subred (si la red est dividida) y adems se deben reconocer los mensajes de broadcast y los de multicast.
17
de red de nivel 3 que necesite informar de una condicin de error a un dispositivo emisor cuya transmisin ha causado el error. Esta condicin implica que los mensajes ICMP debern ir encapsulados en datagramas IP, para que puedan ser encaminados desde cualquier punto de la red hasta el receptor del mensaje ICMP. Sin embargo, como puede verse en la gura 3.2, ICMP no utiliza ningn protocolo de transporte ya que el mensaje ICMP no va dirigido a la aplicacin de comunicaciones que gener el error, sino a la torre de comunicaciones (TCP/IP) gestionada por el Sistema Operativo que ser quien trate el mensaje ICMP y acte en consecuencia (por ejemplo indicando la condicin de error a la aplicacin). Un mensaje ICMP tiene la estructura mostrada en la gura 3.12. Tanto el campo de tipo (type) como el campo de
0 8-bit type 8-bit code 15 16 16-bit checksum 31
cdigo (code), determinan los diferentes mensajes ICMP, as como formato del contenido del mensaje. La tabla 3.4 muestra los diferentes tipos de mensajes ICMP clasicados segn el campo type y el campo code. Es importante destacar que muchos de los mensajes ICMP son obsoletos, o bien algunos de ellos estan implementados en hosts y otros en routers, o bien algunos de ellos estn especcamente deshabilitados porque han demostrado ser puntos dbiles de seguridad. Las dos ltimas columnas de la tabla indican que hay dos tipos de mensajes ICMP, peticiones (query) y errores (error). Los mensajes ICMP de error son mensajes que se envan al dispositivo cuyo paquete ha generado el error. En este caso, los mensajes ICMP de error incluyen la cabecera IP del datagrama que gener el error (20 bytes) y los primeros 8 bytes del datagrama (incluira el inicio de la cabecera TCP UDP). De esta forma, el dispositivo que gener el error sabe qu aplicacin es la responsable del error generado. Los mensajes ICMP de peticin se utilizan para obtener informacin especca (segn el tipo y cdigo del mensaje ICMP) de un dispositivo de red (hosts, routers, . . . ). El mensaje de peticin corresponde a los etiquetados con request en la tabla, mientras que los mensajes de respuesta son los reply.
18
3.9. Ejercicios
Ejercicio 1 En este ejercicio se van a estudiar los paquetes ICMP de echo. Para realizar este ejercicio, se utilizar un capturador de trco llamado wireshark, que funciona en modo grco. La conguracin del conexionado del laboratorio es la representada en la gura 3.13. Para enviar paquetes ICMP de echo, utilizaremos el programa ping, (ejecute el comando man ping para obtener la ayuda de funcionamiento del comando). Realice los siguientes pasos para obtener una captura del trco ICMP: 1. Abra el programa wireshark, tecleando desde una consola wireshark. Escoja la opcin de men capture start. Se abrir una nueva ventana (gura 3.14): a) En la entrada etiquetada con el nombre de Interface, escoja eth0 (interface 0). b) En la entrada etiquetada con el nombre de lter escriba: host 147.83.40.2x Sustituya la x por el dgito de su mquina. Este ltro indica al motor de captura que slo lea de la red los datagramas cuya direccin IP origen o destino sea 147.83.40.2x. c) Deshabilite las opciones: 1) Enable MAC name resolution 2) Enable network name resolution 3) Enable transport name resolution 2. Una vez preparado el programa de captura de trco, generaremos paquetes ICMP de echo con el programa ping. Para ello ejecute desde una consola el siguiente comando: telem2-x# ping -c 3 147.83.40.29 Con este comando se enviarn 3 paquetes ICMP echo request.
19
eth0 ENTEL-NET
147.83.40.29
eth0 147.83.40.21
eth0 147.83.40.22
eth0 147.83.40.23
eth0 147.83.40.24
eth0 147.83.40.25
eth0 147.83.30.26
eth0 147.83.40.27
eth0 147.83.40.28
3. Una vez ha acabado el programa ping, pulse el botn de stop de wireshark, para detener la captura de trco. Analizando los paquetes capturados, responda a las siguientes preguntas: 1. Se identican tramas ARP en la captura? 2. Si efectivamente hay tramas ARP en la captura, para qu son necesarias?. En caso de que no hubiesen tramas ARP, por qu no haca falta enviarlas? 3. Pertenece la direccin 147.83.40.29 a su red local? Indique si se ha realizado una entrega directa o indirecta de los mensajes ICMP. 4. Analice la direccin hardware destino de uno de los mensajes ICMP request. A qu mquina corresponde? 5. Analice, ahora, la direccin hardware fuente de uno de los mensajes ICMP reply. A qu mquina corresponde? Realice ahora los siguientes pasos: 1. Escoja la opcin de men capture start. 2. Desde una consola ejecute el siguiente comando: telem2-x# ping -c 3 147.83.39.1 3. Una vez ha acabado el programa ping, pulse el botn de stop de wireshark, para detener la captura de trco. Analizando los paquetes capturados, responda a las siguientes preguntas:
20
3.9. EJERCICIOS
1. Se identican tramas ARP en la captura? 2. Si efectivamente hay tramas ARP en la captura, para qu son necesarias? En caso de que no hubiesen tramas ARP, por qu no haca falta enviarlas? 3. Pertenece la direccin 147.83.39.1 a su red local? Indique si se ha realizado una entrega directa o indirecta de los mensajes ICMP. Si la entrega ha sido indirecta, a travs de que router se habr realizado? 4. Analice la direccin hardware destino de uno de los mensajes ICMP request. A qu mquina corresponde? 5. Analice, ahora, la direccin hardware fuente de uno de los mensajes ICMP reply. A qu mquina corresponde? Ejercicio 2 El objetivo de este ejercicio es observar la fragmentacin de los datagramas IP. Para ello se utilizar el programa ping para generar mensajes ICMP echo de peticin (request), con un tamao sucientemente grande y el programa wireshark para capturar el trco generado y poder analizarlo. La conguracin del laboratorio que se debe utilizar en este ejercicio es la misma que en el ejercicio 1. 1. Averige la opcin que permite establecer el tamao del mensaje ICMP usando el manual del comando ping. 2. Enve un solo mensaje ICMP de tamao 1000 bytes a la direccin 147.83.40.29, realizando la captura del trco (rerase al ejercicio 1 para la sintaxis del ltro de captura). a) Analizando el trco capturado determine el tamao total de la trama enviada, la longitud de la cabecera Ethernet, longitud de la cabecera IP, longitud de la cabecera ICMP y la longitud de los datos enviados. 3. Enve un solo mensaje ICMP de tamao 10000 bytes a la direccin 147.83.40.29, realizando la captura del trco correspondiente. Analizando el trco capturado responda a las siguientes preguntas: a) Cuantas tramas Ethernet han sido enviadas a la direccin 147.83.40.29 para completar la transmisin de un solo mensaje ICMP? b) Analice qu cabeceras de protocolos existen en cada uno de las tramas Ethernet del mensaje ICMP. c) Determine cuantos bytes de informacin viajan en cada una de las tramas (los datos enviados deben sumar 10000 bytes) d) Obtenga una frmula matemtica que permita determinar el nmero de tramas enviadas para completar la transmisin de un mensaje ICMP de una longitud de L bytes.
21
4. Obtenga el MTU (Maximum Transfer Unit) de la interfaz de red por la que se han enviado los mensajes ICMP. Tiene alguna relacin el MTU con la fragmentacin observada en el punto anterior?
Ejercicio 3 La red privada que disponemos en el laboratorio es la 192.168.2.0, quedando ya denidas la direccin de broadcast 192.168.2.255 y la mscara 255.255.255.0. Con dicha red disponemos de 254 direcciones para host, ms las direcciones de broadcast y de red. Vamos a subdividirla en subredes. Para ello, aqu veremos un ejemplo en que la subdividimos en dos subredes. Queda para el alumno subdividirla en ms subredes al realizar el ejercicio propuesto a continuacin. Con la mscara 255.255.255.128 (11111111.11111111.11111111.10000000) nos quedan estas dos subredes: Subred #0: 192.168.2.0;Broadcast:192.168.2.127;Direcciones para hosts:128-2=126. Subred #1: 192.168.2.128;Broadcast:192.168.2.255;Direcciones para hosts:128-2=126. Con el programa ifconfig podemos modicar la IP de una mquina, la mscara y la direccin broadcast con este comando: ifconfig interfaz IP_Host netmask IP_Netmask broadcast IP_Brd Las 8 mquinas de los alumnos en el laboratorio deben tener las siguientes direcciones IP asignadas: Tabla de IP para los hosts del laboratorio telem2-1 telem2-2 telem2-3 telem2-4 telem2-5 telem2-6 telem2-7 telem2-8 192.168.2.16 192.168.2.48 192.168.2.80 192.168.2.112 192.168.2.144 192.168.2.176 192.168.2.208 192.168.2.240
1. Divida la subred privada del laboratorio 192.168.2.0 en dos subredes con la mitad de direcciones IP en cada una. Qu mscara ha utilizado? Cules son las direcciones de red, de broadcast y las asignadas para los hosts en cada una de las subredes? Cuntas direcciones IP hay para los hosts en cada subred? 2. Agrupe las mquinas del laboratorio (telem2-1...telem2-8) en estas dos subredes que ha creado en el apartado anterior. En qu subred est cada mquina? 3. Pruebe el comando ping con cada una de las direcciones. Qu direcciones responden? Justique la respuesta 4. Divida el espacio de direcciones original 192.168.2.0 en 4 subredes de igual tamao. Indique cul es la mscara necesaria. Indique la direccin de subred y la de broadcast que tiene cada subred. Cuntas direcciones IP hay por subred? 5. Pruebe el comando ping con cada una de las direcciones. Qu direcciones responden? Justique la respuesta 6. Divida el espacio de direcciones original 192.168.2.0 en 8 subredes de igual tamao. Indique cul es la mscara necesaria Cuntas direcciones IP hay por subred? 7. Pruebe el comando ping con cada una de las direcciones. Qu direcciones responden? Justique la respuesta 8. Cul es el nmero mximo de subredes posible que se pueden crear en el rango 192.168.2.0? Justique la respuesta.
Ejercicio 4 Para probar las consecuencias de un error en la mscara de subred congure los siguientes parmetros para cada host del laboratorio
22
3.9. EJERCICIOS
1. Pruebe el comando ping con cada una de las direcciones. Qu direcciones responden? Consulte los resultados con los grupos de las estaciones de trabajo contiguas. 2. Junto con el grupo de trabajo de la estacin contigua, justiquen a qu se debe el comportamiento de los hosts con una determinada mscara.
Ejercicio 5 En este ejercicio se pretende simular una posible conguracin de red para la empresa Acme SA. La empresa Acme est formada por dos direcciones: la direccin tcnica y la direccin de marketing. A su vez marketing se divide en dos departamentos: compras y ventas. Por su parte la direccin tcnica se divide en los departamentos de produccin y sistemas (ver gura 3.15).
Acme SA
Marketing
Tecnico
Compras
ventas
produccion
sistemas
En nuestro laboratorio vamos a asociar un par de mquinas a cada departamento, donde una de ellas har de host y la otra de router que se congurarn con los datos de la siguiente tabla 3.5. Mquina telem2-1 telem2-2 telem2-3 telem2-4 telem2-5 telem2-6 telem2-7 telem2-8 Departamento compras compras ventas ventas produccin produccin sistemas sistemas Direccin IP 192.168.0.1 192.168.0.254 192.168.1.1 192.168.1.254 192.168.2.1 192.168.2.254 192.168.3.1 192.168.3.254 tipo router host router host router host router host
23
ACME S.A
compras
Direccion de Marketing
ventas
sistemas
Direccion Tecnica
produccion
La estructura que se va a utilizar se puede observar en la gura 3.16, donde todos los routers estn conectados mediante sus interfaces eth0 a travs del hub situado en el puesto del profesor. El nmero de red para la red de routers sera el 10.0.0.0/24. 1. Sabiendo que la mquina del profesor tiene la direccin 10.0.0.1 para la red que une los routers elija una direccin para cada uno de los routers consensundolo con sus compaeros. 2. Elija una mscara de red adecuada con sus compaeros de departamento . 3. Congure el interfaz de red eth1 (@IP+netmask+broadcast) de su mquina, con los datos que se especican en la Tabla 3.5 y la mscara elegida en 2. El comando que debe utilizarse es: ifconfig <Interface><IPaddress>netmask <Netmask>broadcast <Bcast_address> 4. Con la conguracin actual, a que mquinas puede acceder?cmo lo ha comprobado? 5. A continuacin junto con los miembros de su departamento, debe congurar el interfaz eth0 (@IP+netmask+broadcast) del router que tienen asignado. 6. Con la conguracin actual, a que mquinas puede acceder su router?cmo lo ha comprobado?
24
3.9. EJERCICIOS
A continuacin se va a realizar la conguracin necesaria para posibilitar la comunicacin entre los departamentos de la misma direccin. Verique que el router de su departamento puede enrutar paquetes. Para ello edite el chero /proc/sys/net/ipv4/ip_forward para ver si contiene un 1. 1. Congure el router de su departamento para que pueda enrutar paquetes slo hacia el otro departamento de su direccin. Para ello es necesario aadir una ruta utilizando el comando route. a) Liste la tabla de rutas existente con el comando route -n. b) Elimine las rutas que no sean necesarias con el comando: route del [-net|-host] <Target>netmask <Netmask> Observe que -net indica que <Target> es una direccin de red y -host que es una direccin de host. c) Aada las rutas necesarias para enrutar los datagramas al otro departamento de su direccin: route add [-net|-host] <Target>[netmask <Nm>] [gw <Gw>] [[dev] <If>] 2. Con ayuda de los compaeros del otro departamento de su direccin y mediante wireshark compruebe que le llegan datagramas del otro departamento. Por que cree usted que no le llegan datagramas de vuelta? 3. Hablando con sus compaeros de direccin intenten arreglar el problema anterior.Como lo han hecho? El presidente de Acme SA se jubila y los directores de la direccin tcnica y de marketing se disputan el puesto. En cada host de los respectivos departamentos hay informacin que compromete su candidatura, por lo que cada director encarga a su departamento la tarea de acceder a los hosts de la otra direccin en busca de informacin comprometedora para el otro director. 1. Con que opcin del protocolo IP se puede conseguir lo que pretende su director. 2. Desde una de las mquinas que actuan como host, intente que algn host de la otra direccin le responda a un ping sin cambiar las tablas de rutas. 3. Con ayuda de los compaeros de la otra direccin monitorice el camino que sigue el datagrama.
Ejercicio 6 Con este ejercicio se pretende analizar cmo afecta el encaminamiento de paquetes en una red a la carga que se produce en los enlaces. Para ello, analizaremos dos topologas de red, de las cuales la primera es claramente ineciente. El alumno debe disear la segunda topologa con el objetivo de minimizar el nmero de nodos intermedios por los que pasa un paquete.
Diseo previo de la topologa de red (ejemplo para telem2-1, telem2-2, telem2-3 y telem2-4) La red a disear se compone de 4 subredes (192.168.1.0/24 - 192.168.2.0/24 - 192.168.3.0/24 - 192.168.4.0/24). Cada subred estar compuesta de 2 routers que se encargarn de encaminar el trco que circule por ellos de forma adecuada. En la gura 3.17 se muestra la topologa de red a realizar. En el laboratorio no se disponen de cables cruzados para conectar directamente las distintas tarjetas de red, por lo que se utilizarn dos hubs interconectados para permitir el acceso de todos los interfaces de red a todos los dems. Esto implica que fsicamente tendremos la red de la gura 3.18. Obsrvese que la topologa de red de la gura 3.17 se realizar mediante mecanismos de encaminamiento. 1. Realice el conexionado de la gura 3.18. 2. Congure los interfaces de red, tal y como se especica en la gura 3.17, mediante el comando: ifconfig <Interface><IPaddress>netmask <Netmask>broadcast <Bcast_address>
25
Encaminamiento en anillo Crearemos a continuacin un encaminamiento en anillo, de tal forma que los paquetes circularn slo en un sentido (telem2-1 - telem2-2 - telem2-3 - telem2-4 - telem2-1...). Para ello, el encaminamiento se realizar siguiendo la tabla 3.6, en la que se indica el router al que se enva la informacin que circula de un host a una red remota. 192.168.1.0/24 X telem2-3 telem2-4 telem2-1 192.168.2.0/24 telem2-2 X telem2-4 telem2-1 192.168.3.0/24 telem2-2 telem2-3 X telem2-1 192.168.4.0/24 telem2-2 telem2-3 telem2-4 X
Como ejemplo, se muestra la tabla de rutas de telem2-1: Destination 192.168.1.0 0.0.0.0 Gateway 0.0.0.0 192.168.1.2 Genmask 255.255.255.0 0.0.0.0 Flags Metric Ref Use Iface U 0 0 0 eth1 UG 0 0 0 eth1
Observe que la direccin 0.0.0.0 indica cualquier otro destino. 1. Congure correctamente la tabla de rutas de su mquina. Para ello, realice los siguientes pasos: a) Liste la tabla de rutas existente con el comando route -n. b) Elimine las rutas que no sean necesarias con el comando: route del [-net|-host] <Target>netmask <Netmask> Observe que -net indica que <Target> es una direccin de red y -host que es una direccin de host. c) Aada las rutas necesarias para congurar el encaminamiento en anillo con el comando: route add [-net|-host] <Target>[netmask <Nm>] [gw <Gw>] [[dev] <If>]
26
3.9. EJERCICIOS
eth0 eth1
eth0 eth1
eth0 eth1
eth0 eth1
eth0 eth1
eth0 eth1
eth0 eth1
eth0 eth1
2. Ahora es necesario permitir a la mquina que enrute los paquetes que entran por un interfaz hacia otro. Para ello, asegrese que el archivo /proc/sys/net/ipv4/ip_forward contiene un uno (permitir). 3. Pngase de acuerdo con el resto de puestos de trabajo de su anillo y enven un nico mensaje echo (-c 1) a cada uno de los interfaces de las otras mquinas para vericar que responden. 4. Ejecute dos analizadores de paquetes wireshark para analizar el trco por cada interfaz de red. Averige el nmero de protocolo de ICMP en el archivo /etc/protocols y utilcelo para capturar slo paquetes ICMP (no queremos ver ARP u otros protocolos). El ltro de captura ser el siguiente: ip proto <NumProtoICMP> 5. Identique todas las direcciones Ethernet de todos los interfaces de la red. 6. Dispnganse las cuatro mquinas de la red capturando trco por todos los interfaces. Enve un paquete de echo a uno de los interfaces y observe los paquetes que han circulado por la red. Compruebe que se ha realizado correctamente el encaminamiento (la direccin origen Ethernet de los paquetes que se reciben es de un nodo contiguo). Qu conclusiones saca (recuerde que los enlaces son bidireccionales) en cuanto a la utilizacin de los enlaces?
Encaminamiento ptimo Cree a continuacin una red en la que el trco se encamine por el camino ms corto (mnimo nmero de saltos) y est balanceado por toda la red (no hayan enlaces ms cargados que otros). Observe que al ser la topologa simtrica, las rutas tambin lo sern. 1. Rellene la siguiente tabla utilizando el criterio de mnima distancia:
27 192.168.3.0/24 192.168.4.0/24
2. Escriba y congure la tabla de rutas de su mquina. 3. Repita los pasos 4 y 6 del encaminamiento en anillo.