Publicado el 5 de Junio del 2017
735 visualizaciones desde el 5 de Junio del 2017
874,8 KB
16 paginas
Creado hace 17a (02/10/2007)
LABORATORIO DE PROGRAMACIÓN DE REDES
Área de Ingeniería Telemática
Soluciones a los problemas
de direccionamiento
Area de Ingeniería Telemática
http://www.tlm.unavarra.es
Laboratorio de Programación de Redes
3º Ingeniería Técnica en Informática de Gestión
Objetivo
• Ver diferentes soluciones al problema
de la escasez de direcciones IP
Agotamiento de direcciones
1/47
Contenido
• Introducción
• El problema
• Algunas soluciones
– DHCP
– NAT
– IPv6
Agotamiento de direcciones
2/47
1
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
I
E
D
O
R
O
T
A
R
O
B
A
L
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
Contenido
• Introducción
• El problema
• Algunas soluciones
– DHCP
– NAT
– IPv6
Agotamiento de direcciones
3/47
UDP: User Datagram Protocol
• RFC 768
• Protocolo de transporte simple,
• Sin conexión:
– No hay handshaking entre emisor y
receptor
• Empleado
– Cada datagrama UDP es procesado
de forma independiente a los demás
frecuentemente para
streaming
aplicaciones
multimedia
– Soportan pérdidas
– Sensibles a la tasa de envío
de
• Otros usos de UDP:
– DNS
– SNMP
sin gran inteligencia
• Servicio “best effort”
• Datagramas
•
datagramas UDP
Los
pueden:
– Perder
– Llegar desordenados a
se
la
aplicación
• ¿Transferencia
fiable
sobre
UDP?
– Añadir fiabilidad en el nivel de
aplicación
– ¡Recuperación ante errores
específica de cada aplicación!
Agotamiento de direcciones
4/47
UDP: User Datagram Protocol
• ¿Por qué existe UDP?
– Es simple: no hay que
mantener estado
– Un
establecimiento
conexión añadiría
no deseado
de
retardo
– Cabecera pequeña
– No
hay
control
de
congestión: puede enviar
tan rápido como desee
• Encapsulado en paquetes
IP, protocolo 17
• Cuando un host recibe un
datagrama UDP :
– Comprueba
destino en el mismo
el
puerto
– Dirige el segmento a
la
aplicación esperando datos
a ese puerto
• Diferentes
IP origen o
puertos origen van al mismo
punto de acceso al servicio
(SAP)
Datagrama UDP
Paquete IP
Protocolo=17
Agotamiento de direcciones
5/47
2
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
Cabecera UDP
Puerto del servidor
Normalmente lo escoge el sistema operativo
Suele ser un puerto efímero
Puerto origen
•
•
Puerto destino
•
• Well known o se debe conocer por algún medio
Respuesta servidor→cliente
•
•
•
Longitud
•
Sentido contrario
Puerto origen es el del servidor (well known)
Puerto destino el efímero del cliente
Bytes del datagrama UDP
32 bits
puerto origen
puerto dest.
checksum
longitud
otros campos de
la cabecera
datos de la
datos de la
aplicación
aplicación
(mensaje)
(mensaje)
Agotamiento de direcciones
6/47
TCP
Transmission Control Protocol
•
• Nivel de transporte
• RFCs 793, 1122, 1323, 2018, 2581
• Orientado a conexión
•
Flujo de datos:
– Stream de bytes
– Fiable
– Ordenado
– Full duplex
• Control de flujo
– Evitar congestionar al receptor
• Control de congestión
– Evitar congestionar la red
AS 2
AS 1
AS 3
Transporte
UDP TCP
Red
Red
Enlace
Físico
IP
ICMP
Protocolo= 6
Segmento TCP
ARP
Paquete IP
Agotamiento de direcciones
7/47
Demultiplexación con conexión
• Conexión
sockets
identificada por 2
• Cada socket identificado por:
Dirección IP y Puerto TCP
• Es decir,
la conexión viene
identificada por:
– Dirección IP (1), Puerto TCP (1)
– Dirección IP (2), Puerto TCP (2)
• El receptor emplea la cuaterna
para demultiplexar
AS 2
AS 1
AS 3
• Cada host soporta múltiples
conexiones TCP simultáneas
• Con que uno de los 4 valores
sea diferente la conexión ya es
diferente
• Well-known ports, registrados,
efímeros, igual que para UDP
32 bits
puerto origen
puerto dest.
otros campos de
otros campos de
la cabecera
la cabecera
datos de la
aplicación
(mensaje)
Agotamiento de direcciones
8/47
3
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
I
E
D
O
R
O
T
A
R
O
B
A
L
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
Gestión de conexiones
Estableciendo una conexión:
• Three way handshake
Paso 1:
• El extremo cliente envía un
una
solicitando
segmento
conexión al servidor
cliente
servidor
SYN
• El segmento no tiene datos,
solo cabecera
• SYN
Agotamiento de direcciones
9/47
Gestión de conexiones
Paso 2:
• El extremo servidor envía un
segmento al cliente confirmando
(acknowledgement) la recepción
del SYN
• En el mismo segmento el
indica su deseo de
servidor
establecer la conexión (SYN)
• El segmento no tiene datos,
solo cabecera
cliente
servidor
SYN
A C K
S Y N ,
Agotamiento de direcciones
10/47
Gestión de conexiones
Paso 3:
• El extremo cliente envía una
confirmación al SYN del servidor
• El segmento no tiene datos,
solo cabecera
• Conexión establecida
cliente
servidor
SYN
A C K
S Y N ,
ACK
conectado
Transferencia de datos…
conectado
Agotamiento de direcciones
11/47
4
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
I
E
D
O
R
O
T
A
R
O
B
A
L
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
Gestión de conexiones
Cerrando una conexión
Paso 1:
• Un
extremo
un
segmento solicitando el cierre
de la conexión
envía
FIN
• El segmento no tiene datos,
solo cabecera
• FIN
Agotamiento de direcciones
12/47
Gestión de conexiones
Paso 2:
• El otro extremo confirma (ACK)
la recepción del FIN
• El extremo que ha enviado el
FIN ya no puede enviar más
datos nuevos
• Cierre solo de un sentido de la
comunicación
FIN
A C K
Agotamiento de direcciones
13/47
Gestión de conexiones
Paso 3:
• El otro extremo envía un
segmento solicitando el cierre de
la conexión
• El segmento no tiene datos, solo
cabecera
FIN
A C K
F I N
Agotamiento de direcciones
14/47
5
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
e
d
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
Gestión de conexiones
Paso 4:
• Confirmación de ese segundo
FIN
• Por si ese último ACK se pierde,
el que lo envió espera un tiempo
(podría
tener que volverlo a
enviar)
• Conexión cerrada
FIN
A C K
F I N
ACK
cerrada
ait
e w
tim
cerrada
Agotamiento de direcciones
15/47
Diagrama de estados
SYN
SYN, ACK
ACK
CLOSED
LISTEN
SYN RCVD
ESTABLISHED
Open activo, snd SYN
Open pasivo
CLOSED
Close
Close
LISTEN
snd SYN
rcv SYN / snd ACK
rcv SYN /
snd SYN,ACK
SYN
RCVD
rcv ACK
SYN
SENT
rcv SYN, ACK / snd ACK
Close, snd FIN
ESTABLISHED
rcv FIN / snd ACK
Close, snd FIN
FIN
WAIT-1
rcv ACK
rcv FIN /
snd ACK
CLOSING
rcv FIN, ACK /
snd ACK
CLOSE
WAIT
Close, snd FIN
rcv ACK
LASTACK
rcv ACK
FIN
WAIT-2
TIMEWAIT
rcv FIN /snd ACK
Timeout
2xMSL
CLOSED
Agotamiento de direcciones
16/47
Diagrama de estados
SYN
SYN, ACK
ACK
CLOSED
LISTEN
SYN RCVD
ESTABLISHED
Open activo, snd SYN
Open pasivo
CLOSED
Close
Close
LISTEN
snd SYN
rcv SYN / snd ACK
rcv SYN /
snd SYN,ACK
SYN
RCVD
rcv ACK
Close, snd FIN
SYN
SENT
rcv SYN, ACK / snd ACK
ESTABLISHED
rcv FIN / snd ACK
Close, snd FIN
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
I
E
D
O
R
O
T
A
R
O
B
A
L
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
a
e
r
Á
CLOSED
e
d
SYN SENT
ESTABLISHED
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
a
e
r
Á
I
E
D
O
R
O
T
A
R
O
B
A
L
CLOSED
e
d
SYN SENT
ESTABLISHED
Datos
ACK .
.
FIN
WAIT-1
rcv ACK
rcv FIN /
snd ACK
CLOSING
rcv FIN, ACK /
snd ACK
CLOSE
WAIT
Close, snd FIN
rcv ACK
LASTACK
rcv ACK
FIN
WAIT-2
TIMEWAIT
rcv FIN /snd ACK
Timeout
2xMSL
CLOSED
Agotamiento de direcciones
17/47
6
Diagrama de estados
S
E
D
E
R
E
D
N
Ó
C
A
M
A
R
G
O
R
P
I
I
E
D
O
R
O
T
A
R
O
B
A
L
a
c
i
t
á
m
e
e
T
l
a
i
í
r
e
n
e
g
n
I
a
e
r
Á
CLOSED
e
d
SYN SENT
ESTABLISHED
SYN
SYN, ACK
ACK
CLOSED
LISTEN
SYN RCVD
ESTABLISHED
Open activo, snd SYN
Open pasivo
CLOSED
Close
Close
LISTEN
snd SYN
rcv SYN / snd ACK
rcv SYN /
snd SYN,ACK
SYN
RCVD
rcv ACK
SYN
SENT
rcv SYN, ACK / snd ACK
Close, snd FIN
ESTABLISHED
rcv FIN / snd ACK
Close, snd FIN
FIN
WAIT-1
rcv ACK
rcv FIN /
snd ACK
CLOSING
rcv FIN, ACK /
snd ACK
CLOSE
WAIT
Close, snd FIN
rcv ACK
LASTACK
rcv ACK
FIN
W
Comentarios de: Soluciones a los problemas de direccionamiento (0)
No hay comentarios