PDF de programación - TCP

Imágen de pdf TCP

TCPgráfica de visualizaciones

Publicado el 6 de Junio del 2017
873 visualizaciones desde el 6 de Junio del 2017
712,2 KB
37 paginas
Creado hace 15a (22/04/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



,



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



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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

á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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

á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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

á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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



á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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

á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

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

á
m
e
e
T
a



l

i

í
r
e
n
e
g
n

I



e
d
a
e
r
Á

TCP

Contenido
•  Datos para transporte
  • Links de descarga
http://lwp-l.com/pdf4282

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