En esta sección trataré de explicar en detalle la función e importancia de la capa de transporte. Teniendo como ejemplo un programa de mensajería instantánea, una vez que el usuario ya escribió un mensaje y ordena su envío, la aplicación realiza sus funciones internas con el mensaje y ahora debe enviarlo a través de la red. Del otro lado, la aplicación receptora es capaz de recibir estos datos y mostrarlos al usuario. Como se puede apreciar es necesaria una capa que provea la abstracción de una transferencia punto a punto entre las aplicaciones. La capa de transporte recibe los datos de la aplicación, los prepara para su envío, los transporta a traves de la red y los entrega de manera confiable o no a la aplicación receptora según sea el caso.

Entre las funciones de la capa de transporte tenemos las siguientes:
* Transferencia de datos de extremo a extremo entre una aplicación origen y una destino.
* Permitir que en un mismo equipo, varias aplicaciones realicen transferencia de datos al mismo tiempo.
* Si la aplicación lo requiere, garantizar que los datos sean recibidos sin errores y en el orden correcto en la aplicación receptora.
* Realizar control de flujo, es decir evitar que un emisor veloz sature de datos a un receptor lento, evitando pérdidas de unidades de datos y su posterior retransmisión.


Capa de Transporte

Más detalladamente esta capa realiza los siguientes procedimientos:

Segmentación de Datos: Si una aplicación enviara por ejemplo un archivo de unos 50 MB de manera continua, ocuparía la red constantemente y ninguna otra aplicación podría enviar datos durante ese tiempo. Para solucionar esto los datos se segmentan en pequeños marcos manejables de tal manera que entre el envío de un marco y otro de una aplicación hay un intervalo de tiempo durante el cual pueden enviarse marcos de otras aplicaciones. Es decir se pueden 'multiplexar' estos marcos, de esta forma es posible que todas las aplicaciones transmitan simultáneamente. Además de ello al transmitir en segmentos pequeños, si ocurre un error solo es necesario retransmitir los segmentos con errores y no todo el flujo de datos.

Reensamblaje de datos y separación de aplicaciones: Así como la capa de transporte segmentó los datos para su transmisión también debe ensamblarlos de nuevo en el destino y entregarlos a la aplicación o servicio correspondiente. Para identificar a una aplicación se hace uso de un campo llamado número de puerto, cada número representa a una aplicación diferente en un equipo.

Proveer entrega de datos confiable o no confiable: Las distintas aplicaciones tienen requerimientos de comunicación diferentes y la capa de transporte debe satisfacerlos. Por ejemplo, una aplicación de transferencia de archivos requiere que los datos lleguen al destino exactamente como se enviaron sin errores, importando poco el tiempo que lleve hacerlo, ya que un error en la transmisión haría al archivo inutilizable. Por otro lado, una aplicación de transmisión de vídeo en vivo podría obviar un error de transmisión momentáneo, es mejor esto a tratar de recuperarse del error ya que requerir un reenvío de los datos por cada error volvería lenta e incómoda la visualización del vídeo.

El modelo OSI(Modelo de referencia de Interconexión de Sistemas Abiertos) es un modelo de comunicaciones desarrollado en 1984 por OSI con el fin de estandarizar los protocolos existentes en cada una de sus capas evitando así problemas de compatibilidad y promoviendo el desarrollo de las comunicaciones. OSI es un modelo que divide el proceso de comunicación en capas (7 en total), definiendo claramente que función cumple cada una de ellas.

Modelo OSI

Para explicar el funcionamiento de cada una de las capas utilizaré un ejemplo:
Supongamos que usted está en Perú y quiere enviar un mensaje de correo electrónico a un amigo que se encuentra en Australia. ¿Como se realizaría este proceso informáticamente hablando?

Capa de Aplicación: Usted utiliza un navegador web ingresa a su cuenta de correo favorita y empieza a escribir el mensaje. Esa es la capa de aplicación, la capa de aplicación define los diferentes protocolos que utilizan las aplicaciones para comunicarse en la red. En este caso estaría usando el protocolo HTTP para la web y el SMTP para el correo.

Capa de Presentación: La aplicación que usted esta usando puede que utilice codificación ASCII para representar caracteres y su ordenador talvez codifique los números en formato big-endian mientras que la de su amigo utiliza UNICODE para la representación de caracteres y su ordenador use little-endian para representar números. El como hacer que las aplicaciones se entiendan a pesar de uisar distintos sistemas de formato es función de la capa de presentación.

Capa de Sesión: Antes de que su mensaje se envíe a través de la red, las dos máquinas que participan en la comunicación establecen una sesión que durará durante toda la transmisión. Este establecimiento de sesión permitirá que se reanude la comunicación si sucede algún fallo. Esta sesión será cerrada para terminar la comunicación.

Capa de Transporte: Su mensaje a enviar no se puede transmitir como tal a través de la red: Para permitir que múltiples aplicaciones utilicen la red y facilitar la recuperación de errores su mensaje es dividido en segmentos y se le agregan datos para poder indentificar a que aplicación pertenece cada segmento y solicitar un reenvío si se produce un error al transmitir el paquete. Aquí también tanto el emisor como el receptor se 'ponen de acuerdo' acerca de la velocidad a la cual se transmitirán los paquetes de manera que un receptor lento no quede saturado de paquetes enviados por el emisor veloz.

Capa de Red: Su equipo no está conectado directamente al de su amigo. Pasa por muchas redes, grandes y pequeñas, usando inclusive distinta tecnología. Sin embargo su mensaje debe llegar a su amigo, este será enrutado a través de distintas redes talvez el camino que tome no sea el más óptimo ni sus paquetes tomen siempre la misma ruta pero llegará a su destino. Para realizar esto es necesario establecer algún metodo de direccionamiento y algoritmos de enrutamiento a través de la red. De esto se encarga la capa de red.

Capa de Enlace de Datos: Ahora una unidad de datos requiere salir de su computadora y ser enviado a la red. Es necesario proveer de direccionamiento físico y métodos de detección de errores, es decir preparar los datos para poder ser enviados por el medio físico subyacente. De esto se encarga la capa de enlace de datos.

Capa Física: Hemos bajado bastante en la abstracción de la comunicación. A nivel físico ¿Como se define que es un 1 ó 0 binario? ¿Que tipo de conectores, alambres se usarán para unir las computadoras? ¿La conexión puede ser cableada, inhalámbrica, etc.? ¿Qué niveles de voltajes se usarán?. Todo esto se define en la capa física.

Como podemos apreciar, cada capa de OSI realiza funciones bien diferenciadas y juntas logran que se lleve a cabo la comunicación. Viendo este modelo recuerdo lo que he estudiado acerca de redes de computadoras ya que cualquier tema acerca de redes tiene un lugar en alguna capa del modelo OSI.

Bueno espero seguir compartiendo conocimiento. Nos vemos!!