PDF de programación - TCP

<<>>
Imágen de pdf TCP

TCPgráfica de visualizaciones

Publicado el 20 de Junio del 2017
594 visualizaciones desde el 20 de Junio del 2017
367,0 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

,

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
Á

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

,

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
Á

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

Material

Del Capitulo 3 de
Kurose & Ross,
“Computer Networking a top-down approach

featuring the Internet”

Addison Wesley

,

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
Á

,

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

• 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

,

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



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:

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

TCP

• Los buffers aislan a TCP de las operaciónes

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

pueda

,

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

,

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
Á

• Segmento TCP
• Cabecera de

tamaño variable
– 20 hasta 60

bytes según las
opciones

• Datos del nivel

de aplicación

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

32 bits

Cabecera IP

...

puerto origen

puerto destino

numero secuencia

HL nada

checksum

numero ack
flags

ventena recep.
urgent data ptr

opciones

Datos aplicació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



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

...

puerto origen

puerto destino

numero secuencia

HL nada

checksum

numero ack
flags

ventena recep.
urgent data ptr

opciones

Datos aplicació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



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

...

puerto origen

puerto destino

numero secuencia

HL nada

checksum

numero ack
flags

ventena recep.
urgent data ptr

opciones

Datos aplicació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

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

...

puerto origen

puerto destino

numero secuencia

HL nada

checksum

numero ack
flags

ventena recep.
urgent data ptr

opciones

Datos aplicació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

a
c
i
t

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

TCP: establecimiento de 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



a
c
i
t

l



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

i

I


e
d



a
e
r
Á

• 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

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

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

...

puerto origen

puerto destino

numero secuencia

HL nada

checksum

numero ack
flags

ventena recep.
urgent data
  • Links de descarga
http://lwp-l.com/pdf4526

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