Vous êtes sur la page 1sur 26

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
 Nivel de transporte: UDP
 TCP: Características. Establecimiento y finalización de
conexiones
 Control de flujo en TCP
6.- Nivel de aplicación en Internet
7.- Ampliación de temas

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ónen 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  Control de flujo
 Nivel de transporte – Evitar congestionar al receptor
 RFCs 793, 1122, 1323, 2018,  Control de congestión
2581 – Evitar congestionar la red
 Orientado a conexión
 Flujo de datos: AS 2
– Stream de bytes
– Fiable
– Ordenado
– Full duplex

AS 1 AS 3

Transporte UDP TCP

Red IP
ICMP Segmento TCP
Protocolo= 6
Enlace ARP
Paquete IP
Físico
TCP 6/25
Demultiplexación con conexión
 Conexión identificada por 2  Cada host soporta múltiples
sockets conexiones TCP simultáneas
 Cada socket identificado por:  Con que uno de los 4 valores
Dirección IP y Puerto TCP sea diferente la conexión ya es
 Es decir, la conexión viene diferente
identificada por:
 Well-known ports, registrados,
– Dirección IP (1), Puerto TCP (1)
efímeros, igual que para UDP
– Dirección IP (2), Puerto TCP (2)
 El receptor emplea la cuaterna 32 bits
para demultiplexar
puerto origen puerto dest.
otros campos de
otros campos de
la cabecera
la cabecera
datos de la
AS 2
aplicación
AS 1 AS 3 (mensaje)

TCP 7/25
Demultiplexación: Ejemplo

App 4 App 5 App 6


App 1 App 2 App 3

Transporte S-IP: B
Transporte Red D-IP: C Transporte
Red SP: 5775 Red
Enlace
DP: 80 Enlace
Enlace Físico
Físico Físico

S-IP: A S-IP: B
IP: A IP: C IP: B
D-IP: C D-IP: C
SP: 9157 SP: 9157
DP: 80 DP: 80

TCP 8/25
Demultiplexación: otro ejemplo

App 4
App 1 App 2 App 3

Transporte S-IP: B
Transporte Red D-IP: C Transporte
Red SP: 5775 Red
Enlace
DP: 80 Enlace
Enlace Físico
Físico Físico

S-IP: A S-IP: B
IP: A IP: C IP: B
D-IP: C D-IP: C
SP: 9157 SP: 9157
DP: 80 DP: 80

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 cliente servidor
Paso 1:
SYN
 El extremo cliente envía un
segmento solicitando una
conexión al servidor
 El segmento no tiene datos,
solo cabecera
 SYN

TCP 11/25
Gestión de conexiones
Paso 2:
 El extremo servidor envía un cliente servidor
segmento al cliente confirmando
(acknowledgement) la recepción SYN
del SYN
 En el mismo segmento el
servidor indica su deseo de K
, AC
SYN
establecer la conexión (SYN)
 El segmento no tiene datos,
solo cabecera

TCP 12/25
Gestión de conexiones
Paso 3:
 El extremo cliente envía una cliente servidor
confirmación al SYN del servidor
 El segmento no tiene datos, SYN
solo cabecera
 Conexión establecida
K
, AC
SYN

ACK
conectado
Transferencia de datos… conectado

TCP 13/25
Gestión de conexiones
Cerrando una conexión
Paso 1:
 Un extremo envía un
segmento solicitando el F IN

cierre de la conexión
 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 F IN
FIN ya no puede enviar más
datos nuevos
 Cierre solo de un sentido de la ACK
comunicación

TCP 15/25
Gestión de conexiones
Paso 3:
 El otro extremo envía un
segmento solicitando el cierre
de la conexión F IN
 El segmento no tiene datos, solo
cabecera
ACK

F IN

TCP 16/25
Gestión de conexiones
Paso 4:
 Confirmación de ese segundo
FIN
 Por si ese último ACK se pierde, F IN
el que lo envió espera un tiempo
(podría tener que volverlo a
enviar) ACK
 Conexión cerrada
F IN

ACK

time wait
cerrada

cerrada

TCP 17/25
Diagrama de estados
Open activo, snd SYN
CLOSED CLOSED
LISTEN
SYN CLOSED
Close
SYN SENT Open pasivo Close
SYN, ACK
SYN RCVD LISTEN
rcv SYN /
snd SYN,ACK snd SYN
ACK
ESTABLISHED ESTABLISHED SYN rcv SYN / snd ACK SYN
RCVD SENT
Close, snd FIN rcv ACK rcv SYN, ACK / snd ACK
ESTABLISHED
Close, snd FIN rcv FIN / snd ACK
CLOSE
WAIT
rcv FIN /
FIN snd ACK Close, snd FIN
CLOSING
WAIT-1
rcv FIN, ACK /
snd ACK LASTACK
rcv ACK rcv ACK
rcv ACK
FIN
TIMEWAIT CLOSED
WAIT-2 Timeout
rcv FIN /snd ACK
2xMSL

TCP 18/25
Diagrama de estados
Open activo, snd SYN
CLOSED CLOSED
LISTEN
SYN CLOSED
Close
SYN SENT Open pasivo Close
SYN, ACK
SYN RCVD LISTEN
rcv SYN /
snd SYN,ACK snd SYN
ACK
ESTABLISHED ESTABLISHED SYN rcv SYN / snd ACK SYN
RCVD SENT
Datos
Close, snd FIN rcv ACK rcv SYN, ACK / snd ACK
ESTABLISHED
ACK rcv FIN / snd ACK
Close, snd FIN
.
CLOSE
. rcv FIN /
WAIT
FIN snd ACK Close, snd FIN
CLOSING
WAIT-1
rcv FIN, ACK /
snd ACK LASTACK
rcv ACK rcv ACK
rcv ACK
FIN
TIMEWAIT CLOSED
WAIT-2 Timeout
rcv FIN /snd ACK
2xMSL

TCP 19/25
Diagrama de estados
Open activo, snd SYN
CLOSED CLOSED
LISTEN
SYN CLOSED
Close
SYN SENT Open pasivo Close
SYN, ACK
SYN RCVD LISTEN
rcv SYN /
snd SYN,ACK snd SYN
ACK
ESTABLISHED ESTABLISHED SYN rcv SYN / snd ACK SYN
RCVD SENT
Datos
Close, snd FIN rcv ACK rcv SYN, ACK / snd ACK
ESTABLISHED
ACK rcv FIN / snd ACK
Close, snd FIN
.
CLOSE
. rcv FIN /
WAIT
FIN FIN WAIT-1 FIN snd ACK Close, snd FIN
CLOSING
WAIT-1
rcv FIN, ACK /
CLOSE WAIT ACK snd ACK LASTACK
rcv ACK
FIN WAIT-2 rcv ACK
rcv ACK
FIN FIN
LAST ACK TIMEWAIT CLOSED
TIMEWAIT WAIT-2 Timeout
ACK rcv FIN /snd ACK
CLOSED 2xMSL
CLOSED
TCP 20/25
Servidor Cliente
Open activo, snd SYN Open activo, snd SYN

CLOSED CLOSED
Close Close
Open pasivo Close Open pasivo Close

LISTEN LISTEN
rcv SYN / rcv SYN /
snd SYN,ACK snd SYN snd SYN,ACK snd SYN
SYN rcv SYN / snd ACK SYN SYN rcv SYN / snd ACK SYN
RCVD SENT RCVD SENT
Close, snd FIN rcv ACK Close, snd FIN rcv ACK
ESTABLISHED ESTABLISHED
Close, snd FIN rcv FIN / snd ACK Close, snd FIN rcv FIN / snd ACK
CLOSE CLOSE
WAIT WAIT
rcv FIN / rcv FIN /
FIN snd ACK Close, snd FIN FIN snd ACK Close, snd FIN
CLOSING CLOSING
WAIT-1 WAIT-1
rcv FIN, ACK / rcv FIN, ACK /
snd ACK LASTACK snd ACK LASTACK
rcv ACK rcv ACK
rcv ACK rcv ACK
rcv ACK rcv ACK
FIN FIN
TIMEWAIT CLOSED TIMEWAIT CLOSED
WAIT-2 Timeout WAIT-2 Timeout
rcv FIN /snd ACK rcv FIN /snd ACK
2xMSL 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
 Nivel de transporte: UDP
 TCP: Características. Establecimiento y finalización de
conexiones
 Control de flujo en TCP
6.- Nivel de aplicación en Internet
7.- Ampliación de temas

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

Vous aimerez peut-être aussi