CAPÍTULO II FUNDAMENTO TEÓRICO
2.7. Comunicaciones digitales
2.7.6. Modelo TCP/IP
TCP/IP es el protocolo común utilizado por todos los ordenadores conectados a Internet, de manera que éstos puedan comunicarse entre si. Hay que tener en cuenta que en Internet se encuentran conectados
38 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.
TCP/IP no es un único protocolo, sino que es en realidad lo que se conoce con este nombre es un conjunto de protocolos que cubren los distintos niveles del modelo OSI. Los dos protocolos más importantes son el TCP (Transmission Control Protocol) y el IP (Internet Protocol), que son los que dan nombre al conjunto. En Internet se diferencian cuatro niveles o capas en las que se agrupan los protocolos, y que se relacionan con los niveles OSI de la siguiente manera:
2.7.6.1. Historia del Protocolo TCP/IP.
El modelo TCP/IP es un modelo de descripción de protocolos de red desarrollado en los años 70 por Vinton Cerf y Robert E. Kahn. Fue implantado en la red ARPANET, la primera red de área amplia, desarrollada por encargo de DARPA, una agencia del Departamento de Defensa de los Estados Unidos, y predecesora de la actual red Internet. EL modelo TCP/IP se denomina a veces como Internet Model, Modelo DoD o Modelo DARPA.
2.7.6.2. Historia del Protocolo TCP/IP.
Los protocolos TCP/IP presentan las siguientes características: Son estándares de protocolos abiertos y gratuitos. Su
desarrollo y modificaciones se realizan por consenso, no a voluntad de un determinado fabricante. Cualquiera puede desarrollar productos que cumplan sus especificaciones.
Independencia a nivel software y hardware. Su amplio uso los hace especialmente idóneos para interconectar equipos de diferentes fabricantes, no sólo a Internet sino también formando
39 redes locales. La independencia del hardware nos permite integrar en una sola varios tipos de redes (Ethernet, Token Ring, X.25...)
Proporcionan un esquema común de direccionamiento que permite a un dispositivo con TCP/IP localizar a cualquier otro en cualquier punto de la red.
Son protocolos estandarizados de alto nivel que soportan servicios al usuario y son ampliamente disponibles y consistentes.
2.7.6.3. Arquitectura de Niveles de TCP/IP.
El segundo modelo mayor de estratificación por capas no se origina de un comité de estándares, sino que proviene de las investigaciones que se realizan respecto al conjunto de protocolos de TCP/IP. Con un poco de esfuerzo, el modelo ISO puede ampliarse y describir el esquema de estratificación por capas del TCP/IP, pero los presupuestos subyacentes son lo suficientemente distintos para distinguirlos como dos diferentes. En términos generales, el software TCP/IP está organizado en cuatro capas conceptuales que se construyen sobre una quinta capa de hardware. El siguiente esquema muestra las capas conceptuales así como la forma en que los datos pasan entre ellas.
a) Capa de aplicación. Es el nivel más alto, los usuarios llaman a una aplicación que acceda servicios disponibles a través de la red de redes TCP/IP. Una aplicación interactúa con uno de los protocolos de nivel de transporte para enviar o recibir datos. Cada programa de aplicación selecciona el tipo de transporte necesario, el cual puede ser una secuencia de mensajes individuales o un flujo continúo de octetos. El programa de aplicación pasa los datos en la forma requerida hacia el nivel de transporte para su entrega.
40 b) Capa de transporte. La principal tarea de la capa de transporte es proporcionar la comunicación entre un programa de aplicación y otro. Este tipo de comunicación se conoce frecuentemente como comunicación punto a punto. La capa de transporte regula el flujo de información. Puede también 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 recepción enviando acuses de recibo de retorno y la parte de envío retransmitiendo los paquetes perdidos. El software de transporte divide el flujo de datos que se está enviando en pequeños fragmentos (por lo general conocidos como paquetes) y pasa cada paquete, con una dirección de destino, hacia la siguiente capa de transmisión. Aun cuando en el esquema anterior se utiliza un solo bloque para representar la capa de aplicación, una computadora de propósito general puede tener varios programas de aplicación accediendo a 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 añade información adicional a cada paquete, incluyendo códigos que identifican qué programa de aplicación envía y qué programa debe recibir, así como una suma de verificación para verificar que el paquete ha llegado intacto y utiliza el código de destino para identificar el programa de aplicación en el que se debe entregar.
c) Capa Internet. La capa Internet maneja la comunicación de una máquina a otra. Ésta acepta una solicitud para enviar un paquete desde la capa de transporte, junto con una identificación de la máquina, hacia la que se debe enviar el paquete. La capa Internet también maneja la entrada de
41 datagramas, verifica su validez y utiliza un algoritmo de ruteo para decidir si el datagrama debe procesarse de manera local o debe ser transmitido. Para el caso de los datagramas direccionados hacia la máquina local, el software de la capa de red de redes borra el encabezado del datagrama y selecciona, de entre varios protocolos de transporte, un protocolo con el que manejará el paquete. Por último, la capa Internet envía los mensajes ICMP de error y control necesarios y maneja todos los mensajes ICMP entrantes.
d) Capa de acceso a la red. El software TCP/IP de nivel inferior consta de una capa de interfaz de red responsable de aceptar los datagramas IP y transmitirlos hacia una red específica. Una interfaz de red puede consistir en un dispositivo controlador (por ejemplo, cuando la red es una red de área local a la que las máquinas están conectadas directamente) o un complejo subsistema que utiliza un protocolo de enlace de datos propios (por ejemplo, cuando la red consiste de conmutadores de paquetes que se comunican con anfitriones utilizando HDLC).
Fig. 2.13 Flujo de información en TCP/IP en las capas OSI Fuente http://www.textoscientificos.com
42
Tabla 2.5 Protocolos usados en las capas del modelo TCP / IP. Fuente http://proyectointerfasesitslp.blogspot.com
2.7.6.4. Uso de Puertos Modelo TCP/IP.
Diversos programas TCP/IP pueden ejecutarse simultáneamente en Internet (por ejemplo, pueden abrirse diferentes navegadores de manera simultánea o navegar por páginas HTML mientras se descarga un archivo de un FTP). Cada uno de estos programas funciona con un protocolo. A veces el equipo debe poder distinguir las diferentes fuentes de datos.
Por lo tanto, para facilitar este proceso, a cada una de estas aplicaciones puede serle asignada una dirección única en equipo, codificada en 16 bits: un puerto (por consiguiente, la combinación de dirección IP + puerto es una dirección única en el mundo denominada socket).
De esta manera, la dirección IP sirve para identificar de manera única un equipo en la red mientras que el número de puerto especifica la aplicación a la que se dirigen los datos. Así, cuando el equipo recibe información que va dirigida a un puerto, los datos se envían a la aplicación relacionada. Si se trata de una solicitud enviada a la aplicación, la aplicación se denomina aplicación servidor. Si se trata de una respuesta, entonces hablamos de una aplicación cliente.
43 Existen miles de puertos (codificados en 16 bits, es decir que se cuenta con 65536 posibilidades). Es por ello que la IANA (Internet Assigned Numbers Authority [Agencia de Asignación de Números de Internet]) desarrolló una aplicación estándar para ayudar con las configuraciones de red.
Los puertos del 0 al 1023 son los "puertos conocidos" o reservados. En términos generales, están reservados para procesos del sistema (daemons) o programas ejecutados por usuarios privilegiados. Sin embargo, un administrador de red puede conectar servicios con puertos de su elección.
Los puertos del 1024 al 49151 son los "puertos registrados".
Los puertos del 49152 al 65535 son los "puertos dinámicos y/o privados".
A continuación se indican algunos de los puertos conocidos más utilizados:
Puerto Servicio o aplicación
21 FTP (File Transfer Protocol - Protocolo de transferencia de archivos)
23 Telnet (TELecommunication NETwork Cliente Terminal)
25
SMTP (Simple Mail Transfer Protocol Protocolo Simple de Transferencia de Correo)
53 DNS (Domain Name System Sistema de nombre de dominio)
44 63 WHOIS (Determina el propietario de un
dominio o dirección IP)
70 GOPHER (acceso a la información a través de menús)
79 FINGER (proporciona información de los usuarios de una maquina)
80 HTTP (HyperText Transfer Protocol protocolo de transferencia de hipertexto)
110 POP3 (Post Office Protocol Protocolo de Correo versión 3)
119
NNTP (Network News Transfer Protocol – Protocolo de Transporte de la Red de Noticias)
Tabla 2.6 Puertos conocidos más utilizados. Fuente http://www.infoplc.net
2.8. Protocolo de Comunicación basado en TCP/IP.