Lock in $30 Savings on PRO—Offer Ends Soon! ⏳

Ayudantía 9 Redes de Computadores (Stgo, 2011-1)

Gonzalo Correa
November 13, 2011

Ayudantía 9 Redes de Computadores (Stgo, 2011-1)

Ayudantía 9 del ramo Redes de Computadores dictado el primer semestre del 2011 en el campus Santiago San Joaquín de la USM

Gonzalo Correa

November 13, 2011
Tweet

More Decks by Gonzalo Correa

Other Decks in Education

Transcript

  1. Temas • Capa de Red – Servicios • VC y

    Red de Datagramas • IP – IPv4 – Fragmentación – Addressing y Subredes ILI-256, Redes de Computadores 2
  2. Capa de Red • Ahora veremos la capa de red

    (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
  3. Capa de Red • Forwarding (Reenvío) – Transferir un paquete

    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
  4. Tener Presente • Las tablas de forwarding se configuran automáticamente

    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
  5. Capa de Red • Tanto forwarding como routing, son las

    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
  6. Servicios de la Capa de Red • Dos perspectivas: Servicios

    entregados a un host emisor, y servicios entregados a un flujo de paquetes entre fuente y destino ILI-256, Redes de Computadores 8
  7. Servicios de la Capa de Red • Servicios entregados a

    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
  8. Servicios de la Capa de Red • Servicios entregados a

    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
  9. Servicios de la Capa de Red • Servicios entregados a

    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
  10. Servicios de la Capa de Red • Hay un gran

    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
  11. VCT y DN • Como con la capa de transporte

    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
  12. VCT y DN • Ambos tipos de servicios de conexión

    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
  13. Virtual-Circuit Networks • VC ocupa signaling messages para realizar las

    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
  14. Datagram Networks ILI-256, Redes de Computadores 20 Rango direcciones destino

    Interfaz 11001000 00010111 00010000 00000000 0 Hasta 11001000 00010111 00010111 11111111 11001000 00010111 00011000 00000000 1 Hasta 11001000 00010111 00011000 11111111 11001000 00010111 00011001 00000000 2 Hasta 11001000 00010111 00011111 11111111 Otro 3 Prefix Match Interfaz 11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 Otro 3
  15. Datagram Networks ILI-256, Redes de Computadores 21 Prefix Match Interfaz

    11001000 00010111 00010 0 11001000 00010111 00011000 1 11001000 00010111 00011 2 Otro 3 11001000 00010111 00011000 10101010 11001000 00010111 00010110 10100001
  16. A continuación… • Ahora, daremos un salto temporal y no

    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
  17. Internet Protocol • Veremos como el forwarding y el addressing

    son llevados a cabo en Internet. • Para ello, analizaremos el protocolo IP en su versión 4. ILI-256, Redes de Computadores 24
  18. Internet Protocol ILI-256, Redes de Computadores 25 forwarding table Routing

    protocols •path selection •RIP, OSPF, BGP IP protocol •addressing conventions •datagram format •packet handling conventions ICMP protocol •error reporting •router “signaling” Transport layer: TCP, UDP Link layer Physical layer
  19. Datagrama IPv4 Version (4 bits) Header length (4 bits) Tipo

    de Servicio Tamaño Datagrama [bytes] (16 bits) Identificador (16 bits) Flags Fragmentation Offset (13 bits) TTL Protocolo de la capa superior Header Checksum Dirección IP Fuente (32 bits) Dirección IP Destino (32 bits) Opciones Datos ILI-256, Redes de Computadores 26 32 bits
  20. Datagrama IPv4 • El campo “protocolo de la capa superior”

    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
  21. Fragmentación • Recordar que la máxima cantidad de datos que

    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
  22. Fragmentación • Cuando un datagrama supera el MTU de un

    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
  23. Fragmentación ILI-256, Redes de Computadores 30 ID =x offset =0

    fragflag =0 length =4000 ID =x offset =0 fragflag =1 length =1500 ID =x offset =185 fragflag =1 length =1500 ID =x offset =370 fragflag =0 length =1040 Fragmentación
  24. Addressing en IPv4 • Cuando un host quiere enviar un

    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
  25. Addressing en IPv4 • Direcciones IP – 4 bytes (32

    bits) – 2^32 direcciones posibles – Escritas en notación decimal, separadas por byte • 123.9.47.216 ILI-256, Redes de Computadores 32
  26. Addressing y Subredes • Recordar – El formato de las

    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
  27. DHCP • Una vez que una organización tiene un bloque

    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
  28. DHCP • Las direcciones pueden ser asignadas – Estáticamente –

    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
  29. DHCP ILI-256, Redes de Computadores 38 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4

    223.1.2.9 223.1.2.1 223.1.3.2 223.1.3.1 DHCP server arriving DHCP client needs address in this network 223.1.2.2 223.1.3.27
  30. DCHP • Vamos a ver a Wireshark como funciona todo

    hasta ahora  ILI-256, Redes de Computadores 40
  31. NAT • Actualmente, son muy utilizadas las subredes SOHO (Small

    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
  32. NAT ILI-256, Redes de Computadores 43 10.0.0.1 10.0.0.2 10.0.0.3 S:

    10.0.0.1, 3345 D: 128.119.40.186, 80 1 10.0.0.4 138.76.29.7 NAT translation table WAN side addr LAN side addr 138.76.29.7, 5001 10.0.0.1, 3345 …… …… S: 128.119.40.186, 80 D: 10.0.0.1, 3345 4 S: 138.76.29.7, 5001 D: 128.119.40.186, 80 2 S: 128.119.40.186, 80 D: 138.76.29.7, 5001 3
  33. NAT • Como el header de puerto es de 16

    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
  34. ICMP • Usado por los hosts y router para comunicar

    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
  35. Algoritmos de Enrutamiento • La idea es encontrar la mejor

    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
  36. Tipos de Algoritmos de Enrutamiento • Global – Conoce toda

    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
  37. Tipos de Algoritmos de Enrutamiento • Otros tipos de clasificación

    – Estático/Dinámico – Sensibles a la congestión (load-sensitive) ILI-256, Redes de Computadores 52
  38. Link-State • Toda la red es conocida • En sí,

    este es el algoritmo de Dijkstra – Cálculo del camino más corto desde un nodo u a todos los demás nodos de la red ILI-256, Redes de Computadores 53
  39. Link-State ILI-256, Redes de Computadores 54 Step 0 1 2

    3 4 5 N' u ux uxy uxyv uxyvw uxyvwz D(v),p(v) 2,u 2,u 2,u D(w),p(w) 5,u 4,x 3,y 3,y D(x),p(x) 1,u D(y),p(y) ∞ 2,x D(z),p(z) ∞ ∞ 4,y 4,y 4,y u y x w v z 2 2 1 3 1 1 2 5 3 5
  40. Distance-Vector • Usa información de toda la red • Asíncrono,

    iterativo y distribuido • Utilizaremos la fórmula de Bellman-Ford para calcular los vectores distancia ILI-256, Redes de Computadores 55
  41. DS: Poisoned Reverse • Para solucionar el problema de cuenta

    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
  42. RIP • RIP es usado en routing Intra AS, es

    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
  43. RIP ILI-256, Redes de Computadores 62 Destination Network Next Router

    Num. of hops to dest. w A 2 y B 2 z B 7 x -- 1 …. …. .... w x y z A C D B
  44. RIP ILI-256, Redes de Computadores 63 Destination Network Next Router

    Num. of hops to dest. w A 2 y B 2 z A 5 x -- 1 …. …. ....
  45. RIP • Los routers que implementan RIP intercambian mensajes cada

    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
  46. Broadcast • Hasta ahora hemos visto que solo enviamos mensajes

    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
  47. Flooding Sin Control • Idea: Cuando un paquete de tipo

    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
  48. Flooding con Control • La opción para evitar tener un

    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
  49. Flooding con Control • Reverse Path Forwarding – Cuando un

    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
  50. Flooding con Control • Reverse Path Forwarding (cont.) – En

    este tipo de flooding, no ocurre broadcast storm ni looping – (Ejemplo) ILI-256, Redes de Computadores 70
  51. Spanning-Tree • Aún está el problema de que se envían

    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
  52. Spanning-Tree • Para construir un spanning tree, se elige un

    nodo central, llamado core o rendezvous point. • Posteriormente, los nodos envían mensajes unicast tree-join al core. ILI-256, Redes de Computadores 72
  53. Para finalizar… • La última parte trata sobre multicast. •

    Consiste en enviar un paquete a un subgrupo de nodos de una red. • Más que eso… No es necesario  ILI-256, Redes de Computadores 74