Publicado el 14 de Enero del 2017
800 visualizaciones desde el 14 de Enero del 2017
1,1 MB
26 paginas
Creado hace 19a (11/10/2005)
Clase 17
TCP: Carácterísticas
Establecimiento y finalización de conexiones
Tema 5.- Nivel de transporte en Internet
Dr. Daniel Morató
Redes de Ordenadores
Ingeniero Técnico de Telecomunicación Especialidad en
Sonido e Imagen, 3º curso
Temario
1.- Introducción
2.- Nivel de enlace en LANs
3.- Interconexión de redes IP
4.- Enrutamiento con IP
5.- Nivel de transporte en Internet
6.- Nivel de aplicación en Internet
7.- Ampliación de temas
TCP
1/25
Temario
1.- Introducción
2.- Nivel de enlace en LANs
3.- Interconexión de redes IP
4.- Enrutamiento con IP
5.- Nivel de transporte en Internet
6.- Nivel de aplicación en Internet
7.- Ampliación de temas
Nivel de transporte: UDP
TCP: Características. Establecimiento y finalización de
conexiones
Control de flujo en TCP
TCP
2/25
Objetivos
Ver las carácterísticas de TCP
Especialmente qué quiere decir que
sea “orientado a conexión”
TCP
3/25
Contenido
Introducción
Demultiplexación en TCP
Gestión de conexiones
TCP
4/25
Contenido
Introducción
Demultiplexación en TCP
Gestión de conexiones
TCP
5/25
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
Transporte
UDP TCP
Control de flujo
– Evitar congestionar al receptor
Control de congestión
– Evitar congestionar la red
AS 2
AS 1
AS 3
Red
Red
Enlace
Físico
IP
ICMP
Protocolo= 6
Segmento TCP
ARP
Paquete IP
TCP
6/25
Demultiplexación con conexión
Conexión
identificada
por
2
sockets
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)
TCP
7/25
Demultiplexación: Ejemplo
App 1
Transporte
Red
Enlace
Físico
IP: A
S-IP: A
D-IP: C
SP: 9157
DP: 80
App 4
App 5
App 6
Transporte
Red
Enlace
Físico
IP: C
S-IP: B
D-IP: C
SP: 5775
DP: 80
App 2
App 3
Transporte
Red
Enlace
Físico
S-IP: B
D-IP: C
SP: 9157
DP: 80
IP: B
TCP
8/25
Demultiplexación: otro ejemplo
App 1
Transporte
Red
Enlace
Físico
IP: A
S-IP: A
D-IP: C
SP: 9157
DP: 80
App 4
Transporte
Red
Enlace
Físico
IP: C
S-IP: B
D-IP: C
SP: 5775
DP: 80
App 2
App 3
Transporte
Red
Enlace
Físico
S-IP: B
D-IP: C
SP: 9157
DP: 80
IP: B
TCP
9/25
Contenido
Introducción
Demultiplexación en TCP
Gestión de conexiones
TCP
10/25
Gestión de conexiones
Estableciendo una conexión:
Three way handshake
Paso 1:
El extremo cliente envía un
solicitando una
segmento
conexión al servidor
El segmento no tiene datos,
solo cabecera
SYN
cliente
servidor
SYN
TCP
11/25
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 ,
TCP
12/25
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
TCP
13/25
Gestión de conexiones
Cerrando una conexión
Paso 1:
Un
extremo
segmento
cierre de la conexión
envía
solicitando
un
el
FIN
El segmento no tiene datos,
solo cabecera
FIN
TCP
14/25
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
TCP
15/25
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
TCP
16/25
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
ait
e w
tim
cerrada
FIN
A C K
F I N
ACK
cerrada
TCP
17/25
Diagrama de estados
CLOSED
SYN SENT
ESTABLISHED
SYN
SYN, ACK
ACK
CLOSED
LISTEN
SYN RCVD
ESTABLISHED
Open activo, snd SYN
CLOSED
Open pasivo
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
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
TCP
TIMEWAIT
rcv FIN /snd ACK
Timeout
2xMSL
CLOSED
18/25
Diagrama de estados
CLOSED
SYN SENT
ESTABLISHED
SYN
SYN, ACK
ACK
CLOSED
LISTEN
SYN RCVD
ESTABLISHED
Datos
ACK .
.
Open activo, snd SYN
CLOSED
Open pasivo
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
CLOSE
WAIT
Close, snd FIN
rcv ACK
LASTACK
rcv ACK
FIN
WAIT-1
rcv ACK
rcv FIN /
snd ACK
CLOSING
rcv FIN, ACK /
snd ACK
FIN
WAIT-2
TCP
TIMEWAIT
rcv FIN /snd ACK
Timeout
2xMSL
CLOSED
19/25
Diagrama de estados
CLOSED
SYN SENT
ESTABLISHED
SYN
SYN, ACK
ACK
CLOSED
LISTEN
SYN RCVD
ESTABLISHED
Datos
ACK .
.
FIN
ACK
FIN
ACK
CLOSE WAIT
LAST ACK
CLOSED
FIN WAIT-1
FIN WAIT-2
TIMEWAIT
CLOSED
Open activo, snd SYN
CLOSED
Open pasivo
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
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
TCP
TIMEWAIT
rcv FIN /snd ACK
Timeout
2xMSL
CLOSED
20/25
Servidor
Cliente
Open activo, snd SYN
Open activo, snd SYN
CLOSED
Open pasivo
Close
Close
CLOSED
Open pasivo
Close
Close
LISTEN
snd SYN
rcv SYN / snd ACK
rcv SYN /
snd SYN,ACK
SYN
RCVD
rcv ACK
Close, snd FIN
SYN
SENT
LISTEN
snd SYN
rcv SYN / snd ACK
rcv SYN /
snd SYN,ACK
SYN
RCVD
rcv ACK
Close, snd FIN
SYN
SENT
ESTABLISHED
rcv FIN / snd ACK
Close, snd FIN
ESTABLISHED
rcv FIN / snd ACK
Close, snd FIN
FIN
WAIT-1
rcv ACK
FIN
WAIT-2
rcv FIN /
snd ACK
CLOSING
rcv FIN, ACK /
snd ACK
CLOSE
WAIT
Close, snd FIN
rcv ACK
LASTACK
rcv ACK
TIMEWAIT
rcv FIN /snd ACK
CLOSED
Timeout
2xMSL
FIN
WAIT-1
rcv ACK
FIN
WAIT-2
rcv FIN /
snd ACK
CLOSING
rcv FIN, ACK /
snd ACK
CLOSE
WAIT
Close, snd FIN
rcv ACK
LASTACK
rcv ACK
TIMEWAIT
rcv FIN /snd ACK
CLOSED
Timeout
2xMSL
TCP
21/25
Ejemplo
$ tcpdump -ttnlS tcp and host 10.1.11.1
Kernel filter, protocol ALL, datagram packet socket
tcpdump: listening on all devices
54.171 1.1.1.12.1798 > 10.1.11.1.telnet: S 3462181145:3462181145(0)
54.175 10.1.11.1.telnet > 1.1.1.12.1798: S 1997882026:1997882026(0) ack 3462181146
54.175 1.1.1.12.1798 > 10.1.11.1.telnet: . 3462181146:3462181146(0) ack 1997882027
54.177 1.1.1.12.1798 > 10.1.11.1.telnet: P 3462181146:3462181173(27) ack 1997882027
54.178 10.1.11.1.telnet > 1.1.1.12.1798: . 1997882027:1997882027(0) ack 3462181173
...
66.816 10.1.11.1.telnet > 1.1.1.12.1798: FP 1997882551:1997882559(8) ack 3462181333
66.816 1.1.1.12.1798 > 10.1.11.1.telnet: . 3462181333:3462181333(0) ack 1997882560
66.817 1.1.1.12.1798 > 10.1.11.1.telnet: F 3462181333:3462181333(0) ack 1997882560
66.818 10.1.11.1.telnet > 1.1.1.12.1798: . 1997882560:1997882560(0) ack 3462181334
TCP
22/25
Resumen
Fiable, mantiene el orden, flujo en stream…
TCP emplea el concepto de conexión
(IP_1, puerto_1, IP_2, puerto_2)
Mantiene estado
TCP
23/25
Temario
1.- Introducción
2.- Nivel de enlace en LANs
3.- Interconexión de redes IP
4.- Enrutamiento con IP
5.- Nivel de transporte en Internet
6.- Nivel de aplicación en Internet
7.- Ampliación de temas
Nivel de transporte: UDP
TCP: Características. Establecimiento y finalización de
conexiones
Control de flujo en TCP
TCP
24/25
Próxima clase
Control de flujo en TCP
Lecturas recomendadas:
– [Forouzan03] 12-12.4, 12.9
– 14 páginas
TCP
25/25
Comentarios de: Clase 17 TCP: Carácterísticas Establecimiento y finalización de conexiones (0)
No hay comentarios