Protocolo de Capa Trasnporte

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 46

PROTOCOLOS DE

CAPA TRANSPORTE

Ing Carlos Vásquez 1


User Datagram Protocol

• Estandarizado en RFC 768


• User Datagram Protocol (UDP): es un protocolo no orientado a
conexión, no confiable.
• UPD envía los datos de un programa de aplicación de un host a otro
programa de aplicación de otro host, sin garantizar la correcta
recepción de los mismos.
• Debido a que UDP es un protocolo no orientado a conexión y no
confiable, los datagramas de usuario enviados pueden perderse,
duplicarse o llegar en desorden al destino por lo que la capa
aplicación se deberá encargar de los detalles correspondientes para
solucionar estos problemas.

Ing Carlos Vásquez 2


User Datagram Protocol (2)

• Un datagrama de usuario UDP está formado por una cabecera y un


área de datos. 8 bytes

▪ Puerto de Origen: Valor del puerto UDP de origen.


▪ Puerto de destino: Valor del puerto UDP de destino.
▪ Longitud del mensaje UDP: Contiene la longitud total en octetos del
datagrama de usuario UDP.

Ing Carlos Vásquez 3


User Datagram Protocol (3)
• Checksum: utilizado para determinar errores en los datos y capaz de
reconocer si un datagrama de usuario llego a su destino y puerto
correcto. Es un campo opcional.
• Tanto en TCP como en UDP se añade un propósito de calculo de
checksum, una Pseudo cabecera UDP.

Ing Carlos Vásquez 4


User Datagram Protocol (4)

• Cada puerto UDP tiene asociado un numero de puertos según la


aplicación que lo utilice.
• Cada programa de aplicación puede ser completamente identificado
por su numero de puerto.
• UDP es capaz de multiplexar varias comunicaciones de transporte
utilizadas por proceso de aplicación entre un host de aplicación y un
host de destino que estén ejecutando simultáneamente.

Ing Carlos Vásquez 5


Transmission Control Protocol (TCP)

• Estandarizado en el RFC 793


• Es un protocolo de transporte orientado a conexión, encargado de
garantizar una comunicación de extremo a extremo confiable, libre
de errores y en una secuencia correcta, para que sea utilizada por los
programas de capa aplicación que requieran este servicio.
• Se encarga de ocultar las imperfecciones de la red.
• TCP no asume confiabilidad en los protocolos de bajo nivel como IP.
La mayoría de aplicaciones en Internet operan sobre el servicio de
transporte confiable dado por TCP.

Ing Carlos Vásquez 6


Transmission Control Protocol (2)

• TCP se encarga de proporcionar a los procesos de capa aplicación.


o Transferencia continua de flujo de datos.
o Confiabilidad
o Control de Flujo
o Circuitos Virtuales
o Multiplicación
o Comunicación Full Dúplex
• Un segmento TCP está formado por una cabecera y un área de datos.

Ing Carlos Vásquez 7


Conexión entre procesos con TCP

Ing Carlos Vásquez 8


Formato de un segmento TCP (1)
Tanto la cabecera IP como la cabecera TCP tienen una longitud variable de al menos
20 bytes

Ing Carlos Vásquez 9


Formato de un segmento TCP (2)

• Puerto origen: Número del puerto TCP que identifica al programa de


aplicación origen.
• Puerto destino: Numero del puerto TCP que identifica al programa de
aplicación destino.
• Número de secuencia: Indica el numero de secuencia del primer byte
de datos contenido en el campo de datos. Utilizado por el destino
para ubicar el segmento en su lugar adecuado dentro del flujo de
datos enviado.
• Número de acuse de recibo: Número de secuencia del siguiente byte
de datos que espera recibir el host destino.
• HLEN: Campo de 4 bits. Determina la longitud de la cabecera en
unidades de 32 bits.

Ing Carlos Vásquez 10


Formato de un segmento TCP (3)

• Reservado: Es un campo de 6 bits reservado para uso futuro.


• Code Bits: define 6 bits cuyo significado es el siguiente:
o URG: Un valor URG = 1 indica que el segmento lleva información urgente en
el campo de datos.
o SYN: Utilizado para establecer conexiones.
o FIN: Utilizado para terminar conexiones.
o ACK: Un valor ACK = 1 indica que el campo de acuse de recibo es valido. Es
usado con SYN y FIN
o RST: Un valor RST = 1 termina la comunicación en forma abrupta y unilateral
de la conexión.
o PSH : Solicita la entrega inmediata de la información (PUSH), sin que sea
almacenada hasta tener un tamaño adecuado de datos para enviar.

Ing Carlos Vásquez 11


Formato de un segmento TCP (4)

• Ventana: Este campo indica el numero de bites que en ese momento


el destino puede almacenar en sus buffers internos.
• Checksum: Permite determinar si han ocurrido errores en el
segmento y reconocer si el segmento llegó a su destino y puerto
correcto.
• Puntero de Urgencia: Es un puntero que permite indicar la posición
del ultimo byte de datos urgentes enviados en el segmento junto con
otros datos que se encontraban previamente almacenados.
• Opciones: utilizado para proporcionar una seria de opciones
adicionales.

Ing Carlos Vásquez 12


FUNCION TCP (1)

• Si existen problemas en la entrega de un datagrama IP éste será


simplemente descartado.
• Ejemplos de condiciones que podrían resultar en la perdida de un
datagrama incluye congestión en la red o el hecho de que el paquete
no se puede entregar por que el destino no puede ser alcanzado por
un ruteador intermedio.
• TCP asegura que los datos sean correctamente entregados en la
secuencia apropiada sin perdida de partes o duplicación

Ing Carlos Vásquez 13


FUNCION TCP (2)

• Cuando un host quiere enviar datos a otro host en otra red, el


primero coloca los datos en un segmento TCP, en cual lleva una
cabecera (header) TCP que incluye un numero de secuencia.
• El segmento TCP es luego encapsulado en un paquete IP denominado
“datagrama IP”.
• El protocolo IP no notifica directamente que un datagrama enviado
ha sido desechado. “Protocolo de Control de Mensajes de Internet –
The Internet Control Message Protocol (ICMP)”.

Ing Carlos Vásquez 14


FUNCION TCP (3)

• Si el usuario de una red requiere un servicio de entrega confiable, el


cual asegurará la entrega y reporte de condiciones de error, se debe
usar un protocolo de alto nivel, tal como el Protocolo de Control de
transmisión (TCP), en adición a IP.
• TCP provee de una conexión confiable extremo a extremo entre
usuarios.

Ing Carlos Vásquez 15


FUNCION TCP (4)

Internet
Aplicación TCP TCP Aplicación

Ing Carlos Vásquez 16


¿Cómo IP y TCP trabajan juntos?

• IP se encarga del enrutamiento de datos a través de una internet.


• TCP asegura la confiabilidad de la transferencia de datos, tal que las
aplicaciones en el host no necesitan ocuparse de los detalles de envío
y recepción de datos.
• Al datagrama IP realmente no le preocupa los datos dentro del
paquete. Lo que le preocupa es la dirección en la cabecera (header).

Ing Carlos Vásquez 17


TRABAJO DE TCP/IP (1)

• Cada host y routers tienen al menos una única dirección de envió (IP
address)
• El host envía el datagrama IP al primer router. El router luego
retransmite el datagrama IP al siguiente router hacia la red destino. El
último router entrega el datagrama IP al host destino.

Ing Carlos Vásquez 18


TRABAJO DE TCP/IP (2)

• Debido a que las diferentes redes tienen distintas capacidades de


transmisión de datos, algunas veces los routers fragmentan los
datagramas y vuelven a ensamblarlos de acuerdo a las necesidades
de transmisión a través de la red.
• Por ejemplo: Ethernet permite una capacidad máxima de transmisión
de datos de 1500 bytes mientras que X.25 permite hasta 128 bytes.
Es así que si el router decide enviar datagramas desde una Ethernet
sobre una red X.25, este fragmentará a los datagramas en pequeñas
partes.
• La capa IP es la responsable de la fragmentación y re-ensamblaje de
los paquetes fragmentados.

Ing Carlos Vásquez 19


TRABAJO DE TCP/IP (3)

• A cada datagrama IP se le asigna también un número máximo de


routers por los cuales va atravesar, lo que permite tener un
mecanismo de tiempo de vida del datagrama. Lo cual a su vez evita
que este circule indefinidamente alrededor de la internet.
• TCP en el host de recepción desencapsula el paquete, y organiza el
stream de datos de acuerdo a los números de secuencia de los
segmentos TCP.
• Esta secuencia numérica permite la determinación de partes
extraviadas y duplicadas.

Ing Carlos Vásquez 20


TRABAJO DE TCP/IP (4)

• El receptor confirma la correcta recepción de los datos al host


remoto transmisor.
• Si el host que envía los datos no recibe el acuse de recibo
(aknowledgment) dentro de un determinado intervalo de tiempo,
este transmitirá los datos.
• De esta forma, TCP garantiza la confiabilidad del servicio de internet
para las aplicaciones. Puesto que IP maneja todo el enrutamiento
dentro de la red, las aplicaciones que usan el protocolo TCP en los
hosts están aisladas de los detalles de la comunicación.

Ing Carlos Vásquez 21


Como establecer conexión TCP (1)
• TCP utiliza tres formas de control
(handshake) cuando se establece
una conexión entre 2 hosts.
o Petición de establecimiento de
conexión.
o Aceptación de la conexión.
o Confirmación de la recepción de la
aceptación de la conexión.

Ing Carlos Vásquez 22


Como establece TCP conexión (2)

1. El servidor se inicializa y esta listo para aceptar conexión de los


clientes. Lo que se denomina passive open.
2. El cliente solicita a TCP que habrá una conexión con un servidor en
un determinado puerto y dirección IP. A esto se denomina active
open.

Ing Carlos Vásquez 23


Como establece TCP conexión (3)

3. El cliente TCP escoge un numero inicial de secuencia. Este envía


un segmento de sincronización (activada la banderas SYN) con un
numero de secuencia (x), el tamaño de la ventana de recepción y
el tamaño del mayor segmento que puede recibir el cliente.

Ing Carlos Vásquez 24


Como establece TCP conexión (4)

CLIENTE SERVIDOR

APLICACION APLICACION

SYN
SEQ = 1000
TCP TCP

Ing Carlos Vásquez 25


Como establece TCP conexión (5)

4.El servidor TCP envía un segmento (activadas la banderas SYN y ACK),


con un numero inicial de secuencias (y), un ACK (con valor x+1), el
tamaño de su ventana de recepción y el tamaño de segmento de
datos que puede recibir.

Ing Carlos Vásquez 26


Como establece TCP conexión (6)

CLIENTE SERVIDOR

APLICACION APLICACION
SYN
SEQ = 3000
ACK = 1001
TCP TCP

Ing Carlos Vásquez 27


Como establece TCP conexión (7)

5. El TCP cliente recibe el mensaje SYN/ACK del servidor, envía de


regreso un ACK (y+1).
6. El TCP cliente notifica a su aplicación que la conexión está abierta.
7. Cuando TCP servidor recibe el ACK del TCP cliente, el servidor
notifica a su aplicación que la conexión está abierta.

Ing Carlos Vásquez 28


Como establece TCP conexión (8)

CLIENTE SERVIDOR

APLICACION APLICACION

SEQ = 1001
ACK = 3001
TCP TCP

Ing Carlos Vásquez 29


Ejemplo de Conexión TCP

1 Envio SYN SYN recibido


(seq=100 ctl=SYN)
Envio SYN 2
SYN recibido (seq=300 ack=101 ctl=SYN,ACK)
3 Establecido
(seq=101 ack=301 ctl=ACK)

4 Establecido
(seq=102 ack=301
ctl=ACK DATA)

Ing Carlos Vásquez 30


OPERACIÓN TCP (1)

• La petición inicial de conexión o primer handshake, selecciona la


aplicación y un numero de puerto remoto, el cual es el numero de
identificación único para la aplicación del extremo de la conexión
TCP/IP.
• La petición inicial también define el numero del puerto del host
solicitante y puede usar la opción TCP para definir el máximo
segmento usado en la conexión.

Ing Carlos Vásquez 31


OPERACIÓN TCP (2)

• El segundo handshake es la aceptación de la conexión del host


remoto.
• En el tercer handshake el solicitante confirma la recepción de la
aceptación. Este handshake es utilizado para proteger contra perdida
de respuesta en la internet. Los temporizadores son también
utilizados para determinar que un intento fallo.

Ing Carlos Vásquez 32


Reconocimiento Simple TCP

Ing Carlos Vásquez 33


Reconocimiento de múltiples segmentos TCP

Ing Carlos Vásquez 34


Proceso de cerrar una conexión (1)
• Cualquiera de los dos lo puede iniciar.
1. Aplicación cliente o servidor envía un segmento de TCP con:
o Direcciones de socket
o Numero de secuencia +1 esperado,
o Indicador de final (FIN=1)

C S

Ing Carlos Vásquez 35


Proceso de cerrar una conexión (2)

2. Aplicación servidor o cliente envía un segmento de TCP con:


o Direcciones de socket
o Numero de secuencia +1 esperado,
o Indicador de final (FIN=1)

C S

Ing Carlos Vásquez 36


Diagrama de cierre de conexión
A B

FIN = 1, sec = x FIN = 0,


Ack = x + 1
Informar a aplicación
para que cierre

FIN = 1, sec = y
FIN = 0,
Ack = y + 1
Conexión
cerrada

Ing Carlos Vásquez 37


PUERTOS, IP’s Y SOCKETS

Aplicación Aplicación
Conexión
Port Port

TCP TCP
Internet (IP) IP… IP… Internet (IP)

Conexión = {(port #, IP address), (port #, IP address) }


• Un numero de puerto es usado para conectar una aplicación a TCP
• Una dirección IP es la única identificación para un host.
• Un socket es una combinación de un numero de puerto TCP o UDP y una
dirección IP.

Ing Carlos Vásquez 38


NUMERO DE PUERTOS TCP

Ing Carlos Vásquez 39


Secuencia TCP y numero de Acuse

Ing Carlos Vásquez 40


NUMERO DE PUERTOS PARA TCP

Ing Carlos Vásquez 41


NUMERO DE PUERTOS PARA UDP

Ing Carlos Vásquez 42


NUMERO DE PUERTOS PARA TCP Y UDP

Ing Carlos Vásquez 43


PROCESOS DEL SERVIDOR TCP

Ing Carlos Vásquez 44


PRIMITIVAS IP
• Tanto las capas IP y TCP proporcionan servicios a los
usuarios de la red, servicios que son llamados
primitivas.
• El interfaz estándar IP incluye las siguientes primitivas:
• Envió del datagrama
• Recepción del datagrama
• Selección de la dirección de la fuente
• Encontrar el tamaño máximo del datagrama
• Notificar el éxito de la entrega
• Enviar mensajes ICMP
• Recibir mensajes ICMP

Ing Carlos Vásquez 45


PRIMITIVAS TCP

• El interfaz TCP también usa un conjunto de primitivas, entre la capa


TCP y la Aplicación:
• Petición de conexión
• Cierre de conexión
• Abortar la conexión
• Envío de datos
• Recepción de datos
• Conseguir reporte del estado de la conexión

Ing Carlos Vásquez 46

También podría gustarte