La capa de transporte tiene como finalidad, la comunicación entre servicios (cliente/servidor) que viene determinada por un puerto específico. Cada comunicacion o envio de informacion tendra un socket concreto que diferencia comunicaciones que tengan el mismo tipo de informacion (ip de destino/origen). Gracias a esto podemos diferenciar las peticiones a diferentes servicios (web, ftp, correo...) aunque la información que contengan sea la misma.
NOTA: A lo largo de la explicacion se representaran los tamaños de las tramas entre parentesis con el siguiente formato (x/y) donde cada numero representa el numero de bits (b). Ejemplo segmento(7b) o segmento (7).
Conceptos generales
Responsabilidades: segmentar datos y rearmar segmentos, los datos se deben preparar àra el envio a traves de los medios en partes manejables; identificar las aplicaciones, ésta capa asigna un identificador a cada aplicacion llamado numero de puerto; seguimiento de conversaciones individuales, cada conjunto de datos que fluye entre una aplicacion origen-destino se conoce como conversación.
Caracteristicas:
- Multiplexacion de conversaciones: segmentacion de los datos en partes mas pequeñas permite varias comunicaciones de distintos usuarios en la misma red
- Confiabilidad de las conversaciones: protocolos de la capa que especifican la manera en la que se transfieren los mensajes entre los hosts
Estandares TCP/UDP
El protocolo TCP permite una comunicacion fiable entre dos aplicaciones, de manera que no hace falta preocuparse por la integridad de la informacion. Es necesario abrir una comunicación previamente para garantizar que todos los datos lleguen correctamente de forma ordenada y sin duplicados
Las caracteristicas del protocolo en cuestion son las siguientes
- Establecimiento de una sesion, protocolo orientado a la conexion que negocia y establece una conexion permanente entre los dispositivos antes de reenviar trafico.
- Entrega confiable, asegura que cada segmento llegue a destino.
- Entrega ordenada, numeracion y secuenciaion de segmentos para el posterior rearme.
- Control de flujo, solicita que la aplicacion emisora reduzca la velocidad del flujo de datos.
Formato del segmento
- Puerto de origen/destino (16b/16b)
- Numero de secuencia y numero de reconocimiento (32b/32b).
- Tamaño de la ventana (16 bits): tamaño de bytes que se pueden aceptar por vez.
- Bits de control (6 bits): indicadores que indican el proposito del paquete enviado (FIN, ACK, SYN...etc)
- Checksum (16bits): verificacion de errores en el encabezado y los datos del segmento
NOTA: a veces el numero de secuencia y numero de reconocimiento se utiliza para rearmar los datos y saber el byte esperado de la fuente. Es semejante a un acuse de recibo 'tengo el paquete 3, espero el 4'. A veces se utiliza para decirle al emisor que envie algun paquete o bloque mas la proxima vez.
Establecimiento de conexiones
- El cliente de origen solicita una sesion de comunicacio de cliente a servidor con el servidor.
- El servidor reconoce la sesion de comunicacion de cliente a servidor y solicita una sesion de comunicacion de servidor a cliente
- El cliente de origen reconoce la sesion de comunicacion de servidor a cliente
Existe el programa WireShark que captura todas las tramas que se intercambian en una red. Este tipo de software, dependiendo de su utilidad, puede mostrar informacion de caracter personal, dependiendo del tipo de cifrado que se use. Es por ello que el uso de redes publicas para la transferencias o consultas con informacion personal e intima, puede resultar peligroso.
El cierre de las conexiones se realiza del mismo modo que con los pasos anteriores: el emisor envia una trama de FIN, el receptor le avisa que ha llegado, se responde con el cierre de comunicaciones y finalmente el receptor corta la comunicacion y da por finalizada la transferencia.
Gracias a todas las funcionalidades de esta capa, y con los apartados explicados anteriormente podemos controlar el flujo, la congestión y la confiabilidad de los datos.
UDP (User Datagram Protocol)
Este tipo de protocolo es mucho mas simple, aunque no es un tipo de protocolo confiable. Practicamente es un conjunto de 32 bits donde se incluyen tres tramas: puerto de origen y destino (16/16), longitud y checksum (16/16), y finalmente los datos de la capa de aplicacion (tamaño no concreto de bits).
Ejemplos de aplicaciones que utilizan UDP: DNS, TFTP, DHCP, VoIP, entre otras. La ventaja de este protocolo es que el rendimiento aumenta debido a la no comprobacion de la comunicacion con el receptor (como hemos dicho perdida de confiabilidad).
Comentarios
Publicar un comentario