PDF de programación - TCP

<<>>
Imágen de pdf TCP

TCPgráfica de visualizaciones

Publicado el 19 de Junio del 2017
540 visualizaciones desde el 19 de Junio del 2017
730,4 KB
37 paginas
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



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



l



á
m
e
e
T
a
í
r
e
n
e
g
n

i

I


e
d



a
e
r
Á

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

Temario


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



l



á
m
e
e
T
a
í
r
e
n
e
g
n

i

I


e
d



a
e
r
Á

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


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S



I

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
Addison Wesley

featuring the Internet”


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



l



á
m
e
e
T
a
í
r
e
n
e
g
n

i

I


e
d



a
e
r
Á

(RFC 793)

•  Transporte fiable

– Entrega garantizada
– Entrega en orden

•  Orientado a conexión

TCP

•  Protocolo de transporte de Internet

– 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

TCP

• 


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



l



á
m
e
e
T
a
í
r
e
n
e
g
n

i

I


e
d



a
e
r
Á

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


•  Demultiplexación de datos que llegan a 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


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



l



á
m
e
e
T
a
í
r
e
n
e
g
n

i

I


e
d



a
e
r
Á

TCP

TCP es la tabla de conexiónes.

•  La conexión sólo existe en los extremos TCP

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


TCP


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I



I

I

S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S



I

l



á
m
e
e
T
a
í
r
e
n
e
g
n

i

I


e
d



a
e
r
Á

•  Los buffers aislan a TCP de las operaciónes

del usuario.
–  TCP hará lo posible por enviar los datos cuando

pueda

–  TCP colocara los datos en el buffer de recepción

cuando lleguen

•  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


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I



I

S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S



I

l



á
m
e
e
T
a
í
r
e
n
e
g
n

i

I


e
d



a
e
r
Á

•  Segmento TCP
•  Cabecera de

tamaño variable
–  20 hasta 60

bytes según las
opciones

•  Datos del nivel
de aplicación

TCP

32 bits



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

puerto origen


puerto destino


numero secuencia


HL
nada


checksum


numero ack

flags


ventena recep.

urgent data ptr


opciones


Datos aplicación



a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I



I

S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S



I

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

puerto origen


puerto destino


numero secuencia


HL
nada


checksum


numero ack

flags


ventena recep.

urgent data ptr


opciones


Datos aplicación



a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S



I

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

puerto origen


puerto destino


numero secuencia


numero ack

flags


HL
nada


checksum


ventena recep.

urgent data ptr


opciones


Datos aplicación



a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



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

puerto origen


puerto destino


numero secuencia


HL
nada


checksum


numero ack

flags


ventena recep.

urgent data ptr


opciones


Datos aplicación



a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I



I

I

S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S



I

l



á
m
e
e
T
a
í
r
e
n
e
g
n

i

I


e
d



a
e
r
Á

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


a
c
i
t



,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I

I

I



S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S

I



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


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


Cierre de la conexión


,



S
E
D
E
R
E
D
A
R
U
T
C
E
T
U
Q
R
A

I



I

I

S
O
C
V
R
E
S
Y
S
A
M
E
T
S
S



I

a
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


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



a
c
  • Links de descarga
http://lwp-l.com/pdf4490

Comentarios de: TCP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad