Xerox Network Systems ( XNS ) es un conjunto de protocolos de red informática desarrollado por Xerox dentro de la arquitectura de Xerox Network Systems . Proporcionaba comunicaciones de red de propósito general, enrutamiento de interconexión de redes y entrega de paquetes, así como funciones de nivel superior como un flujo de datos fiable y llamadas a procedimientos remotos . XNS precedió al modelo de interconexión de sistemas abiertos (OSI) y tuvo una gran influencia en el desarrollo de redes de área local durante la década de 1980.
XNS fue desarrollado por el Departamento de Desarrollo de Sistemas de Xerox a principios de la década de 1980, encargado de comercializar la investigación de Xerox PARC . XNS se basó en el conjunto de protocolos PARC Universal Packet (PUP), anterior e igualmente influyente, de finales de la década de 1970. Algunos de los protocolos del conjunto XNS eran versiones ligeramente modificadas de los del conjunto PUP. XNS incorporó el concepto de número de red, lo que permitió construir redes más grandes a partir de varias más pequeñas, con enrutadores que controlaban el flujo de información entre ellas.
Las especificaciones del conjunto de protocolos XNS se hicieron públicas en 1977. Esto contribuyó a que XNS se convirtiera en el protocolo de red de área local estándar, copiado en diversos grados por prácticamente todos los sistemas de red en uso hasta la década de 1990. XNS se utilizó sin modificaciones en 3+Share de 3Com y Net/One de Ungermann-Bass . También se utilizó, con modificaciones, como base para Novell NetWare y Banyan VINES . XNS sirvió de base para el sistema AppleNet , pero este nunca se comercializó; varias de las soluciones de XNS a problemas comunes se utilizaron en el sucesor de AppleNet, AppleTalk .
Descripción
Diseño general
En comparación con las 7 capas del modelo OSI , XNS es un sistema de cinco capas, [ 1 ] como el conjunto de protocolos de Internet posterior .
Las capas Física y de Enlace de Datos del modelo OSI corresponden a la capa Física (capa 0) en XNS, que fue diseñada para utilizar el mecanismo de transporte del hardware subyacente y no separó el enlace de datos. Específicamente, la capa Física de XNS es en realidad el sistema de red de área local Ethernet , que también estaba siendo desarrollado por Xerox al mismo tiempo, y varias de sus decisiones de diseño reflejan ese hecho. [ 1 ] El sistema fue diseñado para permitir que Ethernet fuera reemplazado por algún otro sistema, pero eso no estaba definido por el protocolo (ni tenía que estarlo).
La parte principal de XNS es la definición de la capa de transporte interno (capa 1), que corresponde a la capa de red del modelo OSI, y es aquí donde se define el protocolo de interconexión de redes principal, IDP. XNS combinó las capas de sesión y transporte del modelo OSI en una única capa de comunicaciones entre procesos (capa 2). La capa 3 era de control de recursos, similar a la capa de presentación del modelo OSI. [ 1 ] [ 2 ]
Finalmente, sobre ambos modelos, se encuentra la capa de aplicación, aunque estas capas no fueron definidas en el estándar XNS. [ 1 ]
protocolo básico de interconexión de redes
El protocolo principal de la capa de interconexión de redes es el Protocolo de Datagramas de Internet ( IDP ). IDP es un descendiente directo del protocolo de interconexión de redes de Pup y se corresponde aproximadamente con la capa del Protocolo de Internet (IP) en el conjunto de protocolos de Internet. [ 1 ]
IDP utiliza la dirección Ethernet de 48 bits como base para su propio direccionamiento de red , generalmente empleando la dirección MAC de la máquina como identificador único principal. A esto se le añade otra sección de dirección de 48 bits proporcionada por el equipo de red; 32 bits son proporcionados por los enrutadores para identificar el número de red en la interconexión de redes, y otros 16 bits definen un número de socket para la selección de servicio dentro de un único host. La parte del número de red de la dirección también incluye un valor especial que significa "esta red", para uso de los hosts que aún no conocen su número de red. [ 2 ]
A diferencia de TCP/IP, los números de socket forman parte de la dirección de red completa en la cabecera IDP, por lo que los protocolos de capa superior no necesitan implementar la demultiplexación; IDP también proporciona tipos de paquetes (de nuevo, a diferencia de IP). IDP también contiene una suma de comprobación que cubre todo el paquete, pero es opcional, no obligatoria. Esto refleja el hecho de que las LAN generalmente tienen bajas tasas de error, por lo que XNS eliminó la corrección de errores de los protocolos de nivel inferior para mejorar el rendimiento. La corrección de errores podría agregarse opcionalmente en niveles superiores de la pila de protocolos, por ejemplo, en el propio protocolo SPP de XNS. XNS fue ampliamente considerado más rápido que IP debido a esta característica de diseño. [ 1 ]
En consonancia con las conexiones LAN de baja latencia en las que se ejecuta, XNS utiliza un tamaño de paquete corto, lo que mejora el rendimiento en caso de bajas tasas de error y tiempos de respuesta cortos. Los paquetes IDP tienen una longitud de hasta 576 bytes, incluido el encabezado IDP de 30 bytes . [ 2 ] En comparación, IP requiere que todos los hosts admitan al menos 576 bytes, pero admite paquetes de hasta 65K bytes. Los pares de hosts XNS individuales en una red particular pueden usar paquetes más grandes, pero no se requiere ningún enrutador XNS para manejarlos, y no se define ningún mecanismo para descubrir si los enrutadores intermedios admiten paquetes más grandes. Además, los paquetes no se pueden fragmentar, como sí se puede hacer en IP.
El Protocolo de Información de Enrutamiento (RIP), descendiente del Protocolo de Información de Puerta de Enlace de Pup , se utiliza como sistema de intercambio de información del enrutador y (ligeramente modificado para coincidir con la sintaxis de las direcciones de otros conjuntos de protocolos) sigue utilizándose hoy en día en otros conjuntos de protocolos, como el conjunto de protocolos de Internet. [ 2 ]
XNS también implementa un protocolo de eco simple en la capa de interconexión de redes, similar al ping de IP , pero operando en un nivel inferior en la pila de red. En lugar de agregar los datos ICMP como carga útil en un paquete IP, como en ping, el eco de XNS coloca el comando directamente dentro del paquete IDP subyacente. [ 2 ] Lo mismo podría lograrse en IP expandiendo el campo Protocolo ICMP del encabezado IP.
protocolos de la capa de transporte
Existen dos protocolos de capa de transporte principales, ambos muy diferentes de su predecesor Pup:
- El Protocolo de Paquetes Secuenciados ( SPP ) es un protocolo de transporte de acuse de recibo, con un intercambio de tres vías análogo al TCP ; una diferencia técnica principal es que los números de secuencia cuentan los paquetes, y no los bytes como en el BSP de TCP y PUP; es el antecedente directo de IPX/SPX de Novell .
- El Protocolo de Intercambio de Paquetes ( PEP ) es un protocolo no confiable y sin conexión, similar en naturaleza a UDP y el antecedente del PXP de Novell .
XNS, al igual que Pup, también utiliza EP , el Protocolo de Error , como sistema de informes para problemas como la pérdida de paquetes. Esto proporcionaba un conjunto único de paquetes que se pueden filtrar para buscar problemas. [ 2 ]
Protocolos de aplicación
Mensajería RPC
En el concepto original de Xerox, los protocolos de aplicación, como la impresión remota, el archivo y el envío de correo, etc., empleaban un protocolo de llamada a procedimiento remoto llamado Courier . Courier contenía primitivas para implementar la mayoría de las características de las llamadas a funciones del lenguaje de programación Mesa de Xerox . Las aplicaciones debían serializar y deserializar manualmente las llamadas a funciones en Courier; no existía una herramienta automática para traducir un marco de activación de función a una llamada a procedimiento remoto (RPC) (es decir, no había un "compilador RPC" disponible). Dado que Courier era utilizado por todas las aplicaciones, los documentos del protocolo de aplicación XNS especificaban únicamente las interfaces de llamada a función de Courier y las tuplas de enlace módulo+función. Courier contaba con una herramienta especial que permitía a una llamada a función enviar o recibir datos masivos. [ 2 ]
Inicialmente, la localización del servicio XNS se realizaba mediante la difusión de llamadas a procedimientos remotos utilizando una serie de difusiones de anillo expansivo (en consulta con el enrutador local, para obtener redes a distancias crecientes). Posteriormente, se creó el servicio de directorio de nivel 3 del Protocolo Clearinghouse para realizar la localización del servicio, y las difusiones de anillo expansivo se utilizaron únicamente para localizar un Clearinghouse inicial. [ 2 ]
Debido a su estrecha integración con Mesa como tecnología subyacente, muchos de los protocolos tradicionales de alto nivel no formaban parte del propio sistema XNS. Esto significaba que los proveedores que utilizaban los protocolos XNS creaban sus propias soluciones para compartir archivos y compatibilidad con impresoras . Si bien muchos de estos productos de terceros teóricamente podían comunicarse entre sí a nivel de paquetes, tenían poca o ninguna capacidad para acceder a los servicios de las aplicaciones de los demás. Esto provocó una completa fragmentación del mercado XNS y se ha citado como una de las razones por las que IP lo desplazó fácilmente. [ 1 ]
Autenticación
Los protocolos XNS también incluían un Protocolo de Autenticación y un Servicio de Autenticación para darle soporte. Sus "credenciales fuertes" se basaban en el mismo protocolo Needham-Schroeder que posteriormente utilizó Kerberos . Tras contactar con el servicio de autenticación para obtener las credenciales, este protocolo proporcionaba una forma sencilla de firmar digitalmente las llamadas a procedimientos Courier, de modo que los receptores pudieran verificar la firma y autenticar a los remitentes a través de la red XNS, sin tener que volver a contactar con el servicio de autenticación durante la sesión de comunicación del protocolo. [ 3 ]
Impresión
El lenguaje de impresión de Xerox, Interpress , era un estándar en formato binario para controlar impresoras láser. Sus diseñadores, John Warnock y Chuck Geschke, dejaron Xerox PARC para fundar Adobe Systems . Antes de irse, se percataron de la dificultad de especificar un lenguaje de impresión binario, donde las funciones para serializar el trabajo de impresión eran engorrosas y dificultaban la depuración de trabajos de impresión erróneos. Para aprovechar la posibilidad de especificar un trabajo de impresión programable y fácilmente depurable en ASCII, Warnock y Geschke crearon el lenguaje PostScript como uno de sus primeros productos en Adobe.
Protocolos de depuración remota
Debido a que las más de 8000 máquinas de la intranet corporativa de Xerox utilizaban la arquitectura Wildflower (diseñada por Butler Lampson), existía un protocolo de depuración remota para el microcódigo. Básicamente, las funciones PEEK y POKE permitían detener y manipular el estado del microcódigo de una máquina de la serie C o D, desde cualquier lugar del mundo, y luego reiniciarla.
Además, existía un protocolo de depuración remota para el depurador de intercambio de mundos. [ 4 ] Este protocolo podía, mediante el "nub" del depurador, congelar una estación de trabajo y luego examinar y manipular diversas partes de la memoria, modificar variables y continuar la ejecución. Si se disponía de símbolos de depuración, una máquina bloqueada podía depurarse remotamente desde cualquier lugar del mundo.
Historia
Orígenes en Ethernet y PUP
En su último año en la Universidad de Harvard , Bob Metcalfe comenzó a realizar entrevistas en varias empresas y fue recibido calurosamente por Jerry Elkind y Bob Taylor en Xerox PARC , quienes comenzaban a trabajar en las estaciones de trabajo informáticas en red que se convertirían en la Xerox Alto . Aceptó unirse a PARC en julio, después de defender su tesis. En 1970, mientras se hospedaba en casa de Steve Crocker durante una conferencia, Metcalfe tomó de la mesa un ejemplar de las Actas de la Conferencia Conjunta de Computación de Otoño con la intención de quedarse dormido leyéndolo. En cambio, quedó fascinado por un artículo sobre ALOHAnet , un sistema de red de área amplia anterior. Para junio, había desarrollado sus propias teorías sobre redes y se las presentó a sus profesores, quienes las rechazaron y lo expulsaron. [ 5 ]
Metcalfe fue bien recibido en PARC a pesar de su tesis fallida, y pronto comenzó el desarrollo de lo que entonces se conocía como "ALOHAnet en un cable". Se asoció con David Boggs para ayudar con la implementación electrónica, y a finales de 1973 ya estaban construyendo hardware funcional a 3 Mbit/s. Luego, ambos comenzaron a trabajar en un protocolo simple que se ejecutaría en el sistema. Esto condujo al desarrollo del sistema PARC Universal Packet (Pup), y a finales de 1974 lograron que Pup funcionara con éxito en Ethernet. Presentaron una patente sobre los conceptos, y Metcalfe añadió otros nombres porque creía que merecían ser mencionados, y luego presentaron un artículo sobre el concepto a Communications of the ACM titulado "Ethernet: Conmutación de paquetes distribuidos para redes informáticas locales", publicado en julio de 1976. [ 5 ]
PUP a XNS
Para 1975, mucho antes de que se completara el PUP, Metcalfe ya se sentía incómodo con la rígida gestión de Xerox. Creía que la empresa debía poner Ethernet en producción de inmediato, pero encontró poco interés entre la alta dirección. Un acontecimiento crucial tuvo lugar cuando, en 1974, profesores del famoso Laboratorio de Inteligencia Artificial del MIT se acercaron a Xerox con la intención de comprar Ethernet para usarlo en su laboratorio. La dirección de Xerox se negó, creyendo que Ethernet se utilizaría mejor para ayudar a vender sus propios equipos. El Laboratorio de IA crearía entonces su propia versión de Ethernet, Chaosnet . [ 6 ]
Metcalfe finalmente dejó Xerox en noviembre de 1975 para unirse a Transaction Technology, una división de Citibank encargada del desarrollo de productos avanzados. Sin embargo, siete meses después, David Liddle lo convenció de regresar a Xerox , ya que recientemente había organizado la División de Desarrollo de Sistemas dentro de Xerox específicamente para llevar los conceptos de PARC al mercado. Metcalfe comenzó de inmediato a rediseñar Ethernet para que funcionara a 20 Mbit/s e inició un esfuerzo para reescribir Pup en una versión de calidad de producción. Buscando ayuda con Pup, Metcalfe se acercó a Yogen Dalal , quien en ese momento estaba terminando su tesis doctoral bajo la dirección de Vint Cerf en la Universidad de Stanford . Dalal también estaba siendo reclutado intensamente por el equipo ARPANET de Bob Kahn (que trabajaba en TCP/IP), pero cuando Cerf se fue para unirse a DARPA , Dalal aceptó trasladarse a PARC y comenzó allí en 1977. [ 7 ]
Dalal formó un equipo que incluía a William Crowther y Hal Murray, y comenzó con una revisión completa de Pup. Dalal también intentó seguir involucrado en los esfuerzos de TCP que se estaban llevando a cabo en DARPA, pero finalmente desistió y se centró por completo en Pup. Dalal combinó su experiencia con ARPANET con los conceptos de Pup y, a finales de 1977, publicaron el primer borrador de la especificación del Sistema de Red Xerox. Esta era esencialmente una versión de Pup con identificadores de host absolutos de 48 bits y el protocolo de enlace de tres vías de TCP en el Protocolo de Paquetes Secuenciados. [ 8 ]
A principios de 1978, el nuevo sistema ya funcionaba, pero la dirección aún no tomaba ninguna medida para comercializarlo. Como dijo Metcalfe:
Cuando regresé a Xerox en 1976, estábamos a unos dos años y medio del envío del producto y en 1978 estábamos a unos dos años y medio del envío del producto. [ 7 ]
Al no tomarse ninguna otra medida, Metcalfe dejó la empresa a finales de 1978. [ 7 ]
Impacto
XNS , utilizado por última vez por Xerox para la comunicación con el sistema de publicación DocuTech 135, ya no se emplea debido a la omnipresencia del protocolo IP. Sin embargo, desempeñó un papel importante en el desarrollo de la tecnología de redes en la década de 1980, al influir en los proveedores de software y hardware para que consideraran seriamente la necesidad de que las plataformas informáticas admitieran más de una pila de protocolos de red simultáneamente.
Una amplia variedad de sistemas de red propietarios se basaban directamente en XNS o presentaban variaciones menores sobre el tema. Entre ellos se encontraban Net/One, 3+, [ 1 ] Banyan VINES [ 9 ] e IPX/SPX de Novell . [ 10 ] Estos sistemas añadieron sus propios conceptos sobre el sistema de direccionamiento y enrutamiento XNS; VINES añadió un servicio de directorio , entre otros servicios, mientras que Novell NetWare añadió varios servicios para el usuario, como impresión y uso compartido de archivos. AppleTalk utilizaba un enrutamiento similar al de XNS, pero tenía direcciones incompatibles que utilizaban números más cortos.
XNS también ayudó a validar el diseño del subsistema de red 4.2BSD al proporcionar un segundo conjunto de protocolos, uno que era significativamente diferente de los protocolos de Internet; al implementar ambas pilas en el mismo núcleo, los investigadores de Berkeley demostraron que el diseño era adecuado para más que solo IP. [ 11 ] Finalmente, fueron necesarias modificaciones adicionales de BSD para admitir la gama completa de protocolos de interconexión de sistemas abiertos (OSI).
Literatura
La Introducción a la Arquitectura de Sistemas de Red de Xerox (XNSG 058504) es "una discusión general dirigida a quienes desean saber cómo los empleados de oficina pueden ser más eficaces y productivos mediante el uso de los Sistemas de Red de Xerox". [ 12 ] : p.5
Los componentes de la arquitectura de sistemas de red de Xerox se describen brevemente en el Manual de información general de la arquitectura de sistemas de red de Xerox (XNSG 068504). [ 13 ]
En el catálogo de literatura del Xerox Systems Institute se enumeran dieciséis descripciones de protocolos individuales . [ 12 ] Posiblemente existan versiones más recientes de estos estándares:
- Protocolo de autenticación (XSIS 098404) [ 3 ]
- Transferencia masiva de datos (Apéndice f del Courier) , abril de 1984 (XNSS 038112/XSIS 038112)
- Estándar de código de caracteres , mayo de 1986 (XNSS 058605)
- Protocolo de la cámara de compensación , abril de 1984 (XNSS 078404/XSIS 078404)
- Formatos de entrada de la cámara de compensación , abril de 1984 (XNSS 168404/XSIS 168404) [ 14 ]
- Mensajero: El protocolo de llamada a procedimiento remoto , diciembre de 1981 (XNSS 038112/XSIS 038112) [ 15 ]
- Ethernet. Una red de área local: Especificaciones de la capa de enlace de datos y la capa física (Libro Azul, Versión 2.0), noviembre de 1982 (XNSS 018211/XSIS 018211) [ 16 ]
- Protocolo de presentación , mayo de 1986 (XNSS 108605) [ 17 ]
- Estándar de intercambio de fuentes , diciembre de 1985 (XNSS 238512) [ 18 ]
- Protocolos de transporte de Internet , diciembre de 1981 (XNSS 028112/XSIS 028112) [ 19 ]
- Estándar de impresión electrónica de Interpress, versión 3.0 , enero de 1986 (XNSS 048601) [ 20 ]
- Estándar de integración de servicios de impresión , junio de 1985 (XNSS 198506)
- Protocolo de impresión , abril de 1984 (XNSS 118404/XSIS 118404)
- Estándar de codificación ráster , junio de 1985 (XNSS 178506)
- Protocolo síncrono punto a punto , diciembre de 1984 (XNSS 158412)
- Protocolo de tiempo , abril de 1984 (XNSS 088404/XSIS 088404)
Véase también
Referencias
- Citas
- 1 2 3 4 5 6 7 8 Stephens 1989 , pág. 15.
- 1 2 3 4 5 6 7 8 cisco .
- 1 2 Xerox Corporation (abril de 1984). Protocolo de autenticación estándar de integración de sistemas Xerox (PDF) . Archivado (PDF) del original el 5 de octubre de 2022. Recuperado el 20 de julio de 2023 .
- ↑ "Depuradores que paralizan el mundo" . 25 de enero de 1999. Archivado del original el 23 de marzo de 2023. Consultado el 5 de julio de 2013 .
- 1 2 Pelkey 2007 , 6.7.
- ↑ Pelkey 2007 , 6.8.
- 1 2 3 Pelkey 2007 , 6.9.
- ↑ Pelkey 2007 , 6.10.
- ↑ Banyan VINES Archivado el 13/10/2014 en Wayback Machine , cisco
- ↑ Protocolos de NetWare archivados el 10/02/2001 en Wayback Machine , Cisco
- ↑ Larus, James (1983). "Sobre el rendimiento de las llamadas a procedimientos remotos Courier bajo 4.1c BSD" (PDF) . Departamento de Ingeniería Eléctrica e Informática de UC Berkeley. Archivado (PDF) del original el 4 de marzo de 2016. Recuperado el 5 de julio de 2013 .
- 1 2 Xerox Corporation. Catálogo de literatura del Xerox Systems Institute (PDF) . Archivado (PDF) del original el 23 de julio de 2023. Recuperado el 20 de julio de 2023 .
- ↑ Xerox Corporation (abril de 1985). Manual de información general de los sistemas de red de Xerox (PDF) . Consultado el 20 de julio de 2023 .
- ↑ Xerox Corporation (abril de 1984). Formatos de entrada de la cámara de compensación (PDF) . Consultado el 20 de julio de 2023 .
- ↑ Xerox Corporation (diciembre de 1981). Courier: El protocolo de llamada a procedimiento remoto . Recuperado el 20 de julio de 2023 .
- ↑ Digital Equipment Corporation; Intel Corporation; Xerox Corporation (noviembre de 1982). Especificaciones de la capa de enlace de datos y la capa física de Ethernet A (red de área local) (PDF) . Archivado (PDF) del original el 20 de julio de 2023. Recuperado el 20 de julio de 2023 .
- ↑ Xerox Corporation (mayo de 1986). Protocolo de archivo (PDF) . Archivado (PDF) del original el 23 de julio de 2023. Recuperado el 20 de julio de 2023 .
- ↑ Xerox Corporation (diciembre de 1985). Estándar de intercambio de fuentes (PDF) . Archivado (PDF) del original el 23 de julio de 2023. Recuperado el 20 de julio de 2023 .
- ↑ Xerox Corporation (diciembre de 1981). Protocolos de transporte de Internet (PDF) . Archivado (PDF) del original el 23 de julio de 2023. Recuperado el 20 de julio de 2023 .
- ↑ Xerox Corporation (enero de 1986). Estándar de impresión electrónica Interpress (PDF) . Archivado (PDF) del original el 20 de julio de 2023. Recuperado el 20 de julio de 2023 .
- Bibliografía
- Stephens, Mark (6 de marzo de 1989). "La capa 3 del modelo OSI diferencia el software del sistema" . InfoWorld : 15. Archivado del original el 7 de abril de 2022. Recuperado el 18 de septiembre de 2017 .
- cisco. "Xerox Network Systems" . cisco.com . Archivado del original el 17 de octubre de 2014. Consultado el 9 de octubre de 2014 .
- Pelkey, James (2007). "Capitalismo empresarial e innovación: una historia de las comunicaciones informáticas 1968-1988" . Archivado del original el 17 de febrero de 2018. Recuperado el 16 de febrero de 2018 .
- Oppen, DC y Dalal, YK, The Clearinghouse: Un agente descentralizado para localizar objetos con nombre en un entorno distribuido. Palo Alto: Xerox Corporation, Office Systems Division, octubre de 1981: Informe técnico OSD-T8103.
- Israel, JE y Linden, TA, Autenticación en los sistemas Star y Network de Xerox. Palo Alto: Xerox Corporation, Office Systems Division, mayo de 1982: Informe técnico OSD-T8201.
- Tecnología de sistemas de oficina: una mirada al mundo de los productos de la serie Xerox 8000: estaciones de trabajo, servicios, Ethernet y desarrollo de software (editado por Ted Linden y Eric Harslem), Informe técnico Xerox OSD-R8203, noviembre de 1982. Un compendio de 24 artículos que describen todos los aspectos de la estación de trabajo Xerox STAR y los protocolos de red; la mayoría eran reimpresiones de publicaciones de revistas y conferencias.
Enlaces externos
- Arquitectura de sistemas de red de Xerox: Introducción a los sistemas de red de Xerox. Archivado el 6 de enero de 2014 en Wayback Machine.
- Arquitectura de sistemas de red de Xerox: Manual de información general. Archivado el 6 de enero de 2014 en Wayback Machine.
- Ejemplo de una implementación real en el espacio del kernel. Archivado el 14/10/2017 en la Wayback Machine.
- protocolos de red
- fotocopia
- Protocolos basados en XNS