La Taberna del Grumete: Al Menú Taberna Grumete

Comunicaciones TCP/IP

Autor: Antonio Caravantes (ac@ctv.es), 07-97


 

Se suele decir que
"Internet es una red que enlaza a ordenadores de todo el mundo".
Cabe añadir un poco de rigor diciendo que
"Internet es una red que une otras redes de ordenadores".
Cada organización, universidad o empresa tiene su propia red informática. Internet es un sistema de comunicación para todas esas redes.

Las comunicaciones entre redes se posibilitan por un conjunto de líneas o cables que alcanza todos los continentes. Estas líneas forman "la verdadera estructura" de Internet, una Red descentralizada, que geográficamente tiene el aspecto de una malla o tela de araña, pero muy irregular. En esa gran red mundial, cada uno de los "nudos" está controlado por un dispositivo especializado en de distribuir la información por las vías óptimas. Estos artefactos se denominan ENRUTADORES porque sirven para seleccionar la ruta adecuada para cada paquete de información. En terminología inglesa son conocidos como ROUTERS. Probablemente se haría una traducción más afortunada usando la palabra ENCAMINADOR, aunque "enrutador" mantiene mayor similitud etimológica; ambas son bien comprensibles.

En realidad, los enrutadores son unos ordenadores especializados en dirigir el tráfico de Internet. En una analogía sencilla, podemos decir que el enrutador funciona como el operario que maneja los cambios de agujas en una estación ferroviaria. Cada información que cruza Internet lleva una cabecera en la que está anotado el ordenador de destino. Los enrutadores utilizan una base de datos para averiguar la línea hacia la que deben re-enviar cada información.

En cada uno de esos nodos o "puntos de enlace" convergen varias líneas; habitualmente tres, aunque pueden ser más. La red carece de núcleo o de tronco. No hay una línea principal ni tampoco hay un ordenador central que dirija los movimientos de tráfico. Cada "hilo" tiene la misma importancia y jerarquía que cualquier otra línea. Cada "nudo" de la malla tiene la misma capacidad y privilegio que los otros. Cada enrutador hace su trabajo de forma independiente. Este peculiar sistema fue elegido por razones de seguridad.

Los orígenes de Internet se remontan a la guerra fría, en plena escalada atómica entre los bloques militares de URSS y EEUU. Los gobernantes norteamericanos decidieron crear una red informática que abarcase toda la nación y que fuese muy segura. El conjunto de la red debía soportar el ataque a cualquiera de sus ordenadores o a cualquiera de sus líneas. Así comenzó a funcionar una red descentralizada, que inicialmente tenía utilidades militares y gubernativas. Luego se fueron añadiendo conexiones con centros de investigación, universidades, empresas... Internet continuó extendiéndose, dentro y fuera del país de origen.

Cada vez que un enrutador recibe un paquete de información, debe comprobar que el paquete ha sido correctamente recibido, y luego devolver el correspondiente acuse de recibo. Cuando un enrutador transmite datos hacia otro dispositivo, espera recibir la confirmación de que ha llegado correctamente a la siguiente estación. La información, antes de alcanzar su destino, pasa por varios enrutadores (normalmente más de uno; algunas veces, hasta diez o más).

Si un enrutador realiza una transmisión y no recibe el correspondiente acuse de recibo, cabe suponer que hay algún problema en esa línea. Entonces, el enrutador dirigirá hacia otra ruta el mismo paquete de datos. El segundo recorrido probablemente sea más tortuoso, pero asegura la existencia de un camino alternativo. Los enrutadores también regulan los colapsos de tráfico. Si una línea está muy saturada, los paquetes son canalizados a otra ruta más ágil. Cada enrutador tiene capacidad para tomar estas decisiones sobre la marcha (en tiempo real) y de una forma totalmente automática. Además, no todas las líneas tienen la misma capacidad/agilidad de transmisión; algunos de los "hilos" son mucho más veloces que otros. La suma de todos estos factores produce resultados inesperados: en algunas ocasiones puede suceder que un paquete de información viaje desde España hasta Portugal... pasando por Inglaterra y Norteamérica.

El proceso es todavía más complejo, porque la cruda realidad es que los ordenadores de Internet se identifican mediante números. Los usuarios creemos reconocer a los servidores mediante una serie de palabras separadas por puntos, pero eso es un engaño para facilitarnos la tarea; es más fácil recordar series de palabras que series de números. Veamos un ejemplo práctico para comprenderlo mejor.

Supongamos que quieres consultar la página de Grumetes en el ordenador de RedIRIS. Lo que escribes en el navegador es la URL

http://www.rediris.es/list/info/grumetes.html

URL significa "Uniform Resource Locator", en referencia clara al sistema Uniforme de Localización de Recursos que usa Internet. Ya hemos entendido que se trata de direcciones estandarizadas. ¿Qué más?

El prefijo "http://" sirve para concretar que estamos realizando una petición correspondiente al Protocolo de Transferencia de HiperTexto (HyperText Transfer Protocol); abreviando, significa que nuestra petición corresponde a una página de la World Wide Web. Sigamos.

"www.rediris.es" identifica al ordenador-servidor que contiene esa información requerida. Para ser más exactos diríamos que se trata del ordenador que presta el servicio WWW en la organización REDIRIS, ubicada en ESpaña. Las dos palabras finales (en este caso "rediris.es") constituyen el "dominio", e identifican a la red informática de la entidad concreta. En lenguaje coloquial también se usa "dominio" para referirse al servidor (www.rediris.es).

Pero ese sistema de palabras no resulta muy eficaz para materializar las comunicaciones. En realidad, los ordenadores de Internet son reconocidos solamente por su dirección IP (dirección válida para el Protocolo Internet). Las direcciones IP son un número de 32 bits, y se representan como cuatro cifras separadas por puntos; cada una de las cifras está formada por un byte, con rango de 0 a 255. Ese número IP es siempre necesario para cualquier operación.

Entra en juego un nuevo elemento. Se trata del servidor de nombres de dominio, conocido por la abreviatura DNS (Domain Name Server). El programa navegador envía al DNS el texto "www.rediris.es", y el DNS devolverá la dirección IP correspondiente, en este caso se trata de la dirección 130.206.1.2. El proceso continúa.

Ahora, el navegador transmitirá una petición dirigida al ordenador 130.206.1.2 , solicitándole el archivo "grumetes.html" que se encuentra en el directorio "list/info". En realidad podrías haber escrito inicialmente la línea

http://130.206.1.2/list/info/grumetes.html

con lo que se ahorraría la consulta al DNS. Sigamos.

La petición cruza varios enrutadores antes de alcanzar al ordenador de destino. El servidor cogerá el archivo solicitado, lo fragmentará en paquetes de un tamaño normalizado, agregará a cada paquete una cabecera con la identificación del destinatario y el número de paquete (también añadirá otros datos menos relevantes). Finalmente, el servidor lanzará los paquetes hacia hacia Internet, confiando en que los enrutadores hagan el transporte. Los paquetes viajan de forma independiente. Según las circunstancias, incluso es posible que utilicen diferentes rutas para llegar a tu ordenador.

El programa navegador irá recepcionando los paquetes, sin preocuparse del camino recorrido por cada uno. Utilizando los números que figuran en la cabecera de cada paquete, se irá recomponiendo el archivo. En los navegadores modernos podemos comenzar a visualizar el texto de la página sin que sea preciso esperar a recibir los últimos paquetes. Si la página tiene otros elementos (gráficos, sonidos, etc), hay que repetir el proceso para cada uno de esos elementos.

Falta un detalle: ¿cómo es posible que el navegador pueda contactar con el DNS?. El DNS está registrado en tu propio ordenador, en los datos de configuración de la conexión. Allí tienes escrita la dirección IP del servidor DNS. Puesto que este servidor es el encargado de traducir los nombres de dominio a números IP, su dirección es la única que no puede ser usada mediante un nombre de dominio. La dirección del DNS te habrá sido suministrada por tu proveedor de acceso a Internet. Algunos proveedores cuentan con dos DNS, para garantizar el funcionamiento de los nombres de dominio.

Si se enlazase a Internet un nuevo ordenador que no tenga una dirección IP, sería totalmente imposible acceder a ese ordenador desde la Red. Todos los ordenadores deben tener una dirección IP que los enrutadores identifiquen con precisión. Además, los ordenadores pueden tener un nombre de dominio (o varios) que funciona como un "alias" más fácilmente recordable. Algunos servidores no tienen nombre de dominio, carecen de "alias" y solo pueden ser accedidos por la dirección IP.

Si usas Windows 95 podrás hacer algún experimento ilustrativo. Cuando estés conectado, abres una ventana DOS (Inicio / Programas / Símbolo del sistema) y en ella escribes el comando

TRACERT www.rediris.es

Obtendrás la dirección IP de ese servidor, así como un informe de la ruta utilizada para llegar hasta él. Podrás leer alguna información de cada enrutador implicado. Si no usas Win95, también podrás conseguir (en la propia Internet) algún programa gratuito que te sirva para los mismos fines.

¿Yo también tengo una dirección IP? La mayoría de los usuarios se conectan a través de módem y mediante un proveedor de acceso. Cuando estableces la conexión, tu ordenador se integra en la red del proveedor (y a través de esa red dispones de enlace a Internet). El proveedor dispone de una serie de direcciones IP para los usuarios, pero cada vez que te conectes te asignará una dirección IP diferente. El proveedor puede tener mil clientes (usuarios) y utilizar solo doscientas direcciones IP... porque sabe que nunca se conectan más de doscientos clientes al mismo tiempo. Se dice que esas direcciones IP son asignadas en forma dinámica. Nunca tienes nombre de dominio.

Todo esto es una explicación simplificada del protocolo TCP/IP (Transmisión Control Protocol / Internet Protocol). El sistema parece suficientemente complejo como para resultar seguro. Pero siempre cabe un error humano que provoque la catástrofe.

Cuando se incorpora a Internet algún nuevo ordenador, su nombre de dominio no será operativo hasta que figure en los ficheros de los servidores DNS. Cuando se añaden nuevas líneas (o nodos) también se hace preciso actualizar los archivos que sirven de referencia a los enrutadores. Mantener todos estos ficheros con la información correcta es fundamental para garantizar las comunicaciones. El día 18-07-97 hubo un fallo en la actualización esos archivos, lo que imposibilitó las normales transmisiones de la Red durante algunas horas. Los usuarios que hayan detectado estos inconvenientes no deben responsabilizar directamente a sus proveedores de acceso a Internet, porque el problema estaba fuera de su alcance.