(Capa 3) • En esta capa, se implementa enlace lógico entre hosts • Recordar que los routers si trabajan en esta capa, para poder realizar routing o forwarding. • Otro recordatorio: Los paquetes en este nivel se llaman datagramas 4 ILI-256, Redes de Computadores
desde un enlace entrante a un enlace saliente (en un solo router!). Se realiza a través de tablas de forwarding. • Routing (Encaminamiento) – Determinar el camino que tomará un paquete desde fuente a destino. Esto involucra a todos los routers de una red, y se determina con ciertos algoritmos de encaminamiento (routing algorithms). ILI-256, Redes de Computadores 5
con algoritmos – Centralizados – Distribuidos • Las tablas de todos los routers son actualizadas a través de mensajes de protocolos de routing. ILI-256, Redes de Computadores 6
dos funciones principales de esta capa • En otras redes, a veces se ocupa una tercera función: connection setup. – Similar a Handshake de TCP ILI-256, Redes de Computadores 7
host emisor – Entrega asegurada: El paquete eventualmente llegará a destino – Entrega asegurada con límite de retraso: Además de asegurar que el paquete llegará, asegura que llegará en un cierto límite de tiempo desde un host al otro. ILI-256, Redes de Computadores 9
un flujo de paquetes – Entrega en orden: Los paquetes llegan en el orden que fueron enviados – Ancho de banda mínimo asegurado: Este servicio emula un enlace de un bit rate específico. Si el host transmite bits a una velocidad menor a la especificada, no habrá packet loss ni demoras más allá de los límites – Fluctuaciones máximas aseguradas: El espacio (temporal) entre la transmisión de dos paquetes, será igual a la separación (temporal) con que serán recibidos en el destino. ILI-256, Redes de Computadores 10
un flujo de paquetes (cont.) – Seguridad: Encriptación de datos, con las llaves conocidas solo por los hosts fuente y destino. Esto asegura a todos los datagramas, sin importar el contenido (TCP/UDP). Adicionalmente, este servicio entrega integridad en los datos, y autentificación de fuente. ILI-256, Redes de Computadores 11
detalle: Estos son los servicios que una capa de red en general puede entregar • Los servicios reales que entrega internet, son MUCHO MENORES • Veremos para comparar, las redes tipo ATM con sus variaciones CBR y ACR ILI-256, Redes de Computadores 12
de internet, la capa de red puede entregar dos tipos de servicios: con o sin conexión • Muchos parecidos a lo visto en capa de transporte con UDP y TCP – Handshake en caso de TCP (connection-oriented service) – Sin handshake en caso de UDP (connectionless service) • Pero hay diferencias adicionales ILI-256, Redes de Computadores 15
son entre hosts • Las arquitecturas de red actuales entregan uno de los dos servicios, pero no ambos. – Servicio con conexión: Redes de Circuito Virtual – Servicio sin conexión: Redes de Datagramas • El servicio con conexión esta implementado tanto en routers como en end systems. ILI-256, Redes de Computadores 16
configuraciones necesarias. Estos mensajes son intercambiados en protocolos llamados signaling protocols • Notar que router mantienen información sobre el estado de la conexión. – Tabla de VC para traducción • Importante ver que es diferente al handshake de TCP – En VC los routers están involucrados en la configuración de la conexión, como también en su estado… están al tanto de todos los VCs que pasan! ILI-256, Redes de Computadores 18
veremos la sección 4.3 del libro (“What’s inside a router?”) • Es importante que lo revisen si quieren entender en detalle los delays y como funciona a bajo nivel el sistema de forwarding ILI-256, Redes de Computadores 22
indica numéricamente que tipo de protocolo de transporte se está usando. Esto une la capa de red con la de transporte, como los números de puerto de la capa de transporten la unen con la capa de aplicación • Recordar: Al llevar segmento TCP, el paquete lleva (aprox) 40 bytes de header. ILI-256, Redes de Computadores 27
un paquete podía llevar, era el MTU. – Acá ocuparemos ese término para el tamaño máximo de un frame de la capa de link. • Normalmente, MTU es 1.500 bytes. – Gran limitación! • Como generalmente un datagrama pasa por varios enlaces, puede que en uno sobrepase el MTU ILI-256, Redes de Computadores 28
enlace, entonces se realiza fragmentación. – Partir los datos del datagrama en trozos pequeños, para encapsularlos en nuevos datagramas más pequeños, cada uno en un frame distinto • Cuando hay fragmentación, el re-armado de los datagramas se realiza en los end systems. ILI-256, Redes de Computadores 29
datagrama, lo debe hacer por un enlace • El límite entre el enlace y el host se llama interfaz. • Necesitamos identificar cada interfaz de manera única! – Cada interfaz tiene su propia dirección IP ILI-256, Redes de Computadores 31
direcciones IP es • a.b.c.d/x – Antes se ocupaba un sistema de asignación de IPs llamado “classful addressing”, en donde se asignaban 8, 16 o 24 bits para la dirección de subred • Por cada bloque, existen 2 direcciones reservadas – 255.255.255.255 Broadcast – 0.0.0.0 Identificación local (This Host) ILI-256, Redes de Computadores 34
de direcciones, ahora hay que asignarlas a los hosts dentro de la subred • Esto, puede realizarse de manera manual, pero es mucho más fácil automatizar las cosas • Para ello, existe DCHP: Permitir que un host obtenga (y se le asigne) una dirección IP de manera automática. ILI-256, Redes de Computadores 36
Temporalmente • DHCP además ofrece a los hosts conocer su máscara de subred, el default gateway, y la dirección del DNS local. • Como DHCP automatiza el proceso de conectar un host a una red, se dice que este protocolo es Plug-and-Play ILI-256, Redes de Computadores 37
Oficce, Home Office) • Hasta ahora, el ISP nos debería entregar un rango de direcciones IP para poder asignar a los dispositivos nuestra subred • Que pasa si aumenta la cantidad de dispositivos, y el ISP tiene asignadas las direcciones IP contiguas a nuestro bloque asignado? – Colaaapsoooo!! • En la realidad esto no sucede gracias a NAT ILI-256, Redes de Computadores 42
bits, tenemos un máximo de 65356 conexiones simultaneas desde una sola dirección IP! • Problema: Host detrás de NAT está escondido para el exterior. • Solución: UPnP (Universal Plug and Play) – El host puede solicitar una configuración específica en la tabla NAT del router ILI-256, Redes de Computadores 44
información de la capa de red • Generalmente usado para errores • Parte de IP, pero en la arquitectura, está sobre IP! – Como TCP o UDP, los mensajes ICMP viajan como datos en el datagrama IP • ping y traceroute se basan en ICMP ILI-256, Redes de Computadores 46
ruta para enviar paquetes desde un emisor a un receptor • Denominaremos al router fuente y router destino como los routers por default del emisor y receptor respectivamente (first-hop routers) • El problema entonces, es hallar la ruta entre ambos routers • Usaremos grafos para representar las redes ILI-256, Redes de Computadores 49
la red – Conocidos normalmente como Link-State (LS) Algorithms, porque deben conocer los costos de todos los links en la red • Decentralizado – Iterativo y distribuido – En principio, un nodo solo conoce los costos asociados a los links que tiene – Costos son re calculados de acuerdo a la información entregada por otros nodos – Veremos un algoritmo de este tipo: Vector-Distancia ILI-256, Redes de Computadores 51
a infinito, se ocupa la técnica de “Poisoned Reverse” • Z le mentira a Y sobre su enlace con X, diciéndole que el costos es infinito! • Cuando realmente el costo directo a X sea menor a través de Y, Z le informará del update a Y. • Ahora, tengan fe: Esto, igual no soluciona el problema por completo. ILI-256, Redes de Computadores 58
decir, de manera interna en sistemas autónomos. • Los sistemas autónomos, son grupos de routers administrados por una misma organización (ISP, Universidad, etc.) • Este protocolo es de tipo vector-distancia, muy similar al algoritmo que vimos. • En vez de ocupar distancia, ocupa saltos (hops), que es la medida de cuantas subredes recorre el camino mas corto desde un router a una subred de destino, incluyéndola ILI-256, Redes de Computadores 60
30 segundos, usando UDP (que?! :S). – RIP es implementado como un protocolo de la capa de aplicación, corriendo sobre UDP. • Si un router no escucha nada de un vecino después de 180 segundos, asume que el vecino murió o el enlace se corto, actualizando su tabla de routing y anunciando a sus vecinos. ILI-256, Redes de Computadores 64
a un solo destinatario: unicast. • Pero, si queremos enviar a multiples destinatarios? – N-way-unicast • Pero hay acercamientos mejores! ILI-256, Redes de Computadores 66
broadcast llega a un nodo, este genera una copia para cada vecino que tiene, y las envía • Problema: Grafos con ciclos generarían un flujo de paquetes infinito! – Paquetes se empezarían a multiplicar en cada nodo – Esto se llama “broadcast storm” ILI-256, Redes de Computadores 67
flujo infinito de paquetes, es elegir cuando realizar o no flooding. • Sequence-number-controlled flooding – A los paquetes se les agrega la dirección de fuente y un número de secuencia de broadcast – Cada nodo mantiene una lista de los paquetes a los que ha hecho broadcast ILI-256, Redes de Computadores 68
router recibe un paquete, analiza la dirección de fuente. – Si el paquete llegó por el link que está en el camino más corto hacia la fuente, lo transmite. • Solo se necesita saber si el vecino está en la ruta más corta! – El paquete es descartado si esto no se cumple, o si ya recibió una copia del mismo paquete, cumpliendo la condición de arriba. ILI-256, Redes de Computadores 69
paquetes innecesarios. • Para evitarlo, usamos un Spanning Tree, que es un grafo – Conexo – Sin ciclos – Contiene a todos los nodos • En si, usaremos un spanning tree que considera las rutas con menor costo – Minimum Spanning Tree ILI-256, Redes de Computadores 71
nodo central, llamado core o rendezvous point. • Posteriormente, los nodos envían mensajes unicast tree-join al core. ILI-256, Redes de Computadores 72