Redes de Datos – Laboratorio 4 - Instructivo. Laboratorio 4: Asignación de Direcciones Ipv4 y Ruteo Estático Instrucciones generales Para poder realizar exitosamente la práctica, deberá cumplir las siguientes etapas: Previo al laboratorio Estudiar la información contenida en este instructivo. Se recomienda consultar las referencias sugeridas u otras de su preferencia. Completar el Preinforme en forma individual, el cual deberá ser entregado para ingresar al laboratorio. Se recomienda conservar una copia para su uso durante la práctica. Imprimir y leer el procedimiento de la práctica incluido en el Informe. Se recomienda imprimir una página por faz. Traer un disquete/memoria USB para poder probar comandos que acceden al dispositivo y/o guardar resultados. Durante el laboratorio Seguir el procedimiento indicado en el Informe y completarlo en forma grupal. El Informe deberá ser entregado al finalizar la práctica. NO SE ACEPTA ENTREGA DE INFORMES EN OTRO MOMENTO. Después del laboratorio Agradecemos que nos envíe sus aportes al foro específico creado en la página web del curso. Objetivos. Distribuir cierto rango de direcciones IP adecuadamente entre cierto grupo de máquinas conectadas entre sí. Configurar las diferentes interfaces y conexiones para implementar dicha topología en el laboratorio. Cear y poner en funcionamiento la red cuya topología fue analizada. Se configurarán las interfaces de cada enrutador y se crearán las tablas de ruteo en forma estática mediante comandos. Finalmente se realizarán algunos ensayos para verificar la correcta configuración de las tablas de ruteo. Al finalizar la práctica, el estudiante será capaz de: 1. 2. 3. 4. Asignar direcciones IP adecuadamente a cierta topología de red. Configurar las interfaces de las máquinas para que utilicen las direcciones asignadas.. Configurar las tablas de ruteo en forma estática. Verificar la accesibilidad de todas las máquinas de la red. ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 1 de 13 Preparación Asignación de Direcciones Ipv4 . 1. Direcciones IP. El protocolo de Internet versión 4 (IPv4) posee direcciones formadas por 4 octetos o bytes, los cuales se escriben usualmente en "notación decimal con punto" ("dotted decimal notation"). De esta forma, cada byte se expresa por su valor decimal entre 0 y 255. Los 4 valores decimales se separan con puntos. En binario En notación decimal con punto Comentario 11000000 10101000 00000001 00000000 192.168.1.0 Dirección de subred (*1) 11000000 10101000 00000001 00001100 192.168.1.12 Dirección de máquina Notación binaria y decimal con punto. (*1) Considerando máscara 255.255.255.0 o “/24” como se vera mas adelante. La conexión en red entre dos máquinas a través de un medio físico requiere la existencia de dos interfaces de red, una en cada máquina. Una interfaz de red es una parte de hardware y software (muchas veces "embedded" o embebido) colocada entre el medio físico y la máquina propiamente dicha. Puede ser un equipo separado, como un módem externo, o hallarse dentro del equipo, como las tarjetas de red Ethernet. Aunque es posible asignar una misma dirección IP a más de una interfaz de la propia máquina, lo habitual es disponer de una dirección IP diferente por cada interfaz de red presente en el equipo. Como se vio en el teórico, para la distribución de direcciones IP en distintas redes, los bits de las mismas se dividen arbitrariamente en 2 partes, una parte que identifica la red (bits más significativos) y otra que identifica el host dentro de la red (bits menos significativos). Es decir, que una red IP consiste en un conjunto de números de dirección IP consecutivos que comparten los mismos bits más significativos. A la primer dirección de la red (la que tiene 0 en los bits que identifican al host) se la denomina “dirección de red”, no pudiendo ser utilizada por ningún equipo. Para saber qué parte de una dirección IP dada corresponde a la red solo hace falta saber cuántos bits de los 32 de la dirección se utilizan para ello. La notación tradicional da lugar a la denominada máscara de red (netmask), que consiste en un número de 32 bits con valor “1” en los bits que corresponden a la parte de red de la dirección, y “0” en los bits que corresponden a la parte de host. La función de la máscara de red es entonces determinar qué parte de la dirección corresponde a la red y qué parte corresponde a las máquinas. Una máscara de red es entonces un número de 32 bits de la forma 11...1100...0, con tantos 1 como bits utilizados para la porción de red de la dirección. La idea es que el AND de la dirección con la máscara determine la dirección de red como se muestra a continuación. ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 2 de 13 Dirección de máquina 192.168.110.23 11000000 10101000 01101110 00010111 Máscara de red 255.255.255.0 11111111 11111111 11111111 00000000 Parte red 192.168.110. 11000000 10101000 01101110 Parte máquina .23 00010111 Dirección de la red 192.168.110.0 11000000 10101000 01101110 00000000 Dirección de difusión 192.168.110.255 11000000 10101000 01101110 11111111 Interpretación de una dirección IP. Una forma alternativa y más corta de expresar las máscaras es dar la cantidad de 1s que contienen en su representación binaria. Así, la combinación red/máscara 192.168.1.1/255.255.255.0 puede escribirse como 192.168.1.1/24. Observaciones: La operación AND (bit a bit) de una dirección IP con una máscara de red da la dirección de red correspondiente a esa dirección IP. Las direcciones de máquina posibles para la subred están dadas por el conjunto de bits de menor orden contiguos a la dirección de red. La cantidad de 0s en la máscara de red determina la cantidad de bits que habrán de tomarse para determinar todas las direcciones posibles dentro de esa subred. Esto introduce una limitación en el número de máquinas de la subred. Se reserva para difusión la dirección más alta de la subred, es decir, con todos sus bits en la parte de máquina en 1. Esta dirección no puede asignarse a ningún equipo. Quitando las direcciones de red y de difusión, los números posibles de máquinas están dados por todas las combinaciones de bits posibles de la parte máquina, excluidas la dirección de red (bits en 0) y la dirección de difusión (bits en 1). La dirección de difusión es una dirección especial en la cual escuchan todas las máquinas de la subred. A esta dirección se envían los datagramas cuando se quiere alcanzar a todos los equipos de la subred y se usa para mensajes relativos a ruteo o advertencias. La convención más usual es, como se mencionó, considerar dirección de difusión la más alta de las direcciones posibles dentro de la subred, pero a veces puede usarse también la dirección de red, siempre y cuando todos los equipos de la subred estén igualmente configurados. Otra dirección especial a la que responden todos los equipos es la 127.0.0.1, correspondiente a la subred 127.0.0.0/8. Esta dirección no corresponde a una parte de hardware específica; es siempre la propia máquina. Se denomina dirección de loopback (lazo de retorno), y el nombre de máquina convencionalmente asignado a ella es localhost, máquina local. Históricamente fueron definidos arbitrariamente 3 grupos de direcciones para subredes, llamados "clases", dentro de cada clase la separación en parte de red y parte de host es fija. En términos de máscaras, pueden describirse como en la tabla que sigue: ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 3 de 13 Clase Máscara Direcciones de red A 255.0.0.0 o /8 1.0.0.0 a 127.255.255.255 B 255.255.0.0 o /16 128.0.0.0 a 191.255.255.255 C 255.255.255.0 o /24 192.0.0.0 a 223.255.255.255 Multicast (D) 240.0.0.0 224.0.0.0 a 239.255.255.255 240.0.0.0 240.0.0.0 a 255.255.255.255 Experimental Reservada para futuros usos. Tabla de Clases de Direcciones Esto resultó poco flexible ante la demanda creciente de direcciones IP. Por ejemplo, si una empresa necesita direcciones para 60 máquinas, asignar una clase C entera es un desperdicio de direcciones, ya que éstas admiten hasta 254 máquinas, 4 veces más aproximadamente. Actualmente la división en clases no se utiliza (aunque en el lenguaje se sigue utilizando, por ejemplo diciendo “una máscara clase C” cuando se refiere a una máscara con 24 bits de red). Para la asignación de direcciones se usan combinaciones dirección/máscara para definir el conjunto de direcciones IP habilitadas al uso para una organización, generalmente sin coincidir con una dirección de clase específica, siendo parte de una clase o abarcando varias clases contiguas. El conjunto de direcciones red/máscara define las direcciones posibles más allá de la clasificación en clases (que queda incluida, si se utilizan las máscaras de la tabla). La siguiente tabla muestra diferentes particiones posibles del conjunto de direcciones dado por 192.168.110.0/24. Máscara Subredes Máquinas Difusión “/24” o 255.255.255.0 (1 red de 254 máquinas) 192.168.110.0 192.168.110.1 a 192.168.110.254 192.168.110.255 192.168.110.0 192.168.110.1 a 192.168.110.62 192.168.110.63 “/26” o 255.255.255.192 192.168.110.64 192.168.110.65 a 192.168.110.126 192.168.110.127 (4 redes de 62 máquinas) 192.168.110.128 192.168.110.129 a 192.168.110.190 192.168.110.191 192.168.110.192 192.168.110.193 a 192.168.110.254 192.168.110.255 192.168.110.0 192.168.110.1 a 192.168.110.2 192.168.110.3 192.168.110.4 192.168.110.5 a 192.168.110.6 192.168.110.7 “/30” o 255.255.255.252 192.168.110.8 192.168.110.9 a 192.168.110.10 192.168.110.11 (63 redes de 2 máquinas) ... ... ... 192.168.110.252 192.168.110.253 a 192.168.110.254 192.168.110.255 Ejemplos de particiones posibles para el conjunto de direcciones 192.168.110.0/24. ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 4 de 13 Existen varios conjuntos de direcciones reservadas para usos particulares, las cuales no pueden ser utilizadas en la red pública Internet. En particular, la RFC 1918 indica 3 bloques de direcciones reservadas para uso en redes internas (de empresas, organizaciones o particulares) que no requieran conectividad directa a Internet. Las máquinas con estas direcciones no pueden acceder a Internet directamente, por lo que si se requieren servicios de Internet deberán utilizar equipos intermedios que realicen la traducción de direcciones privadas a direcciones públicas (NAT (network address translation)), o servidores Proxy que medien entre el host y el mundo “público” La siguiente tabla resume las direcciones privadas disponibles. Clase Máscara Redes Direcciones Difusión A 255.0.0.0 10.0.0.0 10.0.0.1 a 10.255.255.254 10.255.255.255 255.255.0.0 172.16.0.0 ... 172.31.0.0 172.16.0.1 a 172.16.255.254 ... 172.31.0.1 a 172.31.255.254 172.16.255.255 ... 172.31.255.255 169.254.0.0 (*2) 169.254.0.1 a 169.254.255.254 169.254.255.255 B C 255.255.255.0 192.168.0.0 ... 192.168.255.0 192.168.0.1 a 192.168.0.254 192.168.0.255 ... ... 192.168.255.1 a 192.168.255.254 192.168.255.255 Tabla de Direcciones Privadas (RFC 3330). (*2)IPv4 Link-Local Addresses RFC 3927 2. Asignación de direcciones. El problema que se plantea es el de, dado un conjunto de máquinas interconectadas, y un cierto subconjunto de direcciones IP disponibles, asignar adecuadamente dichos números. Estudiaremos la forma de llevar esto a cabo mediante un ejemplo. ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 5 de 13 Supongamos que la red de una organización es la de la figura, donde los números indican la cantidad de máquinas en cada subred. El conjunto de direcciones IP disponibles corresponde a 192.168.3.128/25. La idea es asignar direcciones al conjunto de máquinas optimizando el uso de direcciones. Se tiene un total de 128 direcciones (los últimos 7 bits de la dirección) para dividir entre las diferentes subredes y sus host. Se propone aquí un posible mecanismo para la asignación. Tener en cuenta que no es el único posible: 1. Para cada subred, determinar el número potencia de dos superior más cercano a la cantidad de máquinas más las direcciones de red y broadcast. 2. Comenzar a asignar las direcciones IP desde la subred de mayor cantidad de máquinas hacia la menor. 3. Particionar ordenadamente el conjunto de números IP disponibles en bloques potencias de dos de tamaño apropiado para las dimensiones de las subredes con que se cuenta. 4. Asignar direcciones a las interfaces de los enrutadores. El siguiente desarrollo en pasos puede abreviarse con un poco de práctica. Aquí lo desarrollaremos con cierto detalle. En primera instancia, tenemos 5 redes por lo que debemos repartir las 128 direcciones entre las mismas. Debe hacerse además teniendo en cuenta que las particiones solo pueden hacerse aumentando la máscara, es decir, en potencias de 2. Una rápida inspección permite determinar que el mayor bloque necesario es de 32 direcciones (determinado por la red A): partimos entonces las 128 direcciones (máscara “/25”) en 4 bloques de máscara “/27”. ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 6 de 13 Direcciones Red Máscara IPs Difusión Asignación 32 192.168.3.128 “/27” 192.168.3.129 a 192.168.3.158 192.168.3.159 Subred A 32 192.168.3.160 “/27” 192.168.3.161 a 192.168.3.190 192.168.3.191 - 32 192.168.3.192 “/27” 192.168.3.193 a 192.168.3.222 192.168.3.223 - 32 192.168.3.224 “/27” 192.168.3.225 a 192.168.3.254 192.168.3.255 - En la tabla anterior ya se ha asignado a la subred A el primer bloque de 32 direcciones. La dirección de la subred A será entonces 192.168.3.128. Las siguientes redes en tamaño son la B con 14 máquinas (16 direcciones) y la C con 8 máquinas (10 direcciones). Para ello, repartimos una de las de 32 en 2 de 16: Direcciones Red Máscara IPs Difusión Asignación 32 192.168.3.128 “/27” 192.168.3.129 a 192.168.3.158 192.168.3.159 Subred A 16 192.168.3.160 “/28” 192.168.3.161 a 192.168.3.174 192.168.3.175 Subred B 16 192.168.3.176 “/28” 192.168.3.177 a 192.168.3.190 192.168.3.191 Subred C 32 192.168.3.192 “/27” 192.168.3.193 a 192.168.3.222 192.168.3.223 - 32 192.168.3.224 “/27” 192.168.3.225 a 192.168.3.254 192.168.3.255 - Continuando con este procedimiento, para la subred D hacen falta 8 direcciones (máscara “/29”) y para la subred E 4 direcciones (máscara “/30”). Para ello, podemos tomar el tercer bloque de 32 direcciones disponible y partirlo en un bloque de 8, dos de 4 y uno de 16 mediante sucesivas divisiones en dos, para generar la siguiente asignación: ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 7 de 13 Direcciones Red Máscara IPs Difusión Asignación 32 192.168.3.128 “/27” 192.168.3.129 a 192.168.3.158 192.168.3.159 Subred A 16 192.168.3.160 “/28” 192.168.3.161 a 192.168.3.174 192.168.3.175 Subred B 16 192.168.3.176 “/28” 192.168.3.177 a 192.168.3.190 192.168.3.191 Subred C 8 192.168.3.192 “/29” 192.168.3.193 a 192.168.3.198 192.168.3.199 Subred D 4 192.168.3.200 “/30” 192.168.3.201 a 192.168.3.202 192.168.3.203 Subred E (ppp) 4 192.168.3.204 “/30” 192.168.3.205 a 192.168.3.206 192.168.3.207 - 16 192.168.3.208 “/28” 192.168.3.209 a 192.168.3.222 192.168.3.223 - 32 192.168.3.224 “/27” 192.168.3.225 a 192.168.3.254 192.168.3.255 - Observaciones: Los enrutadores tienen varias direcciones, una correspondiente a cada subred que interconectan. La elección es arbitraria; por ejemplo, una posibilidad es asignar siempre las direcciones más elevadas o las más bajas de las disponibles en la red a los mismos. El enlace punto a punto entre r4 y r5 se considera una subred con 2 máquinas y debe ser tratada como tal. No debe quedar fuera de la asignación global de direcciones. Estos enlaces siempre se asignan con máscara “/30” ya que solo tienen dos máquinas por definición. El enrutador conectado a Internet tendrá también una IP asignada por el proveedor de Internet asociada a su interfaz externa Topologías de varias áreas. Cuando la topología de red abarca varias áreas claramente diferenciadas no siempre es útil economizar en direcciones, pues esto puede llevar a asignaciones complicadas que compliquen a su vez las tablas de ruteo, volviéndolas poco eficientes por tener muchas entradas. En ese caso, puede ser razonable repartir las direcciones disponibles en grandes bloques para cada área, y después asignar dentro de cada área. Esto simplifica las tablas de ruteo. Por ejemplo, si dispongo de 4 bloques “clase C” para 3 regiones conectadas a través de un "backbone", asignando a cada área un conjunto de direcciones clase C, los enrutadores del backbone sólo deben conocer un mínimo de rutas, las que vinculan las áreas entre sí, dejando a los enrutadores de cada área la resolución dentro de esa área. 3. La capa de enlace. En el laboratorio, además de asignar direcciones IP a cada subred, se configurarán las interfaces de cada enrutador asignando direcciones IP a las mismas. Para que la red funcione, se deberá configurar la conexión de cada una de las interfaces del enrutador estableciendo la capa de enlace apropiada, ya sea con otro enrutador conectado directamente, o bien con la red ethernet a la que pertenece. Se trabajará básicamente con dos tipos de enlace: Ethernet: Consiste en un bus compartido en el que escriben y del que leen todos los hosts conectados a él. Las funcionalidades de capa de enlace aquí están mayormente implementadas en hardware (tarjeta Ethernet). La capa física consiste en par trenzado UTP con conectores RJ45 y un hub o ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 8 de 13 concentrador que implementa el medio compartido. La configuración de estas interfaces se limita a indicar una dirección IP para la misma. Enlaces PPP (punto a punto): Consiste en una vía de comunicación serial entre dos máquinas. Se utiliza el protocolo de enlace punto a punto PPP. 4. Ejercicios Sugeridos. Dada la siguiente tabla complete la información faltante para cada uno de los rangos. Hosts (útiles) Mascara “/” Mascara A.B.C.D /28 30 255.255.255.252 6 255.255.255.255 La columna de Hosts útiles representa la cantidad máxima de direcciones IP útiles en cada caso. Ejemplo: para el caso de un rango “/24”este valor es 25 ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 9 de 13 Ruteo Estático. 1. Capa de Red, IP y tablas de ruteo La función principal de la capa de red es enviar paquetes desde una máquina de origen a una máquina destino. En la mayoría de los casos, los paquetes deberán dar múltiples saltos (pasar por varios equipos intermedios) antes de llegar a la máquina de destino. Se llaman enrutadores a aquellas máquinas que interconectan dos o más subredes. Un enrutador tiene por lo tanto dos o más interfaces de red. En la figura 1 se muestra una colección de subredes interconectadas por los enrutadores R1, R2, R3 y R4. Abajo se muestra un esquema de la misma luego de una cierta asignación de direcciones IP. Figura 1: Un conjunto de subredes Figura 2: Asignación de IP's de la red de la figura anterior Las tablas de ruteo jugarán un papel fundamental para el envío de los paquetes. Cada enrutador y cada host tendrán su tabla de ruteo. Ésta contiene la información que permitirá, conocida la dirección IP de destino de un paquete, decidir cual es el próximo enrutador al que debe enviarse el paquete. La tabla de ruteo tendrá dos columnas fundamentales: la primera contendrá los destinos y la segunda indicará el siguiente salto. Los destinos estarán especificados como redes con su respectiva máscara. El próximo salto se expresa como la dirección IP del router al que hay que enviarle los paquetes para ese destino. Para las subredes de las cuales el host o enrutador forma parte, normalmente en el próximo salto se indica de alguna manera la interfaz de red que debe utilizarse. ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 10 de 13 Dada una dirección IP destino, se buscará en la tabla la primer entrada que contenga dicha dirección. Para esto la tabla se encuentra ordenada de las redes más específicas (máscaras más largas o con más unos) a las redes menos específicas. El algoritmo de búsqueda utilizado es el “longest prefix match” que consiste en hacer el AND bit a bit de la dirección destino con la máscara de la primer entrada de la tabla y ver si el resultado coincide con la red de la entrada. Si coincide se encamina hacia el próximo salto indicado en esa entrada. Si no coincide se continúa con la siguiente entrada de la tabla. Existe la posibilidad de configurar una entrada "por defecto", que será la ruta a seguir en caso que no exista una entrada más especifica. Esta ruta por defecto estará al final de la tabla y deberá servir para todos los paquetes. Esa entrada corresponderá al destino 0.0.0.0/0 que con el algoritmo “longest prefix match” usado matcheará con cualquier IP de destino. En la figura 3 se observan las tablas de ruteo para la red de la figura 1. Notemos que indica con "direct" a aquellas entradas a las que se accede desde una interfaz del propio host o enrutador. Distintos sistemas operativos utilizarán distintas maneras de indicar que se debe enviar a una máquina directamente conectada. Figura 3: Tablas de ruteo La tabla de ruteo se puede construir usando algoritmos de ruteo dinámico o mediante ruteo estático. Para el ruteo estático la topología de la red debe ser conocida de antemano. En esta práctica nos dedicaremos únicamente a crear en forma manual las tablas de ruteo de cada máquina, lo que es claramente un mecanismo de ruteo estático. Por último, el diagrama de la figura 4 muestra el intercambio de la capa de red con sus capas adyacentes al recibir un paquete del exterior o desde la capa de transporte (asumiendo válidas solo las opciones TCP/IP o UDP/IP). ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 11 de 13 Figura 4: Intercambio entre capa de red y capas adyacentes 3. Ejercicios Sugeridos. Ejercicio 1: Repase las tablas de ruteo que aparecen en la Figura 3, analice como se alcanzan todos los destinos. Ejercicio 2: Completar la siguiente tabla donde en la primera columna se listan las redes originales, en las siguientes columnas se debe completar la cantidad de subredes que se pueden obtener de acuerdo al tamaño expresado en la primera fila. Red \ Subredes /24 /25 /26 /27 /28 /29 /30 /24 /25 X /26 X X /27 X X X /28 X X X X /29 X X X X X /30 X X X X X X Ejercicio 3: Buscar cual es la red A.B.C.D/M (hallar los valores de A, B, C, D y M) de mascara menor que contenga a las siguientes subredes: 192.168.0.0/24 - 192.168.1.128/25 - 192.168.2.192/26 ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 12 de 13 4. Para conocer más Curso Básico de Unix. Un curso introductorio al sistema operativo Unix, orientado a Linux. Intérprete de comandos, sistema de archivos, editor vi, expresiones regulares, filtros, programación del shell. http://iie.fing.edu.uy/~vagonbar/unixbas/index.htm . The Internet Lab Manual. Es una colección de instructivos para realizar prácticas de laboratorio en redes de datos. Si bien el equipo requerido es inalcanzable, el contenido de los instructivos es altamente aprovechable. Página principal: http://www.cs.virginia.edu/~itlab/book/ Enlaces: http://www.cs.virginia.edu/~itlab/book/links/ FreeBSD Hypertext Man Pages. Un sitio web con páginas man de diversos Unices (BSD, FreeBSD, RedHat Linux, SuSE Linux…). http://www.freebsd.org/cgi/man.cgi An Overview of TCP/IP Protocols http://www.garykessler.net/library/tcpip.html and the Internet. Gary C. Kessler. ______________________________________________________________________________________ Redes de Datos 2016 – Instructivo Laboratorio 4 Página 13 de 13