|
Hacktivismo \ Introducción al protocolo TCP Introducción al protocolo TCP
Este artículo ha sido consultado en 735 ocasiones. por GuyBrush
Introducción El TCP (Protocolo de Control de Transmision) se diseño para proporcionar una corriente de bytes confiable a traves de una interred no confiable. Una interred es diferente de una sola red porque las distintas partes pueden tener topologias, anchos de banda, retardos, tamaños de paquete y otros parametros con grandes diferencias. Se diseño el TCP para adaptarse dinamica- mente a las propiedades de la interred y para ser robusto ante muchos tipos de fallas. Cada maquina que reconoce el TCP tiene una entidad de transporte TCP,ya sea un proceso de usuario o una parte del nucleo que maneja las corrientes TCP y tiene interfaz con la capa IP. Una entidad TCP acepta corrientes de datos de usuario de los procesos locales, los divide en partes que no exceden 64 K ( en la practica, generalmente de unos 1500 bytes ), y envia cada parte como datagrama IP independiente. Cuando llegan a una maquina datagramas IP que contienen datos TCP, son entregados a la entidad TCP, que reconstruye las corrientes originales de bytes. La capa IP no ofrece ninguna garantia de que los datagramas se entregaran adecuadamente, por lo que es responsabilidad del TCP terminar de temporizar y retransmitirlos segun se necesite.Los datagramas que si llegan pueden hacerlo desordenadamente;tambien es responsabilidad del TCP reensamblarlos en mensajes con la secuencia adecuada. En resumen, el TCP debe proveer la confiabilidad que la mayoria de los usuarios quiere y que el IP no proporciona. Modelo de servicio TCP El servicio TCP se obtiene haciendo que tanto el transmisor como el receptor creen puntos terminales, llamados sockets. Cada socket tiene un numero (direccion) de socket que consiste en la direccion IP del host y en un numero de 16 bits local a ese host,llamado puerto.Puerto es el nombre TCP de un TSAP Para obtenerse el servicio TCP, debe establecerse explicitamente una conexion entre un socket de la maquina transmisora y un socket de la maquina receptora. Las llamadas de socket son las siguientes: * SOCKET (Enchufar) * Crea un nuevo punto terminal de comunicacion. * BIND (Ligar) * Conecta una direccion local a un socket. * LISTEN (Escuchar) * Anuncia la disposicion de aceptar conexiones; indica tamaño de cola. * ACCEPT (Aceptar) * Bloquea al invocador hasta la llegada de un intento de conexion. * CONNECT (Conectar) * Intenta activamente establecer una conexion. * SEND (Enviar) * Envia datos a traves de la conexion. * RECEIVE (Recibir) * Recibe datos de la conexion. * CLOSE (Cerrar) * Libera la conexion. Puede usarse un socket para varias conexiones al mismo tiempo. En otras palabras, dos o mas conexiones pueden terminar en el mismo socket. Las conexiones se identifican mediante los identificadores de ambas terminales, es decir (socket1, socket2). No se usan numeros de circuito virtual ni ningun otro identificador. Los numeros de puerto por debajo del 256 se llaman puertos bien conocidos y se reservan para servicios estandar. Por ejemplo, el FTP usa el puerto 21, el TELNET el 23, etc. Todas las conexiones TCP son duplex integral y punto a punto. Duplex integral significa que el trafico puede ir en ambos sentidos al mismo tiempo. Punto a punto significa que cada conexion tiene exactamente dos puntos terminales. El TCP no reconoce la multitransmision ni la difusion. Una conexion TCP es una corriente de bytes, no una corriente de mensajes. Los limites de mensaje no se conservan de extremo a extremo. Por ejemplo, si el proceso transmisor hace cuatro escrituras de 512 bytes en una corriente TCP, estos datos pueden entregarse al proceso receptor como cuatro bloques de 512 bytes, dos bloques de 1024 byte, un bloque de 2048 bytes, o de algun otro modo. No hay manera de que el receptor detecte las unidades en las que se escribieron los datos. Cuando una aplicacion pasa datos al TCP, el TCP puede enviarlos de inmediato o guardarlos en un buffer ( con el fin de reunir una cantidad mayor de informacion para enviarla junta ), a discrecion propia...
Última actualización: 2007-04-29 10:56:58-05
|