¿Cuál es la diferencia entre NetBIOS y SMB?

Las diferencias fundamentales son:

-NetBIOS es una API. Ofrece una forma genérica para que un programa de software se comunique con otra computadora en una red, sin tener que conocer los detalles de cómo las dos computadoras realmente se hablarán entre sí.

-NetBIOS es una herramienta de red simple y de propósito general. La API de NetBIOS solo tiene comandos simples: conectarse a una computadora, enviar datos a una computadora, recibir datos de una computadora. Depende de los clientes y servidores que utilizan la API de NetBIOS para decidir cómo interpretar los datos que envían y reciben

-NetBIOS no es un protocolo. La API de NetBIOS no especifica cómo dos implementaciones de NetBIOS realmente se hablarán entre sí a través de una red. Entonces, para que dos implementaciones de NetBIOS se comuniquen, deben admitir un protocolo de red común. Algunos protocolos comunes para el uso de NetBIOS APIS son NetBEUI y NetBIOS-over-TCP.

-SMB es un protocolo. Especifica el formato específico de los datos que las computadoras se enviarán entre sí a la red.

-SMB está diseñado principalmente para compartir archivos e impresoras. No pretende ser una herramienta de red de propósito general.

-SMB no es una API. SMB no especifica cómo un programa puede enviar un comando SMB a otra computadora. Solo especifica el formato del comando.

La API de NetBIOS y el protocolo SMB generalmente se usan juntos de la siguiente manera:

-Un cliente SMB utilizará la API NetBIOS para enviar un comando SMB a un servidor SMB y para escuchar las respuestas del servidor SMB.

-Un servidor SMB utilizará la API NetBIOS para escuchar los comandos SMB de los clientes SMB y enviar respuestas al cliente SMB

Pero no hay nada que requiera que NetBIOS y SMB se usen juntos. Un cliente SMB y un servidor SMB podrían usar otras API, como la API Berkeley Sockets, para comunicarse entre sí. Del mismo modo, cualquier cliente y servidor de red podría usar la API de NetBIOS para comunicarse entre sí.