NETBIOS Disciplina: Redes de Computadores Alunos: Edoil Rolim de Barros Katiuscia Alexandra de Castro Professor: Ronaldo Alves Ferreira Análise de Sistemas - UFMS - outubro/1999 Tópicos da Apresentação • • • • • • • • • • • • • • Histórico sobre NetBIOS O que é NetBIOS Considerações sobre NetBIOS Primeiros produtos a adotarem NetBIOS Formas de Comunicação NetBIOS Campos do NCB Serviço de Suporte a Nomes NetBIOS Comandos usados pelo Serviço de Suporte a Nomes NetBIOS Serviço de Transmissão de Datagramas Comandos para Transmissão de Datagramas Serviços orientados à conexão Comandos de serviços orientados à conexão Serviços Gerais e seus Comandos Relação NetBIOS / NetBEUI Histórico sobre NetBIOS (Network Basic Input / Output System) • Foi desenvolvido inicialmente pela Sytec. • Foi introduzido pela IBM em 1984. • Foi usado pela Microsoft no sistema operacional de rede MS-NET. • Atualmente, utilizados em sistemas operacionais de redes ( IBM, Novell, Microsoft, 3COM, etc. ). O que é NetBIOS ? • É uma aplicação que programa uma interface (API), provendo que uma aplicação em nó da rede comuniquese com outra aplicação em um outro nó da rede, ou seja, é um conjunto de serviços utilizados principalmente para transmissão de informações entre duas aplicações. • Tornou-se um meio para unir aplicações que rodassem em sistemas operacionais de rede, como: Microsoft Windows NT, entre outros. • Compõe-se de 4 serviços básicos e 18 comandos que podem criar, manter e usar conexões entre PC’s em uma rede. Considerações sobre NetBIOS • NetBIOS não é um verdadeiro padrão, como TCP/IP ou OSI, apesar do fato de que muitas pessoas referem-se a ele como tal, mas nenhuma organização de padrões nacional ou internacional define NetBIOS. Primeiros Produtos a usarem NetBIOS • A primeira empresa a usar o serviço NetBIOS foi a IBM com os seguintes produtos: - IBM PC Adaptador de Rede - IBM PC for LAN Forma de Comunicação NetBIOS Network Control Block ( NCB ) • Toda comunicação de uma aplicação com NetBIOS é feita através do NCB como um parâmetro e o mesmo possui 64 bytes. • Para a chamada do NetBIOS, a aplicação deve montar e preencher os campos de entrada apropriados do NCB. • A resposta do NetBIOS é recebida pelos campos de resultado apropriados pelo NCB. Campos do NCB Campo NCB_COMMAND NCB_RETCODE NCB_LSN NCB_NUM NCB_BUFFER NCB_LENGTH NCB_CALLNAME NCB_NAME NCB_RTO NCB_STO NCB_POST NCB_LANA_NUM NCB_CMD_CPLT NCB_RESERVE Tam 1 1 1 1 4 2 16 16 1 1 4 1 1 14 Descrição Código do comando NetBIOS desejado Código de retorno do comando Número da sessão local (retornado por CALL ou LISTEN) Identifica um nome local (retornado por ADD [GROUP] NAME) Ponteiro para um buffer de dados (segment:offset) Tamanho do buffer de dados Identifica o nome do destinatário (aplicação remota) Identifica o nome do remetente (aplicação local) Valor do timeout para a recepção Valor do timeout para a transmissão Rotina callback executada ao final de um comando assíncrono LAN Adapter Number – identificação da placa adaptadora de rede Status do comando (FFh – Pendente, 00h – Sucesso, outros – Erro) Área reservada Serviços oferecidos pelo NetBIOS • O NetBIOS oferece serviços de comunicação baseados em conexão e sem conexão. Estes serviços podem ser usados para implementar cliente/servidor, processamento de filtro ou comunicação ponto a ponto. Os serviços são : – Serviços de suporte a nomes – Serviços de suporte a transmissão de datagramas – Serviços orientados à conexão – Serviços Gerais Serviços de Suporte a Nomes NetBIOS • São as chaves de comunicação entre estações e aplicações NetBIOS, pois uma estação NetBIOS tem que saber seu nome para poder comunicar-se com outras estações NetBIOS e as aplicações que rodam nas estações também devem possuir um ou vários nomes únicos, portanto esses nomes não devem serem iguais aos de outras aplicações. • Nomes NetBIOS podem ter 16 caracteres alfanuméricos, sendo que os 15 primeiros são reservados para identificar a estação e o último, a aplicação. Comandos usados pelo Serviço de Suporte a Nomes • Add Name - Esse comando permite ao NetBIOS adicionar um nome original a Tabela Local de Nomes NetBIOS. • Add Group Name - Esse comando permite ao NetBIOS adicionar um Grupo de Nomes Originais a Tabela Local de Nomes NetBIOS. • Delete Name - A aplicação usa esse comando para apagar tanto nomes originais quanto nomes de grupos. • Find Name - Esse comando é usado para procurar um nome NetBIOS na rede, retornando se o nome é um nome original ou um nome de grupo. Serviços de Transmissão de Datagramas • Datagrama -> Pacote que contém o endereço de origem e destino. • Análogo ao sistema de correio. • Funciona da seguinte maneira: - Uma estação NetBIOS manda um datagrama para uma estação específica ou para todas as estações na rede ( broadcast ) e a outras estações verificam se aquele datagrama é ou não para ela. Comandos para Transmissão de Datagramas • Receive Broadcast Datagram - Recebe um pacote de qualquer estação da rede. • Receive Datagram - Recebe um pacote de uma estação específica da rede. • Send BroadCast Datagram - Envia um pacote para todas as estações da rede. • Send Datagram - Envia um pacote para uma estação específica da rede. Serviços Orientados a Conexão • Análogo ao sistema telefônico. • São usados pelas estações para estabelecer e encerrar conexões ou sessões NetBIOS e para trocar dados nas conexões ou sessões previamente estabelecidas. • Etapas dessa conexão: - Estabelecimento de conexão (cria-se um circuito virtual). - Transmissão de Dados. - Liberação da Conexão. Comandos do Serviço Orientado à Conexão • Call - Cria uma conexão lógica com uma aplicação local ou remota. • Chainsend - Envia dois buffers de dados através de uma sessão estabelecida. • Hang up - Finaliza uma conexão lógica. • Listen - Espera pedidos de conexão lógica. • Receive - Recebe dados através de uma conexão lógica específica. • Receive any - Recebe dados de qualquer conexão lógica existente. • Send - Envia dados através de uma conexão lógica. • Session Status - Recebe informações de estado de todas as conexões lógicas ativas. Comandos de Serviços Genéricos • Não estão diretamente associados com o gerenciamento de nomes ou com a transmissão e recepção de dados. Seus comandos são : • ADAPTER STATUS - Obtém informações sobre uma rede local ou remota. • CANCEL - Cancela comandos pendentes. • RESET - Limpa as tabelas de nomes e sessões. Relação NetBIOS/NetBEUI • NetBEUI (NetBIOS Extended User Interface) • NetBEUI está no nível da camada de transporte e surgiu para oferecer ao usuário uma interface mais amigável para melhor manipulação de comandos NetBIOS. • NetBEUI é rápido e ideal para redes locais pequenas. • NetBIOS atua entre os níveis da camada de sessão e apresentação. • NetBIOS define uma interface de camada de sessão para a funcionalidade de transporte e de rede do NetBEUI.