El primer modelo de protocolo en capas para comunicaciones de
internetwork se cre a principios de la dcada de los setenta y se
conoce con el nombre de modelo de Internet. Define cuatro categoras de funciones que deben existir para que las comunicaciones sean exitosas. La mayora de los modelos de protocolos describen un stack de protocolos especficos del proveedor. Sin embargo, puesto que el modelo TCP/IP es un estndar abierto, una compaa no controla la definicin del modelo. Las definiciones del estndar y los protocolos TCP/IP se explican en un foro pblico y se definen en un conjunto de documentos disponibles al pblico. Estos documentos se denominan Solicitudes de comentarios (RFC). Contienen las especificaciones formales de los protocolos de comunicacin de datos y los recursos que describen el uso de los protocolos. El modelo TCP/IP describe la funcionalidad de los protocolos que forman la suite de protocolos TCP/IP. Estos protocolos, que se implementan en los hosts emisores y receptores, interactan para brindar una entrega extremo a extremo de las aplicaciones a travs de la red. Un proceso de comunicacin completo incluye estos pasos: Creacin de datos en la capa de aplicacin del dispositivo final de origen Segmentacin y encapsulacin de datos a medida que pasan por el stack de protocolos en el dispositivo final de origen Generacin de datos en los medios en la capa de acceso a la red del stack Transportacin de los datos a travs de internetwork, la cual est compuesta por medios y por cualquier dispositivo intermediario Recepcin de los datos en la capa de acceso a la red del dispositivo final de destino Desencapsulacin y reensamblaje de los datos a medida que pasan por el stack en el dispositivo de destino Transmisin de estos datos a la aplicacin de destino en la capa de aplicacin del dispositivo final de destino Transporte
La principal tarea de la capa de transporte es proporcionar la
comunicacin entre un programa de aplicacin y otro. Este tipo de comunicacin se conoce frecuentemente como comunicacin punto a punto. La capa de transporte regula el flujo de informacin. Puede tambin proporcionar un transporte confiable, asegurando que los datos lleguen sin errores y en secuencia. Para hacer esto, el software de protocolo de transporte tiene el lado de recepcin enviando acuses de recibo de retorno y la parte de envo retransmitiendo los paquetes perdidos. La capa de transporte ofrece a la capa de aplicacin dos servicios: un servicio orientado a conexin protocolo TCP "Transmition Control Protocol" y un servicio no orientado a conexin protocolo UDP "User Datagram Protocol". La unidad de envo o recepcin datos del protocolo TCP se conoce con el nombre de segmento TCP y la unidad de envo o recepcin de datos del protocolo UDP es conocido como datagrama UDP. La funcin protocolo TCP consiste en ofrecer un servicio de envo y recepcin de datos orientado a conexin que sea seguro y que goce de los siguientes mecanismos: -. Multiplexamiento. -. Conexiones. -. Fiabilidad. -. Control de flujo y congestin. El mecanismo de multiplexamiento Algunas aplicaciones transmiten grandes cantidades de datos, varios gigabytes en algunos casos y enviar todos estos datos en una sola gran seccin no es muy conveniente ya que puede dar lugar a una saturacin de la lnea, no pudiendo transmitirse ningn otro trfico de red mientras se envan estos datos, adems una gran seccin de datos puede tardar minutos y hasta horas en enviarse dependiendo de la velocidad de transmisin de la red, y si hubiera algn error, el archivo de datos completo se perdera o tendra que ser reenviado. Los dispositivos de red tampoco tienen unos buffers de memoria lo suficientemente grandes como para almacenar esa cantidad de datos durante la transmisin o recepcin, cuyo lmite vara en funcin de la tecnologa de la red y del medio fsico especfico que se utiliza, por tanto dividir los datos de aplicacin en secciones garantiza que los datos se transmitan dentro de los lmites del medio de transmisin y que los datos de distintas aplicaciones puedan ser multiplexados en el mismo. Con TCP, cada encabezado de segmento contiene un nmero de secuencia el cual permite que las funciones de la capa de Transporte en el host de destino Re ensamblen los segmentos en el mismo orden en el que fueron transmitidos esto asegura que la aplicacin de destino cuente con los datos en la forma exacta en la que se enviaron. Establecimiento y finalizacin de la conexin TCP Cuando dos procesos cliente/servidor desean comunicarse, el protocolo TCP debe establecer primero una conexin (inicializar la informacin de estado en cada lado) y cuando la comunicacin se ha completado, la conexin se termina con la intencin de liberar recursos en el sistema. Como las conexiones tienen que establecerse entre computadoras, enrutadores, etc. y sobre un servicio no orientado a conexin ofrecido por la capa de enrutamiento, el protocolo TCP utiliza un mecanismo de acuerdo que usa nmeros de secuencia para la inicializacin de las conexiones. Los parmetros de control utilizados para iniciar, reiniciar y finalizar una conexin TCP son:
SYN FIN RST ACK Nmero de secuencia Nmero de acuse recibido Ventana Opciones: Mecanismo de fiabilidad
Con el fin de poder recuperar los datos que se corrompan,
pierdan, dupliquen o se entreguen desordenados por los servicios de la capa de enrutamiento, el protocolo TCP est diseado para satisfacer los principios de un protocolo orientado a conexin, es decir; que por cada segmento enviado por el emisor este debe recibir un nmero de acuse de recibido enviado por el receptor, una vez establecida la sesin, el destino enva acuses de recibo al origen por los segmentos que recibe, los cuales forman la base de la confiabilidad dentro de la sesin TCP. Cuando el origen recibe un acuse de recibo, reconoce que los datos se han entregado con xito y puede dejar de rastrearlos, si el origen no recibe el acuse de recibo dentro de un tiempo predeterminado, retransmite esos datos al destino. Cuando el origen recibe un acuse de recibo, reconoce que los datos se han entregado con xito y puede dejar de rastrearlos, si el origen no recibe el acuse de recibo dentro de un tiempo predeterminado, retransmite esos datos al destino.
Parte de la carga adicional que genera el uso de TCP es el trfico
de red generado por los acuses de recibo y las retransmisiones, el establecimiento de las sesiones genera cargas en forma de segmentos adicionales intercambiados. Tambin existen cargas adicionales en los hosts individuales, generadas por la necesidad de mantener un seguimiento de los segmentos que esperan acuse de recibo y por el proceso de retransmisin. Computador/Cliente Computador / Servidor Es importante resaltar que no existe ninguna restriccin en el protocolo TCP sobre el hecho de reutilizar ms de una vez una misma conexin, como hemos explicado anteriormente una conexin se define por un par de conectores Sockets, cualquier nueva instancia de una conexin ser referida como una encarnacin de la conexin. Cmo el protocolo TCP identifica los segmentos duplicados de encarnaciones previas? Esta condicin es posible si la conexin presenta momentos de inestabilidad, es decir; que una conexin se abre y se cierra varias veces de forma continua debido a la inestabilidad en la lnea de transmisin o por falta de recursos en el sistema. Mecanismo de control de flujo
TCP tambin provee mecanismos para el control del flujo, esto
contribuye a la confiabilidad de la transmisin TCP ajustando la tasa efectiva de flujo de datos entre los dos servicios de la sesin, cuando el origen advierte que se recibi la cantidad de datos especificados en los segmentos, puede continuar enviando ms datos para esta sesin. El campo Tamao de la ventana en el encabezado TCP especifica la cantidad de datos que puede transmitirse antes de que se reciba el acuse de recibo, el tamao de la ventana inicial se determina durante el comienzo de la sesin a travs del enlace de tres vas El mecanismo de retroalimentacin de TCP ajusta la tasa de transmisin de datos efectiva al flujo mximo que la red y el dispositivo de destino pueden soportar sin sufrir prdidas, TCP intenta gestionar la tasa de transmisin de manera que todos los datos se reciban y se reduzcan las retransmisiones. Durante la demora en la recepcin del acuse de recibo, el emisor no enviar ningn segmento adicional para esta sesin. En los perodos en los que la red est congestionada o los recursos del host receptor estn exigidos, la demora puede aumentar,a medida que aumenta esta demora, disminuye la tasa de transmisin efectiva de los datos para esta sesin esta disminucin de la tasa de datos ayuda a reducir la contencin de recursos. Transporte
El software de transporte divide el flujo de datos que se est
enviando en pequeos fragmentos (por lo general conocidos como paquetes) y pasa cada paquete, con una direccin de destino, hacia la siguiente capa de transmisin. Aun cuando en el esquema anterior se utiliza un solo bloque para representar la capa de aplicacin, una computadora de propsito general puede tener varios programas de aplicacin accesando la red de redes al mismo tiempo La capa de transporte debe aceptar datos desde varios programas de usuario y enviarlos a la capa del siguiente nivel. Para hacer esto, se aade informacin adicional a cada paquete, incluyendo cdigos que identifican qu programa de aplicacin enva y qu programa debe recibir, as como una suma de verificacin para verificar que el paquete ha llegado intacto y utiliza el cdigo de destino para identificar el programa de aplicacin en el que se debe entregar . La capa de transporte debe aceptar datos desde varios programas de usuario y enviarlos a la capa del siguiente nivel. Para hacer esto, se aade informacin adicional a cada paquete, incluyendo cdigos que identifican qu programa de aplicacin enva y qu programa debe recibir, as como una suma de verificacin para verificar que el paquete ha llegado intacto y utiliza el cdigo de destino para identificar el programa de aplicacin en el que se debe entregar