Protocolos TCP / IP | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Introducción | Estructura Interna | Capas | Conclusión | Referencias | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Capa de Transporte
Provee comunicación extremo a extremo desde un programa de aplicación a otro. Puede proveer un transporte confiable asegurándose de que los datos lleguen sin errores y en la secuencia correcta. Coordina a múltiples aplicaciones que se encuentren interactuando con la red simultáneamente de tal manera que los datos que envíe una aplicación sean recibidos correctamente por la aplicación remota. En esta capa se encuentran los protocolos UDP y TCP. El protocolo UDP (User Datagram Protocol) proporciona aplicaciones con un tipo de sevicio de datagramas orientado a transacciones. El servicio es muy parecido al protocolo IP en el sentido de que no es fiable y no esta orientado a la conexión. El UDP es simple, eficiente e ideal para aplicaciones como el TFTP y el DNS. Una dirección IP sirve para dirigir el datagrama hacia una maquina en particular, y el numero de puerto de destino en la cabecera UDP se utiliza para dirigir el datagrama UDP a un proceso especifico localizado en la cabecera IP. La cabecera UDP tambien contiene un numero de puerto origen que permite al proceso recibido conocer como responder al datagrama. Formato del mensaje. (Ver Figura 8) El datagrama UDP contiene cuatro campos, que son Numero del Puerto de Origen, Numero del Puerto de Destino, Longitud del mensaje y Checksum.
Numeros de Puerto de Origen y DestinoEstos numeros, junto con las direcciones IP definen el punto final de la comunicacion. El numero del puerto de origen, puede tener valor cero si no se usa. El numero del puerto de destino solo tiene sentido en el contexto de un datagrama UDP y un a direccion IP en particular. El numero de puerto de origen es un campo de 16 bits. El puerto de destino tiene la misma longitud. Longitud del MensajeEste campo tiene una longitud de 16 bits y contiene el numero total de octetos que forman el datagrama, incluida la cabecera. ChecksumEl uso del checksum es opcional, y este campo debe ponerse a cero si no es utilizado. Mientras que el checksum del datagrama IP solo tiene en cuenta la cabecera del mensaje, el UDP tiene su propio checksum para garantizar la integridad de los datos. La longitud de este campo es de 16 bits, y esta formado por la suma de los campos del UDP, y algunos campos del IP. Para incluir los campos del IP, se construye una pseudo cabecera UDP. Esta pseudo cabecera de 12 octetos se utiliza unicamente a efectos de calcular la suma. (Ver Figura 9)
TCP (Transmission Control Protocol) El protocolo TCP proporciona un servicio de comunicacion que forma un circuito, es decir, que el flujo de datos entre el origen y el destino parece que sea continuo. TCP proporciona un circuito virtual el cual es llamado una conexión. Al contrario que los programas que utilizan UDP, los que utilizan el TCP tienen un servicio de conexión entre los programas llamados y los que llaman, chequeo de errores, control de flujo y capacidad de interrupción. Interfaces TCP Existen dos tipos de interfaces entre la conexión TCP y los otros programas. El primero es utilizar la pila de los programas de la capa de red. Como en esta capa solo esta el protocolo IP, el interface lo determina este protocolo. El segundo tipo es el interfaz del programa de usuario. Este interface puede variar segun el sistema operativo, pero en general tiene las siguientes caracteristicas. El interface envuelve el programa de usuario llamando a una rutina que introduce entradas en una estructura de datos llamada el bloque de control de transmision (TCB). Las entradas se realizan inicialmente en la pila de hardware y transferidas al TCB por medio de una rutina de sistema. Estas entradas permiten al TCP asociar un usuario con una conexión particular, de modo que pueda aceptar comandos de un usuario y mandarlos a otro usuario en la otra parte de la conexión. TCP utiliza unos identificadores unicos para cada parte de la conexión. Esto se utiliza para recordar la asociacion entre dos usuarios. Al usuario se le asigna un nombre de conexión para utilizarlo un futuras entradas del TCB. Los identificadores para cada estremo de la conexión se llaman sockets. El socket local se construye concatenando la direccion IP de origen y el numero de puerto de origen. El socket remoto se obtiene concatenando la direccion IP de destino y el numero de puerto de destino. El par de sockets de una conexión forman un unico numero en Internet. El UDP tiene los mismos sockets, pero no los recuerda. Esta es las diferencia entre un protocolo orientado a conexión y otro a no conexión. A continuacion se explican los comandos mas usuales:
El TCP recuerda el estado de cada conexión por medio del TCB. Cuando se abre una conexión, se efectua una entrada unica en el TCB. Un nombre de conexión se le asigna al usuario para activar los comandos de la conexión. Cuando se cierra una conexión se elimina su entrada del TCB. Control de Flujo El protocolo TCP puede controlar la cantidad de datos que debe enviar mediante el campo Window. Este campo indica el numero maximo de octetos que pueden ser recibidos. El receptor de un segmento con el campo window a cero, no puede enviar mensajes al emisor, excepto mensajes de prueba. Un mensaje de prueba es un mensaje de un solo octeto que se utiliza para detectar redes o hosts inalcanzables. Formato del segmento TCP. (Ver Figura 11) El segmento TCP consiste en una cabecera y datos. A continuacion se describen los campos del segmento TCP.
Estados del TCP El inicio, mantenimiento y cierre de una conexión requiere que el TCP recuerde toda la información relativa a cada conexión. Esta información se almacena en una entrada para cada conexión dentro del TCB. Cuando se abre una conexión, la entrada en el TCB se realiza con todas las variables inicializadas con sus rexpectivos valores. Durante la conexión, la entrada del TCB es actualizada a medida que cambia la información. A continuacion se describen algunos de los estados del TCP:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|