Resumen

  • El RFC 884, de diciembre de 1983, creó la opción Telnet TERMINAL-TYPE, código 24. DO y WILL abrían la posibilidad de hablar; la pregunta SEND y la respuesta IS transportaban el nombre real.
  • Un equipo podía ofrecer un nombre específico y luego otro más genérico. Repetía el último para cerrar la lista. El RFC 930 corrigió en 1985 una confusión entre respuestas espontáneas y solicitudes que se cruzaban.

Póngase delante de un terminal después de atravesar medio campus para usar la máquina remota. Escribe el nombre de un programa, pulsa retorno y recibe una lluvia de signos donde debería estar el menú. En la sala del programador, ese menú sigue perfecto. La conexión funciona; quien no conoce el destino de los caracteres es el ordenador anfitrión. La culpa puede estar en una secuencia para mover el cursor que su pantalla interpreta de otra forma. Uno ha venido a trabajar, no a descifrar un jeroglífico electrónico. La solución de Marvin Solomon y Edward Wimmers fue preguntar qué aparato había al otro lado.

Telnet ya contaba con un punto de partida común, el terminal virtual de red. Esa máquina imaginaria permitía empezar una sesión sin llevar un catálogo universal de periféricos. Pero una aplicación que quería mover el cursor o mostrar colores necesitaba una pista sobre el equipo físico. Ahí entró el RFC 884, publicado en diciembre de 1983.

La opción recibió el número 24 y comenzaba desactivada. DON'T y WON'T dejaban el nombre fuera del intercambio. Cuando un lado enviaba DO y el otro respondía WILL, ambos habían abierto la puerta; todavía no habían dicho qué terminal había detrás. El servidor podía enviar la subnegociación SEND, con código 1. La respuesta IS, código 0, llevaba una cadena ASCII NVT. El ejemplo de los autores decía IBM-3278-2. Las mayúsculas y minúsculas no cambiaban la identidad del nombre.

El inventario del documento parecía un paseo por un almacén de informática: modelos IBM, nombres usados con TOPS20, máquinas Unix, DEC-VT100, TELETYPE-33. Todos podían llegar a la misma red y pedir trato diferente para sus pantallas. El terminal virtual resolvía la llegada; conocer el modelo abría la posibilidad de un resultado más rico. El servidor podía pasar el nombre a un controlador local que supiera qué secuencias usar, a veces junto con la opción BINARY.

El catálogo también tenía un enemigo menos solemne que la incompatibilidad: la ortografía. Los autores advirtieron que IBM3278-2 e IBM-3278/2 podían nombrar algo parecido y confundir a dos extremos. El protocolo carecía de una respuesta negativa especial para «no conozco ese nombre». En cambio, un terminal conocido por un nombre exacto y otro amplio podía contestar las preguntas sucesivas con nombres de lo particular a lo general. Al agotar sus cartas, repetía la última. Dos respuestas iguales consecutivas eran la señal para que el servidor dejara de insistir. Era una negociación de apodos con un límite de paciencia incorporado.

UNKNOWN quedaba disponible para el caso en que ningún nombre prometiera reconocimiento. Recibir una cadena tampoco obligaba al anfitrión a modificar inmediatamente su salida: el programa local debía conocer el terminal y elegir qué hacer. Esa distribución de tareas evitaba imponer capacidades imaginarias a un aparato de papel o a una pantalla sencilla. La red entregaba el nombre, no una varita mágica para controlar todos los dispositivos del mercado.

La conversación original tenía una carrera de mensajes. Tras acordar DO y WILL, el RFC 884 permitía enviar IS por iniciativa propia. Los autores esperaban, a lo sumo, una respuesta duplicada si llegaba una petición al mismo tiempo. En enero de 1985, el RFC 930 prohibió esa iniciativa. Una respuesta espontánea y una pregunta podían cruzarse; después el servidor ya no sabía si la siguiente respuesta era la contestación pedida o un segundo nombre. A partir de entonces, IS debía contestar a SEND.

El RFC 1091 añadió años después la posibilidad de recorrer distintos modos de emulación y cambiarlos a petición del servidor. En 1983, la escena tenía algo de portería de edificio: llegaba una pantalla desconocida, decía su nombre completo, veía una cara de desconcierto y probaba con el apellido familiar. Cuando por fin alguien la reconocía, el menú podía volver a comportarse como un menú.