1.4. Redes con GNU/Linux

Siendo el resultado del esfuerzo concentrado de programadores de todo el mundo, la creación de GNU/Linux no habría sido posible sin la red global. Tanto así, que no sorprende que ya en los primeros pasos del desarrollo, varias personas comenzaran a trabajar para dotarlo de capacidades de red. Casi desde el principio existía ya una implementación de UUCP para GNU/Linux. En el otoño de 1992 se comenzó a desarrollar el soporte de TCP/IP, cuando Ross Biro y otros crearon lo que ahora se conoce como Net-1.

Después de que Ross dejara el desarrollo activo en Mayo de 1993, Fred van Kempen comenzó a trabajar en una nueva implementación, reescribiendo gran parte del código. Este esfuerzo continuado se conoce como Net-2. En el verano de 1993 salió la primera versión publica de Net-2d (como parte del kernel 0.99.10), y ha sido mantenida y ampliada por varias personas, muy especialmente por Alan Cox[1], dando lugar al Net-2Debugged. Tras una dura corrección y numerosas mejoras en el código, se cambió su nombre a Net-3 después de que GNU/Linux 1.0 fuera sacado al público. El Net-3 fue desarrollado exclusivamente para GNU/Linux 1.2 y GNU/Linux 2.0. Los núcleos de versiones 2.2 en adelante, utilizan el soporte para redes Net-4, el cual es la versión del código de red que se incluye actualmente en las versiónes oficiales del núcleo.

La versión del código de red de GNU/Linux, Net-4, ofrece una gran variedad de controladores para dispositivos, y muchas características avanzadas. Dentro de los protocolos estándar de Net-4 se incluyen SLIP y PPP, (para el envío de tráfico de redes sobre líneas series), PLIP (para líneas paralelas), IPX (para redes compatibles con Novell, sobre las cuáles se hablará en Capítulo 15), Appletalk (para redes Apple), y AX.25, NetRom y Rose, (para redes de radio-aficionados). Otros rasgos característicos de Net-4 son la inclusión de cortafuegos IP, contabilidad IP (tema estudiado más en detalle en Capítulo 9 y Capítulo 10), y Enmascaramiento IP (discutido más adelante, en Capítulo 11)[2]. Está soportada la encapsulación IP, en una unión de diferentes gustos y políticas avanzadas de encaminamiento (routing). También se da soporte a una gran variedad de dispositivos Ethernets, además de algunos FDDI, Token Ring, Frame Relay, y tarjetas ISDN, y ATM.

Además de lo que ya se ha citado, hay algunas otras características que acentúan de gran manera la flexibilidad de GNU/Linux. Dentro de las mismas se destaca una implementación del sistema de ficheros SMB, el cuál interacciona con aplicaciones como lanmanager y Microsoft Windows. Esta implementación se llama Samba, y fue escrita por Andrew Tridgell. También se destaca una implementación de Novell NCP, o Protocolo Principal de NetWare (NetWare Core Protocol).[3]

1.4.1. Diferentes Etapas de Desarrollo

Dentro del ambiente GNU/Linux, en varias ocasiones, se han presentado varios esfuerzos de desarrollo a la vez.

Mientras tanto, al finalizar y lanzar la implementación oficial de Net-2Debugged, Fred siguió desarrollando el Net-2e, que dispone de un diseño más revisado de la capa de red. Fred trabajó para llegar a un estándar, llamado Interfaz de Controlador de Dispositivo, (Device Driver Interface, DDI). Sin embargo, hoy en día el desarrollo de Net-2e ha terminado.

Otra implementación más para redes TCP/IP, es la realizada por Matthias Urlichs, quien escribió un controlador de RDSI(ISDN) para GNU/Linux y FreeBSD. Para ello, integró algo del código de red de BSD, en el núcleo GNU/Linux. Al igual que el anterior, ya no se trabaja más en este proyecto.

Los cambios son acelerados en las implementaciones de red para el núcleo Linux, y “cambio” sigue siendo el lema, tanto que el desarrollo continúa. Muchas veces, esto también significa que los cambios deberán llegar a otro software, como por ejemplo, las herramientas de configuración de la red. Aunque éste ya no es un problema esencial, como antes lo era, se puede encontrar con que al actualizar el núcleo, también se deban actualizar las herramientas de configuración de la red. Afortunadamente, gracias a la gran variedad de distribuciones disponibles actualmente, esto es una tarea relativamente fácil de llevar a cabo.

La implementación para redes Net-4 está actualmente en una etapa bastante madura, y es usada en un gran número de sitios alrededor del mundo. Ha costado mucho trabajo el mejorar su rendimiento, y ahora compite con las mejores implementaciones disponibles para su misma plataforma de trabajo. GNU/Linux está extendiéndose rápidamente en el entornoe de Proveedores de Servicio de Internet, y muchas veces es elegido por pequeñas organizaciones que necesitan de servidores World Wide Web, de correo y noticias realmente baratos y fiables. Hoy en día, existe el suficiente interés en el desarrollo de GNU/Linux, como para decir que se puede mantener el ritmo de los cambios tecnológicos en cuanto a redes. Por ejemplo, las últimas liberaciones del núcleo de GNU/Linux ofrecen como estándar, la próxima generación del protocolo IP, IPv6.

1.4.2. Dónde Conseguir el Código

Parece extraño el recordar aquellos primeros días del desarrollo del código de red para GNU/Linux. El núcleo estándar requería de un gran conjunto de parches, para dar soporte a redes. En la actualidad, sin embargo, el desarrollo del soporte para redes tiene lugar como parte misma del flujo principal del proceso de desarrollo de GNU/Linux. Los núcleos GNU/Linux estables más recientes, se pueden encontrar en ftp.kernel.org dentro de /pub/linux/kernel/v2.x/, donde x es un número par. Análogamente, los núcleos GNU/Linux experimentales más recientes se pueden obtener en ftp.kernel.org dentro de /pub/linux/kernel/v2.y/, donde esta vez y, es un número impar. Existen réplicas de las distintas versiones del núcleo GNU/Linux repartidas por todo el mundo[4]. Después de esto, sería difícil de imaginar a GNU/Linux sin soporte estándar de red.

Notas

[1]

Se puede contactar a Alan, en alan@lxorguk.ukuu.org.uk

[2]

“Cortafuegos IP”, “Auditoría IP”, “Enmascaramiento IP” y “Encapsulación IP”, son las respectivas traducciones de los términos “IP Firewalling”, “IP accounting”, “IP Masquerade”, y “IP Tunnelling”

[3]

NCP es el protocolo en el cuál se basa el servicio de ficheros e impresión de Novell.

[4]

Y hasta en distintos idiomas. Nota del T.