NetBIOS
NetBIOS () es un acrónimo de Sistema básico de entrada/salida de red. Proporciona servicios relacionados con la capa de sesión del modelo OSI que permite que las aplicaciones en computadoras separadas se comuniquen a través de una red de área local. Como estrictamente una API, NetBIOS no es un protocolo de red. Los sistemas operativos más antiguos ejecutaban NetBIOS sobre IEEE 802.2 e IPX/SPX usando los protocolos NetBIOS Frames (NBF) y NetBIOS sobre IPX/SPX (NBX), respectivamente. En las redes modernas, NetBIOS normalmente se ejecuta sobre TCP/IP a través del protocolo NetBIOS sobre TCP/IP (NBT). Esto da como resultado que cada computadora en la red tenga una dirección IP y un nombre NetBIOS correspondiente a un nombre de host (posiblemente diferente). NetBIOS también se utiliza para identificar nombres de sistemas en TCP/IP (Windows). Dicho simplemente, es un protocolo que permite la comunicación de archivos e impresoras a través de la Capa de Sesión del Modelo OSI en una LAN.
Historia y terminología
NetBIOS es un protocolo de capa 5 de sesión OSI no enrutable y un servicio que permite que las aplicaciones en las computadoras se comuniquen entre sí a través de una red de área local (LAN). NetBIOS fue desarrollado en 1983 por Sytek Inc. como una API para la comunicación de software sobre la tecnología LAN de red de PC de IBM. En IBM PC Network, solo como API, NetBIOS se basó en los protocolos de red patentados de Sytek para la comunicación por cable. A pesar de admitir un máximo de 80 PC en una LAN, NetBIOS se convirtió en un estándar de la industria.
En 1985, IBM siguió adelante con el esquema de red Token Ring y se produjo un emulador de NetBIOS para permitir aplicaciones compatibles con NetBIOS de la era de la red de PC. para trabajar sobre este nuevo diseño. Este emulador, denominado Interfaz de usuario extendida de NetBIOS (NetBEUI), amplió la API básica de NetBIOS con, entre otras cosas, la capacidad de manejar la mayor capacidad de nodo de Token Ring. Simultáneamente, se produjo un nuevo protocolo de red, NBF, para permitir que NetBEUI (NetBIOS) brinde sus servicios a través de Token Ring, específicamente, en la capa de control de enlace lógico IEEE 802.2.
En 1985, Microsoft creó una implementación de NetBIOS para su tecnología de red MS-Net. Como en el caso de Token Ring de IBM, los servicios de implementación de NetBIOS de Microsoft se proporcionaron sobre la capa de control de enlace lógico IEEE 802.2 mediante el protocolo NBF. Hasta que Microsoft adoptó la resolución de nombres de host del Sistema de nombres de dominio (DNS), los sistemas operativos de Microsoft usaban NetBIOS para resolver nombres en redes cliente-servidor de Windows.
En 1986, Novell lanzó Advanced Novell NetWare 2.0 con el propio emulador NetBIOS de la empresa. Sus servicios se encapsularon dentro del protocolo IPX/SPX de NetWare utilizando el protocolo NetBIOS sobre IPX/SPX (NBX).
En 1987, se publicó un método para encapsular NetBIOS en paquetes TCP y UDP, NetBIOS sobre TCP/IP (NBT). Se describió en RFC 1001 ("Estándar de protocolo para un servicio NetBIOS en un transporte TCP/UDP: conceptos y métodos") y RFC 1002 ("Estándar de protocolo para un servicio NetBIOS en un transporte TCP/UDP). Transporte: Especificaciones detalladas"). El protocolo NBT se desarrolló para "permitir que se construya una implementación [de aplicaciones NetBIOS] en prácticamente cualquier tipo de sistema donde esté disponible el conjunto de protocolos TCP/IP" y para "permitir la interoperabilidad de NetBIOS en Internet".
Después de que la computadora PS/2 llegara al mercado en 1987, IBM lanzó el programa de soporte PC LAN, que incluía un controlador para NetBIOS.
Existe cierta confusión entre los nombres NetBIOS y NetBEUI. NetBEUI se originó estrictamente como el nombre del emulador NetBIOS de 1985 mejorado de IBM para Token Ring. El nombre NetBEUI debería haber muerto allí, teniendo en cuenta que en ese momento, las implementaciones de NetBIOS de otras empresas se conocían simplemente como NetBIOS, independientemente de que incorporaran las extensiones de API que se encuentran en ese emulador. Sin embargo, para MS-Net, Microsoft eligió nombrar su implementación del protocolo NBF "NetBEUI" – nombrando su implementación del protocolo de transporte después de la segunda versión de la API de IBM. En consecuencia, el uso compartido de archivos e impresoras de Microsoft a través de Ethernet continúa llamándose NetBEUI, y el nombre NetBIOS se usa comúnmente solo para compartir archivos e impresoras a través de TCP/IP. Más exactamente, el primero es NetBIOS Frames (NBF) y el segundo es NetBIOS sobre TCP/IP (NBT).
Desde su publicación original en un libro de referencia técnica de IBM, la especificación API de NetBIOS se ha convertido en un estándar de facto.
Servicios
NetBIOS proporciona tres servicios distintos:
- Servicio de nombres (NetBIOS-NS) para registro de nombres y resolución.
- Datagram distribution service (NetBIOS-DGM) for connectionless communication.
- Servicio de sesión (NetBIOS-SSN) para la comunicación orientada a la conexión.
(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 como una parte necesaria e integral de NetBIOS. Ahora puede ejecutarse sobre TCP con una pequeña capa de adaptación que agrega un campo de longitud a cada mensaje SMB; esto es necesario porque TCP solo proporciona un servicio de flujo de bytes sin noción de los límites del mensaje).
Servicio de nombres
Para iniciar sesiones o distribuir datagramas, una aplicación debe registrar su nombre NetBIOS mediante el servicio de nombres. Los nombres de NetBIOS tienen una longitud de 16 octetos y varían según la implementación en particular. Con frecuencia, el octeto 16, denominado sufijo NetBIOS, designa el tipo de recurso y se puede utilizar para indicar a otras aplicaciones qué tipo de servicios ofrece el sistema. En NBT, el servicio de nombres opera en el puerto UDP 137 (también se puede usar el puerto TCP 137, pero rara vez se usa).
Las primitivas del servicio de nombres que ofrece NetBIOS son:
- Agregar nombre – registra un nombre NetBIOS.
- Agregue el nombre del grupo – registra un nombre de "grupo" de NetBIOS.
- Eliminar nombre – no registrar un nombre de NetBIOS o nombre de grupo.
- Buscar nombre – busca un nombre NetBIOS en la red.
Microsoft no admite la resolución de nombres NetBIOS para el Protocolo de Internet versión 6 (IPv6).
Servicio de distribución de datagramas
El modo datagrama no tiene 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 Datagram – enviar un datagram a un nombre remoto de NetBIOS.
- Enviar Datagram de radiodifusión – enviar un datagram a todos los nombres de NetBIOS en la red.
- Recibir Datagram – esperar un paquete para llegar desde una operación Send Datagram.
- Recibir Datagram de radiodifusión – esperar a que un paquete llegue de una operación Send Broadcast Datagram.
Servicio de sesión
El modo de sesión permite que dos computadoras establezcan una conexión, permite que los mensajes abarquen varios paquetes y brinda detección y recuperación de errores. En NBT, el servicio de sesión se ejecuta en el puerto TCP 139.
Las primitivas del servicio de sesión que ofrece NetBIOS son:
- Llamada – abre una sesión a un nombre remoto de NetBIOS.
- Escucha – escucha los intentos de abrir una sesión a un nombre NetBIOS.
- Aguanta Arriba – cierra una sesión.
- Enviar – envía un paquete al ordenador en el otro extremo de una sesión.
- Enviar No Ack – como Enviar, pero no requiere un reconocimiento.
- Recibir – esperar un paquete para llegar desde un Enviar en el otro extremo de una sesión.
En el protocolo original utilizado para implementar los servicios de NetBIOS en una red de PC, para establecer una sesión, la computadora que inicia envía una solicitud de apertura que se responde con un reconocimiento de apertura. La computadora que inició la sesión enviará un paquete de solicitud de sesión que solicitará un paquete de aceptación de sesión o de rechazo de sesión.
Durante una sesión establecida, cada paquete transmitido recibe una respuesta de reconocimiento positivo (ACK) o reconocimiento negativo (NAK). Un NAK solicitará la retransmisión de los datos. Las sesiones son cerradas por la computadora que no inicia mediante el envío de una solicitud de cierre. La computadora que inició la sesión responderá con una respuesta cerrada que solicita el paquete cerrado de la sesión final.
Nombre de NetBIOS frente a nombre de host de Internet
Cuando NetBIOS se ejecuta junto con los protocolos de Internet (p. ej., NBT), cada computadora puede tener varios nombres: uno o más nombres de servicio de nombres de NetBIOS y uno o más nombres de host de Internet.
Nombre NetBIOS
El nombre NetBIOS tiene 16 caracteres ASCII; sin embargo, Microsoft limita el nombre de host a 15 caracteres y reserva el carácter 16 como sufijo NetBIOS. Este sufijo describe el tipo de registro de servicio o nombre, como registro de host, registro de navegador principal, registro de controlador de dominio u otros servicios. El nombre de host (o nombre de host abreviado) se especifica cuando se instala/configura la red de Windows, los sufijos registrados están determinados por los servicios individuales proporcionados por el host. Para conectarse a una computadora que ejecuta TCP/IP a través de su nombre NetBIOS, el nombre debe resolverse en una dirección de red. En la actualidad, suele ser una dirección IP (la resolución del nombre NetBIOS a la dirección IP a menudo se realiza mediante transmisiones o un servidor WINS: servidor de nombres NetBIOS). El nombre NetBIOS de una computadora suele ser el mismo que el nombre de host de esa computadora (consulte a continuación), aunque está 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 de NetBIOS también tenían que cumplir con las restricciones de los nombres de DNS: no pueden constar enteramente de dígitos y el guión ("-") o el punto (".") los caracteres pueden no aparecer como el primer o último carácter. Desde Windows 2000, Microsoft ha desaconsejado la inclusión de caracteres de punto final (".") en los nombres NetBIOS, de modo que las aplicaciones puedan usar la presencia de un punto final para distinguir los nombres de dominio de los nombres NetBIOS.
El archivo LMHOSTS de Windows proporciona un método de resolución de nombres NetBIOS que se puede usar para redes pequeñas que no usan un servidor WINS.
Nombre de host de Internet
El nombre NetBIOS de una máquina Windows no debe confundirse con el nombre de host de Internet de la computadora (suponiendo que la computadora también sea un host de Internet además de ser un nodo NetBIOS, que no necesariamente tiene que ser el caso). En general, una computadora que ejecuta protocolos de Internet (ya sea una máquina con Windows o no) generalmente tiene un nombre de host (también llamado a veces nombre de máquina). Originalmente, estos nombres se almacenaban y proporcionaban en un archivo de hosts, pero hoy en día la mayoría de estos nombres forman parte del Sistema de nombres de dominio (DNS) jerárquico.
Por lo general, el nombre de host de una computadora con Windows se basa en el nombre NetBIOS más el sufijo DNS principal, que se configuran en el cuadro de diálogo Propiedades del sistema. También puede haber sufijos específicos de conexión que se pueden ver o cambiar en la pestaña DNS en 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 una computadora que ejecuta el protocolo TCP/IP usando su nombre, el nombre de host debe resolverse en una dirección IP, generalmente por un servidor DNS. (También es posible operar muchas aplicaciones basadas en TCP/IP, incluidas las tres enumeradas anteriormente, usando solo direcciones IP, pero esta no es la norma).
Tipos de nodos
Bajo Windows, el tipo de nodo de una computadora en red se relaciona con la forma en que resuelve los nombres NetBIOS en direcciones IP. Esto supone que hay direcciones IP para los nodos de NetBIOS, lo cual está garantizado solo cuando NetBIOS opera sobre NBT; por lo tanto, los tipos de nodos no son una propiedad de NetBIOS per se, sino de la interacción entre NetBIOS y TCP/IP en el entorno del sistema operativo Windows. Hay cuatro tipos de nodos.
- B-nodo: 0x01 Broadcast
- P-nodo: 0x02 Peer (sólo WINS)
- Nodo M: 0x04 Mezclado (broadcast, luego WINS)
- H-nodo: 0x08 híbrido (WINS, luego transmitido)
El tipo de nodo en uso se muestra abriendo una línea de comando y escribiendo ipconfig /all. El registro de una computadora con Windows también se puede configurar de tal manera que muestre "desconocido" para el tipo de nodo.
Sufijos NetBIOS
El sufijo de NetBIOS, también llamado carácter final de NetBIOS (endchar), es el decimosexto carácter de un nombre de NetBIOS e indica el tipo de servicio para el nombre registrado. El número de tipos de registros está limitado a 255; algunos valores comúnmente utilizados son:
Para nombres únicos:
- 00: Servicio de estaciones de trabajo (nombre de estación)
- 03: Servicio Windows Messenger
- 06: Servicio de Acceso Remoto
- 20: Servicio de Archivo (también llamado Registro de Host)
- 21: Cliente del servicio de acceso remoto
- 1B: Domain Master Browser – Controlador de Dominio Primario para un dominio
- 1D: Master Browser
Para nombres de grupos:
- 00: Servicio de estaciones de trabajo (nombre de grupo/dominio)
- 1C: Controladores de dominio para un dominio (registro de grupo con hasta 25 direcciones IP)
- 1E: Elecciones del servicio del navegador
Contenido relacionado
Algoritmo de Floyd-Warshall
Sistema operativo integral general
ARITMÁTICA