Configuración de la red. Servicios y servidores.
Copyright © 1998 F. Javier Cantero. EB2DSN.
Introducción
-
Hasta ahora hemos visto el funcionamiento de la red a bajo
nivel, sobre todo los conceptos que tienen que ver con el TCP/IP. Ahora
nos toca echar un vistazo a la red desde el punto de vista de los servicios
que ofrece.
-
También hay que analizar quién oferta esos
servicios y cómo, y la forma de organización de los mismos.
-
Al final se da una descripción de los servicios que
debe tener un posible servidor.
La pieza clave: el servidor
-
Los servicios son ofrecidos a los usuarios por el servidor.
El servidor es el ordenador que da uno o varios servicios.
-
Un servidor no tiene por qué dar todos los servicios.
Ni siquiera tiene por qué haber un servidor por provincia o zona,
ya que ese servicio puede ser dado por servidores de otras zonas.
-
Sin embargo, dada la actual estructura de la red, es recomendable
que los servicios sean ofrecidos todos por el o los ordenadores que ahora
están sirviendo de BBS's. De esta forma, tenemos un servicio más
o menos centralizado y 24 horas en marcha.
-
El servidor además será también en muchos
casos un encaminador o "router".
-
No tiene por qué ser un único ordenador el
que haga de servidor. Si la carga para un solo ordenador es mucha, siempre
se puede pensar en repartir la tarea entre varias máquinas, cada
una con unos cuantos servicios. En estos casos se habla de "site" (sitio),
más que de "host" (estación o máquina).
¿Cómo funcionan los servicios?
-
Los distintos servicios funcionan cada uno de forma independiente,
lo que permite repartir la tarea entre varias máquinas. Además,
cada servicio tiene su propio protocolo para comunicarse con otros servidores
o clientes (usuarios).
-
Estos "protocolos de servicio", llamados comunmente protocolos
de aplicación, consisten en un intercambio de una serie de palabras
(texto) estándar en sucesivas líneas, entre los dos extremos
de la comunicación. Así, por ejemplo, se transfiere el correo
o las páginas Web.
-
Los protocolos de aplicación están basados
en TCP o en UDP. Se abre una conexión entre la máquina que
llama (cliente) y la que espera (servidor) para atender la petición
del primero. En esa conexión conversan en el protocolo adecuado
para realizar su intercambio de información.
-
¿Cómo se sabe cuál es el protocolo
a usar? Cada servicio escucha en un "puerto" TCP o UDP distinto. Hay en
total 65535 puertos TCP y el mismo número de puertos UDP (de la
misma forma que en AX.25, cada programa -BBS, Cluster, ...- está
en un SSID distinto del 0 al 15 de la misma estación). Cada servicio
tiene un puerto estándar donde atender, así que los clientes
saben a qué puerto tienen que conectarse. Si cambiamos el servicio
de un puerto por otro, es probable que no se entienda con los clientes
y las cosas vayan mal. Estos puertos estándar son establecidos por
la IETF (que es el organismo de estandarización de Internet).
-
Por lo tanto, en una máquina que vaya a hacer de servidor,
habrá varios programas residentes ("demonios"), cada uno escuchando
en su puerto, y hablando el protocolo de aplicación correspondiente
al servicio que proporciona.
-
Por ejemplo:
-
El servidor de correo está en el puerto 25
-
El servidor de transferencia de ficheros en el puerto 21
-
El servidor de Web en el puerto 80
-
Sin embargo, el número de servicios es muchas veces
enorme, así que tener tantos programas cargados en memoria es un
gasto terrible. Por ello, se ha optado por crear un programa que es el
que escucha en todos los puertos que se le indican: el superservidor de
internet "inetd". Este "demonio", en cuanto recibe una conexión
por un puerto, mira a ver qué programa tiene que arrancar para atender
ese puerto, y lo arranca pasándole la conexión recién
creada.
Servicios y protocolos de algunos servicios
-
SMTP: Simple Mail Transfer Protocol
es el protocolo de transferencia de correo personal (que no privado) en
Internet. La misión del cliente SMTP es pasar un mensaje de correo
(cabecera y cuerpo) al servidor, para que éste lo envíe al
sitio adecuado.
-
La primera cosa importante es que en un entorno TCP/IP basta
con una conexión entre la máquina del cliente que envía
el mensaje y la máquina del receptor del mensaje: todos los
saltos se hacen de una vez y no es necesario el /ACK del mensaje. Es decir,
no hay que hacer múltiples saltos de forwarding.
-
Al indicar el cliente la dirección, lo primero que
hace es ponerse en contacto con el servidor de destino, y comprobar que
tal dirección existe. Si no existe, el mensaje es rechazado, indicándose
el error en ese mismo momento al emisor (dirección mal tecleada,
etc).
-
Sin embargo, ni siquiera en Internet se hace siempre el intercambio
de un solo salto. Muchas veces se hace "forward" entre servidores de correo.
En este caso, uno de los servidores actua como si fuera un usuario y el
otro su servidor, y el intercambio es igual que en el caso anterior. Sin
embargo, ahora las rutas de "forward" más que físicas son
lógicas. Es decir, no nos importa si por algun fallo, hay que hacer
4 saltos IP en vez de uno puesto que SMTP no lo tiene en cuenta, ya que
es TCP/IP el que ofrece la conectividad de extremo a extremo.
-
Así, puede ser buena idea establecer rutas verdaderamente
jerárquicas, donde haya uno o varios servidores en cada zona que
enruten el correo, de tal forma que nos importe poco si el servidor vecino
hoy es uno y mañana otro. Mientras haya una máquina con un
nombre preestablecido que atienda el correo para esa zona (y la máquina
puede cambiar de ubicación mientras conserve el nombre) no hay que
cambiar ninguna ruta.
-
NNTP: Net News Transfer Protocol
es el protocolo de intercambio de mensajería general en Internet.
La mensajería en Internet está dividida en muchos (miles)
de grupos temáticos, llamandos grupos de noticias ("newsgroups")
o simplemente "news" (noticias). Los usuarios, en su programa de "news",
se suscriben a (indican) los grupos que quieren recibir. De esta forma,
al conectarse, el programa se baja automáticamente la lista de mensajes
disponibles de los grupos a los que está suscrito, y sólo
esos. El usuario indica entonces qué mensajes quiere leer de cada
lista y el programa cliente, mediante NNTP, se los baja del servidor y
se los muestra.
-
Como vemos, la interacción entre usuario y servidor
es completamente automática.
-
Por otro lado, al estar la mensajería dividida en
grupos, no hay transferencia de temas que al usuario no le interesan (¡ni
siquiera de la lista de mensajes!).
-
Los grupos son definidos en cada servidor NNTP. Puede haber
grupos locales, pero generalmente hay una serie de grupos generales, fruto
del consenso de todos los administradores de "news". Los mensajes sólo
pueden ir dirigidos a uno de esos grupos.
-
En Internet, la creación de grupos no parte de los
administradores, sino de los propios usuarios. Existen una serie de requisitos
para crear un grupo, y una serie de pasos, que culminan en una votación.
A partir de ahí, mendiante unas reglas de cómputo, el grupo
será creado o no, pasando a formar parte de todos los servidores
de "news" involucrados.
-
La distribución de los artículos (boletines)
de las "news" se realiza también siguiendo un algoritmo de "flooding"
(inundación) con rechazo por MID. Sin embargo, las rutas son lógicas
en vez de físicas, lo que permite que también pueda ser utilizado
de forma jerárquica. También pueden establecerse servidores
que son clientes de otros servidores, incluso que hagan el papel de caché:
solo reciben los grupos que los usuarios realmente leen, y una vez se los
han traído, están disponibles para los demás. De esta
forma, si un grupo no lo lee nadie, nunca se traen sus mensajes. Dado que
hay mensajes que no lee prácticamente nadie, la red en general se
ahorra un gran ancho de banda en transferencias inútiles. Por otro
lado, como habrá grupos a los que casi nadie se apuntará,
se puede ahorrar incluso transferir las listas de mensajes disponibles.
-
FTP: File Transfer Protocol es
el protocolo de transferencia de ficheros. Permite enviar tanto un fichero
a una máquina (subirlo) como traerlo de ella (bajarlo) o incluso,
pasarlo de una máquina a otra diferente. En todo caso, debemos tener
cuenta en ambas máquinas, ya que los ficheros se pasan de un directorio
nuestro de una máquina a otro directorio nuestro de otra máquina.
En ambas máquinas se necesita por lo tanto entrar con un nombre
de usuario y contraseña.
-
Por otro lado existe el FTP anónimo, donde un usuario
que no tiene cuenta en la máquina se identifica como "anonymous"
y entra en un directorio público donde se guardan ficheros clasificados
en directorios y subdirectorios, que se puede bajar (y a veces también
subir) sin problemas (copyright aparte). Es una especie de FBBDOS, pero
muy mejorado y accesible desde cualquier punto de la red.
-
De esta forma, ya no es necesario enviar toneladas de mensajes
en 7plus para pasar nuestros ficheros a otro radioaficionado en otra BBS
diferente. Basta con que le indiquemos cómo se llama el fichero
y el ordenador y directorio de dónde puede bajárselo. Los
interesados, y sólo los interesados, se lo bajarán, reduciéndose
el tráfico inútil en los servicios de mensajería.
-
Es posible tener un servicio de FTP anónimo en cada
servidor, o es posible reducir su número, ya que uno de los problemas
es el de mantener actualizado el software disponible en los servidores.
Aunque el servidor FTP no esté al alcance, gracias a TCP/IP podremos
operar con él como si lo tuviéramos al lado.
-
Otra posibilidad es aprovechar una técnica de Internet
llamada "mirroring" que consiste en tener varios servidores FTP copia
de un servidor FTP importante. Cualquier cambio en el servidor FTP original
se verá reflejado automáticamente en los servidores copia,
llamados "mirrors" (espejos).
-
Así, es posible tener una serie de servidores FTP
"principales" y que el resto sean "mirrors" de alguno de ellos. Los usuarios
no necesitarán entonces más que acceder al servidor que prefieran
(sea "principal" o "mirror"). Pero los ficheros estarán cuidados
y actualizados, y, sin embargo, muchos administradores no tendrán
que preocuparse por ello.
-
TELNET: Con TELNET podemos acceder
a una máquina remota como si estuviésemos delante de ella
y ejecutar aplicaciones y programas. Puede usarse para acceder a ordenadores
potentes, o a ordenadores que tienen programas especiales. También
vale para cualquier programa que queramos ofrecer a nuestros usuarios (incluso
una BBS).
-
Por otro lado, este servicio es muy útil para el mantenimiento
remoto de las máquinas por parte de los administradores. El no tener
que desplazarse al servidor por cualquier cambio mínimo, es una
ventaja muy a tener en cuenta para los encargados de estos sistemas.
-
IRC: Internet Relay Chat es una
red de servidores que son capaces de comunicarse para ofrecer un servicio
de conferencia único entre todos. Todo el que se conecta a alguno
de los servidores de IRC puede entrar en cualquiera de sus canales, donde
usuarios de todos los sitios conversan en tiempo real.
-
Es un auténtico servicio de "repetidor universal",
dividido en canales, donde cada canal se identifica por un nombre que se
refiere al tema del que se charla allí.
-
HTTP: HiperText Transfer Protocol
es el protocolo de transferencia de hojas de información (llamadas
hojas o páginas "web"). Su cometido es simplemente traer la página
"web" indicada por el usuario en el navegador de Internet. Para acceder
a una página concreta hay que indicar en qué ordenador, y
en qué directorio y fichero dentro de ese ordenador, está
la página.
-
La dificultad aquí no está en el protocolo
de transferencia, sino en el formato de las hojas "web", escritas en un
lenguaje especial (y sencillo) llamado HTML, que es el que indica la apariencia
y situación de los objetos presentes en la página (palabras,
gráficos, etc), elementos que el navegador se encarga visualizar
correctamente en la pantalla del usuario.
-
Las hojas "web" muestran información multimedia (texto,
gráficos, sonido, imágenes, etc) accesible por cualquiera.
Una ventaja muy importante es que la información no expira (desaparece)
cuando transcurre un cierto tiempo, como pasa en la mensajería,
sino que permanece en el lugar donde se puso hasta que el autor decida
cambiarla.
-
Es ideal para poner (publicar) información que la
gente va a consultar frecuentemente, en vez de estar respondiendo una y
otra vez en la mensajería. Es un servicio muy útil,
que ha significado el despegue de Internet, y que en la red de radiopaquete
no tiene equivalente.
-
La información presente en una página "web"
no tiene por qué ser fija, puede cambiar durante el tiempo a partir
de datos diversos (por ejemplo un contador del número de visitas
a esa página, o una página con las cotizaciones actuales
de la bolsa, que se actualiza cada 5 minutos).
-
Uno de los elementos que puede haber en una página
"web" son los enlaces. Un enlace es una zona resaltada (palabra, frase,
dibujo, etc) donde, si se pulsa sobre ella con el ratón, se
accede a otra página "web", o se trae un fichero, o se lee cierto
grupo de noticias, o se envía un mensaje a cierta dirección
de correo electrónico, etc. Es decir, las páginas "web" sirven
para integrar todos los protocolos que hasta ahora hemos visto, en
un único programa y en una única forma de uso.
-
Toda la información está unida mediante estos
hilos invisibles que son los enlaces. Por ello de su nombre WWW (World
Wide Web = la tela de araña mundial) y por ello el nombre de páginas
"web". Al hecho de estar saltando de página en página "web"
se le llama "navegar" (por el "ciberespacio").
-
Una hoja "web" también puede tener programas, o puede
servir de interfaz gráfico a cualquier aplicación o programa
(por ejemplo una BBS o un cluster).
-
El servidor no sólo tiene que tener el servicio "web",
sino que tiene que hacer "hosting" (alojamiento) de las páginas
de los usuarios para la visualización de las mismas por parte de
cualquiera las 24 horas del día. Para ello tiene además que
ofrecer FTP (para que los usuarios dejen sus nuevas páginas "web"
en el servidor).
-
De cara a la búsqueda de direcciones de hojas
"web" con información sobre cierto tema, en Internet se utilizan
buscadores, que son bases de datos de direcciones clasificadas por temas.
El usuario no tiene más que acceder a la página "web" del
buscador, e indicar el tema sobre el que desea información. El buscador
le proporcionará una nueva hoja "web" con todos los enlaces
que tenga sobre ese tema, para que el usuario, simplemente pulsando, acceda
al enlace que más le interese. Estos buscadores también pueden
utilizarse en una hipotética "web" para radioaficionados, para acelerar
el acceso a la información por temas.
El servidor ideal
Un servidor ideal debería:
-
Ser una máquina multiusuario, con capacidad para el
control remoto.
-
Seguramente ejercer de "router" (encaminador) TCP/IP y, en
redes mixtas, de nodo AX.25. Como tal, puede necesitar de protocolos de
"routing" dinámico (RIP, RSPF).
-
Servir nombres de dominio (DNS) en su subred.
-
Servicios básicos: SMTP, NNTP, TELNET.
-
Servicios recomendados: HTTP, FTP.
-
Servicios optativos: IRC, FTP anónimo, buscador Web.
Para todos estos servicios, la mejor elección es Linux
sin ninguna duda.