NetBIOSネットワークでは、TCP/IPにおけるIPアドレスの役割を「NetBIOS名」という16bytesの文字列が担っている。
■連載目次
第1回 Windowsネットワークの舞台裏
第2回 レイヤ・モデルとファイル共有
第3回 NetBIOSを理解する(1)
第4回 NetBIOSを理解する(2)
第5回 NetBIOSの通信の実際
第6回 TCP/IP始めの一歩
第7回 IPアドレスとネットマスク
第8回 アドレス・クラスとIPアドレス
第9回 IPルーティング
第10回 IPパケットの構造
第11回 MACアドレスを解決するARP
第12回 TCP/IPを支えるICMP
第13回 データグラム通信を実現 UDP
第14回 信頼性を実現するTCP(1)
第15回 信頼性を実現するTCP(2)
第16回 信頼性を実現するTCP(3)
第17回 LLCとNetBEUI
第18回 NetBIOS over TCP/IP(1)
第19回 NetBIOS over TCP/IP(2)
第20回 ファイル共有SMB/CIFS(1)
第21回 ファイル共有SMB/CIFS(2)
第22回 ファイル共有SMB/CIFS(3)
第23回 ブラウザ・サービス
前回説明したように、NetBIOSは、規模においても、機能においても、いまから考えれば非常に限定的な初期のPCネットワークを想定して開発された、ネットワーク・アプリケーションのためのシンプルなAPI(Application Programming Interface)である。通信相手を指定するアドレッシング(名前解決)手段には、16bytesの文字列(名前)を使用する。データ通信手段としては、信頼性は保証されないがプロトコルのオーバーヘッドが小さいデータグラム・サービスと、通信相手とのセッション(通信路)を確立してから信頼性の高い通信を行うセッション・サービスの2種類が用意されている。しかしNetBIOSが提供する機能はいずれもプリミティブなもので、APIはいずれもシンプルなものだった(NetBIOSでサポートされる主要なコマンド一覧については前回の記事を参照)。
今回はまず、前回簡単に触れるにとどまった「NetBIOS名」について詳しく述べる。NetBIOSでは、たかだか16bytesの文字列によって、接続先コンピュータや使用するサービスを識別している。つまり、TCP/IPネットワークにおけるIPアドレスに相当する機能を、利用者がコンピュータに対して自由に指定可能な名前に負わせているわけだ。NetBIOSが設計された当時は、このようにルーズな管理を行っても、名前の衝突などはそうそう起こらないという規模のネットワークを想定すればよかった。しかし現在のコンピュータ・ネットワークは、当時の常識をはるかに超えるものになっている。こうした環境の変化に対応するため、Windowsネットワークでは、その都度必要に応じて初期のNetBIOSに改良を加え、現在のLANやインターネットに対応できるようにしている。しかしNetBIOSの名前付けメカニズムの原型は、改良によってゆがめられながらも、現在のWindowsネットワークにも生きている。実際、Windowsネットワークのトラブルを突き詰めていくと、原因は特異なNetBIOS名の働きにあったということは少なくない。
Copyright© Digital Advantage Corp. All Rights Reserved.