Vous êtes sur la page 1sur 51

Universidad Nacional de Ingenieria

Redes de Computadoras

Unidad II: Capa de Transporte.


Comunicacin y Reensamble de Informacin

Redes Computadoras

Ing. Carlos Ortega H.

Capa de Transporte
TCP UDP

Provee comunicacin lgica entre procesos


de aplicaciones corriendo en diferentes hosts
Los protocolos de la capa transporte corren en
sistemas terminales (computadores, no equipos
internos como routers).
Brindan un servicio que algunas veces se
denomina servicio de terminal a terminal
Tx: divide el mensaje de la aplicacin en segmentos, y los pasa a la capa de red.
Rx: re-ensambla los segmentos del mensaje y los pasa a la capa aplicacin
Redes Computadoras

Ing. Carlos Ortega H.

Protocolos en la Capa de Transporte


UDP
TCP/UDP

TCP/UDP

TCP

En la capa 4 se da un flujo de datos:


A travs de una conexin lgica entre los
dispositivos finales
Proporciona servicios de transporte
Servicio de terminal a terminal
Redes Computadoras

Ing. Carlos Ortega H.

TCP Transmission Control Protocol


UDP User Datagram Protocol
3

Encabezados en la Capa de Transporte


Encabezado TCP
Encabezado
UDP
Como se nombra la PDU de
la capa de aplicacin?

Application
Header + data
Como se denomina la
PDU de la capa de
transporte?
PDU: Segmento

Redes Computadoras

Ing. Carlos Ortega H.

PDU: Datos

Enfocarse en la capa de transporte


TCP

TCP

Redes Computadoras

Ing. Carlos Ortega H.

La Capa de Transporte
www.cisco.com

TCP Segment
TCP Segment

Las responsabilidades principales que debe cumplir son:

Dar seguimiento de la comunicacin individual entre aplicaciones

Quin es el cliente? Cul es la aplicacin? Cul es el proceso?

Identificar las diferentes aplicaciones (HTTP, FTP, etc.)

Segmentacin de datos

Tener control de cada segmento

Reensamblaje de los segmentos

Redes Computadoras

Ing. Carlos Ortega H.

Capa de Transporte

segmento

segmento

IP es un servicio de entrega que realiza el mejor esfuerzo. Qu significa


eso?

No hay garantas

Servicio no confiable

TCP/UDP es responsable de extender los servicios de entrega de IP entre


los dos sistemas terminales.
Redes Computadoras

Ing. Carlos Ortega H.

TCP vs. UDP


Por qu debera una aplicacin usar UDP?
Cul es el costo de todo esto, confiabilidad
y control de flujo de TCP?

TCP provee:

Streaming multimedia, juegos con mltiples


usuarios en tiempo real y voz sobre IP (VoIP),
son aplicaciones que no requieren
mecanismos de confiabilidad e incluso estos
pueden afectarlas.

UDP provee:
Entrega no Confiable
Entrega Confiable
No chequea errores
Chequeo de errores
Sin Control de Flujo
Control de Flujo
Sin control de Congestionamiento
Sin orden de entrega
Control de Congestin
No existe Establecimiento de la
Entrega Ordenada
conexin.
Establecimiento de Conexin
Aplicaciones
DNS (usualmente)
Aplicaciones:
DHCP

HTTP
SMTP
RTP (Real-Time Protocol)

FTP
Telnet
VoIP

MSN messenger

Redes Computadoras

Ing. Carlos Ortega H.

TCP vs. UDP

Redes Computadoras

Ing. Carlos Ortega H.

HTTP

HTTP

SMTP
FTP

Servidor
WEB de
la UNI
TCP
TCP

TCP
TCP
TCP
UDP

Un simple cliente puede tener mltiples conexiones de


la capa de transporte con mltiples.

Servidor
de Email
del ISP
servidor
FTP

TCP
UDP

Note que TCP es un servicio orientado a conexin (flechas en ambos sentidos)


entre los host, mientras que UDP es un servicio no orientado a conexin (flechas
en un solo sentido).
10

Nmeros de Puertos TCP y UDP

Tanto TCP como UDP usan nmeros de puertos (o sockets) para pasar
informacin a las capas superiores
Redes Computadoras

Ing. Carlos Ortega H.

11

Los numeros de puertos


son usados para conocer
a que aplicacin del host
receptor se le enviaran
los datos

Los numeros de puertos


son usados para conocer
a que aplicacin del host
receptor se le enviaran
los datos

Application
Header + data

Application
Header + data

12

Nmeros de Puertos TCP y UDP

Redes Computadoras

Ing. Carlos Ortega H.

13

http://www.iana.org/assignments/port-numbers

La Agencia de Asignacin de Nmeros de Internet(IANA) asigna los nmeros


puertos.
Redes Computadoras

Ing. Carlos Ortega H.

14

Puertos bien conocidos (Nmeros del 0 al 1023): estos nmeros se reservan


para servicios y aplicaciones.

Al definir estos puertos conocidos para las aplicaciones del servidor, las
aplicaciones del cliente pueden ser programadas para solicitar una conexin
a un puerto especfico y su servicio asociado.

Redes Computadoras

Ing. Carlos Ortega H.

15

Puertos Registrados (Nmeros 1024 al 49151):

Son asignados a procesos o aplicaciones del usuario.


Son principalmente aplicaciones individuales que el usuario elige instalar en
lugar de aplicaciones comunes que recibira un puerto bien conocido.

Redes Computadoras

Ing. Carlos Ortega H.

16

Puertos dinmicos o privados (Nmeros del 49 152 al 65 535):

Tambin conocidos como puertos efmeros.


Suelen asignarse de manera dinmica a aplicaciones de cliente cuando
se inicia una conexin.

No es muy comn que un cliente se conecte a un servicio utilizando


un puerto dinmico o privado (aunque algunos programas que
comparten archivos punto a punto lo hacen).

Redes Computadoras

Ing. Carlos Ortega H.

17

Cliente

Servidor

Telnet

18

Encabezado TCP del Cliente


1028

23

Data for Telnet

Cliente

Servidor

El cliente enva el segmento TCP con:

Redes Computadoras

Puerto de destino 23 (Nmero de puerto bien conocido)


Puerto de origen: 1028 (Nmero de puerto dinmico
asignado por el cliente)
Ing. Carlos Ortega H.

19

19

Encabezado TCP del Servidor


23

1028

Data for Telnet

Cliente

Servidor

El servidor responde con un segmento TCP con:

Redes Computadoras

Puerto de destino 1028 (Numero de puerto dinmico


asignado por el cliente)
Puerto de origen: 23 (Numero de puerto bien conocido)
Ing. Carlos Ortega H.

20

Cliente

Servidor

Note la diferencia en como los nmeros de puertos de origen y destino son


usados por el cliente y el servidor:
Cliente (Iniciando el servicio Telnet):

Puerto de destino= 23 (telnet)

Puerto de origen= 1028 (dinmicamente asignado)

Servidor (respondiendo al servicio Telnet):

Puerto de destino= 1028 (dinmicamente asignado)

Puerto de origen= 23 (telnet)

Redes Computadoras

Ing. Carlos Ortega H.

21

49888

49890

Cliente: Usa el mismo numero puerto de destino


Cliente: Usa diferente puerto de origen nicamente para identificar cada
sesin web.
Redes Computadoras

Ing. Carlos Ortega H.

22

49888

49890

C:\Users\rigrazia>netstat -n
Active Connections

Puerto de origen

Puerto de destino

Estado de la conexin

TCP
o

Proto

Local Address

Foreign Address

State

TCP

192.168.1.101:49888

198.133.219.25:80

TIME_WAIT

UDP

TCP

192.168.1.101:49890

198.133.219.25:80

TIME_WAIT

C:\Users\rigrazia>
Redes Computadoras

IP de origen
Ing. Carlos Ortega H.

IP de destino
23

192.168.1.101

172.16.5.5

Puerto de
destino

Puerto de
origen
49888
49890

80
80

198.133.219.25

80

Puerto de
origen
49888

www.cisco.com

Que hace a cada conexin nica?

La conexin es definida por un par de nmeros:

Direccin IP de origen, Puerto de origen

Direccin IP de destino, Puerto de destino

Diferentes conexiones pueden usar el mismo puerto de destino


en el mismo servidor siempre y cuando el puerto de origen o
direccin IP de origen sean diferentes.

Redes Computadoras

Ing. Carlos Ortega H.

24

TCP
o
UDP

Estado de la
IP de origen
IP de destino
conexin
Puerto de origen
Puerto de destino

www.google.com

www.cisco.com

netstat n

Nota: cuando descarga un documento web y sus objetos es comn que habr
varias sesiones TCP creadas.
Redes Computadoras

Ing. Carlos Ortega H.

25

Transporte sin conexin: UDP

UDP

Sin adornos, protocolo de transporte

liviano (RFC 768)

Puertos de origen y destino

Longitud y checksum (usado para el chequeo de error)

No orientado a conexin

No handshaking (No establece conexin) como TCP

No proporciona entrega confiable

No proporciona chequeo de errores

No proporciona control de flujo

No proporciona control de congestin

No proporciona entrega ordenada

Redes Computadoras

Ing. Carlos Ortega H.

27

UDP

Puerto de origen

Puerto de destino

Longitud -- Indica la longitud del mensaje, incluyendo los campos de


encabezado
checksum -- Su uso es opcional en IPv4 y obligatorio en IPv6, ya que en
ese caso se ha suprimido el checksum a nivel de red. Cuando se enva
informacin en tiempo real su uso puede omitirse. Si la verificacin del
checksum en el receptor arroja un error, el mensaje es descartado sin
notificarlo al nivel de aplicacin ni al emisor
datos -- contiene los datos a transmitir
Redes Computadoras

Ing. Carlos Ortega H.

28

Porque un desarrollador de una aplicacin escoge UDP en vez de TCP?

Control de la capa de aplicacin menor

TCP continuar enviando segmentos que no son reconocidos.

Las aplicaciones que usan UDP pueden tolerar prdidas de datos:

Streaming video (video simultaneo)

VoIP (Voice sobre IP)

La aplicacin decide si o no reenva el archivo completo: TFTP

Redes Computadoras

Ing. Carlos Ortega H.

29

Cliente

Servidor
Datag

Tiempo

Datag

rama

UDP

Datag

rama

UDP

Datag

rama
UD

rama

UDP

No establece conexin

TCP usa un intercambio de seales de tres vas para establecer una


conexin

UDP no lo hace Solo enva los datos lejos del emisor.

No existen retrasos para establecer conexin.

Redes Computadoras

Ing. Carlos Ortega H.

30

Cliente

Servidor
Datag

Tiempo

No mantiene estado de la conexin

UDP no mantiene estado de la conexin como

lo hace TCP

rama

UDP

Datag

rama

UDP

Datag

rama

UDP

Datag

rama

UDP

El estado de la conexin es usado para


brindar confiabilidad y control de flujo.

Los servidores pueden soportar muchos clientes

activos cuando no mantiene informacin de estado

Incremento en el encabezado es pequea

TCP tiene un encabezado 20 bytes de incremento.

UDP solo tiene un encabezado 8 bytes de incremento.


Redes Computadoras

Ing. Carlos Ortega H.

31

UDP y Aplicaciones Multimedias

Existe un asunto (controversial) con aplicaciones multimedia sobre UDP.


UDP no ofrece control de congestin (como veremos con TCP)
El control de congestin es necesario para prevenir que la red entre y
permanezca en un estado de congestin.
Si todas las aplicaciones usaran UDP, debido a la congestin, muy pocos
paquetes UDP serian entregados y esto tambin causara que la tasa de
trafico TCP decreciera dramticamente.
Redes Computadoras

Ing. Carlos Ortega H.

32

33

Transporte orientado a la conexin: TCP

TCP

TCP proporciona entrega confiable encima del no confiable IP

TCP proporciona:

Entrega confiable

Control de congestin

Chequeo de errores

Entrega ordenada

Control de flujo

(Establece conexin)

Redes Computadoras

Ing. Carlos Ortega H.

35

Segmento TCP

Puerto de origenDispositivo que abri una conexin. # aleatorio > a 1023

Puerto de destino identifica el protocolo de la capa superior o la aplicacin del sitio remoto

Numero de secuencia especifica el numero del ultimo octeto (byte) en un segmento

Numero de acuse de recibo especifica el prximo octeto esperado por el receptor

HLEN especifica la longitud del encabezado del segmento en byte

reservado puesto en 0
Redes Computadoras

Ing. Carlos Ortega H.

36

Segmento TCP

Bits de cdigo utilizado en la administracin de sesiones y el tratamiento de segmentos

Ventana el nmero de octetos que el emisor espera aceptar

checksum utilizado para la verificacin de errores del encabezado y el campo de datos

Urgente utilizado nicamente con una sealizacin URG

opciones por el momento define: el mximo tamao del segmento TCP

datos datos de aplicacin


Redes Computadoras

Ing. Carlos Ortega H.

37

Establecimiento de la conexin TCP


0

15 16
16-bit Source Port Number

31
16-bit Destination Port Number

32-bit Sequence Number


32 bit Acknowledgement Number
4-bit Header
Length

6-bit
(Reserved)

U A P R S F
R C S S Y I
G K H T N N

16-bit TCP Checksum

16-bit Window Size


16-bit Urgent Pointer

Options (if any)


Data (if any)

Para que una conexin sea establecida, las dos terminales deben sincronizarse
usando un nmero de secuencia inicial (ISN), TCP.
Nmeros de secuencias:

Rastrea el orden de los segmentos

Asegura que no se pierdan los paquetes en la transmisin.

El valor inicial para el nmero de secuencia, conocido como ISN, se elige de manera
aleatoria.
Redes Computadoras

Ing. Carlos Ortega H.

38

Enlace de tres vas


Nota: Los nmeros de secuencia no
comienzan en el cero. Por qu se procede
as? Uno de los motivos es para evitar
conflictos: supongamos que la conexin en
un ordenador se interrumpe nada ms
empezar y se crea una nueva. Si ambas
han empezado en el cero es posible que el
receptor entienda que la segunda conexin
es una continuacin de la primera (si
utilizan los mismos puertos).

Paso 1

Un cliente TCP comienza el enlace de tres vas enviando un segmento con


el sealizador de control SYN (Sincronizar nmeros de secuencia)
establecido, indicando un valor inicial en el campo de nmero de secuencia
del encabezado.
El nmero de secuencia, conocido como nmero de secuencia inicial
(ISN), se elige de manera aleatoria y se utiliza para comenzar a rastrear el
flujo de datos desde el cliente al servidor para esta sesin.
Redes Computadoras

Ing. Carlos Ortega H.

39

Enlace de tres
vas

Paso 2

El servidor TCP necesita reconocer la recepcin del segmento SYN :

El servidor enva un segmento al cliente con:

El sealizador ACK establecido indicando que el nmero de acuse de recibo es


significativo.

El valor del nmero de campo del acuse de recibo es igual al nmero de


secuencia inicial del cliente ms 1.
El valor es uno mayor que el nmero de secuencia porque el ACK es siempre el
prximo Byte u Octeto esperado.

Un sealizador SYN de la misma manera en que lo hizo el cliente. Establece el


sealizador de control SYN en el encabezado para establecer una sesin del
servidor al cliente.

Redes Computadoras

Ing. Carlos Ortega H.

40

Enlace de tres
vas

Paso 3:

El cliente TCP responde con un segmento que contiene un ACK que acta
como respuesta al SYN de TCP enviado por el servidor.
El valor del campo nmero de acuse de recibo contiene uno ms que el
nmero de secuencia inicial recibido del servidor..
Una vez establecidas ambas sesiones entre el cliente y el servidor, todos los
segmentos adicionales que se intercambien en la comunicacin tendrn
establecido el sealizador ACK.
Redes Computadoras

Ing. Carlos Ortega H.

41

42

Paso 1: El cliente envia su ISN, SEQ=8563 (ultimos 4 digitos)

43

Paso 2: El servidor responde con un ACK=8564, y su ISN, SEQ=1678

Paso 3: El cliente envia ACK=1679

44

45
Ahora el Cliente enva solicitudes HTTP (GET) al Servidor
Web

Fin de la sesin TCP

1. Cuando el cliente no tiene ms datos para enviar al stream, enva un


segmento con el sealizador FIN establecido.
2.El servidor enva un ACK para acusar recibo de FIN y terminar la sesin del
cliente al servidor.
3. El servidor enva un FIN al cliente para finalizar la sesin del servidor al
cliente.
4. El cliente responde con un ACK para dar acuse de recibo de FIN desde el
servidor.
Redes Computadoras

Ing. Carlos Ortega H.

46

Control de flujo y confiabilidad

Confiabilidad

Garantiza la entrega- Asegurando que todos los datos sean recibidos.

Si hay perdidas de datos, se determina el byte que debe ser retransmitido.

Control de flujo

Cada host tiene un buffer receptor para la conexin TCP.


El control de flujo asegura que estos bufferes no reciban mas datos que los
que pueda manejar la conexin.
47

Control de flujo y confiabilidad


0

15 16
16-bit Source Port Number

31
16-bit Destination Port Number

32-bit Sequence Number

w
indo
W
r
e
S er v 0, 0 00
1
Size=

32 bit Acknowledgement Number


4-bit Header
Length

6-bit
(Reserved)

U A P R S F
R C S S Y I
G K H T N N

16-bit TCP Checksum

Client Win
dow
Size=5,00
0

16-bit Window Size


16-bit Urgent Pointer

Options (if any)


Data (if any)

Para gobernar el flujo de datos entre dispositivos, TCP utiliza un mecanismo de


control de flujo de igual a igual.
La capa TCP del host emisor informa de un tamao de la ventana a la capa TCP
del host de receptor.
Este tamao de la ventana especifica el nmero de bytes, empezando por el
nmero de reconocimiento, que la capa de host de recepcin de TCP est
preparado para recibir.
Redes Computadoras

Ing. Carlos Ortega H.

48

Control de flujo y confiabilidad


0

15 16
16-bit Source Port Number

31
16-bit Destination Port Number

32-bit Sequence Number

ow
Wind
r
e
v
r
0
Se
10, 0 0
=
e
z
i
S

32 bit Acknowledgement Number


4-bit Header
Length

6-bit
(Reserved)

U A P R S F
R C S S Y I
G K H T N N

16-bit TCP Checksum

Client Win
dow
Size=5,00
0

16-bit Window Size


16-bit Urgent Pointer

Options (if any)


Data (if any)

El tamao de la ventana est incluido en todos los segmentos TCP enviados


desde el cliente o el servidor en el intercambio de seales tres vas
TCP es un servicio de full dplex, el cliente y el servidor deben especificar el
tamao de sus propia ventana
Redes Computadoras

Ing. Carlos Ortega H.

49

Reduccin del tamao de la ventana

Si se pierden segmentos debido a la saturacin, el receptor acusara recibo


del ultimo segmento secuencial recibido y responder con un tamao de
ventana reducido.
Redes Computadoras

Ing. Carlos Ortega H.

50

Muchas Gracias
por su Atencin

Redes Computadoras

Ing. Carlos Ortega H.

51

Vous aimerez peut-être aussi