Técnicas Digitales III
Interconexión de redes basada en TCP/IP
1
Direccionamiento plano y jerárquico
- El esquema de direcciones MAC dentro de una LAN es
de tipo plano:
- Cualquier dirección MAC puede estar asignada a
cualquier host.
- La dirección MAC no guarda relación con el dominio
de broadcast a que pertenece un host.
- El direccionamiento IP sigue un esquema jerárquico que
permite organizar una interred (internet), mediante la
división en redes y subredes.
2
Direccionamiento IP
- Las direcciones IP originalmente estaban divididas en
clases:
3
Direccionamiento IP
- Rango de direcciones IP de acuerdo a la clase:
4
Direccionamiento IP. Máscaras de subred.
- A fin de flexibilizar el esquema de direccionamiento con
clases se definió la máscara de subred.
- Cada clase tiene una máscara por defecto:
5
Direccionamiento IP. Máscaras de subred.
- Un uso básico de la máscara de subred es para determinar
si los hosts de origen y destino están o no en la misma red
o subred.
- Ejemplo: 192.168.1.132 / 27 le debe enviar un paquete a
192.168.1.49
-Hace & bit a bit de ambas direcciones con su máscara:
192.168.1.132 192.168.1.49
& 255.255.255.224 & 255.255.255.224
192.168.1.128 ≠ 192.168.1.0
Distintas subredes debe encaminar por un router 6
Direccionamiento IP
- La parte de red es usada por los routers para determinar la
ruta que debe seguir un paquete para poder llegar a destino.
- Se introdujeron variantes para flexibilizar el esquema de
clases, a fin de reducir el desperdicio de direcciones IP y
optimizar el proceso de enrutamiento:
- División en subredes (subnetting)
- Usa parte del número de host para crear subredes.
- Enrutamiento entre dominios sin clase (CIDR)
- En lugar del número de red usa prefijo y máscara
- Agrupa varias redes en un solo conjunto 7
División en subredes. Ejemplo con clase C.
- Una empresa dispone de la red 200.100.50.0 / 24 y debe
ser dividirla para sus cinco sucursales.
- Se puede hacer una división con máscara de longitud fija,
usando los tres bits más significativos del número de host.
- Permite obtener hasta 7 subredes de 30 hosts cada una.
- La máscara se extiende de /24 a /27
- Subred 0: 200.100.50.0 / 27
- Subred 1: 200.100.50.32 / 27
…….
- Subred 6: 200.100.50.192 / 27 8
División en subredes. VLSM.
- Un esquema más flexible es el de máscara de longitud
variable (VLSM).
- Cada subred puede tener una capacidad diferente.
- Ejemplo: 200.100.50.0 / 24 podría dividirse en:
- Una subred de 62 hosts: 200.100.50.0 / 26
- Tres subredes de 30 hosts: 200.100.50.64 / 27
200.100.50.96 / 27
200.100.50.128 / 27
- Cuatro subredes de 14 hosts: 200.100.50.160 / 28
200.100.50.176 / 28
200.100.50.192 / 28
200.100.50.208 / 28 9
CIDR
- Permite agrupar varias redes en un solo conjunto,
especificado mediante un prefijo y una máscara.
- Reduce el tamaño de las tablas de enrutamiento,
ahorrando memoria y latencia de los paquetes.
- Ejemplo: un router tiene una misma ruta para llegar a las
redes 170.128.0.0 / 16
170.129.0.0 / 16
170.130.0.0 / 16
170.131.0.0 / 16
Se pueden agrupar como: 170.128.0.0 / 14 10
Protocolo ARP (Address Resolution Protocol)
- Para poder ser transmitido, un paquete IP debe ser
encapsulado en una trama Ethernet.
- Es necesario determinar la dirección física o dirección
MAC correspondiente a la IP de destino.
- Si el host de destino está en el mismo dominio de
broadcast que el de origen, la dirección MAC de destino
debe ser la que corresponde a la IP de destino.
- Si el host de destino está fuera del propio dominio de
broadcast, la dirección MAC de destino debe ser la de la
puerta de enlace. 11
Protocolo ARP (Address Resolution Protocol)
- El protocolo ARP se encarga de averiguar la dirección
MAC que corresponde a una dada IP.
- Envía un requerimiento de ARP en broadcast,
preguntando por la MAC de una IP dada.
- El host que tiene la IP solicitada responde informando
su MAC.
- El par IP-MAC es agregado a una tabla ARP local, y
se mantiene durante un cierto tiempo. Luego de un
tiempo cada entrada se borra y debe ser refrescada.
12
Protocolo ARP. Principio de operación
13
Protocolo ARP
- Los paquetes ARP son encapsulados en una trama del
protocolo de capa 2.
14
Protocolo ARP. Formato de mensaje.
15
Protocolo ARP
Preguntas que debe responderse el host que va a enviar un
paquete:
• ¿El host de destino está en la misma red, o se debe
encaminar a través de un router?
Usa la máscara de subred para determinarlo
• Si el host de destino está en la misma red, ¿cuál es su
dirección física (o MAC)?
Usa ARP para averiguar la MAC de la IP destino
• Si el host de destino está en otra red, ¿cuál es la
dirección física (o MAC) del router?
Usa ARP para averiguar la MAC del router. 16
Protocolo ARP
Consulta a la tabla ARP de una PC.
c:\>arp -a
Interface: 192.168.1.100
Internet Address Physical Address Type
192.168.1.1 00-21-29-79-b6-1b dynamic
192.168.1.102 00-1c-c0-9b-71-b1 dynamic
192.168.1.255 ff-ff-ff-ff-ff-ff static
255.255.255.255 ff-ff-ff-ff-ff-ff static
17
Modelo de capas de TCP/IP
Se diferencia del modelo OSI en que la capa de Aplicación
de TCP/IP agrupa las funciones de las capas de Aplicación,
Presentación y Sesión del modelo OSI.
18
Encapsulamiento.
El encabezado del protocolo de cada capa contiene alguna
indicación del tipo de contenido que lleva encapsulado.
El campo TIPO de la trama MAC permite distinguir:
19
Encapsulamiento.
A su vez, el encabezado IP tiene el campo PROTOCOLO
que permite identificar el protocolo de transporte u otro
que encapsula.
20
Encapsulamiento.
Multiplexión-demultiplexión entre capas 3 y 4
21
Encapsulamiento. Capa de transporte.
- UDP (User Datagram Protocol)
- Protocolo de transporte no orientado a conexión
- Simple, liviano, sin control automático de errores
- Cada datagrama es una entidad independiente
- TCP (Transport Control Protocol):
- Protocolo de transporte orientado a conexión
- Confiable
- Tiene mecanismos para control de errores y de flujo
- Permite segmentar y reensamblar grandes bloques de
datos.
22
Encapsulamiento. Capa de transporte.
- ICMP: Internet Control Message Protocol
- Protocolo de mensajería de control de internet
- No es propiamente un protocolo de transporte
- Implementa:
- Funciones para diagnóstico de la red, por ejemplo:
- Echo Request y Echo Reply, usados por las
utilidades ping y traceroute.
- Mensajes de error, por ejemplo:
- Destino inalcanzable
- Paquete descartado por TTL excedido 23
Encapsulamiento. Protocolos UDP y TCP.
- Los encabezados UDP y TCP contienen un par de
campos:
- Puerto Origen
- Puerto Destino
Que identifican a la aplicaciones de origen y destino de una
comunicación.
Encabezado UDP:
24
Encapsulamiento. Protocolos UDP y TCP.
Como el protocolo TCP es más complejo, su encabezado
contiene mayor cantidad de información, que es usada para
las distintas funciones que demanda su operación:
Encabezado TCP:
25
Encapsulamiento. Protocolos UDP y TCP.
Multiplexión-demultiplexión entre las capas de aplicación
y de transporte (UDP o TCP), en función del Nº de puerto.
UDP / TCP:
demultiplexión
basada en el Puerto
Arribo de un Datagrama UDP
26
Una perspectiva del conjunto de protocolos TCP/IP.
27
ICMP (Protocolo de Mensajería de Control de Internet)
- Usado por hosts y routers para comunicar información de
red:
- Reporte de errores: host, red, puerto o protocolo
inalcanzable.
- Requerimiento y respuesta de eco (usados por ping y
traceroute).
- El mensaje ICMP va encapsulado en un paquete IP.
- El mensaje ICMP contiene los primeros 8 bytes del
paquete IP que originó el error.
28
ICMP (Protocolo de Mensajería de Control de Internet)
Tipo Código Descripción
0 0 echo reply (ping)
3 0 red de destino inaccesible
3 1 host de destino inaccesible
3 2 protocolo de destino inaccesible
3 3 puerto de destino inaccesible
3 6 red de destino desconocida
3 7 host de destino desconocido
4 0 apaciguar origen (control de congestión –
no usado)
8 0 requerimiento de eco (ping)
9 0 anuncio de router
10 0 descubrimiento de router
11 0 TTL expirado
12 0 encabezado IP defectuoso 29
ICMP y Traceroute
• El host origen envía • Cuando recibe el mensaje
series de datagramas ICMP, el origen calcula el
UDP al destino RTT
– El 1ro tiene TTL =1 • Traceroute hace esto 3
– El 2do tiene TTL=2, etc. veces.
– Cualquier Nro de puerto
Criterio de parada:
• Cuando el n-ésimo data- • Eventualmente el datagra-
grama llega al n-ésimo ma UDP llega al destino.
router:
• El destino retorna el men-
– Descarta el datagrama
(porque TTL=0) saje ICMP “puerto inacce-
– Envía al origen un men- sible” packet (tipo 3, cód 3)
saje ICMP (tipo 11, cód 0) • Cuando el origen recibe
– El mensaje incluye este ICMP, se detiene.
nombre y dirección IP del 30
router.
NAT: Network Address Translation
resto de la red de área local
Internet (por ej., red doméstica)
10.0.0/24 10.0.0.1
10.0.0.4
10.0.0.2
138.76.29.7
10.0.0.3
Todos los paquetes que salen Paquetes con origen o destino
de la red local tienen la misma en ésta red tienen dirección IP
dirección IP de origen: 138.76.29.7, de origen o destino dentro del
pero diferentes números rango 10.0.0.0/24
de puerto de origen
31
NAT: Network Address Translation
• Motivación: que las redes locales usen una única
dirección IP para todas las comunicaciones fuera de
ella:
– El ISP no necesita asignar un bloque de direcciones
IP, sólo una para todos los hosts de la red del cliente.
– Se puede cambiar la asignación de direcciones IP
locales, sin notificar al mundo exterior.
– El ISP puede cambiar la asignación de direcciones IP
sin necesidad de modificarlas en la red local.
– Los hosts de la red local no son visibles desde el
mundo exterior (un plus de seguridad).
32
NAT: Network Address Translation
Implementación: Tareas de un router NAT:
– paquetes salientes: reemplazar:
(dirección IP origen, # puerto origen) por
(dirección NAT IP, # nuevo puerto)
Los servidores/clientes remotos responden usando
(dirección NAT IP, nuevo # puerto) como destino.
– registrar (en la tabla de traducciones NAT) cada par:
(dir. IP, # puerto) (dir. NAT IP, nuevo # puerto)
– paquetes entrantes: reemplazar:
(dir. NAT IP, nuevo # puerto) por (dir. IP origen,
#puerto origen) en los campos de destino de cada 33
datagrama entrante, de acuerdo a la tabla NAT.
NAT: Network Address Translation
tabla de traducciones NAT
2: el router NAT 1: host 10.0.0.1
dir. lado WAN dir. lado LAN
cambia la dirección envía un datagrama
138.76.29.7, 5001 10.0.0.1, 3345 a 128.119.40, 80
y puerto origen
…… ……
10.0.0.1, 3345 por
138.76.29.7, 5001; S: 10.0.0.1, 3345
actualiza la tabla D: 128.119.40.186, 80
10.0.0.1
1
S: 138.76.29.7, 5001
2 D: 128.119.40.186, 80 10.0.0.4
10.0.0.2
138.76.29.7 S: 128.119.40.186, 80
D: 10.0.0.1, 3345 4
S: 128.119.40.186, 80
D: 138.76.29.7, 5001 3 10.0.0.3
4: El router NAT
3: Llega la respuesta cambia la dirección de
dirección destino: destino del datagrama
138.76.29.7, 5001 138.76.29.7, 5001 por 10.0.0.1, 3345
34
NAT: Network Address Translation
• El campo “número de puerto” tiene 16 bits:
– 60,000 conexiones simultáneas con una única
dirección IP para toda la LAN!
• NAT es controvertido:
– Los routers sólo deberían procesar hasta la capa 3.
– Viola el argumento de extremo-a-extremo
• NAT debe ser tenido en cuenta por parte de los
diseñadores de aplicaciones, por ej.: P2P.
– La falta de direcciones debería resolverse mediante
IPv6 35
Configuración de NAT en un router Cisco
36
DHCP: Protocolo de configuración dinámica de host
• DHCP brinda un procedimiento para que un servidor
entregue direcciones IP a los clientes.
37
DHCP: Protocolo de configuración dinámica de host
Los clientes “alquilan” información dada por el
servidor por un período definido administrativamente.
38
DHCP y BOOTP:
• BOOTP es el antecesor de DHCP.
• BOOTP sólo asignaba cuatro parámetros fijos, de
acuerdo a la dirección física (o MAC) del cliente.
• Cuando un cliente se mueve a otra red o subred
automáticamente obtiene la dirección
correspondiente.
• DHCP brinda el mecanismo para que un cliente
obtenga más parámetros de configuración IP, tales
como DNS, WINS y nombre de dominio. 39
Operación de DHCP
• DHCP se basa en el uso de cuatro mensajes:
• El cliente envía en broadcast un mensaje
DISCOVER, buscando un servidor DHCP.
• El servidor responde con un mensaje unicast
OFFER, ofreciendo los parámetros solicitados.
• Si el cliente los acepta, envía un mensaje REQUEST
• El servidor confirma mediante un mensaje ACK
• Antes de entregar una dirección IP, el servidor
verifica mediante PING que la misma no esté usada.
40
Mensajes de DHCP
41
Configuración de DHCP en un router Cisco
42