Download Tema 3. Aspectos avanzados de la arquitectura TCP/IP

Document related concepts
no text concepts found
Transcript
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)
crecimiento
 Resumen: incrementar la tasa de transmisión (tamaño de
Comportamiento
en diente de
sierra: sondeo de
BW
congestion window size
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
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