La versión en la memoria de NETBIOS apareció más o menos en 1984 al mismo tiempo que la de Token Ring y apareció como un programa llamado NETBEUI.COM, que son las siglas de Netbios Extended User Interface.
El NETBIOS proporciona un subconjunto muy elemental de funciones de niveles de transporte y de sesión, con objeto de independizar las aplicaciones y a los servidores de las características de la red. NETBIOS se podría compararse a lo que hace el BIOS que actúa como el nivel entre el sistema operativo de la computadora personal y el hardware. NETBIOS no es un estándar.
NETBIOS es una interfaz de la capa de sesión y no tiene una definición como capa de red. Esto no significa que las redes basadas en el NETBIOS no puedan "puntearse" a una WAN. Recordemos que un puente opera en la capa de enlace de datos y sólo hacia adelante en la dirección destino de los paquetes. Los puentes no se ocupan de establecer las rutas técnicas para los protocolos de las capas superiores. Por lo tanto una red LAN basada en el NETBIOS puede extenderse por medio de puentes, pero cada nombre debe ser único.
Las operaciones básicas para establecer una comunicación e intercambio de datos entre dos nombres en la red es como sigue:
1. CLAIM y ADD declarar y agregar nombres a la respectiva tabla local de nombres de estación.
2. Establecer una sesión entre dos nombres (usando el número asociado para los nombres) usando los comandos CALL y LISTEN.
3. Transferir datos usando los comandos SEND y RECIVE (usando LSN).
4. Terminar la sesión usando los comandos HANGUP o RESET.
El otro nombre utilizado para llamar a NETBIOS es INT5Ch (o interrupción 5c Hex). Las funciones del NETBIOS tienen cuatro facetas:
1. Soporte de sesión: ofrece la posibilidad de crear una sesión e intercambiar información con otro usuario de la red.
a) Añadir nombre: añade a la tabla local de nombres un nombre no repetido de 16 caracteres.
b) Añadir nombre de grupo: añade a la tabla de nombres local un nombre de grupo no repetido de 16 caracteres.
c) Borrar nombre: borra un nombre de la tabla de nombres.
2. Soporte de datagrama: enviar y recibir información entre sistemas principales de transmisión en la red.
a) Recibir datagrama: recibe cualquier mensaje de datagrama dirigido hacia la estación.
b) Recibir difunción: recibe un mensaje procedente de cualquier estación que haya generado un comando de enviar difunción.
c) Enviar datagrama: envia un datagrama a un grupo concreto cuyo nombre se indica.
d) Enviar difunción: envía un mensaje destinado a cualquier estación que tenga pendiente algún comando por recibir información.
3. Soporte de nombre: definir múltiples nombres de usuario dentro de un código.
a) Llamar: abre una sesión con otra red cuyo nombre se indica.
b) Escuchar: permite establecer una sesión con otra red cuyo nombre se indica.
c) Enviar: envía un buffer de datos.
d) Colgar: cierra una sesión con otra red cuyo nombre se indica.
e) Enviar cadena: envía dos buffer de datos.
f) Recibir: recibe datos procedentes de una sesión especificada.
g) Recibir de cualquiera: recibe datos de cualquier sesión.
4. Comandos generales: determinar el estado y control de adaptadores de red.
a) Reinicializar: reinicializa el estado del adaptador y otros.
b) Cancelar: cancela un comando.
c) Estado del adaptador: proporciona el estado de un adaptador local o remoto; número de identificación del adaptador.