Publicado el 6 de Junio del 2017
664 visualizaciones desde el 6 de Junio del 2017
696,9 KB
40 paginas
Creado hace 15a (12/05/2009)
ARQUITECTURA DE REDES, SISTEMAS Y SERVICIOS
Área de Ingeniería Telemática
TCP
Area de Ingeniería Telemática
http://www.tlm.unavarra.es
Arquitectura de Redes, Sistemas y Servicios
3º Ingeniería de Telecomunicación
,
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
Temario
Introducción
•
• Arquitecturas, protocolos y estándares
• Conmutación de paquetes
• Conmutación de circuitos
• Tecnologías
• Control de acceso al medio en redes de área local
• Servicios de Internet
1/39
,
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
Temario
Introducción
1.
2. Arquitecturas, protocolos y estándares
3. Conmutación de paquetes
•
•
Principios
Problemas básicos
•
•
•
•
•
Como funcionan los routers (Nivel de red)
Encaminamiento (Nivel de red)
Transporte fiable (Nivel de transporte en TCP/IP)
Control de flujo (Nivel de transporte en TCP/IP)
Control de congestión (Nivel de transoporte en TCP/IP)
4. Conmutación de circuitos
5. Tecnologías
6. Control de acceso al medio en redes de área local
7. Servicios de Internet
2/39
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
Material
Del Capitulo 3 de
Kurose & Ross,
“Computer Networking a top-down approach
featuring the Internet”
Addison Wesley
3/39
,
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
TCP
• Protocolo de transporte de Internet
(RFC 793)
• Transporte fiable
– Entrega garantizada
– Entrega en orden
• Orientado a conexión
– Stream bidireccional (como si fuera un
fichero) entre los dos extremos
– No mantiene las fronteras de los mensajes
• Con control de flujo y congestión
4/39
,
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
TCP
•
Interfaz con el nivel de aplicación
– Tras establecer una conexión proporciona un stream bidireccional
entre sockets
– Sin fronteras entre mensajes
– 2 buffers por conexión
• Escribir en el socket pone los datos en buffer de envio
• Buffer de recepción para esperar el read()
TCP
connexión
connexión
connexión
TCP
connexión
connexión
connexión
IP
IP
IP
IP
5/39
• Demultiplexación de datos que llegan a TCP:
TCP
– Se identifica al socket destino por la tupla
( IP origen, puerto origen, IP destino, puerto destino )
– La tabla de tuplas (ip,puerto,ip,puerto) con sus sockets de un nivel
TCP es la tabla de conexiónes.
• La conexión sólo existe en los extremos TCP
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
write(datos)
puertos A1 A2 A3
TCP
connexión
connexión
connexión
IPB, puertoB1, IPA, puertoA1 : cnx1
IPB, puertoB3, IPA, puertoA2 : cnx2
IPX, puertoP , IPA, puertoA3 : cnx3
host IPA
Tabla de
conexiones
Paquete a IPB
puertoB3
read(datos)
puertos B1 B3
TCP
connexión
connexión
IPA, puertoA1, IPB, puertoB1 : cnx1
IPA, puertoA2, IPB, puertoB3 : cnx2
...
recibido paquete
host IPB
6/39
TCP
,
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
pueda
cuando lleguen
• Los buffers aislan a TCP de las operaciónes
del usuario.
– TCP hará lo posible por enviar los datos cuando
– TCP colocara los datos en el buffer de recepción
• Para realizar esto TCP necesitara un
conjunto de mensajes para comunicarse con
el TCP del otro lado
– Mensajes de establecimiento y cierre de conexión
– Mensajes de datos
– Mensajes con ACKs
• Veamos los mensajes del protocolo TCP
7/39
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
TCP
s
o
i
r
o
t
a
g
i
l
b
o
P
C
T
a
r
e
c
e
b
a
C
s
e
t
y
b
0
2
• Segmento TCP
• Cabecera de
tamaño variable
– 20 hasta 60
bytes según las
opciones
• Datos del nivel
de aplicación
32 bits
Cabecera IP
Cabecera IP
......
puerto origen
puerto destino
numero secuencia
HL nada
checksum
numero ack
flags
ventena recep.
urgent data ptr
opciones
Datos aplicación
8/39
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
TCP
Contenido
• Datos de
multiplexación
– Puerto origen
– Puerto destino
Cabecera IP
Cabecera IP
......
puerto origen
puerto destino
numero secuencia
numero ack
flags
HL nada
checksum
ventena recep.
urgent data ptr
opciones
Datos aplicación
9/39
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
TCP
Contenido
• Datos para transporte fiable
– Número de secuencia
– Número de ACK
– Checksum
Cabecera + datos de
applicación + algunos datos
de IP (pseudo cabecera como
en UDP)
• En un mismo paquete
podemos mandar datos y
confirmar datos del sentido
contrario
Cabecera IP
Cabecera IP
......
puerto origen
puerto destino
numero secuencia
numero ack
flags
HL nada
checksum
ventena recep.
urgent data ptr
opciones
Datos aplicación
10/39
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
TCP
Contenido
• FLAGs: diferentes tipos
de paquetes del protocolo
– URG urgente
– ACK acknowledgement
– PSH push
– RST reset
– SYN syn
– FIN fin
Cabecera IP
Cabecera IP
......
puerto origen
puerto destino
numero secuencia
numero ack
flags
HL nada
checksum
ventena recep.
urgent data ptr
opciones
Datos aplicación
11/39
,
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
TCP: conexiones
• TCP es orientado a conexión
• Previamente a comunicarse datos entre un emisor
y un receptor deben negociar un establecimiento de
conexión.
– TCP inicializa sus variables para la conexión y crea los
buffers
– Esto se hace mediante los paquetes que utilizan los
flags SYN, FIN y RST
– Protocolo para establecer la conexión
– Protocolo para liberar la conexión
12/39
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
TCP: establecimiento de conexión
• Mecanismo: Three way handshake
– Lado cliente (socket que hace connect)
– envía un paquete sin datos con el flag SYN
– Establece el numero de secuencia inicial
– Lado servidor (socket que hace accept)
–
responde con un paquete sin datos con ACK y
SYN
– Establece el numero de secuencia inicial
– Lado cliente confirma este paquete con un
– Este paquete ya puede llevar datos
– Al recibir el ACK el servidor puede enviar ya
ACK
datos
– Los SYNs gastan un número de secuencia
para poder confirmarse con ACKs
SYN
ACK+SYN
ACK
13/39
Ejemplo
• Observando una conexión web...
Los SYNs usan un número de
secuencia para poder ser
confirmados
IP ...177.53656 > ...105.80: S 3482203897:3482203897(0) win 65535
IP ...105.80 > ...177.53656: S 3356369201:3356369201(0) ack 3482203898 win 24616
IP ...177.53656 > ...105.80: . ack 3356369202 win 65535
IP ...177.53656 > ...105.80: P 3482203898:3482204138(240) ack 3356369202 win 65535
IP ...105.80 > ...177.53656: . ack 3482204138 win 24616
IP ...105.80 > ...177.53656: P 3356369202:3356369502(300) ack 3482204138 win 24616
IP ...105.80 > ...177.53656: . 3356369502:3356370950(1448) ack 3482204138 win 24616
IP ...105.80 > ...177.53656: P 3356370950:3356372398(1448) ack 3482204138 win 24616
ACK
SYN
SYN+ACK
Aqui empieza la transferencia
Paquete 4
a Cierre de la conexión
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
• Cualquiera de los dos
extremos puede
iniciarlo
– Envía un paquete sin
datos con el flag FIN.
Consume también un
número de secuencia
– El otro extremo, confirma
enviando un ACK e
indica que cierra también
con otro FIN. Este
segundo FIN puede ir en
el mismo paquete o en
otro.
– El extremo original
confirma con un ACK
FIN
ACK+FIN
ACK
FIN
ACK
FIN
ACK
15/39
Ejemplo
• El final de una conexión web...
El servidor está enviando datos
El cliente decide cerrar y manda un FIN
...
IP 130.206.166.105.80 > 130.206.169.177.53701: P 80314174:80315622(1448) ack 4067364561 win 24616
IP 130.206.166.105.80 > 130.206.169.177.53701: P 80315622:80316551(929) ack 4067364561 win 24616
IP 130.206.169.177.53701 > 130.206.166.105.80: . ack 80316551 win 65535
IP 130.206.169.177.53701 > 130.206.166.105.80: F 4067364561:4067364561(0) ack 80316551 win 65535
IP 130.206.166.105.80 > 130.206.169.177.53701: . ack 4067364562 win 24616
IP 130.206.166.105.80 > 130.206.169.177.53701: F 80316551:80316551(0) ack 4067364562 win 24616
IP 130.206.169.177.53701 > 130.206.166.105.80: . ack 80316552 win 65535
El servidor cierra su sentido
,
I
I
S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A
S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S
I
I
a
c
i
t
l
á
m
e
e
T
a
í
r
e
n
e
g
n
i
I
e
d
a
e
r
Á
TCP
Contenido
• Datos para transporte fiable
– Número de secuencia
– Número de ACK
– Checksum
Cabecera + datos de
applicación + algunos datos
de IP (pseudo cabecera como
en UDP)
• En un mismo paquete
podemos mandar datos y
confirmar datos del sentido
contrario
Cabecera IP
Cabecera IP
......
puerto origen
Comentarios de: TCP (0)
No hay comentarios