Articulo de referencia

NetBIOS

NetBIOS ( / ˈ n ɛ t b aɪ ɒ s / ), o Sistema Básico de Entrada/Salida de Red , es una API que proporciona servicios relacionados con la capa de sesión del modelo OSI , permitiend...

NetBIOS ( / ˈ n ɛ t b ɒ s / ), o Sistema Básico de Entrada/Salida de Red , es una API que proporciona servicios relacionados con la capa de sesión del modelo OSI , permitiendo que las aplicaciones en diferentes computadoras se comuniquen a través de una red de área local . NetBIOS no es un protocolo de red ; las solicitudes y respuestas de la API de NetBIOS pueden transportarse a través de varios protocolos.

El protocolo NetBIOS Frames , que transporta solicitudes y respuestas de la API de NetBIOS a través de IEEE 802.2 LLC , se utilizó comúnmente como una de las capas de las redes de DOS y Microsoft Windows en las décadas de 1980 y 1990. Era compatible con varios sistemas operativos de red, como LAN Manager , LAN Server , Windows for Workgroups , Windows 95 y Windows NT .

El protocolo NetBIOS sobre IPX/SPX (NBX) transporta las solicitudes y respuestas de la API de NetBIOS a través de los protocolos IPX/SPX de Novell Netware .

En las redes modernas, las solicitudes y respuestas de NetBIOS se suelen transportar a través de TCP/IP mediante el protocolo NetBIOS sobre TCP/IP (NBT). NetBIOS sobre TCP/IP también se utiliza para identificar nombres de sistemas en redes TCP/IP en Windows.

Historia y terminología

NetBIOS es una API a nivel de sistema operativo que permite que las aplicaciones en las computadoras se comuniquen entre sí a través de una red de área local (LAN). La API fue creada en 1983 por Sytek Inc. para la comunicación de software a través de la tecnología LAN de IBM PC Network . [ 1 ] [ 2 ] : 1 - 1 En IBM PC Network, como API, NetBIOS dependía de protocolos de red propietarios de Sytek para la comunicación a través del cable. [ 3 ] [ 2 ] : 1 - 1

En 1985, IBM siguió adelante con el esquema de red Token Ring y produjo un emulador de la API NetBIOS de Sytek para permitir que las aplicaciones compatibles con NetBIOS de la era de las redes de PC funcionaran sobre el nuevo hardware Token Ring de IBM. [ 2 ] : 1 - 1 Este emulador de IBM, llamado NetBIOS Extended User Interface (NetBEUI), [ 2 ] : 2 - 2 amplió la API NetBIOS base creada por Sytek con, entre otras cosas, la capacidad de manejar la mayor capacidad de nodos de Token Ring. [ 2 ] : 2 - 17 Simultáneamente, IBM produjo un nuevo protocolo de red, NetBIOS Frames (NBF), para permitir que la API NetBEUI proporcionara sus servicios sobre Token Ring, específicamente, en la capa de control de enlace lógico IEEE 802.2 ; Utiliza el modo 802.2 tipo 1 para proporcionar el servicio de nombres NetBIOS/NetBEUI y el servicio de datagramas , y el modo 802.2 tipo 2 para proporcionar el servicio de sesión NetBIOS/NetBEUI ( circuito virtual ). [ 2 ] : 3-8–3-10

En 1985, Microsoft creó su propia implementación de la API NetBIOS para su tecnología de red MS-Net . Al igual que en el caso de Token Ring de IBM, los servicios de la implementación NetBIOS de Microsoft se proporcionaban a través de la capa de control de enlace lógico IEEE 802.2 mediante el protocolo NBF. [ 4 ] Sin embargo, MS-Net solo se entregaba a los fabricantes de equipos originales (OEM ) y, en realidad, no era un producto completo ni estaba listo para comunicarse en la red en el formato en que se distribuía. Carecía de cualquier implementación de las capas 1 a 4 del modelo OSI (capas física , de enlace de datos , de red y de transporte ), y se esperaba que un OEM proporcionara estas implementaciones (en forma de un componente NetBIOS) para que su versión de MS-Net fuera un producto completo y listo para usar. MS-Net accedía a la red mediante la variante de NetBIOS propia de Microsoft, que se dividía en dos partes: la parte de nivel inferior, que debían proporcionar los fabricantes de equipos originales (OEM), implementaba las llamadas a NetBIOS que dependían de las capas 1 a 4, mientras que la parte de nivel superior, proporcionada por Microsoft, era independiente del hardware y del protocolo. Esta implementación de NetBIOS admitía la API completa de NetBIOS, pero se invocaba mediante la interrupción x86 0x2A, en lugar de la interrupción estándar de IBM 0x5C. La dependencia de los OEM para implementar partes de NetBIOS tuvo el inconveniente de que las diferentes versiones de MS-Net y NetBIOS de los OEM generalmente no podían comunicarse entre sí. [ 5 ]

En 1986, Novell lanzó Advanced Novell NetWare 2.0, que incorporaba la emulación propia de la API NetBIOS. Sus servicios estaban encapsulados dentro del protocolo IPX/SPX de NetWare , utilizando el protocolo NetBIOS sobre IPX/SPX (NBX).

En 1987, se publicó NetBIOS sobre TCP/IP (NBT), un método para proporcionar servicios NetBIOS sobre paquetes TCP y UDP . Este método se describió en los RFC 1001 («Estándar de protocolo para un servicio NetBIOS sobre un transporte TCP/UDP: conceptos y métodos») y 1002 («Estándar de protocolo para un servicio NetBIOS sobre un transporte TCP/UDP: especificaciones detalladas»). El protocolo NBT se desarrolló para permitir la implementación de aplicaciones NetBIOS en prácticamente cualquier tipo de sistema compatible con el conjunto de protocolos TCP/IP y para facilitar la interoperabilidad de NetBIOS en Internet.

Después de que la computadora PS/2 saliera al mercado en 1987, IBM lanzó el Programa de Soporte de LAN para PC, que incluía un controlador que ofrecía la API NetBIOS. El protocolo NBF fue compatible oficialmente con Microsoft en casi todas las versiones de Windows hasta Windows 2000 , [ 6 ] pero su uso ha disminuido rápidamente desde el desarrollo de NBT . Microsoft dejó de ofrecer soporte oficialmente a partir de Windows XP , [ 7 ] pero está incluido en el CD-ROM de Windows XP y se puede instalar manualmente. [ 8 ] Windows Vista no incluye soporte para NetBEUI (es decir, NBF), pero se pueden usar los controladores de soporte de NetBEUI de Windows XP . [ 9 ]

Existe cierta confusión entre los nombres NetBIOS y NetBEUI. NetBEUI se originó como el nombre del emulador NetBIOS mejorado de IBM de 1985 para Token Ring. El nombre NetBEUI debería haber desaparecido ahí, considerando que en ese momento, las implementaciones de NetBIOS de otras compañías se conocían simplemente como NetBIOS, independientemente de si incorporaban las extensiones de API presentes en el emulador de Token Ring. Sin embargo, para MS-Net, Microsoft optó por denominar su implementación del protocolo NBF como "NetBEUI", tomando el nombre de la versión mejorada de la API de IBM. En consecuencia, el uso compartido de archivos e impresoras de Microsoft a través de Ethernet a menudo se sigue denominando NetBEUI, mientras que el nombre NetBIOS se usa comúnmente solo para referirse al uso compartido de archivos e impresoras a través de TCP/IP . Más precisamente, el primero es NetBIOS Frames (NBF) y el segundo es NetBIOS over TCP/IP (NBT).

Debido a que el protocolo NBF no es enrutable, solo puede usarse para comunicarse con dispositivos en el mismo dominio de difusión , pero al ser puenteable, también puede usarse para comunicarse con segmentos de red conectados entre sí mediante puentes . La falta de soporte para redes enrutables significa que NBF solo es adecuado para redes pequeñas y medianas , donde tiene una ventaja sobre TCP/IP, ya que requiere poca configuración. Los servicios NetBIOS/NetBEUI deben implementarse sobre otros protocolos, como IPX y TCP/IP (ver más arriba), para poder ser útiles en una interconexión de redes. [ 10 ]

Desde su publicación original en un libro de referencia técnica de IBM, la especificación de la API NetBIOS se ha convertido en un estándar de facto en la industria, a pesar de que inicialmente solo admitía un máximo de 80 PC en una LAN. Esta limitación se superó en general en toda la industria mediante la transición de NBF a NBT, gracias a la cual, por ejemplo, Microsoft pudo cambiar al Sistema de Nombres de Dominio (DNS) para la resolución de nombres de host NetBIOS , habiendo utilizado anteriormente el protocolo NBF compartimentado por segmentos de LAN para resolver dichos nombres en redes cliente-servidor de Windows . [ 1 ]

Servicios

NetBIOS ofrece tres servicios distintos:

(Nota: SMB , una capa superior, es un servicio que se ejecuta sobre el Servicio de Sesión y el Servicio de Datagramas, y no debe confundirse con una parte necesaria e integral de NetBIOS. Ahora puede ejecutarse sobre TCP con una pequeña capa de adaptación que añade un campo de longitud a cada mensaje SMB; esto es necesario porque TCP solo proporciona un servicio de flujo de bytes sin tener en cuenta los límites de los mensajes).

Servicio de nombres

Para iniciar sesiones o distribuir datagramas, una aplicación debe registrar su nombre NetBIOS mediante el servicio de nombres. Los nombres NetBIOS constan de 16 octetos y varían según la implementación. El decimosexto octeto, denominado sufijo NetBIOS, suele indicar el tipo de recurso y permite a otras aplicaciones conocer los servicios que ofrece el sistema. En NBT , el servicio de nombres opera en el puerto UDP 137 (aunque también se puede usar el puerto TCP 137, rara vez se utiliza).

Las primitivas de servicio de nombres que ofrece NetBIOS son:

  • Agregar nombre: registra un nombre NetBIOS.
  • Agregar nombre de grupo: registra un nombre de "grupo" NetBIOS.
  • Eliminar nombre: anula el registro de un nombre NetBIOS o un nombre de grupo.
  • Buscar nombre: busca un nombre NetBIOS en la red.

El protocolo de resolución de nombres NetBIOS no admite la versión 6 del protocolo de Internet (IPv6) . [ 11 ]

Servicio de distribución de datagramas

El modo de datagramas no requiere conexión ; la aplicación es responsable de la detección y recuperación de errores. En NBT , el servicio de datagramas se ejecuta en el puerto UDP 138.

Las primitivas del servicio de datagramas que ofrece NetBIOS son:

  • Enviar datagrama: envía un datagrama a un nombre NetBIOS remoto.
  • Enviar datagrama de difusión: envía un datagrama a todos los nombres NetBIOS de la red.
  • Recibir datagrama: esperar a que llegue un paquete procedente de una operación de envío de datagrama.
  • Recibir datagrama de difusión: esperar a que llegue un paquete procedente de una operación de envío de datagrama de difusión.

Servicio de sesión

El modo de sesión permite que dos ordenadores establezcan una conexión, que los mensajes abarquen varios paquetes y proporciona detección y recuperación de errores. En NBT , el servicio de sesión se ejecuta en el puerto TCP 139.

Las primitivas de servicio de sesión que ofrece NetBIOS son:

  • Llamada: abre una sesión con un nombre NetBIOS remoto.
  • Escuchar: detectar intentos de abrir una sesión con un nombre NetBIOS.
  • Colgar – finalizar una sesión.
  • Enviar: envía un paquete al ordenador que se encuentra en el otro extremo de la sesión.
  • Enviar sin confirmación: similar a Enviar, pero no requiere confirmación.
  • Recibir: esperar a que llegue un paquete desde un emisor en el otro extremo de la sesión.

En el protocolo original utilizado para implementar los servicios NetBIOS en redes de PC, para establecer una sesión, el equipo que la inicia envía una solicitud de apertura, que recibe una confirmación de apertura. A continuación, el equipo que inició la sesión envía un paquete de solicitud de sesión, que genera un paquete de aceptación o rechazo de sesión.

Durante una sesión establecida, cada paquete transmitido recibe una respuesta de acuse de recibo positivo (ACK) o negativo (NAK). Un NAK provoca la retransmisión de los datos. Las sesiones se cierran cuando el equipo que no inició la sesión envía una solicitud de cierre. El equipo que inició la sesión responde con una respuesta de cierre, lo que genera el paquete final de cierre de sesión.

Nombre NetBIOS frente a nombre de host de Internet

Cuando NetBIOS se ejecuta junto con protocolos de Internet (por ejemplo, NBT), cada computadora puede tener varios nombres: uno o más nombres de servicio de nombres NetBIOS y uno o más nombres de host de Internet .

Nombre NetBIO

Un nombre NetBIOS tiene 16 caracteres ASCII; sin embargo, Microsoft limita el nombre de host a 15 caracteres y reserva el 16.º carácter como sufijo NetBIOS. [ 12 ] Este sufijo describe el tipo de registro de servicio o nombre, como registro de host, registro de explorador maestro, registro de controlador de dominio u otros servicios. El nombre de host (o nombre de host corto) de un host se especifica cuando se instala o configura la red de Windows en el host; los sufijos registrados están determinados por los servicios individuales que proporciona el host. Para conectarse a un equipo que ejecuta TCP/IP a través de su nombre NetBIOS, el nombre debe resolverse a una dirección de red . Hoy en día, esta suele ser una dirección IP (la resolución del nombre NetBIOS a la dirección IP se realiza a menudo mediante difusiones o un servidor WINS – servidor de nombres NetBIOS). El nombre NetBIOS de un equipo suele ser el mismo que el nombre de host de ese equipo (véase más abajo), aunque truncado a 15 caracteres, pero también puede ser completamente diferente.

Los nombres NetBIOS son una secuencia de caracteres alfanuméricos. Los siguientes caracteres no están permitidos explícitamente:\/:*?"<>|Desde Windows 2000, los nombres NetBIOS también debían cumplir con las restricciones de los nombres DNS: no podían consistir únicamente en dígitos, y los caracteres guion ("-") o punto ("") no podían aparecer como primer ni último carácter. Desde Windows 2000, Microsoft ha desaconsejado incluir puntos ("") en los nombres NetBIOS, de modo que las aplicaciones puedan utilizar la presencia de un punto para distinguir los nombres de dominio de los nombres NetBIOS. [ 12 ]

El archivo LMHOSTS de Windows proporciona un método de resolución de nombres NetBIOS que se puede utilizar para redes pequeñas que no utilizan un servidor WINS.

nombre de host de Internet

El nombre NetBIOS de un equipo Windows no debe confundirse con su nombre de host de Internet (suponiendo que el equipo también sea un host de Internet además de un nodo NetBIOS, lo cual no siempre es así). Generalmente, un equipo que ejecuta protocolos de Internet (sea o no un equipo Windows) suele tener un nombre de host (también llamado nombre de máquina). Originalmente, estos nombres se almacenaban y proporcionaban mediante un archivo hosts , pero hoy en día la mayoría de ellos forman parte del Sistema de Nombres de Dominio (DNS), que es jerárquico.

Generalmente, el nombre de host de un equipo Windows se basa en el nombre NetBIOS más el sufijo DNS principal, ambos configurados en el cuadro de diálogo Propiedades del sistema. También puede haber sufijos específicos de conexión que se pueden ver o modificar en la pestaña DNS del Panel de control → Red → TCP/IP → Propiedades avanzadas. Los nombres de host son utilizados por aplicaciones como telnet , ftp , navegadores web , etc. Para conectarse a un equipo que ejecuta el protocolo TCP/IP mediante su nombre, este debe resolverse en una dirección IP , normalmente mediante un servidor DNS. (También es posible ejecutar muchas aplicaciones basadas en TCP/IP, incluidas las tres mencionadas anteriormente, utilizando solo direcciones IP, pero esto no es lo habitual).

Tipos de nodos

En Windows, el tipo de nodo de un equipo en red se relaciona con la forma en que resuelve los nombres NetBIOS a direcciones IP . Esto presupone que existen direcciones IP para los nodos NetBIOS, lo cual solo se garantiza cuando NetBIOS opera sobre NBT; por lo tanto, los tipos de nodo no son una propiedad de NetBIOS en sí, sino de la interacción entre NetBIOS y TCP/IP en el entorno del sistema operativo Windows. Existen cuatro tipos de nodo.

  • Nodo B: 0x01 Difusión
  • Nodo P: 0x02 Par (solo WINS)
  • Nodo M: 0x04 Mixto (difusión, luego WINS)
  • Nodo H: 0x08 Híbrido (WINS, luego difusión)

El tipo de nodo en uso se muestra abriendo la línea de comandos y escribiendo ipconfig /all . También se puede configurar el registro de Windows para que muestre "desconocido" como tipo de nodo.

sufijos NetBIOS

El sufijo NetBIOS, también llamado carácter final NetBIOS (endchar), es el decimosexto carácter de un nombre NetBIOS e indica el tipo de servicio para el nombre registrado. El número de tipos de registro está limitado a 255; algunos valores de uso común son:

Para nombres únicos:

Para nombres de grupos:

  • 00: Servicio de estación de trabajo (nombre de grupo de trabajo/dominio)
  • 1C: Controladores de dominio para un dominio (registro de grupo con hasta 25 direcciones IP)
  • 1E: Elecciones de servicios del navegador

pila de protocolos

La siguiente tabla muestra un breve historial de NetBIOS y sus protocolos relacionados. SMB fue el protocolo principal que utilizó NetBIOS. SMB permite compartir archivos e impresoras en Windows.

Véase también

Referencias

  1. 1 2 Sosinsky , Barrie (2009). Networking Bible . John Wiley & Sons . pp. 528. ISBN  9780470543429.
  2. 1 2 3 4 5 6 Haugdahl, J. Scott (junio de 1990). Inside NETBIOS (PDF) (3.ª ed.). Architecture Technology Corporation. ISBN  0-939405-00-8.
  3. "10. Evaluación de los servicios de red de Windows - Evaluación de la seguridad de la red, 2.ª edición [ Libro ] " . www.oreilly.com . Archivado del original el 20 de abril de 2023. Consultado el 20 de abril de 2023 .
  4. "Hardware de emergencia para protocolos" . www.networking-hardware.com . Archivado del original el 26 de marzo de 2023. Consultado el 20 de abril de 2023 .
  5. "Primeras redes de Microsoft | Museo OS/2" . Consultado el 4 de septiembre de 2024 .
  6. "Compatibilidad con NetBEUI en Windows 2000" . Microsoft . Consultado el 19 de marzo de 2007 .
  7. "El protocolo NetBEUI no está disponible en Windows XP (KB306059)" . Archivado del original el 20 de febrero de 2010. Consultado el 19 de marzo de 2007 .
  8. "Cómo instalar NetBEUI en Windows XP (KB301041)" . Archivado del original el 17 de agosto de 2010. Consultado el 19 de marzo de 2007 .
  9. "NetBeui en XP y Vista" . Archivado del original el 7 de marzo de 2016.
  10. "NetBios NetBEUI NBF Networking Encapsulation" . Archivado del original el 15 de septiembre de 2006. Consultado el 24 de noviembre de 2006 .
  11. " [ MS-WPO ] : Protocolo de administración WINS" . learn.microsoft.com . 14 de febrero de 2019. Archivado del original el 17 de junio de 2023. Consultado el 17 de junio de 2023. Debido a que el protocolo NetBIOS, definido en [RFC1002] , no admite la asignación entre nombres NetBIOS y direcciones IPv6, el protocolo Interfaz administrativa remota: WINS se aplica solo a direcciones IPv4. No se aplica a direcciones IPv6.
  12. 1 2 "Convenciones de nomenclatura en Active Directory para equipos, dominios, sitios y OU" . Microsoft . Archivado del original el 22 de diciembre de 2017. Recuperado el 19 de diciembre de 2017 .

Lecturas adicionales

  • Haugdahl, J. Scott (1990). Inside NetBIOS . Architecture Technology Corp. ISBN 99914-57-34-8
  • Silberschatz, Abraham; Galvin, Peter Baer; Gagne, Greg (2004). Conceptos de sistemas operativos . (7.ª ed.). John Wiley & Sons. ISBN 0-471-69466-5
  • Meyers, Michael (2004). "Administración y resolución de problemas de redes". McGraw-Hill. ISBN 978-0-07-225665-9
  • Tamara Dean. Guía de redes Network+ , pág. 206 (NetBEUI)
  • Referencia técnica de LAN: API 802.2 y NetBIOS
  • Implementación de CIFS (del equipo de Samba , publicado bajo la Licencia de Publicación Abierta )
  • Redes NetBIOS, NetBEUI, NBF, SMB y CIFS
  • Modelo de referencia de interconexión de sistemas abiertos (OSI) para NBF, NBT y NBX
  • Archivo LMHOSTS
  • Caracteres finales/sufijos de NETBIOS : artículo de la base de conocimientos de Microsoft que describe la lista de sufijos de NetBIOS.
  • Biblioteca NetBIOS de Windows 7 en Visual Basic - Coder Bliss – Jon Reedholm .
  • Richard Sharpe (8 de octubre de 2002). "¿Qué es exactamente SMB?" . Archivado del original el 2 de diciembre de 2009. Consultado el 1 de enero de 2012 .