Tema 3. Aspectos avanzados de la arquitectura TCP/IP
Download
Report
Transcript Tema 3. Aspectos avanzados de la arquitectura TCP/IP
Departamento de
Tecnología Electrónica
Algunas de las transparencias
tienen copyright:
Capítulo 3
Aspectos avanzados de
la arquitectura TCP/IP
Redes de
computadoras: Un
enfoque descendente
5th edition.
Jim Kurose, Keith Ross
Addison-Wesley, Abril
2009.
Aspectos avanzados de la arquitectura TCP/IP
1
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
2
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
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
RIP
OSPF
BGP
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
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
RIP
OSPF
BGP
Aspectos avanzados de la arquitectura TCP/IP
4
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
5
Causas/costes de la congestión
Host A
Dos tx:
lIN = Tasa de envío
lOUT = Tasa de
recepción
C= capacidad del
router
Host B
lout
lin : original data
unlimited shared
output link buffers
Teoría de colas
Grandes retrasos
cuando hay
congestión
Existe un máximo
de tasa de
transferencia
Aspectos avanzados de la arquitectura TCP/IP
6
Causas/costes de la congestión:
Suposición: El tx retransmite los paquetes perdidos
Ahora, no se tx lIN, sino una tasa mayor lIN’
“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
Host A
Host B
lout
lin : original data
unlimited shared
output link buffers
Aspectos avanzados de la arquitectura TCP/IP
7
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
Host A
lin : original data
lout
l'in : original data, plus
retransmitted data
finite shared output
link buffers
Host B
Aspectos avanzados de la arquitectura TCP/IP
8
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
9
Aproximaciones al control de la
congestión
Dos posibles 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
Aspectos avanzados de la arquitectura TCP/IP
10
Control de la congestión en TCP
Host A
El emisor limita la
Host B
Host A
Host B
ÚltimoByteEnviadoÚltimoByteAck CongWin
¿Cómo percibe el tx la
timeout
transmisión:
Suceso de pérdida =
timeout o 3 acks
duplicados
El tx TCP reduce la
velocidad (CongWin)
tras el suceso de pérdida
X
loss
timeout
congestión?
X
time
Escenario de
pérdida de
ACK
time
Reenvío de un
segmento tras tres
ACKs duplicados
Aspectos avanzados de la arquitectura TCP/IP
11
Control de la congestión TCP:
aditivo, decrecimiento multiplicativo (AIMD)
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
Comportamiento
en diente de
sierra: sondeo de
BW
congestion window size
crecimiento
congestion
window
24 Kbytes
16 Kbytes
8 Kbytes
time
time
Aspectos avanzados de la arquitectura TCP/IP
12
Control de la congestión TCP:
detalles
Tres fases:
A grandes rasgos,
velocidad =
CongWin
Bytes/sec
RTT
Cuando empieza la conexión,
CongWin = 1 MSS
Ejemplo: MSS = 500 bytes & RTT
= 200 ms
Velocidad inicial = 20 kbps
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
Aspectos avanzados de la arquitectura TCP/IP
13
Arranque lento TCP
El BW disponible debe
Host B
RTT
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
Aspectos avanzados de la arquitectura TCP/IP
time
14
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
Filosofía:
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”
Aspectos avanzados de la arquitectura TCP/IP
15
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
16
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
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
RIP
OSPF
BGP
Aspectos avanzados de la arquitectura TCP/IP
17
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
18
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 paquetes
o 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
19
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
Source addr
192.168.1.10
Dest addr
150.214.141.20
Source addr
Dest addr
150.214.141.2
150.214.141.20
IP packet
IP packet
Inside network
Outside network
NAT Router
192.168.1.1
150.214.141.1
NAT Table
Host A
192.168.1.10
Source addr
150.214.141.20
Dest addr
Host Z
150.214.141.20
150.214.141.2
IP packet
Aspectos avanzados de la arquitectura TCP/IP
20
Tipos de NAT
NAT dinámico
NAT estático
NAPT (Network Address Port Translation)
Aspectos avanzados de la arquitectura TCP/IP
21
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
Source addr
192.168.1.10
Dest addr
150.214.141.20
Source addr
Dest addr
150.214.141.2
150.214.141.20
IP packet
IP packet
Inside network
Outside network
NAT Router
192.168.1.1
150.214.141.1
NAT Table
Private IP
192.168.1.10
Public IP
150.214.141.2
Host A
192.168.1.10
Source addr
150.214.141.20
Host Z
150.214.141.20
Dest addr
150.214.141.2
IP packet
Source addr
150.214.141.20
Dest addr
150.214.141.2
IP packet
Aspectos avanzados de la arquitectura TCP/IP
22
NAT dinámico
Ventaja
Ahorra dir IP públicas
Inconveniente
El tráfico siempre es iniciado desde la inside network -> no permite
servidores
Source addr
192.168.1.10
Dest addr
150.214.141.20
Source addr
Dest addr
150.214.141.2
150.214.141.20
IP packet
IP packet
Inside network
Outside network
NAT Router
192.168.1.1
150.214.141.1
NAT Table
Private IP
192.168.1.10
Public IP
150.214.141.2
Host A
192.168.1.10
Source addr
150.214.141.20
Host Z
150.214.141.20
Dest addr
150.214.141.2
IP packet
Source addr
150.214.141.20
Dest addr
150.214.141.2
IP packet
Aspectos avanzados de la arquitectura TCP/IP
23
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
Source addr
192.168.1.10
Dest addr
150.214.141.20
Source addr
Dest addr
150.214.141.2
150.214.141.20
IP packet
IP packet
Outside network
Inside network
NAT Router
192.168.1.1
150.214.141.1
NAT Table
Private IP
192.168.1.10
Public IP
150.214.141.2
static
Host A
192.168.1.10
Source addr
150.214.141.20
Host Z
150.214.141.20
Dest addr
150.214.141.2
IP packet
Source addr
150.214.141.20
Dest addr
150.214.141.2
IP packet
Aspectos avanzados de la arquitectura TCP/IP
24
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
Source addr
192.168.1.10
Dest addr
150.214.141.20
Source addr
Dest addr
150.214.141.2
150.214.141.20
IP packet
IP packet
Outside network
Inside network
NAT Router
192.168.1.1
150.214.141.1
NAT Table
Private IP
192.168.1.10
Public IP
150.214.141.2
static
Host A
192.168.1.10
Source addr
150.214.141.20
Host Z
150.214.141.20
Dest addr
150.214.141.2
IP packet
Source addr
150.214.141.20
Dest addr
150.214.141.2
IP packet
Aspectos avanzados de la arquitectura TCP/IP
25
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
Source addr Source port
Host A
192.168.1.11
192.168.1.11
1576
Dest addr
Dest port
150.214.141.19
80
Source addr Source port
150.214.141.2
IP packet
1576
Dest addr
150.214.141.19
Dest port
Host Y
150.214.141.19
80
IP packet
NAPT Router
192.168.1.1
150.214.141.1
Inside network
Outside network
NAPT Table
Host B
192.168.1.12
Source addr Source port
192.168.1.12
1576
IP packet
Private IP
local 192.168.1.11:1576
local 192.168.1.12:1576
Public IP
global 150.214.141.2:1576
global 150.214.141.2:1577
Dest addr
Source addr Source port
150.214.141.20
Dest port
21
150.214.141.2
1577
Dest addr
150.214.141.20
Host Z
150.214.141.20
Dest port
21
IP packet
Aspectos avanzados de la arquitectura TCP/IP
26
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
27
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
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
RIP
OSPF
BGP
Aspectos avanzados de la arquitectura TCP/IP
28
Enrutamiento en internet
Funciones de la capa de
red
Direccionamiento
Enrutamiento
Enrutamiento: búsqueda
de la MEJOR ruta
Which route?
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
Aspectos avanzados de la arquitectura TCP/IP
29
Enrutamiento en internet
Concepto: 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
30
Enrutamiento en internet
Conceptos a tener en cuenta en el enrutamiento:
Circuito virtual vs. datagrama
Flujo de datos
Unicast
Broadcast
Multicast
Algoritmos de enrutamiento unicast
Estáticos
Adaptativos
• Centralizados
• Aislados
• Distribuidos
Aspectos avanzados de la arquitectura TCP/IP
31
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
32
Circuito virtual vs. Datagrama
Circuito virtual
Control de errores y
flujo; orden de los datos
Orientado a conexión
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
• Tres fases:
establecimiento,
transferencia y fin
Ventajas
• Eficiencia
• QoS
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
33
Flujo de paquetes
Unicast
Broadcast
Multicast
Aspectos avanzados de la arquitectura TCP/IP
34
Unicast
Flujos individuales: un tx, un rx
A
4 flujos
2 flujos
B
C
D
E
F
Aspectos avanzados de la arquitectura TCP/IP
35
Broadcast
un tx, todos rx
A
1 flujo
1 flujo
B
C
D
E
F
Aspectos avanzados de la arquitectura TCP/IP
36
Multicast
Un flujo, solo rx deseados
A
1 flujo
1 flujo
B
C
D
E
F
Aspectos avanzados de la arquitectura TCP/IP
37
Enrutamiento unicast
Objetivo
Llevar los paquetes de
emisor a receptor
Enrutamiento en la capa
de red
Características del
algoritmo de enrutamiento
Direccionamiento
jerárquico: primero se
encuentra la red y luego
el host
Correcto
Simple
Robusto
Ecuánime
Óptimo
Algoritmo de
enrutamiento
El router calcula cómo se
debe enrutar
Aspectos avanzados de la arquitectura TCP/IP
38
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
Motor de
enrutamiento
Tabla de
enrutamiento
Entradas
Router
Salidas
Aspectos avanzados de la arquitectura TCP/IP
39
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
40
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
41
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
42
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
43
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
44
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
45
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
46
RIP: Routing Information Protocol
RIP: 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
47
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
48
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
49
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
50
OSPF: Características básicas
Open Shortest Path First
(OSPF)
Open Shortest Path First
(OSPF)
Protocolo de enrutamiento de
Las actualizaciones se difunden a
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
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
51
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
52
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
53
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
54
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
55
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
56
BGP: Ejemplo
Aspectos avanzados de la arquitectura TCP/IP
57
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
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
RIP
OSPF
BGP
Aspectos avanzados de la arquitectura TCP/IP
58
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
59
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
0
3
3
3
3
5
8
11
Código
0
0
1
2
3
0
0
0
Descripción
Respuesta de eco (ping)
Red inalcanzable
Host inalcanzable
Protocolo inalcanzable
Puerto inalcanzable
Redireccionamiento
Petición de eco (ping)
TTL excedido
Aspectos avanzados de la arquitectura TCP/IP
60
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
61
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
62
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
-a
-n cuenta
-l tamaño
-f
-i TTL
-v TOS
-r cuenta
-s count
-j lista-host
-k lista-host
-w tiempo de espera
Ping al host especificado hasta que se pare
Resolver direcciones en nombres de host
Número de peticiones eco para enviar.
Enviar tamaño del búfer.
Establecer No fragmentar el indicador en paquetes.
Tiempo de vida.
Tipo de servicio.
Ruta del registro para la cuenta de saltos.
Sello de hora para la cuenta de saltos.
Relaja la ruta de origen a lo largo de la lista- host.
Restringir la ruta de origen a lo largo de la lista- host.
Tiempo de espera en milisegundos para esperar cada respuesta.
Aspectos avanzados de la arquitectura TCP/IP
63
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
64
ICMP: Internet Control Message
Protocol
Tracert (Trace route)
Echo request
TTL = 3
Echo request
TTL = 2
Echo request
TTL = 1
Echo request
TTL = 2
Echo request
TTL = 1
X
X
Echo request
TTL = 4
Echo request
TTL = 3
ICMP message
TTL exceeded (type 11) ICMP message
ICMP message
TTL exceeded (type 11)
TTL exceeded (type 11)
Echo request
TTL = 1
X
Echo request
TTL = 2
Echo request
TTL = 1
Echo reply
Aspectos avanzados de la arquitectura TCP/IP
65
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
66
ICMP: Internet Control Message
Protocol
ICMP Redirect (type 5)
Útil cuando hay distintas puertas
de enlace posibles
Pasos
RED A
Router A
(2)
(1)
Router B
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
(3)
RED B
Aspectos avanzados de la arquitectura TCP/IP
67
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
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
RIP
OSPF
BGP
Aspectos avanzados de la arquitectura TCP/IP
68
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
69
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
70
Configuración dinámica de
direcciones
Proceso BootP
BootP
El host determina su propia MAC
BootP Protocol:
El host manda su IP al puerto 67
Bootstrap Protocol
del (0.0.0.0 si no conoce su IP
Usado para obtener una
and 255.255.255.255 si no
dirección IP
conoce la del servidor)
automáticamente
El servidor busca la MAC del
(normalmente en el
host en un fichero de
proceso de arranque)
configuración
No se suele usar para la
El servidor incluye las IPs del
configuración dinámica de
host y el servidor en un
datagrama UDP y las envía al
direcciones, dado que
puerto 68 del cliente
DHCP es una versión
El Host guarda su IP y arranca
mejorada de BootP.
Aspectos avanzados de la arquitectura TCP/IP
71
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
72
Dynamic Address Configuration
DHCP
Dynamic 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
73
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
74
Configuración dinámica de direcciones
Ciclo DHCP
Además:
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
• 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
Nota: El ciclo básico se ejecuta
2
completo sólo si no se dispone de
dirección IP. En caso contrario, sólo
se ejecuta la mitad del ciclo
3
Cliente DHCP
(puerto 68)
4
Servidor DHCP
(puerto 67)
Aspectos avanzados de la arquitectura TCP/IP
75
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
76
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
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
RIP
OSPF
BGP
Aspectos avanzados de la arquitectura TCP/IP
77
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
78
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
79
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
80
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
81