10
Introducción a la Computación – Redes de computadoras 1 Redes de computadoras Las computadoras son capaces de utilizar y de ofrecer diferentes recursos, que pueden ser físicos o lógicos. Los recursos físicos son dispositivos, tanto de uso corriente como especiales (tales como discos, impresoras, escáners 1 , impresoras 3D 2 , microscopios...). Los recursos lógicos son, simplemente, la información que pueden ofrecer esas computadoras. Al encontrarse distribuidas en diferentes lugares del mundo (o aun de una misma oficina), surge la necesidad de utilizar esos recursos, presentes en una computadora, desde otras computadoras remotas. La forma general de conectar estas computadoras para poder compartir esos recursos es crear, con ellas, una red de computadoras. En una red de computadoras encontramos objetos de diferentes clases. Las computadoras donde residen los recursos, y las computadoras desde donde los usuarios necesitan usar esos recursos, están conectadas a la red por enlaces o vínculos físicos. Esas computadoras son nodos terminales (a veces llamados también sistemas extremos o hosts), que necesitan comunicarse. Cuando un nodo terminal ofrece un servicio a través de la red, se llama servidor. Cuando otro nodo terminal utiliza esos servicios, es un cliente. Como es imposible conectar “todo con todo”, es necesario compartir esos enlaces entre varios puntos, concentrándolos en puntos intermedios o nodos intermedios, también compartidos, en forma similar a como se organiza una red telefónica, o de carreteras. Los nodos intermedios, dependiendo de cómo funcionen, reciben el nombre de switches (o conmutadores), o routers (encaminadores o enrutadores). Estas tres clases de objetos forman las redes. Una red de computadoras, entonces, es una colección de nodos terminales, nodos intermedios, y enlaces , interconectados para permitir las comunicaciones entre esos nodos terminales. 1 http://es.wikipedia.org/wiki/Escáner 2 http://es.wikipedia.org/wiki/Impresora_3D

Introducción a las Redes

Embed Size (px)

DESCRIPTION

Una introducción al tema de Redes de Computadoras para alumnos de primer año de la licenciatura en Ciencias de la Computación

Citation preview

Page 1: Introducción a las Redes

Introducción a la Computación – Redes de computadoras 1

Redes de computadoras

Las computadoras son capaces de utilizar y de ofrecer diferentes recursos, que pueden ser físicos ológicos. Los recursos físicos son dispositivos, tanto de uso corriente como especiales (tales comodiscos, impresoras, escáners1, impresoras 3D2, microscopios...). Los recursos lógicos son,simplemente, la información que pueden ofrecer esas computadoras. Al encontrarse distribuidas endiferentes lugares del mundo (o aun de una misma oficina), surge la necesidad de utilizar esosrecursos, presentes en una computadora, desde otras computadoras remotas. La forma general deconectar estas computadoras para poder compartir esos recursos es crear, con ellas, una red decomputadoras.

En una red de computadoras encontramos objetos de diferentes clases. Las computadoras donderesiden los recursos, y las computadoras desde donde los usuarios necesitan usar esos recursos,están conectadas a la red por enlaces o vínculos físicos. Esas computadoras son nodos terminales(a veces llamados también sistemas extremos o hosts), que necesitan comunicarse. Cuando unnodo terminal ofrece un servicio a través de la red, se llama servidor. Cuando otro nodo terminalutiliza esos servicios, es un cliente.

Como es imposible conectar “todo con todo”, es necesario compartir esos enlaces entre variospuntos, concentrándolos en puntos intermedios o nodos intermedios, también compartidos, enforma similar a como se organiza una red telefónica, o de carreteras. Los nodos intermedios,dependiendo de cómo funcionen, reciben el nombre de switches (o conmutadores), o routers(encaminadores o enrutadores).

Estas tres clases de objetos forman las redes. Una red de computadoras, entonces, es una colecciónde nodos terminales, nodos intermedios, y enlaces, interconectados para permitir lascomunicaciones entre esos nodos terminales.

1 http://es.wikipedia.org/wiki/Escáner2 http://es.wikipedia.org/wiki/Impresora_3D

Page 2: Introducción a las Redes

Introducción a la Computación – Redes de computadoras 2

¿Quiénes son los nodos intermedios, los enlaces y los nodos terminales, en una red telefónica? ¿Y en una red decarreteras? ¿Y qué otros ejemplos de sistemas en red hay?

Clasificación de las redes

Una primera clasificación, aunque muy poco rigurosa, es aquella que las divide por su tamaño. Lasredes de computadoras pueden, en principio, abarcar cualquier extensión geográfica (de hecho, haynodos terminales de ciertas redes en Marte, y aun más allá del Sistema Solar). Cuando la redalcanza una extensión pequeña, generalmente contenida en un recinto, en un edificio, o aun en uncampus, se trata de una red de área local o LAN (Local Area Network). En una LAN,normalmente, todos los elementos del sistema (nodos y enlaces), y el espacio donde están ubicados,son propiedad de la misma persona, entidad u organización. Cuando la red es mayor, y abarca,digamos, el tamaño de una ciudad, o una parte importante de la ciudad, se llama red de áreametropolitana o MAN (Metropolitan Area Network). Por lo general, el ámbito geográfico de unaMAN no pertenece a una misma organización, sino que cruza espacios públicos. Por esto, a vecesdebe utilizar enlaces provistos por un proveedor de comunicaciones. Cuando el espacio es mayor, yse comunican entre sí dos ciudades distantes, dos países, dos continentes, etc., se la llama red deárea extendida o WAN (Wide Area Network).

A veces se amplía esta clasificación agregando las redes de área personal o PAN (Personal AreaNetwork), que son las formadas por dispositivos usables (wearable devices), es decir, aquellos que“se llevan encima”, como auriculares y reproductores MP3, o dispositivos de uso médico comocontadores de pulsaciones, medidores de tensión arterial, etc.

También se puede decir que los diferentes dispositivos dentro de una computadora, y hasta losdiferentes elementos dentro de una CPU, conforman una red, ya que necesitan comunicarse entre sípara compartir información. Muchos de los problemas que aparecen en estos dominios tan pequeñosgeográficamente son los mismos problemas de las redes mayores.

Un ejemplo que hasta hace poco tiempo hubiera parecido de ciencia ficción, pero que hoy es completamente realizable:un conductor va manejando por la ruta, llevando puestos anteojos de realidad virtual3. La imagen que le presentan losanteojos lleva sobreimpresa información geográfica que le envía el GPS4 de su coche o de su celular. Un dron5,sobrevolando su vehículo, le aporta imágenes del tránsito más adelante. ¿Qué clases de redes intervienen en esteejemplo?

Enlaces o vínculos

Cada nodo de una red de computadoras se conecta al menos a un enlace (los nodos intermedios, pordefinición, a más de un enlace) mediante dispositivos llamados interfaces, que transmiten y recibenbits. La información que se comparte sobre la red circula por los enlaces. Estos enlaces pueden estarconstruidos sobre diferentes medios de transmisión, como cable de cobre, o fibra óptica (mediosguiados); o bien, el enlace puede ser inalámbrico, como los que utilizan ondas de radio o rayosinfrarrojos, y en ese caso el medio de transmisión es simplemente el espacio (medio no guiado).

Una interfaz conectada a un enlace funciona a una determinada velocidad de transmisión con lacual emite y recibe los bits (característica de la tecnología). Pero a la vez, esos bits circulan por elenlace con una cierta velocidad de propagación (que es una propiedad física). Cada pieza deinformación que circula por este enlace tiene así un cierto tiempo de transmisión (determinado por

3 http://es.wikipedia.org/wiki/Realidad_virtual4 http://es.wikipedia.org/wiki/Sistema_de_posicionamiento_global5 http://es.wikipedia.org/wiki/Vehículo_aéreo_no_tripulado

Page 3: Introducción a las Redes

Introducción a la Computación – Redes de computadoras 3

la velocidad de transmisión y por el tamaño de los datos) pero además un cierto tiempo depropagación (determinado por la longitud del enlace y la velocidad de propagación), que se sumanpara dar un tiempo total de transferencia de los datos.

• Las velocidades de transmisión de los enlaces suelen medirse en algún múltiplo de bits porsegundo (abreviado b/s, y, a veces, bps). Por ejemplo, un enlace de 3 Mb/s (megabits porsegundo) es capaz de transmitir 3x106 bits durante un segundo. Las redes LAN actualesfuncionan a velocidades de transmisión de entre 100 Mb/s y 10 Gb/s. Un enlacetransoceánico existente entre América del Norte y el Reino Unido funciona a unos 40 Tb/s6.

• Las velocidades de propagación (en m/s) típicamente se consideran cercanas a la velocidadde la luz7, dependiendo del medio de transmisión. Una emisión de radio viaja a la velocidadde la luz, pero los datos en los cables de una LAN se propagan a un 60% de la misma.

Si un enlace tiene una velocidad de transmisión Vtransm y una longitud D, y asumimos una velocidadde propagación Vprop igual o cercana a la velocidad de la luz, para transmitir L bits sobre este enlacetendremos:

Tiempo de transmisión Ttransm = L / Vtransm

Tiempo de propagación Tprop = D / Vprop

Tiempo total de transferencia Ttot = Ttransm + Tprop

Notemos, en las fórmulas, que la velocidad de transmisión solamente determina cuánto tardará unapieza de información de cierto tamaño en salir, completa, de la interfaz al medio de transmisión; notiene nada que ver con cuánto tardará en llegar al otro extremo del enlace.

Estoy cazando rinocerontes, y a lo lejos hay una persona hachando leña. Veo cómo cae el hacha y golpea, pero debido ala distancia, el sonido del hachazo llega un cierto tiempo después8. De repente, veo que un rinoceronte está a punto deatacar al leñador. Quiero advertirle a esta persona, pero mi voz llegará unos instantes después de que yo grite.

Ahora bien, puedo elegir pronunciar las palabras muy lentamente o muy rápidamente; pero de cualquier manera,el tiempo necesario para que cada sílaba del sonido llegue hasta donde está el leñador será el mismo.

Esta analogía muestra la diferencia entre el tiempo de transmisión y el tiempo de propagación. Eltiempo de transmisión puede reducirse aumentando la velocidad de transmisión, al modificar elcontrato con el proveedor, o al migrar a una tecnología superior (en la analogía, hablando másrápidamente). Sin embargo, el tiempo de propagación de cada bit transmitido (en la analogía, lademora del sonido en llegar a destino) es una constante física, y es inevitable.

¿Qué tiempo de propagación tendrá un enlace de 1500 km?

¿Qué tiempo de propagación tiene una señal con la que se opera desde la Tierra un robot en Marte?

¿Cuál es el tiempo de transmisión de un bit usando un enlace de 3 Mb/s? ¿Y el de un byte? ¿Y el de un archivo de 10kB de datos?

¿Cuál será el tiempo de transmisión de un paquete de 1 kB si se lo transmite por un enlace de 1Gb/s?

¿En cuánto tiempo se transferirán completamente 10 kB de datos, por un enlace con un tiempo de transmisión por bitde 0.3 µs/b y un tiempo de propagación de 100 ms?

¿Cuánto tarda un byte emitido por una antena en Neuquén en subir hasta un satélite geosíncrono 9 y bajar hasta elsiguiente punto de conmutación en Cipolletti? ¿Cuál es la demora total entre Neuquén y Cipolletti en este caso?

6 Esta velocidad de transmisión haría posible transferir ¡unos 1000 discos DVD completos por segundo!7 La velocidad de la luz es de unos 3x108 m/s, o 300.000 km/s.8 La velocidad del sonido es de unos 300 m/s.9 http://es.wikipedia.org/wiki/Satélite_geosíncrono

Page 4: Introducción a las Redes

Introducción a la Computación – Redes de computadoras 4

¿Cuánto tarda en viajar a la Tierra una foto de 6 megapixels en blanco y negro, tomada por un telescopio en la Luna, siel enlace es de 1 Mb/s?

¿Qué velocidad de transmisión debe tener un enlace con tiempo de propagación de 120 ms para que un bit llegue alotro extremo del enlace en 75 ms?

Protocolo de Internet

Aunque en el pasado los diferentes fabricantes de equipamiento de computación tenían sus propiosconjuntos de tecnologías de redes, que no eran compatibles entre sí, con el tiempo se llegó aestablecer estándares abiertos y públicos para que todas las redes pudieran ser interoperables. Elresultado es lo que hoy conocemos como Internet, que es un soporte general para miles deaplicaciones de red. En Internet (y esto es lo que diferencia a Internet de otras redes que hanexistido anteriormente), las diferentes tecnologías pueden coexistir y conectarse, y dos nodosextremos pueden comunicarse a través de un camino construido en base a muchas tecnologíasdiferentes.

Por ejemplo, un usuario situado en su casa usando una conexión doméstica puede estar utilizandoun enlace de radio en el corto tramo desde su notebook hasta el punto de acceso provisto por elproveedor; éste conmutará los datos transmitidos a través de una línea telefónica hasta la central;desde allí los datos pueden viajar hasta un satélite y bajar en un punto de conmutación lejano,ingresar en un sistema de fibra óptica transoceánico, recorrer otra gran distancia utilizando unvínculo de microondas de radio, volver a ingresar en un sistema de cable de cobre hasta elservidor, etc.

Para poder interconectar todas las diferentes clases de redes, construidas sobre diferentestecnologías, Internet utiliza un formato común para compartir la información, que es el protocoloIP (Internet Protocol).

Un protocolo es un conjunto de reglas que definen el formato y el orden de los mensajes intercambiados entre dos omás entidades que se comunican, así como las acciones tomadas ante la transmisión y/o la recepción de un mensaje, uotro suceso.

Direcciones

Para poder hacer llegar la información a cada nodo terminal o sistema extremo, se necesita antesque nada poder identificar dicho sistema en la red. Para esto se utilizan direcciones, números que seasignan en forma única a cada nodo de la red.

Las direcciones en el protocolo IP (versión 410) son números de 32 bits. En lugar de escribir 32unos y ceros, por supuesto, es más cómodo escribir estas direcciones como cuatro números endecimal, cada uno correspondiendo a un byte de los cuatro que conforman esos 32 bits, y separadoscon puntos.

Así, por ejemplo, un sistema extremo puede recibir por configuración la dirección

11000000101010000000000000000001

que, dividida en cuatro bytes u octetos, separados por puntos, se escribe y se recuerda mejor como192.168.0.1.

Son las interfaces, y no los nodos, quienes reciben las direcciones. En caso de tener más de una

10 Actualmente en todo el mundo se utiliza el protocolo IP versión 4 (IPv4), con direcciones de 32 bits, pero está enproceso de ser reemplazado por IP versión 6 (IPv6), cuyas direcciones son de 128 bits.

Page 5: Introducción a las Redes

Introducción a la Computación – Redes de computadoras 5

interfaz (porque está conectado a más de un enlace), un nodo recibe más de una dirección IP.

Asignación de direcciones

Para que sean globalmente únicas, las direcciones están administradas centralizadamente. Cadaorganización, empresa o entidad, al construir su propia red, solicita a una entidad oficial deInternet11 un bloque de direcciones contiguas (llamado una subred). Ese bloque de direccionescontiguas tiene un cierto prefijo binario; es decir, todas esas direcciones tienen el mismo patróninicial de bits hasta un cierto lugar, contando desde la izquierda. Esto es una consecuencia de laforma como contamos con números binarios. Así, por ejemplo, una organización podría recibir unbloque de direcciones desde

10000010000101010000000000000000

hasta

10000010000101011111111111111111

donde se conservan iguales los primeros 16 bits (en azul), y los restantes bits recorren todas lasposibles combinaciones. Al recibir un bloque de direcciones, la organización ya puede administrarlas direcciones en el bloque, asignándolas a las interfaces de sus nodos de la forma que le convenga.Al asignar direcciones, debe mantener intactos los bits que fueron fijados al momento de recibir elbloque (los bits en azul, llamados parte de subred), pero puede utilizar cualquier combinación paralos restantes bits (parte de host).

Si reescribimos las direcciones anteriores en notación de octetos en decimal separados por puntos,obtenemos las direcciones 130.21.0.0 a 130.21.255.255. Direcciones que pertenecen a este bloqueserán 130.21.0.1, 130.21.0.2, 130.21.8.100, 130.21.15.15, etc.

Dirección de subred

La notación habitual para los bloques de direcciones (o subredes) es acompañar la primera de lasdirecciones de bloque con la cantidad de bits que están fijos. En el ejemplo anterior, la notaciónpara el bloque sería 130.21.0.0/16 (indicando que los primeros 16 bits están fijos). Esta es lallamada dirección de subred.

Para los humanos, manejar las direcciones de 32 bits del protocolo IP resulta mucho más cómodo siel límite entre las partes de subred y de host coincide con el límite entre octetos. No siempre es así,y si queremos traducir a la notación decimal con puntos, en esos casos resulta algo complicado,como en el ejemplo siguiente. Supongamos que la organización recibe el bloque desde la dirección

10101010110100100101000000000000

hasta

10101010110100100101001111111111

donde se conservan iguales los primeros 22 bits (en azul)12. Entonces las direcciones del bloque ennotación decimal con punto serán 170.210.80.0 a 170.210.83.255, y la dirección de subred será170.210.80.0/22. Para las direcciones dentro de este bloque, el tercer octeto únicamente puede valerentre 80 y 83 inclusive, mientras que el cuarto octeto puede tomar cualquier valor entre 0 y 255.

11 La entidad de Internet responsable de la asignación IP para América Latina es LACNIC (http://www.lacnic.net).12 De hecho, éstas son las direcciones que recibió la Universidad del Comahue al ingresar a la Internet en 1994.

Page 6: Introducción a las Redes

Introducción a la Computación – Redes de computadoras 6

Direcciones y nombres

Para poder utilizar los recursos ofrecidos por un servidor es necesario conocer su dirección enInternet, pero para los humanos es sumamente difícil recordar las direcciones. Para facilitar el usode las aplicaciones de red en Internet, está disponible el Servicio de Nombres de Dominio13

(Domain Name System, DNS). El sistema DNS permite traducir nombres simbólicos a direcciones.

Este servicio está implementado por un gran conjunto de servidores de nombres (NS) en diferenteslugares del planeta y con diferentes funciones.

• Los servidores raíz, en la cima de la jerarquía, contienen las direcciones de los NS de losTLD (dominios de máximo nivel, Top-level Domains). Entre éstos, .com, .edu, .org,.mil, .net, .gov, y los propios de los países (como .ar, .fr, etc.).

• Los servidores TLD contienen las direcciones de los NS de cada dominio dentro de sudominio TLD. Por ejemplo, edu.ar, o stanford.edu.

• Cada servidor de dominio contiene información de los nodos dentro de ese dominio, yposiblemente direcciones de NS de subdominios. Así, el servidor de edu.ar contiene ladirección del nodo www.edu.ar y la dirección del NS para el subdominio uncoma.edu.ar.A su vez, el NS para uncoma.edu.ar conoce la dirección del nodo www.uncoma.edu.ar ydel NS para el subdominio fai.uncoma.edu.ar, etc.

• Cada nodo terminal en Internet recibe por configuración la dirección de un NS local (un NSque se encuentra “cercano”, en la red del proveedor o en la de la misma organización). ElNS local tiene la misión de responder a las consultas por nombres, entregando lasdirecciones correspondientes. Si tiene el par (nombre, dirección) en su base de datos, loentrega. Pero como no tiene un conocimiento completo, cuando no tiene esa informaciónrecurre a los demás servidores.

• Cada vez que un nodo terminal, o un NS local, obtienen información de otros servidores, laguardan para consultas futuras en su propia base de datos temporaria o cache.

Una típica consulta hecha a un servidor local por un nodo terminal puede ser de la formanodo.subdominio.dominio.tld. La forma de operación de esta consulta procede averiguando datossobre los dominios de derecha a izquierda, y será la siguiente:

• En primer lugar, el NS local consulta a un servidor raíz, de los cuales existen alrededor deuna veintena en el mundo, obteniendo la dirección del NS del TLD requerido.

• El NS local consulta al NS del TLD obteniendo la dirección del NS para el dominio.

• El NS local consulta al NS del dominio.tld obteniendo la dirección del NS desubdominio.dominio.tld.

• El NS local consulta al NS de subdominio.dominio.tld obteniendo la dirección denodo.subdominio.dominio.tld.

• Finalmente, guarda el par (nodo.subdominio.dominio.tld, dirección) en su cache y entregala dirección requerida al cliente que originó la consulta.

Este mecanismo tiene lugar, en forma casi invisible, cada vez que se utiliza una aplicación de redcualquiera: cada vez que el navegador solicita una página, imagen o un video a un servidor, cadavez que un usuario hace click en la dirección del servidor en una página web, etc.

13 http://es.wikipedia.org/wiki/Domain_Name_System

Page 7: Introducción a las Redes

Introducción a la Computación – Redes de computadoras 7

Paquetes

El protocolo IP especifica que toda pieza de información que sea intercambiada entre dos sistemasextremos en Internet debe viajar encapsulada en un paquete. Un paquete no es otra cosa que losdatos que se quieren comunicar, precedidos por otros datos (llamados encabezado del paquete) quepermiten que la red pueda entregar esos datos a su destinatario. En el encabezado de cada paquetese ubican, entre otros datos importantes, las direcciones IP de los dos sistemas extremos que estáncomunicándose. El paquete de Internet es directamente análogo a una carta enviada por el sistemapostal: los datos se ensobran (se encapsulan) en un sobre (encabezado) donde se escriben lasdirecciones (direcciones IP origen y destino) del remitente y el destinatario (emisor y receptor).

Los paquetes tienen un tamaño máximo, lo que facilita que paquetes de varios orígenes y destinoscompartan un mismo enlace. Cuando los datos que deben enviarse exceden este tamaño (comocuando se transfiere un archivo de algunos MB de tamaño), el flujo de datos se divide en paquetes yse reconstruye a la llegada. Una interacción entre, por ejemplo, un cliente y un servidor, sobreInternet, consiste en un intercambio de varios paquetes en ambos sentidos.

¿Cuál será el tiempo total de transferencia para un paquete de 1.5 MB transmitido por un enlace de 100 Mb/s con untiempo de propagación de 150 ms?

¿Cuánto tiempo tardará en ser transferido un archivo de 50 MB si el enlace y los paquetes son como en la preguntaanterior?

El encabezado es de máxima importancia porque, gracias a las direcciones que transporta, los nodosintermedios pueden encaminar o rutear cada paquete a su destino.

Page 8: Introducción a las Redes

Introducción a la Computación – Redes de computadoras 8

Ruteo

Los nodos intermedios, o routers, deciden por cuál de sus interfaces deben reenviar cada paqueterecibido en base a la dirección destino del paquete y según la información que tienen disponible enuna tabla de reenvío, o tabla de ruteo. La tabla de ruteo consiste en una lista de reglas, o rutas,que especifican por cuál interfaz debe ser reenviado un paquete que debe llegar a un destinodeterminado.

El acto de ruteo llevado a cabo por un nodo intermedio o router se parece a la decisión de un conductor en una rotonda.La tabla de reenvío es análoga al cartel a la entrada de la rotonda.

Como la cantidad de nodos en Internet es enorme, si las tablas de ruteo tuvieran una ruta por cadadirección IP destino, serían inmensas y no cabrían en la memoria de los nodos intermedios orouters. Sin embargo, hay una solución sencilla, que se apoya en el hecho de que las direcciones seasignan en bloques de direcciones contiguas, o subredes: las tablas de ruteo almacenan una rutapor cada subred destino, y no una por cada host destino. De esta forma se reduce el tamaño de lastablas, haciendo posible abordar el problema del ruteo.

Así, cada ruta en la tabla de ruteo será en realidad de la forma (dirección de subred destino →interfaz). Al llegar a cada nodo intermedio o router, los paquetes cuya dirección destino coincidacon la de alguna ruta en la tabla serán reenviados por la interfaz indicada en esa ruta, al siguienterouter, hasta que el paquete llegue a la subred destino. El último router lo entregará al nodo terminal(cliente o servidor) final.

El nodo terminal que reciba el paquete encontrará en el encabezado la dirección del nodo origen yrepetirá el procedimiento en sentido inverso, encapsulando la respuesta en un nuevo paquete. Éstetendrá la anterior dirección origen como nueva dirección destino y viceversa.

Tabla de ruteo

Supongamos que la tabla de ruteo de un nodo intermedio contiene la siguiente información.

Destino Interfaz

20.20.15.0/24 0

10.10.10.0/24 1

20.20.0.0/16 2

0.0.0.0/0 0

Esta tabla contiene tres reglas, que establecen que la red 20.20.15.0/24 se accede mediante lainterfaz 0, la red 10.10.10.0/24 mediante la interfaz 1, y la red 20.20.0.0/16 mediante la interfaz 2.

Page 9: Introducción a las Redes

Introducción a la Computación – Redes de computadoras 9

Además, existe una regla por omisión (o ruta default) 0.0.0.0/0 → 0, que quiere decir que todopaquete cuya ruta sea desconocida (es decir, cuya dirección destino no coincida con ninguna de lasdemás rutas) debe ser reenviado por la interfaz 0.

Cuando aparezca un paquete, el router utilizará la tabla de ruteo para comparar la dirección destinodel paquete con cada una de las rutas conocidas. Para la primera ruta, verificará si los primeros 24bits de la dirección destino coinciden con los de 20.20.15.0; para la segunda, si los primeros 24 bitsde la dirección destino coinciden con los de 10.10.10.0, etc. Es decir, en cada caso se verificará sila parte de subred de la dirección destino puede ser la de la ruta.

Máscaras

La comparación es en realidad una operación lógica AND de bits, aplicando a la dirección destinouna máscara, que es una palabra binaria formada por tantos bits en 1 como diga el prefijo. Así,para la primera ruta, la máscara es

11111111 11111111 11111111 00000000

(con 24 bits en 1 y 8 bits en 0), que también puede escribirse en notación decimal con puntos como255.255.255.0.

Si la dirección destino del paquete es, por ejemplo, 20.20.15.138, al calcular AND bit a bit con lamáscara 255.255.255.0, los últimos 8 bits del resultado serán 0 y se obtendrá la parte de subredpara compararla con la de la ruta:

AND00010100 00010100 00001111 10001010 (20.20.15.138)

11111111 11111111 11111111 00000000 (255.255.255.0)

00010100 00010100 00001111 00000000 (20.20.15.0)

Entonces, otra forma, equivalente, de expresar la tabla de ruteo puede ser ésta:

Destino Máscara Interfaz

20.20.15.0 255.255.255.0 0

10.10.10.0 255.255.255.0 1

20.20.0.0 255.255.0.0 2

0.0.0.0 0.0.0.0 3

• Para un paquete con destino 20.20.15.138, la coincidencia se hallará en la primera regla, yaque los 24 primeros bits de la ruta y de la dirección destino del paquete coinciden, y elpaquete saldrá por la interfaz 0.

• Notemos que para esta dirección destino también existe una coincidencia con la terceraregla, ya que los primeros 16 bits del destino y de la ruta son iguales. Sin embargo, el routersiempre preferirá las rutas más específicas, es decir, las que tienen máscaras más largas.Por eso hemos ordenado la tabla con las máscaras más largas primero.

• Si, por ejemplo, llega un paquete destinado al nodo 10.10.10.8, la coincidencia se encontrará

Page 10: Introducción a las Redes

Introducción a la Computación – Redes de computadoras 10

en la segunda regla, y el paquete saldrá por la interfaz 1.

• Si llega un paquete destinado al nodo 20.20.17.1, la coincidencia se hallará en la terceraregla (no en la primera), y el paquete saldrá por la interfaz 2.

• Si llega un paquete destinado al nodo 20.8.20.1, no se hallarán coincidencias con ningunaruta conocida y se utilizará la ruta default, reenviando el paquete por la interfaz 3.

Algoritmo de ruteo

Podemos, entonces, resumir el algoritmo de ruteo de la siguiente forma:

1. Leer un paquete P

2. Sea P.D = dirección de destino del paquete

3. Sea R la primera regla o ruta en la tabla de ruteo, ordenada descendentemente por longitud de las máscaras

4. Sean R.N la red, R.M la máscara, y R.I la interfaz, de la regla R

5. Computar P.N = P.D AND R.M

6. Si P.N y R.N son iguales

Terminar el algoritmo diciendo que la interfaz de salida es R.I

Si no

Sea R la regla siguiente y volver a 4

Protocolos de ruteo

Queda el problema de cómo se configuran las tablas de ruteo. ¿Quién completa las tablas de ruteocon información correcta para que los paquetes lleguen efectivamente a la subred destino? Y, ¿cómohacer que el camino tomado por los paquetes sea el más conveniente entre todos los posibles?

Un administrador puede escribir directamente una tabla de ruteo, pero cuando la interconexión delas redes es muy compleja, o dinámica, esto no es practicable. En cambio, las tablas de ruteo sonelaboradas cooperativamente y en forma automática por una comunidad de routers, comunicándoseentre sí la información de las redes que tienen directamente conectadas. Al recibir información delas redes conectadas a sus routers vecinos, los routers aprenden cómo llegar a esas otras redesmediante esos vecinos. A su vez, propagan esta información de rutas a los demás vecinos, y éstos alos suyos, etc.

Luego de una cantidad de pasos de propagación de rutas, todos los routers de una comunidadterminan con una tabla de ruteo completa. Esta actividad es posible gracias a un protocolo de ruteohablado por los routers. Este protocolo no transporta datos de aplicaciones, como IP, sinoexclusivamente información de rutas. Las rutas comunicadas son calificadas con un costo, oindicación de cuándo una ruta es preferible a otra. Cuando existen dos caminos para llegar a una redremota, los routers comparan estos costos para poder tomar una decisión automáticamente.