Descarga la aplicación para disfrutar aún más
Vista previa del material en texto
TD4 2022TD4 2022 Objetivos ▪ Entender los conceptos detrás de los servicios de la capa de red, focalizando en el plano de datos: • Modelos de servicio del nivel de red • Reenvío (forwarding) vs. ruteo (routing) • Cómo funciona un router • Direccionamiento • Arquitectura de Internet ▪ Instanciación e implementación en Internet • El protocolo IP • NAT • Middleboxes 3 TD4 2022TD4 2022 Servicios del nivel de red ▪ Transporte de segmentos entre un host emisor y un host receptor • emisor: encapsula segmentos dentro de datagramas, luego pasados al nivel de enlace • receptor: entrega segmentos al protocolo del nivel de transporte ▪ Los protocolos del nivel de red están en todos los dispositivos de Internet (hosts y routers) ▪ Los routers: • Inspeccionan el header de todos los datagramas IP en circulación en sus interfaces • Trasladan datagramas desde puertos de entrada hacia puertos de salida aplicación transporte red enlace física aplicación transporte red enlace física red enlace física red enlace física red enlace física red enlace física red enlace física 4 TD4 2022TD4 2022 Funciones esenciales del nivel de red Funciones del nivel de red ▪ Reenvío (forwarding): trasladar paquetes desde un enlace de entrada hacia el enlace de salida adecuado Analogía: viajes en auto ▪ Forwarding: proceso de atravesar una intersección vial ▪ Routing: proceso de planificar el viaje desde el origen hasta el destino▪ Ruteo (routing): determinar la ruta que toman los paquetes desde el origen hasta el destino • Computada por algoritmos de ruteo 5 TD4 2022TD4 2022 Plano de datos y plano de control Plano de datos ▪ Función local de cada router ▪ Determina cómo se redirecciona un datagrama desde un puerto de entrada hacia uno de salida Plano de control ▪ Función global de la red ▪ Determina cómo se encamina un datagrama entre distintos routers a lo largo de la red 1 2 3 0111 valores en el header del paquete ▪ Dos enfoques: • Algoritmos de ruteo tradicionales: implementados en los routers • Software-defined networking (SDN): implementado en servidores remotos 6 TD4 2022TD4 2022 Plano de control en cada router Algoritmos de ruteo distribuidos, implementados en todos los routers e interactuando entre sí algoritmo de ruteo plano de datos plano de control 1 2 0111 valores en el header del paquete 3 7 tabla de forwarding local TD4 2022TD4 2022 Plano de control vía SDN Un controlador remoto computa e instala las tablas de forwarding en los routers controlador remoto CA CA CA CA CA valores en el header del paquete 8 plano de datos plano de control 1 2 0111 3 TD4 2022TD4 2022 Modelo de servicio del nivel de red 9 ▪En Internet, el nivel de red ofrece un servicio best-effort ▪ Sin garantías de: ■ Entrega de datagramas ■ Ordenamiento y/o tiempos de entrega ■ Capacidad disponible para flujos punto a punto ▪ Otras arquitecturas de redes implementan modelos de servicio más sofisticados (e.g. ATM) ▪Entonces, ¿por qué un servicio best-effort? ■ Simplicidad; facilidad de adopción e instalación ■ La combinación con las funcionalidades de los protocolos de nivel superior demostró buenos resultados (e.g. performance adecuada para apps de streaming, videoconferencias, etc.) TD4 2022TD4 2022 10 Arquitectura de routers TD4 2022TD4 2022 Arquitectura de un router: vista general Vista de alto nivel de la arquitectura de un router matriz de conmutación (fabric) procesador de ruteo puertos de entrada (input ports) puertos de salida (output ports) forwarding plano de datos (hardware) opera en el orden de los nanosegundos ruteo, administración plano de control (software) opera en el orden de los milisegundos 11 TD4 2022TD4 2022 Funciones de los puertos de entrada switch fabric terminación de línea capa física: recepción de bits protocolo de enlace capa de enlace: e.g. Ethernet búsqueda, forwarding encolamiento switching descentralizado: ▪ Utilizando los valores del header, buscar el puerto de salida en la tabla de forwarding copiada en la memoria del puerto de entrada ▪ Se produce encolamiento si los datagramas llegan más rápido que la tasa de forwarding hacia la matriz de conmutación 12 TD4 2022TD4 2022 Funciones de los puertos de entrada 13 protocolo de enlace capa de enlace: e.g. Ethernet terminación de línea capa física: recepción de bits búsqueda, forwarding encolamiento switching descentralizado: ▪ Utilizando los valores del header, buscar el puerto de salida en la tabla de forwarding copiada en la memoria del puerto de entrada ▪ Destination-based forwarding: tradicional; sólo utiliza la dirección IP destino ▪ Forwarding generalizado: utiliza otros valores del header switch fabric TD4 2022TD4 2022 Destination-based forwarding 14 Rango de direcciones destino 11001000 00010111 0001000 00000000 A 11001000 00010111 0001000 11111111 11001000 00010111 0001100 00000000 A 11001000 00010111 0001100 11111111 11001000 00010111 0001101 00000000 A 11001000 00010111 0001111 00000000 en otro caso Interfaz 0 1 2 3 TD4 2022TD4 2022 Coincidencia de prefijo más largo al buscar la entrada en la tabla de forwarding para una dirección destino dada, utilizar la del prefijo más largo que coincida con dicha dirección coincidencia de prefijo más largo Rango de direcciones destino 11001000 00010111 00010 11001000 00010111 00011000 11001000 00010111 00011 en otro caso Interfaz 0 1 2 3 *********** *********** ******** 11001000 00010111 00011000 10101010 ejemplos: ? ? 11001000 00010111 00010110 10100001 15 0 1 TD4 2022TD4 2022 ▪ La razón detrás del uso de esta estrategia radica en cómo funciona el direccionamiento en Internet (lo veremos más adelante). ▪ Típicamente, esto se implementa con un hardware especializado–TCAMs (Ternary Content Addressable Memories) • Al recibir una dirección IP de 32 bits, la TCAM obtiene la respuesta en un ciclo de clock (independientemente del tamaño de la tabla) • Por ejemplo, los routers Catalyst de Cisco pueden alojar alrededor de 1 millón de entradas de la tabla en una TCAM Coincidencia de prefijo más largo 16 TD4 2022TD4 2022 ▪ Objetivo: trasladar paquetes desde los enlaces de entrada a los enlaces de salida que les corresponden Matrices de conmutación matriz de conmutación N puertos de entrada N puertos de salida . . . . . . ▪ tasa de conmutación: tasa a la cual es posible conmutar paquetes desde las entradas hacia las salidas • Se mide como múltiplo de la tasa de transmisión de los enlaces de entrada • Con N entradas, es deseable una tasa de conmutación de N veces la tasa de transmisión R R R R (tasa NR, idealmente) 17 TD4 2022TD4 2022 busmemoria mem red de interconexión ▪ Tres clases principales: 18 ▪ Objetivo: trasladar paquetes desde los enlaces de entrada a los enlaces de salida que les corresponden Matrices de conmutación ▪ tasa de conmutación: tasa a la cual es posible conmutar paquetes desde las entradas hacia las salidas • Se mide como múltiplo de la tasa de transmisión de los enlaces de entrada • Con N entradas, es deseable una tasa de conmutación de N vecesla tasa de transmisión TD4 2022TD4 2022 Routers de primera generación (1980s - e.g. Cisco): ▪ Eran computadoras tradicionales; el switching se hacía por CPU ▪ El paquete se copiaba a la memoria RAM (interrupciones al CPU ante la llegada de paquetes) ▪ La velocidad queda limitada por el ancho de banda de la memoria Conmutación en memoria puerto de entrada (e.g., Ethernet) memoria puerto de salida (e.g., Ethernet) bus 19 TD4 2022TD4 2022 ▪Los paquetes se transmiten a los puertos de salida sin intervención del procesador ▪Etiqueta interna con el puerto de salida para viajar por el bus; todos los puertos reciben el paquete ▪Velocidad limitada por el ancho de banda del bus ▪Suele operar bien para routers de redes locales Conmutación a través de un bus 20 TD4 2022TD4 2022 ▪ Crossbar: 2N buses que conectan N puertos de entrada con N puertos de salida (figura: N = 3) ▪ Los puntos de cruce pueden abrirse o cerrarse por un controlador ▪ Al llegar paquetes, el controlador cierra el punto de cruce apropiado y coloca el paquete en el bus ▪ Admiten paralelismo: transmisión de múltiples paquetes en simultáneo Conmutación a través de red de interconexión 3x3 crossbar 3x3 crossbar 21 TD4 2022TD4 2022 ▪ Se produce encolamiento en los puertos de entrada si la matriz de conmutación es más lenta que los puertos de entrada combinados • Esto genera demoras y posibles pérdidas por overflow de buffers Encolamiento en puertos de entrada contención: sólo puede transferirse un paquete rojo (mismo puerto) el paquete rojo inferior queda bloqueado matriz de conmutación ▪ Head-of-Line (HOL) blocking: el paquete encolado al frente no permite que los demás avancen 22 el paquete verde experimenta HOL blocking matriz de conmutación TD4 2022TD4 2022 Encolamiento en puertos de salida t0: se conmutan paquetes a los puertos de salida matriz de conmutación 23 ▪ Se produce encolamiento cuando los datagramas llegan más rápido que la tasa de transmisión del enlace ▪ Política de drop: decidir cuáles paquetes descartar si no hay lugar disponible ▪ Política de scheduling: determinar cuáles paquetes en la cola se van a transmitir primero t1 matriz de conmutación TD4 2022TD4 2022 24 El protocolo IP TD4 2022TD4 2022 El nivel de red en Internet Funciones del nivel de red: Protocolo IP • Formato de datagrama • Direccionamiento Protocolo ICMP • Manejo de errores • Señalización de routers nivel de transporte: TCP, UDP nivel de enlace nivel físico nivel de red tabla de forwarding Algoritmos de selección de rutas: Implementados en • Protocolos de ruteo (OSPF, BGP) • Controlador SDN 25 TD4 2022TD4 2022 Formato del datagrama IP ver longitud 32 bits payload (longitud variable; usualmente segmento TCP o UDP) ID - 16 bits checksum TTL dirección IP origen long. header ToS flags offset fragmento proto dirección IP destino opciones (opcional) número de versión de IP longitud del header en bytes protocolo del nivel superior (e.g., TCP o UDP) longitud del datagrama completo en bytes TTL: hops disponibles (decrementado en cada router) ▪ 20 bytes (TCP) ▪ 20 bytes (IP) ▪ = 40 bytes (+ overhead del nivel de app) overhead e.g., timestamp, registro de ruta fragmentación checksum del header longitud máxima: 64 KB típicamente ≤ 1500 bytes 26 tipo de servicio ▪ diffserv (0:5) ▪ ECN (6:7) TD4 2022TD4 2022 ▪ Dirección IP: identificador de 32 bits asociado con cada interfaz de un host o router ▪ Interfaz: conexión entre un host/router y un enlace físico • Los routers suelen tener varias • Los hosts suelen tener una o dos (e.g., Ethernet -cableada- y/o 802.11, WiFi -inalámbrica-) Direccionamiento IP 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2223.1.3.1 223.1.3.27 223.1.1.1 = 11011111 00000001 00000001 00000001 223 1 11 notación dot-decimal: 27 TD4 2022TD4 2022 Direccionamiento IP 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2223.1.3.1 223.1.3.27 las interfaces Ethernet se conectan vía switches las interfaces WiFi se conectan vía estaciones base (access points) Por el momento no nos vamos a detener en cómo se interconectan las interfaces 28 TD4 2022TD4 2022 Subnets 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2223.1.3.1 223.1.3.27 ▪Sub-red (subnet) • Conjunto de interfaces que pueden comunicarse entre sí sin atravesar un router red con 3 subnets distintas ▪Estructura en direcciones IP • Subnet: los dispositivos en la misma subnet comparten los bits más significativos de la dirección IP • Host: los bits menos significativos remanentes 29 TD4 2022TD4 2022 Subnets 223.1.1.1 223.1.1.2 223.1.1.3 223.1.1.4 223.1.2.9 223.1.2.2 223.1.2.1 223.1.3.2223.1.3.1 223.1.3.27 Definición de subnets ▪Si “desconectamos” cada interfaz de su host/router, obtenemos “islas” de redes aisladas unas de otras ▪Cada una de estas redes es una subnet máscara de red: /24 (24 bits más significativos: porción de subnet de la dirección IP) subnet 223.1.3.0/24 subnet 223.1.1.0/24 subnet 223.1.2.0/24 30
Compartir