Accediendo a través de la red

Dos ordenadores de la misma red generalmente se encuentran enlazados mediante un cable físico. Cuando se comunican por la red, los programas de cada ordenador que toman parte en la comunicación están conectados a través de una conexión virtual, una especie de cable imaginario. En lo que concierne a cada uno de los programas involucrados en la conexión virtual, poseen el monopolio de su propio cable. Sin embargo, puesto que el cable no es real, únicamente imaginario, los sistemas operativos de ambos ordenadores pueden tener varias conexiones virtuales compartiendo el mismo cable físico. De esta forma, utilizando un único cable, varios programas pueden comunicarse sin tener en cuenta las otras comunicaciones. Es incluso posible que varios ordenadores utilicen el mismo cable; las conexiones virtuales existen entre dos ordenadores, y los otros ordenadores desconocen aquellas conexiones en la que no participan.

Esta es una descripción complicada y abstracta de la realidad. Por otro lado puede resultar suficiente para comprender por qué los accesos por red son diferentes a los accesos normales. Las conexiones virtuales se establecen cuando hay dos programas en diferentes ordenadores que desean comunicarse. Como es en principio posible acceder desde un ordenador a cualquier otro de la red, existe un número elevado de conexiones virtuales potenciales. Debido a esto, no es práctico iniciar "getty" para cada acceso potencial.

Hay un único proceso inetd (correspondiente a "getty") que maneja todos los accesos por la red. Cuando percibe que un acceso llega por la red (esto es, se da cuenta de que llega una nueva conexión virtual de algún otro ordenador), arranca un nuevo proceso para manejar ese acceso individual. El proceso original se mantiene y continúa escuchando nuevos accesos.

Para hacer las cosas un poco más complicadas, existe más de un protocolo de comunicación para accesos de red. Los dos más importantes son telnet y rlogin. Además de accesos, existen muchas otras conexiones virtuales que se pueden realizar (mediante FTP, Gopher, HTTP, y otros servicios de red). Sería ineficiente tener procesos separados escuchando cada tipo de conexión, así que en su lugar hay uno sólo escuchando que puede reconocer el tipo de conexión y puede iniciar el tipo de programa correcto para proveer el servicio. Este programa único se llama inetd; vea la Guía de Administración de Red de Linux para más información.