Logo Studenta

Slides TD IV - clases (25)

¡Este material tiene más páginas!

Vista previa del material en texto

TD4 2022TD4 2022 3
El protocolo IP
TD4 2022TD4 2022
El nivel de red en Internet
Funciones del nivel de red:
Protocolo IP
• Formato de datagrama
• Direccionamiento
Protocolo ICMP
• Manejo de errores
• Señalización de routers
nivel de transporte: TCP, UDP
nivel de enlace
nivel físico
nivel
de red tabla de 
forwarding
Algoritmos de 
selección de rutas: 
Implementados en 
• Protocolos de 
ruteo (OSPF, 
BGP)
• Controlador SDN
4
TD4 2022TD4 2022
Formato del datagrama IP
ver longitud
32 bits
payload
(longitud variable; 
usualmente segmento 
TCP o UDP)
ID - 16 bits
checksum TTL
dirección IP origen
long. 
header ToS
flags
offset 
fragmento
proto
dirección IP destino
opciones (opcional)
número de versión de IP
longitud del
header en bytes
protocolo del nivel superior
(e.g., TCP o UDP)
longitud del 
datagrama completo 
en bytes
TTL: hops disponibles
(decrementado en cada router)
▪ 20 bytes (TCP)
▪ 20 bytes (IP)
▪ = 40 bytes (+ overhead 
del nivel de app)
overhead e.g., timestamp, 
registro de ruta
fragmentación
checksum
del header
longitud máxima: 64 KB
típicamente ≤ 1500 bytes
5
tipo de servicio
▪ diffserv (0:5)
▪ ECN (6:7)
 
TD4 2022TD4 2022
▪ Dirección IP: identificador de 32 
bits asociado con cada interfaz 
de un host o router
▪ Interfaz: conexión entre un 
host/router y un enlace físico 
• Los routers suelen tener varias
• Los hosts suelen tener una o 
dos (e.g., Ethernet -cableada- 
y/o 802.11, WiFi -inalámbrica-)
Direccionamiento IP
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.1 = 11011111 00000001 00000001 00000001
223 1 11
 
notación dot-decimal:
6
TD4 2022TD4 2022
Direccionamiento IP
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
las interfaces Ethernet
se conectan vía switches
las interfaces WiFi se 
conectan vía estaciones 
base (access points)
Por el momento no nos vamos 
a detener en cómo se 
interconectan las interfaces
 
7
TD4 2022TD4 2022
Subnets
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
▪Sub-red (subnet)
• Conjunto de interfaces que 
pueden comunicarse entre sí 
sin atravesar un router
 
red con 3 subnets distintas
▪Estructura en direcciones IP
• Subnet: los dispositivos en la misma 
subnet comparten los bits más 
significativos de la dirección IP
• Host: los bits menos significativos 
remanentes
8
TD4 2022TD4 2022
Subnets
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
Definición de subnets
▪Si “desconectamos” cada 
interfaz de su host/router, 
obtenemos “islas” de redes 
aisladas unas de otras
▪Cada una de estas redes es 
una subnet
 
máscara de red: /24
(24 bits más significativos:
porción de subnet de la dirección IP)
subnet
223.1.3.0/24
subnet 223.1.1.0/24
subnet 223.1.2.0/24
9
TD4 2022TD4 2022
Subnets: ejercicio
▪ ¿Cuáles son las subnets?
▪ ¿Cuáles son sus direcciones /24?
223.1.1.1
223.1.1.3
223.1.1.4
223.1.2.2
223.1.2.6
223.1.3.2223.1.3.1
223.1.3.27
223.1.1.2
223.1.7.0
223.1.7.1
223.1.8.0223.1.8.1
223.1.9.1
223.1.9.2
 
 
 
 
 
 
223.1.2.1
subnet 223.1.1.0/24
subnet 223.1.7.0/24
subnet 
223.1.3.0/24
subnet 223.1.2.0/24
subnet 223.1.9.0/24
subnet 223.1.8.0/24
10
TD4 2022TD4 2022
Direccionamiento IP: CIDR
CIDR: Classless Inter Domain Routing
•Generalización del concepto de direccionamiento de subnets
•Longitud arbitraria de la porción de subnet de la dirección IP
•Formato a.b.c.d/x, donde x es el número de bits en la porción de 
subnet de la dirección (prefijo)
11001000 00010111 00010000 00000000
subnet host
200.23.16.0/23
11
TD4 2022TD4 2022
Obtención de direcciones IP
1. ¿Cómo hace un host para obtener una dirección IP dentro de su red?
2. ¿Cómo obtener una dirección IP para una red en Internet?
Obtención de IPs dentro de una red:
▪ Configuración manual por un administrador en un archivo (e.g., 
/etc/network/interfaces en Ubuntu pre 20.04/Debian)
▪ DHCP (Dynamic Host Configuration Protocol)
• Obtención dinámica de dirección IP desde un servidor
12
TD4 2022TD4 2022
DHCP: Dynamic Host Configuration Protocol
Objetivo: permitir que los hosts consigan direcciones IP 
dinámicamente al “unirse” a la red
▪ “Préstamo” de direcciones (renovables)
▪ Direcciones reutilizables (sólo tomadas mientras los hosts están 
conectados)
▪ Soporte para usuarios móviles que entran y salen de la red
Vista general del protocolo:
▪ El host hace broadcast de un mensaje DHCP discover 
▪ El servidor DHCP responde con un DHCP offer
▪ El host solicita una dirección IP con un DHCP request
▪ El servidor DHCP envía la dirección con un DHCP ACK
13
TD4 2022TD4 2022
DHCP: Dynamic Host Configuration Protocol
223.1.1.1
223.1.1.2
223.1.1.3
223.1.1.4 223.1.2.9
223.1.2.2
223.1.2.1
223.1.3.2223.1.3.1
223.1.3.27
 
servidor DHCP
223.1.2.5
Al llegar un nuevo cliente, 
inicia el intercambio de 
mensajes para obtener una 
dirección IP en la red
Por lo general, el servidor DHCP está 
embebido en el router, sirviendo a 
todas las subnets a las cuales se 
conecta el router
14
TD4 2022TD4 2022
DHCP: Dynamic Host Configuration Protocol
servidor DHCP: 
223.1.2.5
nuevo clienteDHCP discover
src : 0.0.0.0, 68 
dest.: 255.255.255.255,67
yiaddr: 0.0.0.0
transaction ID: 654
DHCP offer
src: 223.1.2.5, 67 
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 654
lifetime: 3600 secs
DHCP request
src: 0.0.0.0, 68 
dest:: 255.255.255.255, 67
yiaddrr: 223.1.2.4
transaction ID: 655
lifetime: 3600 secs
DHCP ACK
src: 223.1.2.5, 67 
dest: 255.255.255.255, 68
yiaddrr: 223.1.2.4
transaction ID: 655
lifetime: 3600 secs
Broadcast: ¿hay algún 
servidor DHCP por ahí?
Broadcast: soy un 
servidor DHCP; acá tenés 
una dirección disponible
Broadcast: OK, me gustaría 
usarla
Broadcast: OK, ya la tenés 
reservada
Los dos primeros pasos 
pueden omitirse si el cliente 
“recuerda” una dirección 
utilizada previamente y 
desea volver a usarla
[RFC 2131]
15
TD4 2022TD4 2022
DHCP: Dynamic Host Configuration Protocol
DHCP también permite que los hosts reciban, además de la 
dirección IP,
▪ La dirección del router first-hop (el default gateway)
▪ El nombre y la IP del servidor DNS
▪ La máscara de red (indicando la porción de subnet en la 
dirección)
16
TD4 2022TD4 2022
 
 
DHCP: encapsulamiento y demultiplexación
▪ La notebook usa DHCP para 
obtener una dirección IP, el 
default gateway y el servidor DNS
router con servidor 
DHCP embebido
▪ El mensaje DHCP Request se 
encapsula en UDP; éste se encapsula 
en IP y este último en Ethernet
▪ El frame Ethernet se transmite a la LAN 
en broadcast (dirección física 
FF:FF:FF:FF:FF:FF) y es recibido por 
el router con el servidor DHCP
▪ En el router, Ethernet demultiplexa a 
IP, que a su vez demultiplexa a UDP, 
que a su vez demultiplexa a DHCP
168.1.1.1
DHCP
UDP
IP
Eth
física
DHCP
UDP
IP
Eth
física
17
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
TD4 2022TD4 2022
 
 
DHCP: encapsulamiento y demultiplexación
▪ El servidor DHCP genera un mensaje 
DHCP ACK con la dirección IP 
asignada, la dirección del default 
gateway y la dirección del servidor 
DNS
▪ La respuesta DHCP, apropiadamente 
encapsulada, viaja hacia el cliente 
donde es demultiplexada
▪ El cliente recibe los datos solicitados 
y ya está en condiciones de 
comunicarse con hosts remotos
18
router con servidor 
DHCP embebido
168.1.1.1
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
DHCP
UDP
IP
Eth
física
DHCP
UDP
IP
Eth
física
TD4 2022TD4 2022
Obtenciónde direcciones de red
Los bloques de direcciones pueden obtenerse a través del ISP
■ Tienen reservado un bloque más grande de direcciones
Bloque del ISP 11001000 00010111 00010000 00000000 200.23.16.0/20 
Bloque 0 11001000 00010111 00010000 00000000 200.23.16.0/23 
Bloque 1 11001000 00010111 00010010 00000000 200.23.18.0/23 
Bloque 2 11001000 00010111 00010100 00000000 200.23.20.0/23 
 ... ….. …. ….
Bloque 7 11001000 00010111 00011110 00000000 200.23.30.0/23 
19
El ISP puede ej. particionar su espacio de direcciones en ocho bloques:
TD4 2022TD4 2022
Direccionamiento jerárquico: agregación
“envíenme los 
paquetes cuyas 
direcciones 
comiencen con 
200.23.16.0/20”
200.23.16.0/23
200.23.18.0/23
200.23.30.0/23
ISP 1
Organización 0
Organización 7
Internet
Organización 1
ISP 2
200.23.20.0/23
Organización 2
...
...
Este direccionamiento jerárquico permite anunciar y manejar rutas 
de manera eficiente
20
“envíenme los 
paquetes cuyas 
direcciones 
comiencen con 
199.31.0.0/16”
TD4 2022TD4 2022
Direccionamiento jerárquico
200.23.16.0/23
200.23.30.0/23
200.23.20.0/23
...
...
▪ Si e.g. la organización 1 se mueve de ISP, su espacio de direcciones no 
cambia: el ISP 2 anuncia también dicho bloque al exterior
▪ El mecanismo de longest prefix matching permite encaminar los paquetes
200.23.18.0/23
Organización 1
21
Organización 0
Organización 7
Organización 2
“envíenme los 
paquetes cuyas 
direcciones 
comiencen con 
200.23.16.0/20”
ISP 1
Internet
ISP 2 “envíenme los 
paquetes cuyas 
direcciones 
comiencen con 
199.31.0.0/16 o con 
200.23.18.0/23”
TD4 2022TD4 2022
Direccionamiento IP
¿Cómo hace un ISP para obtener un 
bloque de direcciones?
ICANN: Internet Corporation for 
Assigned Names and Numbers 
■ Reserva direcciones IP a través de 5 
registros regionales (RRs) que a su vez 
reservan a registros locales (e.g. 
LACNIC en América Latina y Caribe)
■ Administra la zona root de DNS, 
incluyendo delegación de los TLDs 
(e.g. .com o .edu)
¿Hay suficientes direcciones IP 
de 32 bits?
▪ ICANN reservó a los RRs el 
último bloque de direcciones 
IPv4 en 2011
▪ La técnica de NAT colabora 
para mitigar el agotamiento 
del espacio de direcciones 
IPv4
▪ IPv6 tiene un espacio de 
direcciones de 128 bits
22
TD4 2022TD4 2022 23
NAT e IPv6
TD4 2022TD4 2022
10.0.0.1
10.0.0.2
10.0.0.3
10.0.0.4
red local 10.0.0.0/24
138.76.29.7
resto de
Internet
 
 
NAT: Network Address Translation
los datagramas con origen o destino en la 
red tienen dirección 10.0.0.0/24 como 
origen o destino (de la forma usual)
todo datagrama saliente tiene la misma 
dirección IP origen, 138.76.29.7
(se diferencian por el puerto origen)
NAT: todos los dispositivos en la red local comparten una única 
dirección IPv4 pública (i.e. visible desde el exterior)
24
TD4 2022TD4 2022
▪ Todos los dispositivos en una red local tienen direcciones de 
32 bits en un espacio de direcciones privado
▪ Prefijos 10.0.0.0/8, 172.16.0.0/12 o 192.168.0.0/16
▪ Sólo pueden ser utilizadas en una red local
▪ Ventajas:
▪ Sólo una dirección IP asignada por el ISP
▪ Posibilidad de cambiar direcciones de hosts en la red sin 
notificar al mundo exterior
▪ Posibilidad de cambiar de ISP sin cambiar las direcciones 
de los dispositivos
▪ Seguridad: los dispositivos en la red no son directamente 
visibles/direccionables 
NAT: Network Address Translation
25
TD4 2022TD4 2022
 Implementación: el router NAT debe (transparentemente):
▪ Reemplazar el par (dirección IP origen, puerto origen) de cada 
datagrama saliente por el par (dirección IP pública, nuevo 
puerto)
• Los hosts remotos responden utilizando el par (dirección IP pública, 
nuevo puerto) como destino de sus segmentos
▪ Almacenar (en una tabla de traducción) los mapeos de 
(dirección IP origen, puerto origen) a (dirección IP pública, nuevo 
puerto)
▪ Hacer el reemplazo inverso en la dirección y el puerto destino de 
cada paquete entrante
NAT: Network Address Translation
26
TD4 2022TD4 2022
NAT: Network Address Translation
S: 10.0.0.1, 3345
D: 128.119.40.186, 80
1
10.0.0.4
138.76.29.7
1: el host 10.0.0.1 envía un 
datagrama a 128.119.40.186, 80
Tabla de traducción NAT
Dirección WAN Dirección LAN
138.76.29.7, 5001 10.0.0.1, 3345
…… ……
S: 128.119.40.186, 80 
D: 10.0.0.1, 3345 4
S: 138.76.29.7, 5001
D: 128.119.40.186, 802
2: el router NAT reemplaza la 
dirección origen 10.0.0.1, 3345 
por 138.76.29.7, 5001, actualiza 
la tabla de traducción e inyecta el 
paquete en el enlace respectivo
S: 128.119.40.186, 80 
D: 138.76.29.7, 5001 3
3: al llegar una respuesta, el 
router cambia el destino del 
paquete por 10.0.0.1, 3345
10.0.0.1
10.0.0.2
10.0.0.3
 
27
4: el router inyecta el
paquete en la red local y el host lo recibe
TD4 2022TD4 2022
▪ NAT tuvo sus controversias:
• Los routers no deberían manipular información de niveles 
superiores (puertos)
• El problema de la escasez de direcciones IP debería resolverse 
con IPv6
• Complicaciones al tener servidores detrás de un router NAT
▪ No obstante esto, NAT llegó para quedarse
• Ampliamente utilizado en redes domésticas e institucionales y 
en redes celulares 4G/5G (CGNAT)
NAT: Network Address Translation
28
TD4 2022TD4 2022
▪ Motivación inicial: escasez del espacio de direcciones de 32 bits 
de IPv4
▪ Otras motivaciones:
• Mejorar la velocidad de procesamiento y forwarding en routers 
(header de longitud fija de 40 bytes)
• Permitir otro tipo de manejo de “flujos” en el nivel de red
IPv6: motivación
29
TD4 2022TD4 2022
IPv6: formato del datagrama
 payload
dirección destino
(128 bits)
dirección origen
(128 bits)
longitud payload próx. hdr límite hops
etiqueta de flujopri
32 bits
priodidad entre 
datagramas de un flujo 
o para ciertas apps 
(símil ToS IPv4)
identificación de 
datagramas en el mismo 
“flujo” (concepto no muy 
bien definido)
Qué falta (respecto de IPv4): 
▪ No está el checksum (para optimizar el procesamiento en los routers)
▪ Sin fragmentación (operación costosa; sólo permitida en origen/destino)
▪ Sin opciones (disponibles como “próximo header”)
30
ver
TD4 2022TD4 2022
▪ No es posible actualizar todos los routers en simultáneo
• Miles de millones de dispositivos
Transición IPv4 → IPv6
direcciones
IPv4
header
IPv4
datagrama IPv4
datagrama IPv6
payload de IPv4 
payload de IPv6
(e.g. TCP)
direcciones
IPv6
header
IPv6
▪ Tunneling: transportar datagramas IPv6 como payload de 
datagramas IPv4
• Permite desplegar gradualmente IPv6 y continuar operando con 
routers IPv4 
• Esta técnica se usa en otros contextos (e.g. redes celulares 4G/5G)
31
TD4 2022TD4 2022
Tunneling y encapsulamiento
Ethernet conectando 
dos routers IPv6
Ethernet
A B
IPv6 IPv6
 
E F
IPv6 IPv6
 
frame Ethernet
datagrama IPv6
lo típico: datagrama como payload del frame de nivel de enlace
 
 
 A B
IPv6 IPv6/v4
 
E F
IPv6/v4 IPv6
 
red IPv4
Red IPv4 
conectando dos 
routers IPv6
32
TD4 2022TD4 2022
Tunneling y encapsulamiento
Túnel IPv4 
conectando dos 
routers IPv6
Túnel IPv4
A B
IPv6
 
E F
IPv6
 
datagrama 
IPv4
datagrama IPv6
tunneling: datagrama IPv6 como payload de un datagrama IPv4
IPv6/v4 IPv6/v4
33
Ethernet conectando 
dosrouters IPv6
Ethernet
A B
IPv6 IPv6
 
E F
IPv6 IPv6
 
frame Ethernet
datagrama IPv6
lo típico: datagrama como payload del frame de nivel de enlace
TD4 2022TD4 2022
C→D
IPv6 en IPv4
flujo: X
orig: A
dest: F
orig: B
dest: E
Tunneling
vista física
IPv4 IPv4
E
IPv6/v4 IPv6
FC D
 
A B
IPv6 IPv6/v4
 
 
vista lógica Túnel IPv4
A B
IPv6 IPv6/v4
 
E F
IPv6/v4 IPv6
 
flujo: X
orig: A
dest: F
A→B
IPv6
flujo: X
orig: A
dest: F
orig: B
dest: E
B→C
IPv6 en IPv4
E→F
IPv6
flujo: X
orig: A
dest: F
flujo: X
orig: A
dest: F
orig: B
dest: E
34
D→E
IPv6 en IPv4
TD4 2022TD4 2022
▪ Google: ~40% de los clientes acceden a los servicios vía IPv6 a julio 2022 (en 
Argentina, ~15%)
Adopción de IPv6
35
https://www.google.com/intl/en/ipv6/statistics.html
TD4 2022TD4 2022
▪ El tiempo de despliegue es muy largo (+25 años y contando)
▪ Es muy complicado cambiar protocolos de nivel de red: los 
“cimientos” de Internet
▪ Es más simple implementar cambios en los protocolos de 
nivel de aplicación (e.g. WWW, redes sociales, streaming –en 
permanente evolución y desarrollo)
Adopción de IPv6
36

Continuar navegando

Otros materiales