|
Indice
COMPARACION DE NetBIOS y TCP/IP CON EL MODELO OSI
La siguiente figura muestra la relación entre los protocolos NetBIOS y TCP/IP en relación al modelo de las siete capas.
Figura 4
Estos protocolos son usados por una extensa variedad de sistemas operativos de red; y no solo por el que se menciona en el gráfico (LAN Manager), sino que también incluye LAN Server, Windows NT, Windows For Workgroups, Windows `95, Lantastic y Banyan VINES.
La combinación de estos protocolos es conocida, en el ambiente de Microsoft por NBT.
En lo que concierne a la interacción entre ambos protocolos deben tenerse en cuenta dos conceptos, además de los mencionados en la 2º sección y que son:
Se debe entender por "nodos finales" a aquellos nodos que son los extremos de la comunicación.
En cuanto a los "servidores" los mismos son invisibles a las aplicaciones NetBIOS pero son parte del mecanismo fundamental de este protocolo, debido a que uno se encarga de la "administración de los nombres NetBIOS", Nodo NetBIOS Name Server y el otro se encarga de la "distribución de datagramas" Nodo NetBIOS Distribution Datagrams. De ahora en adelante serán referenciados por sus siglas: NBNS y NBDD.
Existen tres tipos de nodos finales:
Una dirección IP debe estar asociada con solo una de los tipos de nodos mencionados anteriormente.
Los nodos B usan el broadcasting de la red local par encontrarse con uno o más receptores; por su parte los nodos P y M se valen de los servidores soportados por NetBIOS para comunicarse con otras nombres, NBNS y NBDD.
Estos nodos se comunican usando una mezcla de datagramas UDP y conexiones TCP. Pueden operar con otros nodos libremente dentro de un área broadcast.
Los nodos B están limitados a la red local dado que los routers TCP/IP no transmiten el broadcast de solicitud de nombres a otras redes. Por tal razón es que este modo no opera con el NBNS y NBDD; sino que por el contrario cuando necesita información de un nombre usa una lista de computadoras y direcciones almacenadas en el archivo /etc/inethosts. Si el intento del nodo B falla, el sistema mira en este archivo para encontrar el nombre.
Estos nodos son punto a punto, unicast y no transmiten el broadcast de mensajes, sino que se confían de los servidores soportados por NetBIOS.
Son una combinación de los nodos P y B, ya que usa tanto el broadcast como el unicast. De este modo primero se hace un broadcast para la solicitud de un nombre, sino se recibe respuesta hace una solicitud al NBNS.
Si se configura con este nodo, se obtiene una respuesta lenta en el caso que el nombre solicitado este en otra red.
En el RFC1001 solo se hace mención a estos tres nodos, pero de acuerdo a otra documentación existe también este nodo H, Hybrid; que es un tipo mixto.
A la inversa de los nodos M, primero solicita un nombre al servidor de nombres y si este no responde, hace broadcast para la solicitud del nombre. Esta es la configuración preferida cuando se configura el soporte WINS.
Como ya mencionó los servidores soportados son el de nombres, NBNS y el de distribución de datagramas, NBDD; los cuales constituyen los focos para los nodos P y M. Estos servidores pueden cambiar parte de sus operaciones a los nodos P o M.
El NBNS puede se implementado obedeciendo a dos caminos:
Además el NBNS debe coincidir con el DNS, Domain Name Server, por tal razón:
De esta forma el NBNS puede ser usado como un bolletin board que contiene información de nombres y direcciones.
Dado que en Internet no soporta el broadcasting o multicasting, el NBDD extiende el servicio de distribución de datagramas a este ambiente.
Antes de explicar los que es e l "servicio de nombres" vamos a dar un poco más de detalle en lo que concierne al término nombre.
Como ya se mencionó en párrafos anteriores NetBIOS identifica a los que intervienen en una comunicación mediante nombres, el cual esta formado por 16 caracteres alfanuméricos. Cada byte puede consistir de cualquier valor entre 0 a 255, excepto el primer byte que no puede se * (asterisco). Los nombres que tenga un largo menor a 16 byte son llenados con espacios y ajustados a la derecha. El último campo del nombre NetBIOS es llamada subcódigo.
Existen dos tipos de nombres:
Hay dos niveles de encriptado en lo que se refiere a los nombres NetBIOS:
Además para el caso de aplicaciones de red que se comunican usando NetBIOS sobre TCP/IP se agrega otro elemento conocido como el campo identificador, que es un cadena de caracteres; esto es lo que se obtiene con el encriptado del nombre. Este campo identificador debe ser el mismo en todas las computadoras de la red usando a NetBIOS y a TCP/IP como transporte; si hubiera distintos campos identificadores NetBIOS asume que son parte de una red lógica diferente y no pude comunicarse con ellas.
Cuando una estación quiere poseer un nombre ya sea único o de grupo o quiere dar de baja el que tiene o necesita buscar el nombre de la estación a la que quiere enviar el mensaje recurre a lo que se conoce como: "Servicio de Nombres", que es provisto por el mismo protocolo. O sea que en definitiva un servicio de nombres es el conjunto de procedimientos a través del cual los nodos obtienen información de los nombres (adquirir, defender, localizar).
El servicio de nombres posee procedimientos fundamentales que permiten la administración de los nombres, los mismo varían de acuerdo al tipo de nodo final B, P o M. Esos procedimientos son:
Es simplemente la adquisición de un nombre, y que como se mencionó el nombre puede ser exclusivo (único) y grupal (no exclusivo).
Cada nodo mantiene información de los nombres que tiene registrado, dicha información incluye:
En el segundo caso, un nombre se dice que esta en conflicto cuando un nombre único ha sido registrado por más de un nodo dentro de la red. Los nodos B , M y NBNS pueden detectar estas situación. Los nodos B y M tienen un mecanismo de detección el cual esta activo solo durante la resolución de nombres. Por su parte el NBNS puede detectar esta situación en cualquier momento, ya que verifica la consistencia de los nombres de la Base de Datos.
Un nodo B ejecuta este procedimiento a través de broadcast. Los nodos P recurren al NBNS y los nodos M combinan las técnicas de los nodos P y B.
Durante la registración del nombre se establece el tiempo de vida del nombre, debe entenderse como el tiempo de vida que el nodo tendrá la posesión de nombre, el cual es negociado entre el nodo final y el NBNS. El nodo final puede proponer un valor para el tiempo de vida o solicitar un tiempo de vida infinito.
Cuando un dispositivo es llamado, se busca la dirección IP asociada con el nombre NetBIOS.
Este procedimiento es usado durante el establecimiento de una sesión, donde se tiene que especificar el nombre de destino y de origen. Lo mismo sucede cuando se quiere enviar un datagrama, ya que se debe establecer también las direcciones de origen y destino.
Este procedimiento es llevado a cabo por:
Los mismos pueden ser liberados "explícitamente" o "silenciosamente" por un nodo final. El segundo se da cuando un nodo final falla o es apagado. En tanto que el primero depende de cada tipo de nodo final:
Como ya se mencionó una sesión es un intercambio seguro de mensajes conducido entre un par de aplicaciones NetBIOS. Los datos son organizados dentro de mensajes, donde cada mensaje tiene un rango de 0 a 131.071 bytes.
El servicio de sesión propiamente dicho no difiere según el tipo de nodo final.
Los servicios de sesión primitivos son:
El servicio de sesión involucra tres fases, a saber:
Aquí la dirección IP y el puerto TCP (SSN_SRVC_TCP_PORT) de la llamada es determinado y la conexión TCP esta establecida con la parte remota. Cada conexión TCP que ingresa representa el intento de inicio de una sesión NetBIOS y el servidor de sesión NetBIOS quién acepta la conexión TCP ingresante.
Cuando la conexión TCP esta abierta, el nodo llamador envía el paquete requerido por el servicio de sesión. Dicho paquete contiene:
Cuando el servidor NetBIOS recepta ese paquete puede suceder que:
Si no se puede establecer la sesión (casos 2, 3 y 4), la conexión TCP es cerrada y la fase de la sesión termina.
En el caso de un nombre único el que llama puede hacer nuevamente un intento usando la misma dirección IP siempre y cuando no le haya tocado el caso 4; en el cual el nombre NetBIOS debería se resuelto. En el caso de un nombre de grupo el que llama puede intentar con el siguiente miembro del grupo.
El servidor de sesión puede redirigir al que llama a otro puerto TCP y dirección IP para que pueda iniciar el establecimiento de la sesión nuevamente.
Es durante esta fase que los datos o mensajes son intercambiados sobre la sesión establecida, enviando los mensajes compuestos por una cabecera y el dato del usuario sobre la conexión TCP. Cuando el mensaje llega a destino, el que recibe remueve la cabecera y toma el dato propiamente dicho.
Los paquetes keep-alive pueden ser intercambiados, si así los nodos son configurados. El fin de estos paquetes es detectar las fallas de los nodos o particioamiento de la red.
Sucede cuando una de las partes así lo quiere o cuando esta determinado de antemano que una de las parte hace down. Esto es terminar la sesión normalmente.
Una sesión puede terminar anormalmente y es el servicio de sesión quien detecta esta pérdida de conexión. La pérdida de la misma puede ser detectada por la función keep-alive del servicio de sesión o TCP o por mensajes de fallo de sesión enviados por una operación.
El servicio de datagrama es un servicio inseguro, no secuenciado y sin conexión.
Al igual que en el servicio de sesión, cada datagrama tiene nombre de destino y de origen.
Los datagramas NetBIOS son llevados dentro de paquetes UDP. Un datagrama esta compuesto por:
A su vez el dato del datagrama esta integrado por:
El tamaño máximo del datagrama es de 1064 bytes. Si el datagrama NetBIOS es más largo que un paquete UDP, el mismo puede ser fragmentado dentro de varios paquetes antes de su transmisión y reensamblados cuando son recibidos en el destino; pero la cabecera IP, UDP y la cabecera de datagrama NetBIOS están en cada fragmento. El dato del usuario está repartido en los fragmentos, sin superponerse.
Los campos en la cabecera del datagrama NetBIOS que varían son:
De acuerdo a lo anterior son dos los casos posibles que pueden presentarse:
Campo FLAGS:
FIRST: True
MORE: False
Campo OFFSET: 0
2. Si el datagrama NetBIOS fue fragmentado
1º fragmento
Campo FLAGS:
FIRST: True
MORE: True
Campo OFFSET: 0
Fragmento intermedio
Campo FLAGS:
FIRST: False
MORE: True
Campo OFFSET: suma()
Ultimo fragmento
Campo FLAGS:
FIRST: False
MORE: False
Campo OFFSET: suma()
Los servicios datagramas primitivos son:
En relación con los nombres, los datagramas NetBIOS pueden ser:
AL MOMENTO DE CONFIGURAR NetBIOS
En esta sección vamos a tener en cuenta algunos aspectos que deben considerarse al momento de configurar este protocolo y son:
WINS: protocolo Windows Internet Naming Service:
WINS es lo mimso que NBNS, Servidor de Nombres NetBIOS .
Es un protocolo para una base de datos distribuída, es similar al DNS (Servicio de Dominio de Nombres) pero es usado específicamente para los nombres NetBIOS y la resolución de direcciones IP. Al igual que DNS, WINS es usado para la registración y resolución de nombres de computadoras a través de una internetwork. En el mismo, solo se registra la primera entrada de un nombre NetBIOS, evitando la duplicación de los mismos.
En definitiva, WINS provee los nombres NetBIOS a las computadoras y TCP/IP el número de registración de las mismas dentro en una internetwork.
WINS soporta los tres tipos de nodos finales de NetBIOS: B, P y M. Pero como ya fue visto en secciones anteriores, los nodos B prescinden de este servidor.
Resumiendo:
Las funciones WINS están automáticamente instaladas cuando se instala el paquete NetBIOS y está contenido en el conjunto de archivos netbios.rte.
DHCP: Protocolo de Configuración Dinámica de Host:
Permite la asignación dinámica de direcciones IP. El protocolo TCP/IP permite que los principales parámetros de los dipositivos de red (incluyendo las direcciones IP) sean configurados por el serividor central DHCP.
LANA: Adaptador de Red del Area Local:
Es un número que identifica a los dispositivos usados por NetBIOS.