Aspectos avanzados de la arquitectura TCP/IP1 Capítulo 3 Aspectos avanzados de la arquitectura TCP/IP Departamento de Tecnología Electrónica Algunas de las transparencias tienen copyright: Redes de computadoras: Un enfoque descendente 5 th edition. Jim Kurose, Keith Ross Addison-Wesley, Abril 2009.
2 Tema 3: Aspectos avanzados de la arquitectura TCP/IP r Objetivos: m Entender los principios avanzados tras los servicios de la capa de red: Traducción de direcciones Enrutamiento Control de errores en la capa de red Configuración dinámica de direcciones en IPv4 IPv6. m Entender el control de la congestión en TCP Aspectos avanzados de la arquitectura TCP/IP
3 Tema 3. Aspectos avanzados de la arquitectura TCP/IP r 3.1 Control de errores en IPv4: ICMP r 3.2 Configuración dinámica de direcciones en IPv4: DHCP r 3.3 Traducción de direcciones: NAT r 3.4 Enrutamiento en internet m RIP m OSPF m BGP r 3.5 Control de la congestión en TCP r 3.6 IP versión 6 Aspectos avanzados de la arquitectura TCP/IP
4 Tema 3. Aspectos avanzados de la arquitectura TCP/IP Aspectos avanzados de la arquitectura TCP/IP r 3.1 Control de errores en IPv4: ICMP r 3.2 Configuración dinámica de direcciones en IPv4: DHCP r 3.3 Traducción de direcciones: NAT r 3.4 Enrutamiento en internet m RIP m OSPF m BGP r 3.5 Control de la congestión en TCP r 3.6 IP versión 6
5 ICMP: Internet Control Message Protocol r Utilizado por hosts y routers para comunicar información del nivel de red m Informe de errores: host, red, puerto o protocolo inalcanzable m Avisos de los routers o los receptores r Funcionamiento sobre IP: m Los mensajes ICMP van en datagramas IP (¡pero ICMP no es un protocolo de transporte!) r Todos los nodos que usen IP deben implementar ICMP r Los mensajes ICMP se crean solo para el primer fragmento IP Aspectos avanzados de la arquitectura TCP/IP
6 r Formato de mensaje m Los mensajes ICMP van en datagramas IP Campo Protocolo = 1 en la cabecera IP Dir. IP fuente = host que manda el mensaje ICMP Tipo Código Descripción 0 0 Respuesta de eco (ping) 3 0 Red inalcanzable 3 1 Host inalcanzable 3 2 Protocolo inalcanzable 3 3 Puerto inalcanzable 5 0 Redireccionamiento 8 0 Petición de eco (ping) 11 0 TTL excedido Aspectos avanzados de la arquitectura TCP/IP ICMP: Internet Control Message Protocol
7 r Ping m envía un paquete de datos y espera la respuesta de un paquete de contestación m se basa en mensajes ICMP tipo 8 y 0 m Funciones: Comprobar la conectividad de un host Ping envía los paquetes con números únicos de secuencia y notifica el número de secuencia del mensaje de respuesta: –Detección de paquetes duplicados, reordenados o eliminados Ping utiliza checksums en cada paquete: –Detección de paquetes corruptos Ping permite calcular el RTT (Round Trip Time) Aspectos avanzados de la arquitectura TCP/IP ICMP: Internet Control Message Protocol
8 r Ping Solicitud de Eco y Respuesta a solicitud de Eco 1 byte 1 byte 2 bytes | Tipo | Código | Checksum | | Id | Número de Secuencia | Tipo: 8 (Solicitud de Eco) o 0 (Respuesta a solicitud de Eco) Código: 0 Id: número de identificación (opcional), típicamente se usa como número de sesión Número de secuencia (opcional) Aspectos avanzados de la arquitectura TCP/IP ICMP: Internet Control Message Protocol
9 r Ping Uso: ping [-t] [-a] [-n cuenta] [-l tamaño] [-f] [-i TTL] [-v TOS] [-r cuenta] [-s cuenta] [[- j lista-host] | [-k lista-host]] [-w tiempo de espera] nombre-destino Opciones: -t Ping al host especificado hasta que se pare -a Resolver direcciones en nombres de host -n cuenta Número de peticiones eco para enviar. -l tamaño Enviar tamaño del búfer. -f Establecer No fragmentar el indicador en paquetes. -i TTL Tiempo de vida. -v TOS Tipo de servicio. -r cuenta Ruta del registro para la cuenta de saltos. -4 Restringe las direcciones IP a IPv4. -6 Restringe las direcciones IP a IPv6. -k lista-host Restringir la ruta de origen a lo largo de la lista- host. -w tiempo de espera Tiempo de espera en milisegundos para esperar cada respuesta. Aspectos avanzados de la arquitectura TCP/IP ICMP: Internet Control Message Protocol
10 r Tracert (Trace route) m El emisor manda peticiones de eco al destino En el primero, TTL =1 En el segundo, TTL=2, etc. m Cuando el enésimo datagrama llega al enésimo router: El router descarta el datagrama Manda al emisor un mensaje ICMP (tipo 11, código 0) El mensaje incluye la IP del router o Tracert hace esto 3 veces por router Final del proceso m La petición de eco llega finalmente al host destino m El destino devuelve una respuesta de eco m Cuando el emisor recibe este mensaje ICMP, el proceso termina. Aspectos avanzados de la arquitectura TCP/IP ICMP: Internet Control Message Protocol
11 r Tracert (Trace route) Aspectos avanzados de la arquitectura TCP/IP ICMP: Internet Control Message Protocol
12 r Destino inalcanzable (tipo 3) m Valores más comunes del campo código (causas) Código 1: host inalcanzable Código 3: puerto inalcanzable Código 4: fragmentación necesaria Aspectos avanzados de la arquitectura TCP/IP ICMP: Internet Control Message Protocol
13 r ICMP Redirect (tipo 5) m Útil cuando hay distintas puertas de enlace posibles Pasos m Se manda el paquete a la puerta de enlace por defecto m La puerta de enlace por defecto manda el paquete al router B m La puerta de enlace por defecto manda un ICMP redirect al host Aspectos avanzados de la arquitectura TCP/IP ICMP: Internet Control Message Protocol
14 Tema 3. Aspectos avanzados de la arquitectura TCP/IP Aspectos avanzados de la arquitectura TCP/IP r 3.1 Control de errores en IPv4: ICMP r 3.2 Configuración dinámica de direcciones en IPv4: DHCP r 3.3 Traducción de direcciones: NAT r 3.4 Enrutamiento en internet m RIP m OSPF m BGP r 3.5 Control de la congestión en TCP r 3.6 IP versión 6
15 r Configuración de direcciones m estática m dinámica: automática y más eficiente r Protocolos para la configuración automática de direcciones: m RARP: Reverse Address Resolution Protocol m BootP: Bootstrap Protocol m DHCP: Dynamic Host Configuration Protocol Aspectos avanzados de la arquitectura TCP/IP Configuración dinámica de direcciones
16 r RARP m RARP: Reverse Address Resolution Protocol m Dada una MAC, se asigna una dirección IP m Los mensajes tienen la misma estructura que los mensajes ARP m RARP es limitado y, por tanto, está obsoleto. Aspectos avanzados de la arquitectura TCP/IP Configuración dinámica de direcciones
17 r BootP m BootP Protocol: Bootstrap Protocol m Usado para obtener una dirección IP automáticamente (normalmente en el proceso de arranque) m No se suele usar para la configuración dinámica de direcciones, dado que DHCP es una versión mejorada de BootP. r Proceso BootP m El host determina su propia MAC m El host manda su IP al puerto 67 del ( si no conoce su IP y si no conoce la del servidor) m El servidor busca la MAC del host en un fichero de configuración m El servidor incluye las IPs del host y el servidor en un datagrama UDP y las envía al puerto 68 del cliente m El Host guarda su IP y arranca Aspectos avanzados de la arquitectura TCP/IP Configuración dinámica de direcciones
18 r Mensaje BootP m Code: BootPRequest & BootPReply m Transaction id m HW address: ej. MAC m Server host name (el servidor no tiene por qué estar en el mismo dominio de broadcast) m Boot file name m Vendor specific area Magic cookie: indica el tipo de información opcional Es un campo clave para DHCP Aspectos avanzados de la arquitectura TCP/IP Configuración dinámica de direcciones
19 r DHCP Dynamic Host Configuration Protocol (DHCP) – RFC 2131: m capacidad de asignar automáticamente direcciones de red reutilizables (arrendamiento de direcciones IP) m se basa en el protocolo BOOTP, mediante la estandarización del campo Vendor Specific Area de PDU de BootP (312 bytes). m 3 mecanismos para la asignación de direcciones IP: Asignación automática: –DHCP asigna al host una dirección IP permanente. Asignación dinámica: –DHCP asigna una dirección IP por un periodo de tiempo limitado -> reutilización automática de direcciones que ya no son necesitadas Asignación manual: –dirección del host es asignada por el administrador de red Aspectos avanzados de la arquitectura TCP/IP Configuración dinámica de direcciones
20 r Mensaje DHCP m Igual que el mensaje BootP excepto por el campo opciones (312 bytes) en lugar del Vendor Specific Area 4 primeros bytes: magic cookie -> (significa DHCP). Diferentes opciones. Algunas de las más importantes son: –50: dirección IP solicitada –51: tiempo de arrendamiento –53: tipo de mensaje DHCP Aspectos avanzados de la arquitectura TCP/IP Configuración dinámica de direcciones
21 Configuración dinámica de direcciones r Ciclo DHCP m 1. DHCP DISCOVER: intenta encontrar un servidor DHCP. m 2. DHCP OFFER: el/los servidor (es) ofrece (n) una dirección IP m 3. DHCP REQUEST: el cliente pide ciertos parámetros (Normalmente los que le ha ofrecido el servidor) m 4. DHCP ACK: ACK del servidor Además : DHCP RELEASE: libera la dirección IP DHCP DECLINE. La IP ofrecida está en uso DHCP INFORM: pide algunos parámetros de configuración DHCP NAK: si el servidor no acepta la petición Aspectos avanzados de la arquitectura TCP/IP Nota: El ciclo básico se ejecuta completo sólo si no se dispone de dirección IP. En caso contrario, sólo se ejecuta la mitad del ciclo
22 r Otras características de DHCP m Un router puede hacer de servidor DHCP m BootP Relay: cuando el servidor no está en el mismo dominio de broadcast m ARP gratuito: petición ARP del cliente de su propia IP. Comprueba si la dirección asignada está en uso. m Opción 50: el cliente pide una determinada IP m Opción 51: tiempo de arrendamiento m Tamaño máximo del mensaje DHCP : 576 bytes Aspectos avanzados de la arquitectura TCP/IP Configuración dinámica de direcciones
23 Tema 3. Aspectos avanzados de la arquitectura TCP/IP Aspectos avanzados de la arquitectura TCP/IP r 3.1 Control de errores en IPv4: ICMP r 3.2 Configuración dinámica de direcciones en IPv4: DHCP r 3.3 Traducción de direcciones: NAT r 3.4 Enrutamiento en internet m RIP m OSPF m BGP r 3.5 Control de la congestión en TCP r 3.6 IP versión 6
24 Traducción de direcciones: NAT r Problema: Número limitado de direcciones IP r Soluciones o Subnetting o Direcciones IP privadas / / / /16 Aspectos avanzados de la arquitectura TCP/IP
25 Traducción de direcciones: NAT r Direcciones IP privadas: ¿cómo puede el destino encontrar una dirección IP privada? r Solución: NAT (Network Address Translation) o Mecanismo para modificar la direcciones IP de los paquetes o Permite que la comunicación de las direcciones IP privadas (inside networks) con las direcciones IP públicas (outside networks) o Los routers NAT deben tener una tabla NAT con la traducción en ambos sentidos Aspectos avanzados de la arquitectura TCP/IP
26 NAT: funcionamiento básico Un router NAT reserva una o más direcciones IP para NAT -> para traducir IP privadas en IP públicas El router NAT modifica el campo “Source IP addr” de la cabecera IP y almacena la equivalencia entre las direcciones privadas y pública en la tabla NAT El destino responde a la dirección modificada El router NAT busca en su tabla NAT la equivalencia entre las direcciones pública y privada, enviando el paquete a la dirección IP privada Aspectos avanzados de la arquitectura TCP/IP
27 Tipos de NAT NAT dinámico NAT estático NAPT (Network Address Port Translation) Aspectos avanzados de la arquitectura TCP/IP
28 NAT dinámico La traducción es unidireccional El tráfico proviene de la inside network La traducción es temporal Una vez que la dirección IP no está en uso, se borra de la tabla NAT Aspectos avanzados de la arquitectura TCP/IP
29 NAT dinámico r Ventaja m Ahorra direcciones IP públicas r Inconveniente m El tráfico siempre es iniciado desde la inside network -> no permite servidores Aspectos avanzados de la arquitectura TCP/IP
30 NAT estático r Las traducciones están en la tabla NAT desde que se configuran los routers r La comunicación puede ser iniciada por las inside & outside networks r La dirección IP pública debe ser conocida (vía DNS) por los hosts de la outside network Aspectos avanzados de la arquitectura TCP/IP
31 NAT estático r Ventaja m Permite servidores r Inconveniente m Una dirección IP pública por cada dirección IP privada… pero los NAT dinámico y estático pueden combinarse Aspectos avanzados de la arquitectura TCP/IP
32 NAPT r Se usan los identificadores de puerto de la capa de transporte r Varias dirección IP privadas pueden ser convertidas en una única dirección IP pública Aspectos avanzados de la arquitectura TCP/IP
33 Consideraciones sobre NAT r No todas las aplicaciones funcionan correctamente cuando atraviesan un router NAT (ej: BOOTP) r Es difícil seguir el tráfico que atraviesa varios routers NAT r NAT incrementa el tiempo de procesado en el router r NAPT es un tipo de NAT -> también hay NAPT estático y NAPT dinámico. También se pueden combinar ambos. r NAPT es el tipo de NAT más usado. r Se puede usar cualquier dirección IP de la red pública para NAT, incluida la del router. Aspectos avanzados de la arquitectura TCP/IP
34 Tema 3. Aspectos avanzados de la arquitectura TCP/IP Aspectos avanzados de la arquitectura TCP/IP r 3.1 Control de errores en IPv4: ICMP r 3.2 Configuración dinámica de direcciones en IPv4: DHCP r 3.3 Traducción de direcciones: NAT r 3.4 Enrutamiento en internet m RIP m OSPF m BGP r 3.5 Control de la congestión en TCP r 3.6 IP versión 6
35 Enrutamiento en internet r Funciones de la capa de red m Direccionamiento m Enrutamiento r Enrutamiento: búsqueda de la MEJOR ruta m La mejor ruta depende de diferentes criterios: número de saltos, velocidad de transferencia, carga del enlace, fiabilidad, coste… m Diferentes rutas Rotura de enlaces Enlaces lentos Aspectos avanzados de la arquitectura TCP/IP
36 Enrutamiento en internet Concepto: Sistema Autónomo (AS) r AS: Redes IP con una política de enrutamiento común r Dos clases de protocolos m IGP (Interior Gateway Protocols): definen el enrutamiento dentro de un AS. (RIP, OSPF…) m EGP (Exterior Gateway Protocols): definen el enrutamiento entre diferentes AS (BGP). Aspectos avanzados de la arquitectura TCP/IP
37 Enrutamiento en internet Conceptos a tener en cuenta en el enrutamiento: r Circuito virtual vs. datagrama r Flujo de datos m Unicast m Broadcast m Multicast Aspectos avanzados de la arquitectura TCP/IP r Algoritmos de enrutamiento unicast m Estáticos m Adaptativos Centralizados Aislados Distribuidos
38 Circuito virtual vs. Datagrama r Dos aproximaciones para el enrutamiento m Circuito virtual La ruta se establece en el inicio de la conexión m Datagrama La dirección del rx está en todos los paquetes Aspectos avanzados de la arquitectura TCP/IP
39 Circuito virtual vs. Datagrama r Circuito virtual m Control de errores y flujo; orden de los datos m Orientado a conexión Tres fases: establecimiento, transferencia y fin m Ventajas Eficiencia QoS r Datagrama m Cada paquete es una unidad independiente Dir. dest. en cada paquete Los paquetes pueden llegar al dest. desordenados No hay control de flujo ni de errores m Ventajas Más simple Sin conexión-> mejor para tx cortas Más fiable Mejor para redes heterogéneas Aspectos avanzados de la arquitectura TCP/IP
40 Flujo de paquetes r Unicast r Broadcast r Multicast Aspectos avanzados de la arquitectura TCP/IP
41 A B C D E F 4 flujos 2 flujos Unicast r Flujos individuales: un tx, un rx Aspectos avanzados de la arquitectura TCP/IP
42 Broadcast r un tx, todos rx A B C D E F 1 flujo Aspectos avanzados de la arquitectura TCP/IP
43 Multicast r Un flujo, solo rx deseados A B C D E F 1 flujo Aspectos avanzados de la arquitectura TCP/IP
44 Enrutamiento unicast r Objetivo m Llevar los paquetes de emisor a receptor r Enrutamiento en la capa de red m Direccionamiento jerárquico: primero se encuentra la red y luego el host r Algoritmo de enrutamiento m El router calcula cómo se debe enrutar r Características del algoritmo de enrutamiento m Correcto m Simple m Robusto m Ecuánime m Óptimo Aspectos avanzados de la arquitectura TCP/IP
45 Algoritmos de enrutamiento r Router m Dispositivo de red que interconecta redes e implementa el algoritmo de enrutamiento m El algoritmo de enrutamiento decide la interfaz por la que sale el paquete Router Entradas Salidas Tabla de enrutamiento Motor de enrutamiento Aspectos avanzados de la arquitectura TCP/IP
46 Algoritmos de enrutamiento r Clasificación m Enrutamiento estático m Enrutamiento adaptativo Centralizado Aislado Distribuido: más utilizado en internet (RIP/OSPF) Aspectos avanzados de la arquitectura TCP/IP
47 Enrutamiento estático r No considera las condiciones actuales de la red r Las rutas se determinan antes de la puesta en servicio de la red r Ventajas m Simple m Buenos resultados para tráfico y topología constantes r Inconvenientes m Inapropiado para redes con topología cambiante m Inapropiado para grandes redes-> no escalable Aspectos avanzados de la arquitectura TCP/IP
48 Enrutamiento adaptativo r Decisiones basadas en m Topología actual m Estado de la red (congestión de enlaces) r Mejor que el enrutamiento estático, pero más difícil de implementar r Tres subgrupos m Enrutamiento adaptativo centralizado m Enrutamiento adaptativo aislado m Enrutamiento adaptativo distribuido Aspectos avanzados de la arquitectura TCP/IP
49 Enrutamiento adaptativo centralizado r Centro de Control de Enrutamiento (RCC) r Los nodos (routers) mandan info sobre su estado al RCC m Lista de nodos vecinos m Longitud de cola m Uso de los enlaces r RCC m Recibe esta info m Calcula la ruta óptima para cada dos nodos m Calcula la tabla de enrutamiento para cada nodo m Distribuye las tablas a los nodos r Problemas m RCC y enlaces a RCC -> cuellos de botella m Cálculo inexacto Aspectos avanzados de la arquitectura TCP/IP
50 Enrutamiento adaptativo aislado r Sin intercambio de info entre nodos r Decisiones basadas solo en info local -> sencillo r Ejemplo m Flooding Aspectos avanzados de la arquitectura TCP/IP
51 Enrutamiento adaptativo distribuido r Utilizado en internet r Dos subgrupos m Algoritmos de vectores de distancias Decisiones basados en la información recibida de los nodos vecinos. Ej: RIP (Routing Information Protocol) m Algoritmos de estado de enlaces Todos los nodos conocen el estado de la red Cuando hay un cambio, tarda un tiempo en propagarse Ej: OSPF (Open Shortest Path First) Aspectos avanzados de la arquitectura TCP/IP
52 RIP: Routing Information Protocol r Routing Information Protocol (RIP) – RFC 1058 (RIP), RFC 1723 (RIPv2): r Protocolo de enrutamiento (protocolo de aplicación sobre UDP – puerto 520 -) r Para el enrutamiento interno de AS (Sistema Autónomo) r RIPv2 es idéntico a RIP, pero con dos extensiones: m Permite CIDR m Mecanismo de autenticación r Métrica: número de saltos r Máximo número de saltos-> 15 r Mejor para redes homogéneas r Tablas de enrutamiento basadas en vectores de distancias r Actualizaciones de la tabla de enrutamiento: m Actualizaciones periódicas: vía broadcast (en RIPv2: multicast to ) m Actualizaciones cuando cambia la topología de la red Aspectos avanzados de la arquitectura TCP/IP
53 RIP: Routing Information Protocol RIP: Funcionamiento r La actualización de un vecino V llega a un router R: m Las redes conocidas por V, y no por R, se incluyen en la tabla de enrutamiento de R. m Si V conoce una ruta mejor para una red conocida por ambos, la tabla de enrutamiento de R se actualiza m Métrica (nº saltos): incrementada en uno m El router R publica información aumentando en una unidad lo que publica con respecto a lo que introduce en su tabla de enrutamiento m Mensajes de actualización tx a los vecinos. Dos formas: Sin usar la técnica del horizonte dividido: las actualizaciones se envían a todos los vecinos. Usando la técnica del horizonte dividido: las actualizaciones se envían a todos los vecinos, excepto a aquellos que han informado acerca de la mejor ruta Aspectos avanzados de la arquitectura TCP/IP
54 RIP: Routing Information Protocol RIP: temporizadores (timers) r Routing-update timer: 30 segundos – tiempo aleatorio r Route-timeout timer: tras el timeout -> ruta inválida r Route-flush timer: tras el timeout -> borra la ruta de la tabla de enrutamiento Aspectos avanzados de la arquitectura TCP/IP
55 RIP: Routing Information Protocol Mensajes RIP r Comandos m Petición (1) m Respuesta (2): más habitual (actualizaciones) r Versión: v1 or v2 r RIP versión 2: campo más importante -> subnet mask -> permite CIDR (subnetting) Aspectos avanzados de la arquitectura TCP/IP
56 OSPF: Open Shortest Path First Open Shortest Path First (OSPF) r Para el enrutamiento interno de AS r Para redes más grandes que con RIP (normalmente) r Protocolo abierto (RFC 2328) Aspectos avanzados de la arquitectura TCP/IP
57 OSPF: Características básicas Open Shortest Path First (OSPF) r Protocolo de enrutamiento de estado de enlaces r Algoritmo de Dijkstra para encontrar la MEJOR ruta r El router construye un grafo r Los pesos del grafo los configura el administrador de la red. Ej: m Todos iguales a 1 (similar a RIP) m Inversamente proporcional al BW (criterio habitual) m Se puede fijar cualquier criterio Open Shortest Path First (OSPF) r Las actualizaciones se difunden a todo el AS (vía flooding) m Cambios en la topología m Periódicamente (una vez cada 30 min, al menos) r Van en mensajes OSPF directamente sobre IP (en vez de TCP ó UDP) -> campo protocolo: 89 r La conectividad del enlace se comprueba con mensajes HELLO a los vecinos Aspectos avanzados de la arquitectura TCP/IP
58 OSPF: características avanzadas (no en RIP) r Seguridad: todos los mensajes OSPF están autenticados r Para cada enlace, puede haber diferentes métricas para diferentes TOS r OSPF jerárquico en dominios grandes. Aspectos avanzados de la arquitectura TCP/IP
59 Cabecera OSPF r Checksum: control de errores r Autenticación ValorTipo 1HELLO 2Descripción de la base de datos 3Petición de estado de enlace 4Actualización de estado de enlace 5ACK de estado de enlace Aspectos avanzados de la arquitectura TCP/IP
60 BGP: Border Gateway Protocol r Problema: Redes IP diferentes no tienen por qué usar el mismo protocolo de enrutamiento r Dos clases de protocolos m IGP (Interior Gateway Protocols): definen el enrutamiento dentro de un AS. (RIP, OSPF…) m EGP (Exterior Gateway Protocols): definen el enrutamiento entre diferentes AS. r BGP (Border Gateway Protocol): EGP más común (RFC 4271) Aspectos avanzados de la arquitectura TCP/IP
61 BGP: Características principales r BGP proporciona a cada AS medios para: 1. Obtener info acerca de como alcanzar una subred por parte de otros AS vecinos. 2. Propagar la info sobre el alcance a todos los routers internos del AS. r Permite a una subred anunciar su existencia al resto de Internet Aspectos avanzados de la arquitectura TCP/IP
62 BGP: Características principales r Cada AS: ASN = Autonomous System Number) r Dentro de cada AS -> Protocolo de enrutamiento del AS r Fuera del AS -> “router frontera”: los routers frontera de diferentes AS intercambian sus tablas de enrutamiento r BGP funciona sobre TCP (puerto 179) Aspectos avanzados de la arquitectura TCP/IP
63 BGP: Ejemplo simplificado Aspectos avanzados de la arquitectura TCP/IP
64 Tema 3. Aspectos avanzados de la arquitectura TCP/IP Aspectos avanzados de la arquitectura TCP/IP r 3.1 Control de errores en IPv4: ICMP r 3.2 Configuración dinámica de direcciones en IPv4: DHCP r 3.3 Traducción de direcciones: NAT r 3.4 Enrutamiento en internet m RIP m OSPF m BGP r 3.5 Control de la congestión en TCP r 3.6 IP versión 6
65 Principios del control de la congestión Congestión: r informalmente: “demasiados emisores enviado demasiados datos demasiado rápido para que la red los gestione” r diferente del control de flujo r Señales de congestión: m Paquetes perdidos (desbordamiento de los buffers de los routers) m retrasos (debidos a las colas en los buffers de los routers) Aspectos avanzados de la arquitectura TCP/IP
66 Causas/costes de la congestión r Dos tx: IN = Tasa de envío OUT = Tasa de recepción m C= capacidad del router r Teoría de colas r Grandes retrasos cuando hay congestión r Existe un máximo de tasa de transferencia unlimited shared output link buffers Host A in : original data Host B out Aspectos avanzados de la arquitectura TCP/IP
67 r Suposición: El tx retransmite los paquetes perdidos Ahora, no se tx IN, sino una tasa mayor IN ’ r “Costes” de la congestión: m mayor trabajo (retx) que para un caso ideal m retransmisiones innecesarias: un enlace puede llevar múltiples copias de un paquete Causas/costes de la congestión: unlimited shared output link buffers Host A in : original data Host B out Aspectos avanzados de la arquitectura TCP/IP
68 Causas/costes de la congestión r Dos tx con el mismo destino r Suposición: congestión en el router entre A y el destino r Otro “coste” de la congestión: m Cuando un paquete se descarta en la ruta, la capacidad empleada en cualquier ruta atravesada anteriormente, se desperdicia finite shared output link buffers Host A in : original data Host B out ' in : original data, plus retransmitted data Aspectos avanzados de la arquitectura TCP/IP
69 Causas/costes de la congestión r Resumen de costes de la congestión m Grandes retrasos cuando la tasa de entrada a un router se acerca a la capacidad del enlace. m El tx debe retx los segmentos perdidos por el desbordamiento del router. m Se usa un BW innecesario por la retx de copias duplicadas de segmentos (por los retrasos) m La capacidad de los routers usados previamente se desperdicia cuando se descarta un paquete Aspectos avanzados de la arquitectura TCP/IP
70 Aproximaciones al control de la congestión Control de la congestión terminal a terminal: r Sin soporte explícito a la capa de transporte r La congestión se detecta por la pérdida de paquetes o los retardos r Un ejemplo es TCP Control de la congestión asistido por la red: r Los routers proporcionan realimentación explícita a la red m Ej: un bit indica la congestión Dos posibles aproximaciones al control de la congestión: Aspectos avanzados de la arquitectura TCP/IP
71 Control de la congestión en TCP r El emisor limita la transmisión: ÚltimoByteEnviado- ÚltimoByteAck CongWin r ¿Cómo percibe el tx la congestión? m Suceso de pérdida = timeout o 3 acks duplicados El tx TCP reduce la velocidad ( CongWin ) tras el suceso de pérdida Host A timeout Host B time X resend 2 nd segment Host A Seq=92, 8 bytes data ACK=100 loss timeout Escenario de pérdida de ACK Host B X Seq=92, 8 bytes data ACK= 100 time Reenvío de un segmento tras tres ACKs duplicados Aspectos avanzados de la arquitectura TCP/IP
72 Control de la congestión TCP: crecimiento aditivo, decrecimiento multiplicativo (AIMD) r Resumen: incrementar la tasa de transmisión (tamaño de ventana), sondeando el BW hasta que ocurra una pérdida m Crecimiento aditivo: se incrementa CongWin en 1 MSS cada RTT hasta que se detecta una pérdida m Decrecimiento multiplicativo: se divide CongWin por la mitad tras una pérdida time congestion window size Comportamiento en diente de sierra: sondeo de BW Aspectos avanzados de la arquitectura TCP/IP
73 Control de la congestión TCP: detalles r A grandes rasgos, Cuando empieza la conexión, CongWin = 1 MSS m Ejemplo: MSS = 500 bytes & RTT = 200 ms m Velocidad inicial = 20 kbps r Tres fases: m Arranque lento (Slow Start, SS) m Evasión de la congestión (Congestion Avoidance, CA): ej: AIMD m Recuperación rápida (Fast Recovery, FR) r Las dos primeras son obligatorias en TCP, mientras que la última es recomendable velocidad = CongWin RTT Bytes/sec Aspectos avanzados de la arquitectura TCP/IP
74 Arranque lento TCP r El BW disponible debe ser >> MSS/RTT r Cuando comienza la conexión, la tasa crece exponencialmente hasta el primer suceso de pérdida r La velocidad inicial es lenta pero crece rápidamente de forma exponencial Host A one segment RTT Host B time two segments four segments Aspectos avanzados de la arquitectura TCP/IP
75 Evasión de la congestión, CA r Tras 3 ACKs duplicados: CongWin se divide por 2 m La ventana empieza a crecer linealmente r Sin embargo, tras un fin de temporización: CongWin se pone 1 MSS; m La ventana crece exponencialmente m Hasta un umbral, luego crece linealmente 3 ACKs duplicados indican que la red es capaz de entregar algunos segmentos El fin de temporización indica un escenario de congestión “más alarmante” Filosofía: Aspectos avanzados de la arquitectura TCP/IP
76 Resumen: Control de la congestión TCP Cuando CongWin está por debajo del Umbral, el tx está en la fase de arranque lento; la ventana crece exponencialmente. Cuando CongWin está por encima del Umbral, el tx está en la fase de evasión de la congestión; la ventana crece linealmente. Cuando ocurren tres ACKs duplicados, el Umbral se pone a CongWin/2 y CongWin se pone a Umbral. Cuando ocurre un fin de temporización, Umbral se pone a CongWin/2 y CongWin se pone a 1 MSS. Nota: La versión de TCP utilizada hace variar la forma en la que se aplica el control de la congestión. TCP Tahoe, p.e., siempre reduce la ventana de congestión al valor inicial tras un evento de pérdida, mientras que en TCP Reno se aplican todas las fases de la congestión. Aspectos avanzados de la arquitectura TCP/IP
77 Tema 3. Aspectos avanzados de la arquitectura TCP/IP Aspectos avanzados de la arquitectura TCP/IP r 3.1 Control de errores en IPv4: ICMP r 3.2 Configuración dinámica de direcciones en IPv4: DHCP r 3.3 Traducción de direcciones: NAT r 3.4 Enrutamiento en internet m RIP m OSPF m BGP r 3.5 Control de la congestión en TCP r 3.6 IP versión 6
78 IPv6 r Motivación inicial: El espacio de direcciones de 32-bits está completo r Cambios básicos: m Espacio de direcciones de 128-bits Ej: 2002:96d6:8ddc::96dc:6301 (los bits que faltan son ceros) m El formato de cabecera mejora el tiempo de procesado m Cabecera de 40-bytes (tamaño fijo) m Otros cambios basados en la experiencia previa con IPv4 Aspectos avanzados de la arquitectura TCP/IP
79 Cabecera IPv6 Versión: 6 Priority (clase de tráfico): identifica la prioridad de los datagramas Flow Label (etiqueta de flujo): identifica los datagramas del mismo “flujo” (concepto de “flujo” sin definir exactamente) Payload length: longitud de carga útil Next header (siguiente cabecera): identifica el protocolo de capa superior Hop limit (límite de saltos): análogo al campo TTL de IPv4 Src & Dest addr: 128 bytes Aspectos avanzados de la arquitectura TCP/IP
80 Cambios respecto a IPv4 r Checksum: eliminado para reducir el tiempo de procesado en cada router r Fragmentación: eliminada en IPv6, también para reducir el tiempo de procesado r Opciones: permitidas, pero fuera de la cabecera, indicadas en el campo “Next Header” r ICMPv6: nueva versión de ICMP m Tipos de mensajes adicionales, ej: “Paquete demasiado grande” Aspectos avanzados de la arquitectura TCP/IP
81 Transición de IPv4 a IPv6 r No todos los routers pueden pasar a IPv6 simultáneamente m Sin Día D m ¿Cómo hace internet para funcionar con routers IPv4 y IPv6 al mismo tiempo? r Tunelización: IPv6 va en el campo de datos del datagrama IPv4 entre routers IPv4 Aspectos avanzados de la arquitectura TCP/IP