Universidad de Costa Rica Escuela de Ingeniería Eléctrica IE-0424 Redes de computadoras Proyecto final Protocolo de enrutamiento RIP Arturo Apú Chinchilla, B20386 Erick Eduarte Rojas, B22305 Luis Diego Soto Ugalde, B26613 Profesor: Eduardo Navas Carro 8 de diciembre de 2015 IE-0424 Redes de computadoras 1. Proyecto final Introducción En internet, los enrutadores son respondables de recibir y transmitir paquetes a través del set de suredes. Cada uno toma decisiones basados en su conocimiento de la topología y de las condiciones de la red. Es posible tener un esquema de enrutamiento fijo si la red es sumamente simple; sin embargo, se necesita un alto grado de cooperación dinámica entre los enrutadores para redes más complejas. El Routing Information Protocol es un protocolo que, básicamente, define que cada enrutador transmite su tabla de enrutamiento completa. Es un algoritmo muy simple y fácil de implementar; sin embargo, conforme el internet se expande, las actualizaciones del enrutador se hacen mucho más grandes y consumen significativamente más ancho de banda. [1] El RIP utiliza un diseño de vector distancia basado en el algoritmo Bellman-Ford distribuido. Además, sufre de problemas de cuenta a infinito que retrasan su convergencia. [2] 2. Origen de vector distancia El vector distancia fue el algoritmo original de ARPANET en 1969. Esencialmente, el protocolo usado por RIP es el mismo usado en ARPANET de primera generación. Luego, en 1979 ARPANET se pasó a un protrocolo de estado de enlace por porblemas de cuenta a infinito y lenta convergencia. Después, en 1988 se pasó a un protocolo de estado de enlace para enrutamiento de “entre domino”. [2] Posteriormente, ya en 1990, el protocolo OSPF (las siglas de Open Shortest Path First) se volvió un estándar. Esto originó otro estándar llama ISIS (las siglas de Intermediate-System to IntermadiateSystem); este, a su vez, se trnasformó en un estándar ISO. 3. Algoritmo Bellman-Ford El algoritmo Bellman-Ford encuentra el camino más corto de un nodo a todos los otros nodos en un grafo con pesos. Resulta más lento que el algotimo de Dijkstra; sim embargo, Bellman-Ford resuelve el problema para pesos negativos. [3] Siendo más específicos, el agoritma calcula el costo del camino más corto de un nodo a todos los otros nodos del grado. El algoritmo comienza asumiendo que el nodo inicial tiene costo cero y los demás nodos tienen costo infinito y se construye el camino más corto preguntándose si el costo de la fuente más el costo del nuevo nodo es menor al costo del destino. Como se comentó, este es el algoritmo usado en los diseños de vector distancia, es el que se usa en RPI y por ende el único que se usó en Internet hasta 1988. 4. Sistemas autónomos Un sistema autónomo se define como una interconexión de redes conectada por enrutadores homogéneos; generalmente, los enrutadores están bajo el control de una solo entidad. [1] Un protocolo de puerta de enlace interna (Interior Gateaway Protocol ) pasa información entre enrutadores dentro de un sistema autónomo. Cuando se conectan varios sistemas autónomos, los 1 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras Proyecto final enrutadores en un sustema autónomo necesitan información acerca de las redes a las que se pueden comunicar fuera del sistema; el protocolo usado para lograr esto se llama protocolo de puerte de enlace externo (Exterior Gateaway Protocol ). [2] El protocolo RPI es tipo IGP. 5. Métrica RIP La métrica para RIP es únicamente el conteo de saltos, no toma en cuenta otros criterios ancho de bando, congestión, retardo y demás. En este contexto, un salto es un trozo de la distancia del camino entre el origen y el destino. En general, por comportamientos como store and forward y demás latencias, una gran cuenta de saltos implica menor desempeño en tiempo real. El conteo de saltos se refiere al número de dispositivos intermedios (por ejemplo enrutadores) por los que los datos deben pasar entre la fuente y el destino. Un salto corresponde a una medida de distancia en una red. De esta manera, la cuenta de saltos es una aproximación de la distancia entre dos hosts. Cada vez que un dispositivo recibe un paquete, el dispositivo aumenta el conteo de saltos del dicho paquete en 1. Además, el dispositivo compara el conteo de saltos con un límite y descarta el paquete si el conteo es muy alto. De esta manera se evita que algún paquete se quede rondando entre hosts indefinidamente. 6. Bucles de enrutamientos Son una condición donde se transmite de forma continua un paquete dentro de una serie de enrutadores pero nunca llega al destino. [5] Los bucles de enrutamiento pueden ser causados por configuracón incocrrecta de rutas estáticas, configuración incorrecta de redistribución de rutas, convergencia lenta, entre otras. Conllevan uso excesivo de ancho de banda, exigenci a los recursos del CPU de los enrutadores e incluso pérdida de actualizaciones de enrutamiento. Para evitar tales incovenientes, los protocloes de vector distancia definen un número máximo de saltos (como se mencionó en la sección de Métrica RIP), de manera que el paquete es eliminado si se sobrepasa este líimite. Otra forma de proteger la red de bucles es con temporizadores. Los temporizadores de espera permiten que el enrutador no acepte los cambios realizados a una ruta durante un periodo especificado. Esto permite que las actualizaciones de enrutamiento se propaguen con la información más actualizada. En la Figura 1 se muestra un ejemplo de un bucle de enrutamiento. 2 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras Proyecto final Figura 1: Ejemplo de bucle de enrutamiento 7. Cuenta a infinito El problema de la cuenta al infinito es una condición en la que las actualizaciones aumentan el valor de la métrica a un valor en el que cualquier router por esa ruta se considera inalcanzable, este sería en caso de que la cuenta llegue a infinito, pero en la realidad se puede programar en el router para darse cuenta de que una ruta se cayó sin tener que esperar a que se eleve ese valor tanto, usualmente esta condición se tiene en protocolos de enrutamiento por vector de distancia. En RIP, como la métrica utilizada es por saltos se estableció que cuando la cuenta llegue a 16 saltos se considera como un valor infinito por lo que la ruta es inalcanzable. 8. Envenenamiento de ruta inversa El envenenamiento de ruta es una técnica utilizada para marcar una ruta como inalcanzable lo cual equivale a la cuenta al infinito. En este caso se tiene la métrica de saltos igual a 16 equivalente a infinito. Si se tiene la ruta entre 2 nodos envenenada entonces la información que se da es inválida por lo que no se intentará llegar a otro nodo mediante esta ruta ya que la distancia informada es infinita. Con este método aumenta la eficiencia de la red en caso de fallos ya que no se debe esperar a la cuenta al infinito en caso de que no converja a un valor, sin embargo, involucra una mayor cantidad de datos pero aún así es una técnica utilizada. En la figura 2 se obsera un un caso en el que se el router R2 envenena la ruta con una cuenta de saltos de 16 es decir una métrica infinita por la que la ruta esta envenenada y los routers en dicha ruta son inalcanzables. 3 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras Proyecto final Figura 2: Ejemplo envenenamiento reverso 9. Horizonte dividido La técnica de horizonte dividido es una técnica que se utiliza para evitar que se formen lazos de enrutamiento, de modo que un router no puede enviar una actualización de las tablas de enrutamiento por la ruta que aprendió el mismo. Por tanto el router no debe publicar la actualización por la ruta que le llegó. Se puede utilizar la técnica de horizonte dividido con enveneamiento en reversa, de modo que si un router detecta que exite una ruta que es inalcanzable por las reglas del envenenamiento de ruta, entonces el router deberá informar que la ruta es inalcanzable a través de la misma interfaz. En la figura 3 se observa un ejemplo de horizonte dividido en la que el router R2 publica sus actualizaciones a los routers R1 y R3 pero estos no reenvian la información a R2. Figura 3: Ejemplo horizonte dividido 4 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras 10. Proyecto final RIP versión 1, RIP versión 2 Entre las principales características de RIPv1 se tienen: Se un protocolo de routing classful Si se tienen más de 15 saltos no se envía la actualización de enrutamiento al siguiente router ya que se considera infinito. Se envían las actualizaciones de enrutamiento cada 30 segundos por métrica en la dirección broadcast 255.255.255.255. Se elige la ruta según el conteo de saltos. Para RIP v2 se listan las siguientes características principales: RIPv2 es un protocolo de routing classless, es decir, acepta VLSM (Variable Length Subnet Mask) y CIDR (Class Inter Domain ROuter). Si se tienen más de 15 saltos no se envía la actualización de enrutamiento al siguiente router ya que se considera infinito. Envía las actualizaciones por la dirección Multicast 224.0.0.9 para que sea más eficiente. Tiene entradas de routing reducidas lo que permite sumarización de ruta en cualquier interfaz. Posee un mecanismo de autenticación para proteger las actualizaciones entre los vecinos. Resumiendo en la tabla 1 se compara las principales diferencias. Tabla 1: Comparación entre RIPv1 y RIPv2 Característica Protocolo Métrica Dirección de actualización VLSM CIDR Sumarización Autenticación RIP v1 RIP v2 Classful Saltos 255.255.255.255 No No No No Classless Saltos 224.0.0.9 Sí Sí Sí Sí 5 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras 11. Proyecto final Classful o Classless Un protocolo classful se refiere a un protocolo en el que no se envía la máscara de la subred en cada actualización de las tablas de enrutamiento, de este modo RIPv1 es un protocolo classful el cual asignaba en su momento las direcciones de red según su clase A, B o C, sin tomar en cuenta las máscaras de la subred. La máscara de la subred utilizada se obtenía del primer octeto de la dirección de red. De modo que un protocolo classful no diferencia entre las subredes por lo que todos los routers deben encontrarse en la misma subred ya que este no acepta redes no contiguas. La diferencia con RIPv2 radica en que se basa en un protocolo classless por lo tanto las direcciones no se asignan en función de las clases de este modo las máscaras de la subred no se determinan por el primer octeto de la dirección de red, sino que la máscara de subred se envía en el segmento RIPv2 para cada actualización de las tablas de enrutamiento, así las ventajas de un protocolo classless sobre uno classful es que soporta direfentes direcciones de subredes VLSM, y tienen CIDR (Soportan dominios sin necesidad de usar clases). La figura 4 muestra las diferencias entre un protocolo classful y uno classless respectivamente, en la topologpia classful se observa que todos los routers están en la misma subred, mientras que en la classless se muestra que se utilizan 2 subredes distintas. Figura 4: Topología Classful y Classless 6 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras 12. Proyecto final Formato paquete RIP Los mensajes RIP se encapsulan en segmentos UDP con 512 números de puertos de origen/destino. Con este encapsulado se tienen varios encabezados, el de enlace de datos, el encabezado de paquete IP y el encabezado del segmento UDP de forma que un encapsulado de este tipo se ve de la siguiente manera: Figura 5: Encapsulado RIPv1 en segmento UDP Las secciones de la figura 5 se componen de la siguiente forma: Encabezado de Enlace de Datos: Posee las direcciones MAC de origen y Destino. Encabezado del paquete IP: Posee las direcciones IP de origen y destino, así como el espacio de protocolo para UDP. Encabezado del segmento UDP: Posee los puertos de origen y destino, cada uno de 520. Mensaje RIP: Contiene el tipo de mensaje si es solicitud o respuesta, la versión del RIP que se utiliza, un identificador para la familia de direcciones, y la métrica que se utiliza. En caso de que la versión utilizada sea RIPv2 se añaden además en el mensaje la eqtiqueta de la ruta, la máscara de la subred y el siguiente salto. Además en cualquiera de las versiones RIP se pueden tener hasta 25 de estas rutas, por lo que el mensaje puede aumentar su tamaño hasta 512 bytes. En la figura 6 se observan los 2 formatos de los paquetes RIP arriba para RIPv1 y abajo para RIPv2. 7 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras Proyecto final Figura 6: Formato de paquetes RIPv1 y RIPv2. Para RIPv1 se tiene que cada una de las secciones del mensaje se describe de la siguiente forma: Comando: Puede ser 1 o 2, 1 para solicitudes y 2 para respuestas. Versión: Versión 1 o versión 2. ID de la familia de direcciones: 2 para direcciones IP o 0 para solicitud de una tabla completa de enrutamiento. Dirección IP: Dirección de la ruta de destino. Métrica: Siempre es conteo de saltos y va desde 1 hasta 16 saltos. Para RIPv2 se añaden a las secciones anteriores lo siguiente: Etiqueta de la ruta: Para identificar de que ruta se trata, hasta 25 rutas diferentes. Máscara de la subred: Para identificar de que subred se trata. Siguiente Salto: siguiente salto que se dará. Los campos etiquetados como debe ser 0 son reservados para futuras implementaciones de RIP, así como de RIPv1 a RIPv2 se usan varios de estos campos. 13. Cuestionario Se trabajo con la red de la figura 7. 8 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras Proyecto final Figura 7: Red utilizada. Con base en la captura de wireshark proporcionada se desarrollaron algunas cuestiones. 13.1. Pregunta 1 En la figura 8 se observa en los recuadros verdes que el protocolo utilizado es RIPv2. Figura 8: Protocolo de enrutamiento utilizado. 13.2. Preguntas 2,3 y 4 Se realizó un filtro para observar solo las tramas asociadas al protocolo de enrutamiento.En la figura 9 se observa la información de la capa de transporte. 9 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras Proyecto final Figura 9: Información de capa 4. En recuadros verdes se observa que el protocolo de capa 4 utilizado es UDP.Además en los valores hexadecimales de la trama se resalta el valor del protocolo,el cual corresponde a 0x11.En el recuadro rojo se observa el puerto de destino, el 520. 13.3. Pregunta 5 En la figura 10 se observa la dirección MAC de destino de la trama 2. Esta dirección corresponde a 01.00.5e.00.00.09 , la cual es la dirección de multicast asignada para RIPv2. Figura 10: Dirección MAC de destino. 13.4. Pregunta 6 En la figura 11 se observa la dirección IP de destino de la trama 2. Esta dirección corresponde a 224.0.0.9 , la cual es la dirección de multicast asignada para RIPv2. 10 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras Proyecto final Figura 11: Dirección IP de destino. 13.5. Pregunta 7 La métrica de RIP es la cantidad de saltos o hopcount en inglés. 13.6. Pregunta 8 En la figura 12 se observa que el valor hexadecimal del comando en la trama 2 corresponde a 0x01, es decir es un comando request. Figura 12: Comando request. También se observa en el recuadro rojo que la métrica posee un valor de 16.Un valor de 16 para la métrica indica una ruta inalcanzable, una distancia ïnfinita". En este caso se utiliza 16 por ser un comando request . En la figura 13 se observa que la trama 5 es la enviada por R2, esto debido a la dirección IP de origen encerrada en el recuadro (1.1.1.2). Figura 13: Trama enviada por R2. 11 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras 14. Proyecto final Pregunta 9 En la figura 14 se observa la captura de la trama 10.En los valores hexadecimales se resalta el valor de comando, el cual corresponde a 0x02.Esto indica que es un comando response.Esto se obsrva en el recuadro rojo. Se envía esto ya que es la respuesta a los comandos request vistos anteriormente. Figura 14: Información de enrutamiento. En el recuadro naranja de la figura 14 se observa la dirección IP 1.1.1.2 de origen, esto indica que R2 es el que envía la trama.La información de enrutamiento enviada indica que la cantidad de saltos desde 1.1.1.2 hasta 2.2.2.0 (IP de destino,encerrado en verde) es 1 (valor de la métrica).También se observa el valor de la máscara de subred, el cual es de 255.255.255.0. La métrica posee un valor de 1 ya que cuando R1 recibe la información por medio de R2 se da cuenta que la red 2.2.2.0 está a una distancia de 1 salto de 1.1.1.2. Es decir, la red 2.2.2.0 está directamente conectada a la otra interface de R2. En al figura 15 se observa en el recuadro azul los tiempos de las tramas de los comandos de Response. Se debe recordar que RIP posee temporizadores y uno de estos es el de actualización. Figura 15: Tiempos de envío de las tramas RIPv2. Esto significa que se debe refrescar la informaciń de enrutamiento cada 30 segundos aproximadamente. Se puede observar que, por ejemplo, el tiempo transcurrido entre las tramas 23 y 30 es de aproximadamente este valor. Esta es la razón por la que las tramas 10,15,23 y 30 poseen la misma información; ya que 15,23 y 30 solamente corresponden a actualizaciones. 14.1. Pregunta Extra La dirección de nexthop, recuadro azul en la figura 15, es 0.0.0.0 para indicar que el próximo salto de la ruta es la IP del enrutador que envía la respuesta..Esto sucede porque se asume que la dirección del enrutador proporciona una ruta más óptima. Todo lo anterior está definido en el protocolo RIP 12 de 13 Universidad de Costa Rica IE-0424 Redes de computadoras Proyecto final Referencias [1] Stallings, W. Data and computer communications. 5th ed. New Jersey, USA: Prentice Hall, 1997. [2] Tanenbaum, A., Wetherall, D. Computer Networks. 5th ed. Massachusetts, USA: Prentice Hall, 2011. [3] The Bellman-Ford Algorithm Recuperado de https://www-m9.ma.tum.de/graph-algorithms/ spp-bellman-ford/index_en.html el 5 de diciembre, 2015. [4] Formato paquete RIP Recuperado de http://atc2.aut.uah.es/~jmruiz/Descarga_LE/Prac_ 3.ProtocolosEnrutamientoDinamico_RIP_y_OSPF.pdf el 6 de diciembre, 2015. [5] Graziani, R., Johnson, A. Conceptos y protocolos de enrutamiento. Cisco Network Academy, 2008. 13 de 13 Universidad de Costa Rica
© Copyright 2024