Internet tiene su origen en la red informática ARPAnet que comenzó a desarrollarse en los Estados Unidos como un proyecto del DARPA (Defense Advanced Research Projects Agency) sobre la década de los sesenta, su objetivo era que computadoras cooperativas compartieran recursos mediante una red de comunicaciones. Fue 1972 cuando se comenzó a investigar la forma de que los paquetes de información se transmitiesen a través de varias redes de diferentes tipos y no necesariamente compatibles. De esta manera, se consiguen enlazar redes independientes consiguiendo que puedan comunicarse de forma transparente los ordenadores de todas ellas. Este proyecto recibió el nombre de Internetting, y para referirse al sistema de redes funcionando conjuntamente y formando una red mayor se utilizó el nombre de «Internet». Los protocolos desarrollados se denominaron el Conjunto de Protocolos TCP/IP, que surgieron de dos conjuntos previamente desarrollados; los Protocolos de Control de Transmisión (Transmition Control Protocol) e Internet (Internet Protocol).
TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet, de manera que éstos puedan comunicarse entre sí. Hay que tener en cuenta que en Internet se encuentran conectados ordenadores de clases muy diferentes y con hardware y software incompatibles en muchos casos, además de todos los medios y formas posibles de conexión. Aquí se encuentra una de las grandes ventajas del TCP/IP, pues este protocolo se encargará de que la comunicación entre todos sea posible. TCP/IP es compatible con cualquier sistema operativo y con cualquier tipo de hardware.
El protocolo TCP/IP, está compuesto por las siguientes capas: capa de aplicación, capa de transporte, capa de enrutamiento y la capa de interfase. El sistema operativo ejecuta los procesos de la capa de aplicación con privilegio de usuario y los procesos que pertenecen a las capas transporte, enrutamiento e interfase son ejecutados con privilegio Kernel. A continuación se explica cada una de las capas.
- Aplicación
Invoca programas que acceden a servicios en la red. Interactúan con uno o más protocolos de transporte para enviar o recibir datos, en forma de mensajes o bien en forma de flujos de bytes.
- Transporte
La capa de transporte ofrece a la capa de aplicación dos servicios y es la responsable del envío y la recepción de los segmentos de datos de la capa de aplicación. Un servicio consiste en el envío y recepción de datos orientado a conexión y el otro en el envío y recepción de datos no orientados a conexión. El protocolo TCP (Transmition Control Protocol) de la capa de transporte es un servicio orientado a conexión. La unidad de datos que envía o recibe el protocolo TCP es conocido con el nombre de segmento TCP. El protocolo UDP (User Datagram Protocol) de la capa de transporte es un servicio no orientado a conexión. La unidad de datos que envía o recibe el protocolo UDP es conocido con el nombre de datagrama UDP.
- Internet
Los protocolos más importante de esta capa son: IP, ARP e ICMP. El protocolo IP (Internet Protocol) ofrece el servicio de direccionamiento lógico de la red TCP/IP y el de enrutamiento de paquetes. Dicho protocolo, debe conocer la dirección física del computador destino para que la capa de enlace pueda proceder con la transmisión de paquetes IP. Para ello el protocolo IP hace uso del protocolo de resolución de direcciones ARP (Address Resolution Protocol). La función de este protocolo es dar a conocer al protocolo IP la dirección física asociada a la dirección IP destino. Una vez que el protocolo IP conoce la dirección física asociada a una dirección IP, la capa de enlace puede proceder con el envío del fragmento.
El protocolo IP, utiliza el protocolo de mensajes de control Internet ICMP (Internet Control Message Protocol), para informar de los errores que pueden ocurrir durante el enrutamiento de paquetes IP. Este protocolo se explicará más ampliamente en el Capítulo 6. Telnet y TraceRoute.
- Interfase
La capa de interfase está compuesta por dos capas, la capa de enlace y la capa física.
La capa de enlace es la responsable de delimitar el principio y fin de los frames a enviar, establecer el sistema de direccionamiento físico de la red y detectar los errores de envío o recepción de información entre dos o más computadoras. Esta capa puede ofrecer un servicio de conexión orientado o un servicio de conexión no orientado. Los protocolos HDLC (High-Level Data Link Control), PPP (Point-to-point Protocol), LLC (Logical Link Control) son ejemplos de protocolos de la capa de enlace.
Los protocolos de la capa física, son los encargados de la transmisión a través del medio físico al que se encuentra conectado cada host, como puede ser una línea punto a punto, Token Ring o una red Ethernet.
TCP/IP necesita funcionar sobre algún tipo de red o de medio físico que proporcione sus propios protocolos para el nivel de enlace. Por este motivo hay que tener en cuenta que los protocolos utilizados en este nivel pueden ser muy diversos y no forman parte del conjunto TCP/IP. Sin embargo, esto no debe ser problemático puesto que una de las funciones y ventajas principales del TCP/IP es proporcionar una abstracción del medio de forma que sea posible el intercambio de información entre medios diferentes y tecnologías que inicialmente son incompatibles.
Las aplicaciones cliente-servidor dependen de los servicios de todas las capas. Cuando una aplicación hace uso de los servicios de la capa de aplicación para el envío de datos, cada capa debe de incluir los parámetros del protocolo de comunicación entre capas adyacentes y los parámetros del protocolo de comunicación entre capas iguales. Una vez que cada capa haya incluido los parámetros antes mencionados, los datos de la aplicación serán encapsulados. Cuando los datos encapsulados llegan al computador destino, ocurre un proceso de desencapsulamiento en cada capa, estableciendo de esta manera la comunicación virtual entre capas iguales.
La capa de transporte ofrece a la capa de aplicación dos servicios: un servicio orientado a conexión protocolo TCP y un servicio no orientado a conexión protocolo UDP. La unidad de envío o recepción datos del protocolo TCP se conoce con el nombre de segmento TCP y la unidad de envío o recepción de datos del protocolo UDP es conocido como datagrama UDP.