aspectos avanzados de la arquitectura tcp/ip1 capítulo 3 aspectos avanzados de la arquitectura...
TRANSCRIPT
Aspectos avanzados de la arquitectura TCP/IP
1
Capítulo 3Aspectos avanzados de la arquitectura TCP/IP
Departamento deTecnología Electrónica
Algunas de las transparencias tienen copyright:
Redes de computadoras: Un enfoque descendente
5th edition. Jim Kurose, Keith RossAddison-Wesley, Abril 2009.
2
Tema 3: Aspectos avanzados de la arquitectura TCP/IP Objetivos:
Entender el control de la congestión en TCP 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.
Aspectos avanzados de la arquitectura TCP/IP
3
Tema 3. Aspectos avanzados de la arquitectura TCP/IP
3.1 Control de la congestión en TCP
3.2 Traducción de direcciones: NAT
3.3 Enrutamiento en internet RIP OSPF BGP
3.4 Control de errores en IPv4: ICMP
3.5 Configuración dinámica de direcciones en IPv4: DHCP
3.6 IP versión 6
Aspectos avanzados de la arquitectura TCP/IP
4
Tema 3. Aspectos avanzados de la arquitectura TCP/IP
3.1 Control de la congestión en TCP
3.2 Traducción de direcciones: NAT
3.3 Enrutamiento en internet RIP OSPF BGP
3.4 Control de errores en IPv4: ICMP
3.5 Configuración dinámica de direcciones en IPv4: DHCP
3.6 IP versión 6
Aspectos avanzados de la arquitectura TCP/IP
5
Principios del control de la congestión
Congestión: informalmente: “demasiados emisores enviado
demasiados datos demasiado rápido para que la red los gestione”
diferente del control de flujo Señales de congestión:
Paquetes perdidos (desbordamiento de los buffers de los routers)
retrasos (debidos a las colas en los buffers de los routers)
Aspectos avanzados de la arquitectura TCP/IP
6
Causas/costes de la congestión
Dos tx: IN = Tasa de
envío OUT = Tasa de
recepción C= capacidad del
router
Teoría de colas Grandes retrasos cuando hay congestión
Existe un máximo de tasa de transferencia
unlimited shared output link buffers
Host Ain : original data
Host B
out
Aspectos avanzados de la arquitectura TCP/IP
7
Suposición: El tx retransmite los paquetes perdidos Ahora, no se tx IN, sino una tasa mayor IN’ “Costes” de la congestión:
mayor trabajo (retx) que para un caso ideal retransmisiones innecesarias: un enlace puede llevar múltiples copias de
un paquete
Causas/costes de la congestión:
unlimited shared output link buffers
Host Ain : original data
Host B
out
Aspectos avanzados de la arquitectura TCP/IP
8
Causas/costes de la congestión Dos tx con el mismo destino Suposición: congestión en el router entre A y el destino Otro “coste” de la congestión:
Cuando un paquete se descarta en la ruta, la capacidad empleada en cualquier ruta atravesada anteriormente, se desperdicia
finite shared output link buffers
Host Ain : original data
Host B
out
'in : original data, plus retransmitted data
Aspectos avanzados de la arquitectura TCP/IP
9
Causas/costes de la congestión Resumen de costes de la congestión
Grandes retrasos cuando la tasa de entrada a un router se acerca a la capacidad del enlace.
El tx debe retx los segmentos perdidos por el desbordamiento del router.
Se usa un BW innecesario por la retx de copias duplicadas de segmentos (por los retrasos)
La capacidad de los routers usados previamente se desperdicia cuando se descarta un paquete
Aspectos avanzados de la arquitectura TCP/IP
10
Aproximaciones al control de la congestión
Control de la congestión terminal a terminal:
Sin soporte explícito a la capa de transporte
La congestión se detecta por la pérdida de paquetes o los retardos
Un ejemplo es TCP
Control de la congestión asistido por la red:
Los routers proporcionan realimentación explícita a la red Ej: un bit indica la
congestión
Dos posibles aproximaciones al control de la congestión:
Aspectos avanzados de la arquitectura TCP/IP
11
Control de la congestión en TCP
El emisor limita la transmisión:
ÚltimoByteEnviado-ÚltimoByteAck CongWin
¿Cómo percibe el tx la congestión? Suceso de pérdida =
timeout o 3 acks duplicados
El tx TCP reduce la velocidad (CongWin) tras el suceso de pérdida
Host A
tim
eout
Host B
time
X
resend 2nd segment
Host A
Seq=92, 8 bytes data
ACK=100
loss
tim
eout
Escenario de pérdida de
ACK
Host B
XSeq=92, 8 bytes data
ACK=
100
timeReenvío de un
segmento tras tres ACKs duplicados
Aspectos avanzados de la arquitectura TCP/IP
12
Control de la congestión TCP: crecimiento aditivo, decrecimiento multiplicativo (AIMD)
8 Kbytes
16 Kbytes
24 Kbytes
time
congestionwindow
Resumen: incrementar la tasa de transmisión (tamaño de ventana), sondeando el BW hasta que ocurra una pérdida Crecimiento aditivo: se incrementa CongWin en 1 MSS
cada RTT hasta que se detecta una pérdida Decrecimiento multiplicativo: se divide CongWin por la
mitad tras una pérdida
timecong
estio
n w
indo
w s
ize
Comportamiento en diente de sierra: sondeo
de BW
Aspectos avanzados de la arquitectura TCP/IP
13
Control de la congestión TCP: detalles
A grandes rasgos,
Cuando empieza la conexión, CongWin = 1 MSS Ejemplo: MSS = 500 bytes & RTT =
200 ms Velocidad inicial = 20 kbps
Tres fases: Arranque lento (slow
start, SS) Evasión de la
congestión (Congestion avoidance, CA): ej: AIMD
Recuperación rápida (Fast recovery, FR)
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
14
Arranque lento TCP
El BW disponible debe ser >> MSS/RTT
Cuando comienza la conexión, la tasa crece exponentialmente hasta el primer suceso de pérdida
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
15
Evasión de la congestión, CA Tras 3 ACKs duplicados:
CongWin se divide por 2 La ventana empieza a crecer
linealmente
Sin embargo, tras un fin de temporización: CongWin se pone 1 MSS; La ventana crece exponencialmente 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
16
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 incial 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
17
Tema 3. Aspectos avanzados de la arquitectura TCP/IP
3.1 Control de la congestión en TCP
3.2 Traducción de direcciones: NAT
3.3 Enrutamiento en internet RIP OSPF BGP
3.4 Control de errores en IPv4: ICMP
3.5 Configuración dinámica de direcciones en IPv4: DHCP
3.6 IP versión 6
Aspectos avanzados de la arquitectura TCP/IP
18
Traducción de direcciones: NAT Problema: Número limitado de direcciones IP Soluciones
o Subnetting o Dir IP privadas
• 10.0.0.0/8• 172.16.0.0/12• 192.168.0.0/16• 169.254.0.0/16
Aspectos avanzados de la arquitectura TCP/IP
19
Traducción de direcciones: NAT Dir IP privadas: ¿cómo puede el destino
encontrar una dir IP privada? Solución: NAT (Network Address Translation)
o Mecanismo para modificar la dir IP de los paqueteso Permite que la comunicación de las dir IP privadas
(inside networks) con las dir 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
20
NAT: funcionamiento básico Un router NAT reserva una o más dir IP addr 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 dir privada y pública en la tabla NAT
El destino responde a la dir modificada El router NAT busca en su tabla NAT la equivalencia entre las dir
pública y privada, enviando el paquete a la dir IP privada
NAT Router
Host A192.168.1.10
Host Z150.214.141.20
Inside network Outside network
192.168.1.1 150.214.141.1
192.168.1.10 150.214.141.20 150.214.141.2 150.214.141.20
IP packet IP packet
Source addr Dest addr Source addr Dest addr
150.214.141.20 150.214.141.2
IP packet
Source addr Dest addr
NAT Table
Aspectos avanzados de la arquitectura TCP/IP
21
Tipos de NAT
NAT dinámico
NAT estático
NAPT (Network Address Port Translation)
Aspectos avanzados de la arquitectura TCP/IP
22
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 dir IP no está en uso, se borra de la tabla NAT
NAT Router
Host A192.168.1.10
Host Z150.214.141.20
Inside network Outside network
192.168.1.1 150.214.141.1
192.168.1.10 150.214.141.20 150.214.141.2 150.214.141.20
IP packet IP packet
Source addr Dest addr Source addr Dest addr
150.214.141.20 150.214.141.2
IP packet
Source addr Dest addr
NAT Table
150.214.141.20 150.214.141.2
IP packet
Source addr Dest addr
Private IP Public IP192.168.1.10 150.214.141.2
Aspectos avanzados de la arquitectura TCP/IP
23
NAT dinámico
NAT Router
Host A192.168.1.10
Host Z150.214.141.20
Inside network Outside network
192.168.1.1 150.214.141.1
192.168.1.10 150.214.141.20 150.214.141.2 150.214.141.20
IP packet IP packet
Source addr Dest addr Source addr Dest addr
150.214.141.20 150.214.141.2
IP packet
Source addr Dest addr
NAT Table
150.214.141.20 150.214.141.2
IP packet
Source addr Dest addr
Private IP Public IP192.168.1.10 150.214.141.2
Ventaja Ahorra dir IP públicas
Inconveniente El tráfico siempre es iniciado desde la inside network -> no permite
servidores
Aspectos avanzados de la arquitectura TCP/IP
24
NAT estático Las traducciones están en la tabla NAT desde que se configuran los
routers La comunicación puede ser iniciada por las inside & outside networks La dir IP pública debe ser conocida (via DNS) por los hosts de la outside
network
NAT Router
Host A192.168.1.10
Host Z150.214.141.20
Inside network Outside network
192.168.1.1 150.214.141.1
192.168.1.10 150.214.141.20 150.214.141.2 150.214.141.20
IP packet IP packet
Source addr Dest addr Source addr Dest addr
150.214.141.20 150.214.141.2
IP packet
Source addr Dest addr
NAT Table
150.214.141.20 150.214.141.2
IP packet
Source addr Dest addr
Private IP Public IP 192.168.1.10 150.214.141.2 static
Aspectos avanzados de la arquitectura TCP/IP
25
NAT estático Ventaja
Permite servidores
Inconveniente Una dir IP pública por cada dir IP privada… pero los NAT dinámico y
estático pueden combinarse
NAT Router
Host A192.168.1.10
Host Z150.214.141.20
Inside network Outside network
192.168.1.1 150.214.141.1
192.168.1.10 150.214.141.20 150.214.141.2 150.214.141.20
IP packet IP packet
Source addr Dest addr Source addr Dest addr
150.214.141.20 150.214.141.2
IP packet
Source addr Dest addr
NAT Table
150.214.141.20 150.214.141.2
IP packet
Source addr Dest addr
Private IP Public IP 192.168.1.10 150.214.141.2 static
Aspectos avanzados de la arquitectura TCP/IP
26
NAPT Se usan los identificadores de puerto de la capa de transporte Varias dir IP privadas pueden ser convertidas en una única dir IP
privada
NAPT Router
Host B192.168.1.12
Host Z150.214.141.20
Inside networkOutside network
192.168.1.1 150.214.141.1
192.168.1.11 1576 150.214.141.19 80
IP packet
Source addr Dest addr
NAPT Table
Private IP Public IP local 192.168.1.11:1576 global 150.214.141.2:1576 local 192.168.1.12:1576 global 150.214.141.2:1577
Host A192.168.1.11
Host Y150.214.141.19
Source port Dest port
150.214.141.2 1576 150.214.141.19 80
IP packet
Source addr Dest addrSource port Dest port
192.168.1.12 1576 150.214.141.20 21
IP packet
Source addr Dest addrSource port Dest port
150.214.141.2 1577 150.214.141.20 21
IP packet
Source addr Dest addrSource port Dest port
Aspectos avanzados de la arquitectura TCP/IP
27
Consideraciones sobre NAT No todas las aplicaciones funcionan
correctamente cuando atraviesan un router NAT (ej: BOOTP)
Es difícil seguir el tráfico que atraviesa varios routers NAT
NAT incrementa el tiempo de procesado en el router
NAPT es un tipo de NAT -> también hay NAPT estático y NAPT dinámico. También se pueden combinar ambos
Aspectos avanzados de la arquitectura TCP/IP
28
Tema 3. Aspectos avanzados de la arquitectura TCP/IP
3.1 Control de la congestión en TCP
3.2 Traducción de direcciones: NAT
3.3 Enrutamiento en internet RIP OSPF BGP
3.4 Control de errores en IPv4: ICMP
3.5 Configuración dinámica de direcciones en IPv4: DHCP
3.6 IP versión 6
Aspectos avanzados de la arquitectura TCP/IP
29
Enrutamiento en internet
Funciones de la capa de red Direccionamiento Enrutamiento
Enrutamiento: búsqueda de la MEJOR ruta La mejor ruta depende de
diferentes criterios: número de saltos, velocidad de transferencia, carga del enlace, fiabilidad, coste…
Diferentes rutas• Rotura de enlaces• Enlaces lentos
Which route?
Aspectos avanzados de la arquitectura TCP/IP
30
Enrutamiento en internetConcepto: Sistema Autónomo (AS) AS: Redes IP con una política de enrutamiento común Dos clases de protocolos
IGP (Interior Gateway Protocols): definen el enrutamiento dentro de un AS. (RIP, OSPF…)
EGP (Exterior Gateway Protocols): definen el enrutamiento entre diferentes AS (BGP).
Aspectos avanzados de la arquitectura TCP/IP
31
Enrutamiento en internetConceptos a tener en cuenta en el enrutamiento: Circuito virtual vs. datagrama Flujo de datos
Unicast Broadcast Multicast
Aspectos avanzados de la arquitectura TCP/IP
Algoritmos de enrutamiento unicast Estáticos Adaptativos
• Centralizados• Aislados• Distribuidos
32
Circuito virtual vs. Datagrama
Dos aproximaciones para el enrutamiento Circuito virtual
• La ruta se establece en el inicio de la conexión
Datagrama• La dirección del rx está en
todos los paquetes
Which route?
Aspectos avanzados de la arquitectura TCP/IP
33
Circuito virtual vs. Datagrama
Circuito virtual Control de errores y
flujo; orden de los datos Orientado a conexión
• Tres fases: establecimiento, transferencia y fin
Ventajas• Eficiencia• QoS
Datagrama Cada paquete es una
unidad independente• Dir. dest. en cada
paquete • Los paquetes pueden
llegar al dest. desordenados
• No hay control de flujo ni de errores
Ventajas• Más simple• Sin conexión-> mejor
para tx cortas• Más fiable• Mejor para redes
heterogéneasAspectos avanzados de la arquitectura
TCP/IP
34
Flujo de paquetes Unicast Broadcast Multicast
Aspectos avanzados de la arquitectura TCP/IP
35
A
B
C D E F
4 flujos
2 flujos
Unicast Flujos individuales: un tx, un rx
Aspectos avanzados de la arquitectura TCP/IP
36
Broadcast un tx, todos rx
A
B
C D E F
1 flujo
1 flujo
Aspectos avanzados de la arquitectura TCP/IP
37
Multicast Un flujo, solo rx deseados
A
B
C D E F
1 flujo
1 flujo
Aspectos avanzados de la arquitectura TCP/IP
38
Enrutamiento unicast Objetivo
Llevar los paquetes de emisor a receptor
Enrutamiento en la capa de red Direccionamiento
jerárquico: primero se encuentra la red y luego el host
Algoritmo de enrutamiento El router calcula cómo
se debe enrutar
Características del algoritmo de enrutamiento Correcto Simple Robusto Ecuánime Óptimo
Aspectos avanzados de la arquitectura TCP/IP
39
Algoritmos de enrutamiento Router
Dispositivo de red que interconecta redes e implementa el algoritmo de enrutamiento
El algoritmo de enrutamiento decide la interfaz por la que sale el paquete
RouterEntradas Salidas
Tabla deenrutamiento
Motor deenrutamiento
Aspectos avanzados de la arquitectura TCP/IP
40
Algoritmos de enrutamiento Clasificación
Enrutamiento estático Enrutamiento adaptativo
• Centralizado• Aislado• Distribuído: más utilizado en internet (RIP/OSPF)
Aspectos avanzados de la arquitectura TCP/IP
41
Enrutamiento estático No considera las condiciones actuales de la red Las rutas se determinan antes de la puesta en
servicio de la red
Ventajas Simple Buenos resultados para tráfico y topología constantes
Inconvenientes Inapropiado para redes con topología cambiante Inapropiado para grandes redes-> no escalable
Aspectos avanzados de la arquitectura TCP/IP
42
Enrutamiento adaptativo Decisiones basadas en
Topología actual Estado de la red (congestión de enlaces)
Mejor que el enrutamiento estático, pero más difícil de implementar
Tres subgrupos Enrutamiento adaptativo centralizado Enrutamiento adaptativo aislado Enrutamiento adaptativo distribuído
Aspectos avanzados de la arquitectura TCP/IP
43
Enrutamiento adaptativo centralizado Centro de Control de Enrutamiento (RCC) Los nodos (routers) mandan info sobre su estado al RCC
Lista de nodos vecinos Long de cola Uso de los enlaces
RCC Recibe esta info Calcula la ruta óptima para cada dos nodos Calcula la tabla de enrutamiento para cada nodo Distribuye las tablas a los nodos
Problemas RCC y enlaces a RCC -> cuellos de botella Cálculo inexacto
Aspectos avanzados de la arquitectura TCP/IP
44
Enrutamiento adaptativo aislado Sin intercambio de info entre nodos Decisiones basadas solo en info local -> sencillo Ejemplo
Flooding
Aspectos avanzados de la arquitectura TCP/IP
45
Enrutamiento adaptativo distribuido
Utilizado en internet Dos subgrupos
Algoritmos de vectores de distancias• Decisiones basados en la información recibida de los nodos
vecinos. Ej: RIP (Routing Information Protocol) 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
46
RIP: Routing Information Protocol Routing Information Protocol
(RIP) – RFC 1058 (RIP), RFC 1723 (RIPv2):
Protocolo de enrutamiento (protocolo de aplicación sobre UDP – puerto 520 -)
Para el enrutamiento interno de AS (Sistema Autónomo)
RIPv2 es idéntico a RIP, pero con dos extensiones: Permite CIDR Mecanismo de autenticación
Métrica: número de saltos Máximo número de saltos->
15 Mejor para redes
homogéneas Tablas de enrutamiento
basadas en vectores de distancias
Actualizaciones de la tabla de enrutamiento: Actualizaciones periódicas:
via broadcast (en RIPv2: multicast to 224.0.0.9)
Actualizaciones cuando cambia la topología de la red
Aspectos avanzados de la arquitectura TCP/IP
47
RIP: Routing Information ProtocolRIP: Funcionamiento La actualización de un vecino V llega a un router R:
Las redes conocidas por V, y no por R, se incluyen en la tabla de enrutamiento de R.
Si V conoce una ruta mejor para una red conocida por ambos, la tabla de enrutamiento de R se actualiza
Métrica (nº saltos): incrementada en uno El router R publica información aumentando en una
unidad lo que publica con respecto a lo que introduce en su tabla de enrutamiento
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
48
RIP: Routing Information Protocol
RIP: temporizadores (timers)
Routing-update timer: 30 segundos – tiempo aleatorio
Route-timeout timer: tras el timeout -> ruta inválida
Route-flush timer: tras el timeout -> borra la ruta de la tabla de enrutamiento
Aspectos avanzados de la arquitectura TCP/IP
49
RIP: Routing Information Protocol
Mensajes RIP
Comandos Petición (1) Respuesta (2): más habitual (actualizaciones)
Versión: v1 or v2 RIP versión 2: campo más importante -> subnet mask
-> permite CIDR (subnetting)
Aspectos avanzados de la arquitectura TCP/IP
50
OSPF: Open Shortest Path First
Open Shortest Path First (OSPF)
Para el enrutamiento interno de AS Para redes más grandes que con RIP (normalmente) Protocolo abierto (RFC 2328)
Aspectos avanzados de la arquitectura TCP/IP
51
OSPF: Características básicasOpen Shortest Path First
(OSPF)
Protocolo de enrutamiento de estado de enlaces
Algoritmo de Dijkstra para encontrar la MEJOR ruta
El router construye un grafo Los pesos del grafo los
configura el administrador de la red. Ej:
Todos iguales a 1 (similar a RIP) Inversamente proporcional al
BW (criterio habitual) Se puede fijar cualquier criterio
Open Shortest Path First (OSPF)
Las actualizaciones se difunden a todo el AS (via flooding)
Cambios en la topología Periódicamente (una vez cada
30 min, al menos) Van en mensajes OSPF
directamente sobre IP (en vez de TCP ó UDP) -> campo protocolo: 89
La conectividad del enlace se comprueba con mensajes HELLO a los vecinos
Aspectos avanzados de la arquitectura TCP/IP
52
OSPF: características avanzadas (no en RIP)
seguridad: todos los mensajes OSPF están autenticados
Para cada enlace, puede haber diferentes métricas para diferentes TOS
OSPF jerárquico en dominios grandes.
Aspectos avanzados de la arquitectura TCP/IP
53
Cabecera OSPF
Checksum: control de errores
Autenticación
Valor Tipo
1 HELLO
2 Descripción de la base de datos
3 Petición de estado de enlace
4 Actualización de estado de enlace
5 ACK de estado de enlace
Aspectos avanzados de la arquitectura TCP/IP
54
BGP: Border Gateway Protocol
Problema: Redes IP diferentes no tienen por qué usar el mismo protocolo de enrutamiento
Dos clases de protocolos IGP (Interior Gateway Protocols): definen el
enrutamiento dentro de un AS. (RIP, OSPF…) EGP (Exterior Gateway Protocols): definen el
enrutamiento entre diferentes AS.
BGP (Border Gateway Protocol): EGP más común (RFC 4271)
Aspectos avanzados de la arquitectura TCP/IP
55
BGP: Características principales
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.
Permite a una subred anunciar su existencia al resto de Internet
Aspectos avanzados de la arquitectura TCP/IP
56
BGP: Características principales
Cada AS: ASN = Autonomous System Number)
Dentro de cada AS -> Protocolo de enrutamiento del AS
Fuera del AS -> “router frontera”: los routers frontera de diferentes AS intercambian sus tablas de enrutamiento
BGP funciona sobre TCP (puerto 179)
Aspectos avanzados de la arquitectura TCP/IP
57
BGP: Ejemplo
Aspectos avanzados de la arquitectura TCP/IP
58
Tema 3. Aspectos avanzados de la arquitectura TCP/IP
3.1 Control de la congestión en TCP
3.2 Traducción de direcciones: NAT
3.3 Enrutamiento en internet RIP OSPF BGP
3.4 Control de errores en IPv4: ICMP
3.5 Configuración dinámica de direcciones en IPv4: DHCP
3.6 IP versión 6
Aspectos avanzados de la arquitectura TCP/IP
59
ICMP: Internet Control Message Protocol
Utilizado por hosts y routers para comunicar información del nivel de red Informe de errores:
host, red, puerto o protocolo inalcanzable
Avisos de los routers o los receptores
Funcionamiento sobre IP: Los mensajes ICMP
van en datagramas IP (¡pero ICMP no es un protocolo de transporte!)
Todos los nodos que usen IP deben implementar ICMP
Los mensajes ICMP se crean solo para el primer fragmento IP
Aspectos avanzados de la arquitectura TCP/IP
60
ICMP: Internet Control Message Protocol
Formato de mensaje 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ón0 0 Respuesta de eco (ping)3 0 Red inalcanzable3 1 Host inalcanzable3 2 Protocolo inalcanzable3 3 Puerto inalcanzable5 0 Redireccionamiento8 0 Petición de eco (ping)11 0 TTL excedido
Aspectos avanzados de la arquitectura TCP/IP
61
ICMP: Internet Control Message Protocol
Ping envía un paquete de datos y espera la respuesta de un paquete
de contestación se basa en mensajes ICMP tipo 8 y 0 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)• Ping permite detectar otros mensajes ICMP.
Aspectos avanzados de la arquitectura TCP/IP
62
ICMP: Internet Control Message Protocol
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
63
ICMP: Internet Control Message Protocol
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.-s count Sello de hora para la cuenta de saltos.-j lista-host Relaja la ruta de origen a lo largo de la lista- host.-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
64
ICMP: Internet Control Message Protocol
Tracert (Trace route)
El emisor manda peticiones de eco al destino
• En el primero, TTL =1• En el segundo, TTL=2,
etc. Cuando el enésimo
datagrama llega al enésimo router:
• El router descarta el datagrama
• Y 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
La petición de eco llega finalmente al host destino
El destination devuelve una respuesta de eco
Cuando el emisor recibe este mensaje ICMP, el proceso termina.
Aspectos avanzados de la arquitectura TCP/IP
65
ICMP: Internet Control Message Protocol
Tracert (Trace route)
Echo requestTTL = 1
Echo requestTTL = 1
Echo requestTTL = 1
Echo requestTTL = 1
Echo requestTTL = 2
Echo requestTTL = 2
Echo requestTTL = 2
Echo requestTTL = 3
Echo requestTTL = 4
Echo requestTTL = 3
ICMP messageTTL exceeded (type 11)
ICMP messageTTL exceeded (type 11) ICMP message
TTL exceeded (type 11)
Echo reply
X X
X
Aspectos avanzados de la arquitectura TCP/IP
66
ICMP: Internet Control Message Protocol
Destino inalcanzable (tipo 3)
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
67
ICMP: Internet Control Message Protocol
RED B
RED A
Router A
Router B
(1)
(3)
(2)
ICMP Redirect (type 5)
Útil cuando hay distintas puertas de enlace posibles Pasos
Se manda el paquete a la puerta de enlace por defecto
La puerta de enlace por defecto manda el paquete al router B
La puerta de enlace por defecto manda un ICMP redirect al host
Aspectos avanzados de la arquitectura TCP/IP
68
Tema 3. Aspectos avanzados de la arquitectura TCP/IP
3.1 Control de la congestión en TCP
3.2 Traducción de direcciones: NAT
3.3 Enrutamiento en internet RIP OSPF BGP
3.4 Control de errores en IPv4: ICMP
3.5 Configuración dinámica de direcciones en IPv4: DHCP
3.6 IP versión 6
Aspectos avanzados de la arquitectura TCP/IP
69
Configuración dinámica de direcciones
Configuración de direcciones estática dinámica: automática y más eficiente
Protocolos para la configuración automática de direcciones: RARP: Reverse Address Resolution
Protocol BootP: Bootstrap Protocol DHCP: Dynamic Host Configuration
Protocol
Aspectos avanzados de la arquitectura TCP/IP
70
Dynamic Address Configuration
RARP RARP: Reverse Address Resolution
Protocol Dada una MAC, se asigna una dirección IP Los mensajes tienen la misma estructura
que los mensajes ARP RARP es limitado y, por tanto, está
obsoleto.
Aspectos avanzados de la arquitectura TCP/IP
71
Configuración dinámica de direcciones
BootP BootP Protocol:
Bootstrap Protocol Usado para obtener
una dirección IP automáticamente (normalmente en el proceso de arranque)
No se suele usar para la configuración dinámica de direcciones, dado que DHCP es una versión mejorada de BootP.
Proceso BootP El host determina su propia
MAC El host manda su IP al puerto
67 del (0.0.0.0 si no conoce su IP and 255.255.255.255 si no conoce la del servidor)
El servidor busca la MAC del host en un fichero de configuración
El servidor incluye las IPs del host y el servidor en un datagrama UDP y las envía al puerto 68 del cliente
El Host guarda su IP y arranca
Aspectos avanzados de la arquitectura TCP/IP
72
Configuración dinámica de direcciones Mensaje BootP
Code: BootPRequest & BootPReply
Transaction id HW address: ej. MAC Server host name (el servidor no
tiene por qué estar en el mismo dominio de broadcast)
Boot file name 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
73
Dynamic Address Configuration DHCPDynamic Host Configuration Protocol (DHCP) – RFC 2131:
capacidad de asignar automáticamente direcciones de red reutilizables (arrendamiento de direcciones IP)
se basa en el protocolo BOOTP, mediante la estandarización del campo Vendor Specific Area de PDU de BootP (312 bytes).
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
74
Dynamic Address Configuration Mensaje DHCP
Igual que el mensaje BootP excepto por el campo opciones (312 bytes) en lugar del Vendor Specific Area
• 4 primeros bytes: magic cookie -> 99.130.83.99 (means 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
75
Configuración dinámica de direcciones Ciclo DHCP
1. DHCP DISCOVER: intenta encontrar un servidor DHCP.
2. DHCP OFFER: el/los servidor(es) ofrece(n) una dirección IP
3. DHCP REQUEST: el cliente pide ciertos parámetros (Normalmente los que le ha ofrecido el servidor)
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
1
2
3
4Cliente DHCP
(puerto 68) Servidor DHCP(puerto 67)
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
76
Configuración dinámica de direcciones Otras características de DHCP
Un router puede hacer de servidor DHCP BootP Relay: cuando el servidor no está en el mismo dominio
de broadcast ARP gratuito: petición ARP del cliente de su propia IP.
Comprueba si la dirección asignada está en uso. Opción 50: el cliente pide una determinada IP Opción 51: tiempo de arrendamiento Tamaño máximo del mensaje DHCP : 576 bytes
Aspectos avanzados de la arquitectura TCP/IP
77
Tema 3. Aspectos avanzados de la arquitectura TCP/IP
3.1 Control de la congestión en TCP
3.2 Traducción de direcciones: NAT
3.3 Enrutamiento en internet RIP OSPF BGP
3.4 Control de errores en IPv4: ICMP
3.5 Configuración dinámica de direcciones en IPv4: DHCP
3.6 IP versión 6
Aspectos avanzados de la arquitectura TCP/IP
78
IPv6 Motivación inicial: El espacio de
direcciones de 32-bits está completo Cambios básicos:
Espacio de direcciones de 128-bits• Ej: 2002:96d6:8ddc::96dc:6301 (los bits que faltan
son ceros) El formato de cabecera mejora el tiempo de
procesado Cabecera de 40-bytes (tamaño fijo) Otros cambios basados en la experiencia
previa con IPv4
Aspectos avanzados de la arquitectura TCP/IP
79
Cabecera IPv6Versión: 6Priority (clase de tráfico): identifica la prioridad de los datagramasFlow 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 IPv4Src & Dest addr: 128 bytes
Aspectos avanzados de la arquitectura TCP/IP
80
Cambios respecto a IPv4
Checksum: eliminado para reducir el tiempo de procesado en cada router
Fragmentación: eliminada en IPv6, también para reducir el tiempo de procesado
Opciones: permitidas, pero fuera de la cabecera, indicadas en el campo “Next Header”
ICMPv6: nueva versión de ICMP Tipos de mensajes adicionales, ej: “Paquete
demasiado grande”Aspectos avanzados de la arquitectura
TCP/IP
81
Transición de IPv4 a IPv6
No todos los routers pueden pasar a IPv6 simultáneamente Sin Día D ¿Cómo hace internet para funcionar con
routers IPv4 y IPv6 al mismo tiempo? Tunelización: IPv6 va en el campo de datos
del datagrama IPv4 entre routers IPv4
Aspectos avanzados de la arquitectura TCP/IP