TEMA 7. Introducción a las redes TCP/IP.
Volver Imprimir Capítulo

7.1 TCP/IP.

Una de las características más importantes de Linux es su cualidad como servidor de redes. La red en Linux (y el propio Linux de forma interna) habla el mismo idioma que Internet, lo que hace que el hecho de dar servicios de Internet y acoplar una red de área local no suponga prácticamente ningún esfuerzo, ya que en el proceso no se necesitan máquinas traductoras. Este lenguaje se conoce de forma genérica como TCP/IP (de las siglas en inglés de Protocolo de Control de Transmisión/Protocolo de Internet); en realidad son un conjunto de protocolos agrupados para crear una comunicación más fluida por la red, cada uno de ellos realizando un trabajo muy específico.

El funcionamiento de TCP/IP se basa en el uso de unas direcciones, denominadas direcciones IP, para identificar de qué máquina procede cada mensaje y a qué máquina se dirigen. Estas direcciones tienen el formato: ###.###.###.###, donde cada grupo de tres dígitos (denominado octeto ya que se puede representar por un Byte) puede estar comprendido entre 0 y 255; de ella una parte se dedica a la dirección de red y el resto identifica a la máquina dentro de esa red. El número de cifras de la dirección dedicada a cada uno de estas componentes (red y máquina) varia de un tipo de red a otra. En cierto modo se asemeja a un número de teléfono, donde las primeras cifras forman el prefijo de zona y el resto el número de abonado dentro de la zona.

Para separar las dos partes se utiliza la máscara de red, que no es más que un número con la misma estructura de dirección IP pero con un significado distinto. Así, se distinguen varios tipos de direcciones que definen otras tantas clases de redes, cada una con una máscara de red distinta:

A: 0.0.0.0 a 127.255.255.255 255.0.0.0
B: 128.0.0.0 a 191.255.255.255 255.255.0.0
C: 192.0.0.0 a 223.255.255.255 255.255255.0

Existen dos tipos de redes más (tipo D, de 224.0.0.0 a 239.255.255.255, y tipo E, de 240.0.0.0 a 247.255.255.255, pero no se utilizan)

En una red de tipo A el primer octeto numera a la red, mientras que los otros tres numeran las máquinas. En redes de tipo B sin embargo se reservan dos octetos para la red y dos para las máquinas. En las de tipo C son tres los octetos para numerar la red y uno para la máquina. Esto puede observarse por la máscara propia de cada tipo de red.

Hay una dirección especial compartida por todas las máquinas que utilizan TCP/IP; es la dirección 127.0.0.1 y se denomina dirección de circuito cerrado o dirección de lazo local; siempre es una referencia a la propia máquina en la que se trabaja y es comúnmente conocida como “localhost”.

En toda red hay un par de direcciones “reservadas”, que no pueden utilizarse para numerar a ninguna máquina. Estas dos direcciones se conocen con el nombre de “dirección de red” (que siempre es la menor de toda la red) y “dirección de difusión” o “dirección de broadcast” (que siempre es la última). La primera sirve para nombrar e identificar a la red como un bloque, mientras que la dirección de difusión se utiliza para enviar datos de manera simultánea a todas las máquinas de la red.

De esta forma, podemos ver que existen 126 redes distintas de tipo A cada una con algo más de un millón y medio de máquinas posibles. Existirán del mismo modo unas 16000 redes de tipo B, cada una con 65000 máquinas. Por último, hay algo más de dos millones de redes de tipo C en las que caben 254 máquinas en cada una.

Para poder utilizar una IP es necesario solicitarla, y sólo se conceden a organismos o empresas capacitadas para ello (por ejemplo los proveedores de internet); cada vez es más difícil disponer de una ya que se está llegando a una situación en la que casi no quedan IP disponibles, debido a que en el actual sistema de numeración se desaprovechan muchas direcciones (si tenemos una red de tipo A y poseemos 700000 máquinas estamos desaprovechando todavía 16 millones de direcciones que nadie puede utilizar. Esto se ha solucionado implantando un sistema de numeración de 64 bits (en lugar de los 32 actuales); este sistema, a parte de ser virtualmente inagotable (equivaldría a tener unos 200 aparatos por metro cuadrado cubriendo toda la superficie de la tierra) es compatible con el actual. Ésta y otras mejoras se introducen en la versión 6 del protocolo IP (conocida como IPv6, la actual es IPv4), que tímidamente se está empezando a implantar en algunos sistemas (Linux es totalmente compatible con él desde hace tiempo).

Por otro lado, la estructura de la comunicación entre dos máquinas responde a un modelo de capas, una sobre otra, de manera que el conjunto de tareas se divide en partes que son ejecutadas en una determinada capa. Cada capa se comunica con una similar en el otro extremo de la comunicación intercambiando una serie de datos, que son utilizados por la capa superior; cada capa además posee una información de control que es entendida únicamente por su capa pareja y que es la que permite que se produzca el intercambio de datos.

En TCP/IP existen cuatro capas diferenciadas; la primera es la capa de red local, que es la encargada de llevar la información de una máquina a otra, resolviendo los problemas que puedan ocurrir en la transmisión (ya sea por cable, inalámbrica, óptica, ...). Los elementos que residen en esta capa son los controladores de dispositivos de red, como la tarjeta Ethernet o el módem.

Sobre ella se encuentra la capa internet o “entre redes”, que es dónde reside IP. Es la responsable de decirle a los datos dónde tienen que ir para llegar a su destino, para lo que utiliza las direcciones IP (lo veremos un poco más adelante); el envío de datos se realiza a una máquina accesible directamente de la red.

La capa de transporte es la primera que conoce la trasmisión extremo a extremo, no a máquinas próximas como hace la capa de red. Aquí es donde trabaja TCP, que se encarga de fragmentar los paquetes en trozos más pequeños que son enviados junto con información para su ensambladores. TCP se ocupa también de servicios que requieren una conexión ininterrumpida con comprobaciones de los errores y recuperación ante ellos. Para servicios que no necesitan controlar si hubo o no un error o que no necesitan de una conexión establecida permanentemente con el receptor se utiliza el protocolo UDP (Protocolo de Datagrama de Usuario), más rápido que TCP en ambientes fiables (como una red de área local, por ejemplo).

Por último tenemos la capa de Aplicación, que es donde residen los diferentes programas que utilizan Internet; cada una de estas aplicaciones ofrece unos servicios al usuario (o a otros programas), para lo que cual necesitan utilizar uno de los protocolos de la capa de transporte, ya sea TCP o UDP. Por ejemplo los servicios FTP, POP3 y SMTP utilizan TCP, DNS y NFS usan UDP y HTTP utiliza ambos. Para poder conocer a qué aplicación se destinan los datos se utiliza un número de puerto, de manera que la pareja dirección IP/puerto determina de forma única la aplicación a la que se destinarán los datos.

No te preocupes si no conoces el significado de todas estas siglas, las veremos en detalle más adelante; de todas formas existe una lista exhaustiva de los servicios existentes y los puertos y protocolos que utilizan en el archivo /etc/services. Lo que debes tener muy claro es que TCP y UDP poseen puertos independientes, es decir, cada uno tiene su propia numeración.

 
 
   
 
Copyright - © ANFORA, 2004. Todos los derechos reservados. Condiciones Legales.    
Subir al inicio de la página Página Web de ÁNFORA