Datagramas e Sessões

Vamos agora focar em outras responsabilidades do NBT que é prover serviços de conexão entre duas máquinas NetBIOS. São dois estes serviços, o serviço de datagrama e o serviço de sessão, o entendimento destes serviços não é essencial para a utilização do Samba mas dá uma nítida idéia de como o NBT funciona e como proceder para solucionar eventuais problemas quando o Samba não funciona.

O serviço de datagrama não possui uma conexão estável entre máquinas. Os pacotes de dados são simplesmente enviados de uma máquina para outra ou são broadcasted sem qualquer preocupação com a ordem de chegada no destino ou mesmo se estão chegando no destino. Datagramas são utilizados para a transmissão rápida de blocos simples de dados entre máquinas de uma rede NetBIOS. O serviço de datagrama possui as seguintes primitivas:

Primitivas do serviço datagrama
Primitiva Descrição
Send Datagram Transmite o datagrama para uma máquina ou um grupo delas
Send Broadcast Datagram Dá um broadcast de um datagrama para as máquinas que se encontram em Receive Broadcast Datagram.
Receive Datagram Recebe um datagram de uma máquina.
Receive Broadcast Datagram Espera por um broadcast de um datagrama

O serviço de sessão é um pouco mais complexo. As sessões são um método de comunicação que em teoria oferece a habilidade de detecção de conexões problemáticas ou inoperantes entre dois aplicativos NetBIOS. Ajuda muito pensar numa sessão NBT em termos de uma chamada telefônica, uma conexão full-duplex é aberta entre a máquina transmissora e a receptora e deve permanecer aberta durante a duração da conversação. Cada lado sabe quem é o transmissor e que é o receptor podendo então se comunicar com as primitivas abaixo:

Primitivas de sessão
Primitiva Descrição
Call CallInicia uma sessão com a máquina especificada
Listen Espera a chamada de uma máquina conhecida ou de qualquer máquina
Send Transmite dados para a outra máquina.
Receive Recebe dados da outra máquina
Hang-up Termina um call
Session Status Retorna informações nas sessões requisitadas


As sessões são a espinha dorsal do compartilhamento de recursos em uma rede NBT. Elas são utilizadas tipicamente para o estabelecimento de conexões estáveis entre máquinas clientes e discos ou impressoras compartilhadas no servidor. O cliente “chama” o servidor e inicia-se uma troca de informações como que arquivo deseja-se abrir ou que dados devem ser trocados. Essas “chamadas” podem durar longos períodos de tempo ocorrendo dentro de um contexto de uma unica conexão. Se acontecer algum erro o software de sessão (TCP) irá retransmitir até que os dados sejam recebidos corretamente, ao contrário da abordagem “punt-and-pray” do serviço de datagrama. (UDP).

Voltar