Windows登場前夜の企業ネットワーク技術は百花繚乱?〜あなたの知らないMicrosoft OSのネットワーク対応を学ぶWindows温故知新〜カリスマITトレーナーが語る技術の変遷(1)

「Windows」の技術的な歴史や背景を筆者の体験とともに紹介し、現在使っているWindowsの理解を深める本連載。第1回は、企業ネットワークの変遷とWindowsにおけるネットワーク対応を取り上げる。

» 2025年09月30日 05時00分 公開
[横山哲也トレノケート株式会社]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

はじめに

 最近は分からないことは何でも検索すればよいし、AI(人工知能)に聞けばやり方も教えてくれる。本当に便利な時代になったが、「その機能がなぜ必要なのか」「なぜそのように決まったのか」といった背景を知らない人が増えてきた。それ自体は悪いことではないのだが、パーソナルコンピュータ(PC)と長年付き合ってきた筆者としては少し寂しい気もする。

 そこで本連載では「Windows」の技術的な歴史や背景を筆者の体験とともに紹介し、現在職場や自宅で使っているWindowsの理解をさらに深めることを目標とした。作業の効率化や便利な使い方の紹介は目標ではない。コンピュータは道具なので、とにかく便利に使えればよいのだが、背景を知っている方が理解も深まるし、何より面白い。直接役に立つことは少ないかもしれないが、読者の参考になれば幸いである。

 「現在のWindowsの理解を深めるための歴史」と考えると、Windowsが登場する少し前の「MS-DOS」の後期から始めるのがよさそうだ。MS-DOSから現在のWindowsまでの主なバージョンを示しておこう(図1)。

ALT 図1 Windowsとその関連OSの歴史(年月は全て英語版)

MS-DOS 3.0〜ネットワーク機能の導入

 MicrosoftのOSに初歩的なネットワーク機能が導入されたのが「MS-DOS 3.0」(1984年)で、「MS-NETWORKS」のための機能が追加されていた(MS-NETWORKSの正式な登場は1985年4月で、MS-DOS 3.1と同時発表)。

 例えば、サーバとして使った場合にファイルの同時アクセスを制御する「SHARE.EXE」などが導入された。SHARE.EXEはメモリ上に常駐し、ファイルアクセスの可否を判定する。こうした調整機能を一般に「コーディネーター」または「ロックマネージャー」などと呼ぶ。「Windows 95/Windows NT」以降はファイル共有コーディネーター(ファイル共有ロックマネージャー)機能がOS本体に組み込まれた(図2)。

ALT 図2 ファイルの同時アクセス

 MS-NETWORKSは、ファイル共有とプリンタ共有を提供していた。現在のWindowsにも「ファイルとプリンターの共有」がセットとなって随所に見られるのは当時の名残である。他のOS、例えばUNIXやLinuxではファイル共有とプリンタ共有は別の機能である。

 なお、MS-DOSは基本的にシングルタスクのOSであり、若干の例外を除いて複数のプログラムを同時に実行することはできない(SHARE.EXEは例外の一つ)。そのため、サーバ機能の実行中は他の作業ができなかったようだが、残念ながら筆者は体験していない。この当時、ネットワークカードは高価だったし、個人で複数のPCを持つことも少なかった。大学の研究室でもPCは1台しかない場合が多かった。コンピュータが必要な処理は計算機センターの大型機を使っていた。

 ちなみに、1984年に登場した「Macintosh」は、当初から「AppleTalk」と呼ばれるネットワーク機能を備えており、RS-422規格のシリアルケーブルを使ったファイル共有やプリンタ共有が可能だった。

 当時としては極めて先進的な機能を持っていたのだが、利用手順があまりに簡単なので、ほとんどのMacintoshユーザーは何とも思っていなかったらしい。Macintoshのプリンタを使ったとき、どうもサーバになっているらしいと気付いたのだが、誰もそんなことは気にしていなかった。「サーバになってるんですよね?」と尋ねたが「何ですか、それ? プリンタはプリンタですよ」という反応だった。

MS-DOSの構成とNetBIOS

 MS-NETWORKSはそれほど普及しなかったが、そこで定義された「NetBIOS」(Network Basic Input/Output System)は40年もたった現在のシステムにも大きな影響と制約を与えている。当時のPCハードウェアとMS-DOSの関係を含めたNetBIOSの機能については、知っておいて損はないだろう。

 MS-DOSは主に2つのファイルで構成されている。ハードウェアに依存しない「MSDOS.SYS」と、ハードウェア固有の機能をサポートする「IO.SYS」である。新しいハードウェアが登場した場合は、IO.SYSだけを差し替えればよい。

 OSがハードウェアにアクセスする場合、通常はハードウェアごとに用意された「デバイスドライバ」を使う。IO.SYSは、標準的なハードウェアを利用するためのデバイスドライバを含んでいた。また、MS-DOS 2.0からは拡張ハードウェアのために(ハードウェアベンダーが提供する)デバイスドライバを読み込む仕組みも提供された。

 ただし、1980年代のPCにとってデバイスドライバの処理は少々荷が重かった(詳細は省略する)。そこで、ハードウェアの機能を直接利用するためのサブルーチン群が提供されていた。これが「BIOS」(Basic Input/Output System)である。BIOSの呼び出し手順は統一されていたため、同じプログラムで異なるハードウェアを扱うことができた。機能的にはデバイスドライバと似ている。

 BIOSにはPC本体に内蔵された「システムBIOS」と、拡張カード上に実装された「拡張BIOS」がある。システムBIOSはキーボード操作やプリンタ出力など基本的なハードウェア操作に使われた。一方、拡張BIOSは拡張カード上に存在するもので、ビデオカードやSCSI(Small Computer System Interface)カードなどに搭載されていた。これらは、対応するハードウェアの種類に合わせて「ビデオBIOS」や「SCSI BIOS」などと呼んでいた(図3)。

ALT 図3 MS-DOSとハードウェアの関係

 当時はオプションだったネットワークインタフェースカード(NIC)にもBIOSが搭載されていた。これが「NetBIOS」である。NICのハードウェアが違っていても、NetBIOSの利用手順は共通化されていたため、プログラマーはNICに依存しないプログラムを作成できた。

 拡張カードによってはBIOSを搭載せず、デバイスドライバだけで動作するものもあった(例えば、データディスク専用のSCSIカード)。逆にBIOSとIO.SYSのみを利用して独立したデバイスドライバを持たないものもあった(標準ハードウェアと互換性がある拡張カードなど)。また、両方利用するものもあった(例えば、起動ディスクをサポートするSCSIカードなど)。

 初期のNICには拡張BIOS(NetBIOS)が搭載されていたが、そのうちにNetBIOSと同様の機能が(NIC上ではなく)デバイスドライバとして提供されるようになった。これが「NetBEUI」(NetBIOS Extended User Interface)である(「ネットビューイ」と読む人が多い)。

 ここでいう「User」は「プログラマー」のことである。つまり「NetBIOSの機能を拡張したプログラムインタフェース」の意味となる。これに伴い、NICの拡張BIOSは一部を除いて廃止された(例外はネットワークから起動可能にする場合)。

 本来NetBEUIはプログラムインタフェースの名称であるが、どのようなデータを送受信するかという規約も含まれていたため、実質的なネットワークプロトコルとなった。NetBEUIのデータをそのままネットワークに流すプロトコルを「NetBEUIフレームプロトコル」、通称「NBF」と呼ぶが、「NetBEUI」をプロトコル名として使っている人も多い。NetBEUIは本質的にNetBIOSと同等のため、「NBF」を「NetBIOSフレームプロトコル」の略としている場合もある。「NetBEUIがプロトコル名で、NetBIOSがプログラムインタフェース」と思っている人もいるが不正確である。

 NetBEUIの通信機能はイーサネットなどのLAN(Local Area Network)機能をそのまま使っており、ルーティング(中継)の機能がない。つまり、同一LAN内でしか使えないため、企業ネットワークには適していない。しかし、設定が簡単で軽量なため、部内ネットワークとして使われることが多かった。

 Windows NTの最初のバージョンである「Windows NT 3.1」では、ネットワーク構成の既定値(デフォルト)としてNetBEUI(NBF)が選択されていたが、後述する「NetWare IPX/SPX」(NetWare Internetwork Packet Exchange/Sequenced Packet Exchange)がデフォルトとなり、そのうちに「TCP/IP」(Transmission Control Protocol/Internet Protocol)がデフォルトとなった。現在のWindowsにはNBFもIPX/SPXも搭載されていない。

 現在ではTCP/IP以外のネットワークプロトコルはほぼ全滅したが、1990年代は企業ネットワークとしてTCP/IPを使っていないところも多かった。そのため、複数のプロトコルを使うことも多々あった。そこでWindows NTでは、サービスごとにプロトコルの優先順位を設定できた(画面1)。現在のWindowsでもできるはずだが、利用可能なプロトコルはTCP/IPだけになってしまったので確認できない。

ALT 画面1 Windows NT 4.0のネットワークプロトコル>>

 画面1に登場する用語を簡単に説明しておこう。

  • ワークステーション:ファイル共有などに対するクライアント機能
  • サーバー:サーバ機能
  • NWLink:NetWare IPX/SPXのMicrosoftによる実装
  • WINSクライアント:要するにTCP/IP

 「WINS」についてはもう少し詳しく説明しておこう。WINSは「Windows Internet Naming Service」の略で、TCP/IP上でのNetBIOS名前解決を行うサービスである。そのクライアントということは「TCP/IP上で動作するNetBIOS名前解決サーバのクライアント」となり、要するに「TCP/IPを使うコンピュータ」の意味になる。何ともまどろっこしい名前であるが、なぜこんな名称になったのかは分からない。

【コラム】BIOSの行方

 「BIOS」(Basic Input/Output System)はハードウェアを操作するプログラムだけでなく、起動パラメーターなどを指定する機能も持っていた。BIOS内のプログラムは16bitコードであり、32bit OSから使うことは難しい。そのため、BIOSの役割は実質的にパラメーター設定だけになった。

 現在、ほとんどのPCは16bitコードで記述されたBIOSに代わって、32bitまたは64bitコードに対応した「UEFI」(Unified Extensible Firmware Interface)に移行しているが、ハードウェア設定機能の俗称としてBIOSという言葉も使われている。


企業内ネットワークのプロトコル

 前述の通り、1990年代の社内ネットワークはTCP/IPとは限らなかった。それどころか少数派だったかもしれない。メインフレームを使っているところは「IBM SNA」(IBM Systems Network Architecture )またはその互換プロトコル、PC導入が進んでいたところはNetWare IPX/SPXあたりが多かったのではないだろうか。筆者の勤務先では「DECnet」を使っていた。DECnetはDigital Equipment(DEC:1998年にCompaqが買収し、Compaqは2001年にHewlett-Packardが買収)社独自のネットワークプロトコルだ。

 TCP/IPを社内ネットワークに導入した場合は「イントラネット」と呼ばれた。「イントラ」(intra)はラテン語由来の接頭辞で、「内部の」という意味である。わざわざ名前を作らなくても「TCP/IPネットワーク」でよいのではと思ったが、目新しい言葉を使うことで先進性をアピールする狙いもあったようだ。

 面白いのは、社内ネットワークからインターネットにアクセスするためのMicrosoft製品「Microsoft Proxy Server」は、社内のIPX/SPXをTCP/IPに変換する機能を備えていた。つまり、Webブラウザ自身はTCP/IPを使わないわけで、今思えば大変不思議なシステムである(図4)。

ALT 図4 IPX/SPXプロキシ

NetBIOSとSMB

 MS-DOSやWindowsでファイルを共有するプロトコルが「SMB」(Server Message Block)だ。初期のSMBはNetBIOSの機能を利用していたが、これには少々問題があった。NetBIOSはプログラムインタフェースを流用したものなので、外部からプログラムを実行されてしまうリスクがあったからだ。そこで、NetBIOSを使わないSMBが登場した。これが「ダイレクトホスティングSMB」である(図5)。

ALT 図5 NetBIOSとダイレクトホスティングSMB

 ダイレクトホスティングSMBが最初に実装されたのが「Windows 2000」なので、だいぶ後の話である。現在は、基本的にはダイレクトホスティングSMBのみを使用しており、従来のSMBは使用していないはずである。例外として、「Windows 10」の初期バージョンから継続して使っている場合は、従来のSMBも使用しているかもしれない。NetBIOSベースのSMBは「SMB 1.0」の一部なので、SMB 1.0を使っていなければ、ダイレクトホスティングSMBを使っている。そして、現在のWindowsはSMB 1.0を既定で「無効」にしているはずである。

 ただし、NetBIOSはSMB以外でも使われているため、SMB 1.0を禁止するだけでNetBIOSの機能が全て無効になるわけではない。NetBIOSの機能を完全に無効にすることもできるのだが、どんな影響が出るか分からないのでここでは触れない。どうしても設定したい方はご自身で手順を検索してほしい。

 ちなみにWindowsで15文字を超えるコンピュータ名を付けると警告が表示される(画面2)。これは“NetBIOSのコンピュータ名が15文字以内”という制限があるからだ。通常はコンピュータ名とNetBIOSコンピュータ名は一致するが、15文字を超えるとNetBIOSコンピュータ名は先頭の15文字だけを使い、残りは切り捨てる。

ALT 画面2 15文字を超えるコンピュータ名

NetWareとLAN Manager

 MS-NETWORKSよりも若干早く登場したファイルサーバ製品が「NetWare」である。最初のバージョンが1983年というからMS-DOS 3.0より前である。MS-DOS 3.0より前は、複数のユーザーが同時にアクセスしたときの制御機能を持たなかったのでサーバとして使うことは難しい。そこでNetWareは独自のサーバを実装し、MS-DOSはクライアントとしてのみ使用した。

 NetWareはネットワークサーバ機能のみを持つため「NOS」(Network OS)とも呼ばれた。ただし、サーバ上で複数のプログラムを同時実行することは可能で、ファイルとプリンタ共有の他、一種のデータベースサーバ機能も提供された。また、とにかく高速で「ローカルディスクより速い」などと言われることもあった。

 NetWareが使っていたプロトコルはIPX/SPXで、これはXerox社の「XNS」(Xerox Network Systems)から派生したものである。ルーティング機能を持ち、世界規模のネットワークにも対応する。ネットワークアドレスは16進数で記載することになっていたが、20階にあるネットワークを「20F」とか、カフェテリアを「CAFE」、普段使っていない領域を「DEAD」のようにこじつける人も多かった。

 NetWareは「NE 2000」という(当時としては)安価なネットワークインタフェースカードも発売し、LANの普及に大きく貢献した(はずだが、肝心の価格を覚えていない)。

 NetWareの全盛期は1990年代前半で、筆者の勤務先で実施していた教育コースにも多くのお客さまに来ていただいた。

 NetWareよりも後で登場したMS-NETWORKSだが、機能的にも性能的にもNetWareには全く及ばなかった。そこで、MicrosoftはNetWare対抗製品として「LAN Manager」を提供した。これはMicrosoftとIBMが共同開発したマルチタスクOS「OS/2」上で動作したが、UNIX版LAN Managerも存在した。さらに、UNIX版LAN ManagerはDECのOS「OpenVMS」にも移植されている(筆者はこれを使ったことがある)。汎用(はんよう)OSで動作するためサーバの使い勝手は良かったが、性能的にはNetWareの方が優秀だったようだ。

 一方のNetWareはサーバ上で可能な操作は最小限で、基本的にはクライアントにツールをインストールして管理するのだが、どちらにしても非常に面倒で、決して使いやすくはなかった記憶がある。もっとも、使いやすいかどうかは主観なので、使いやすいと思っていた人もいたかもしれない。

その後のNetWareとLAN Manager

 一世を風靡(ふうび)したNetWareだが、Windows NT登場後は徐々に人気が衰えてきた。Windows NTはサーバでありながらGUI(グラフィカルユーザーインタフェース)ベースのシステムであり、使い勝手は良かった。初期バージョンでは性能上の問題もあったが、数年のうちに大きく改善した。また、ファイルとプリンタ共有以外にもデーベースサーバやWebサーバなどのサーバソフトウェアも充実してきた。

 一方のNetWareは大きな機能拡張もなく、サーバアプリケーションも少なかった。ファイルサーバとしては相変わらず高性能だったが、ハードウェアの性能が向上したため、利用者にはその差が分かりにくくなってきた。

 そこで、NetWareは単純なファイルサーバの他、「ディレクトリサービス」を提供するようになった。これが「NDS」(「NetWare Directory Services」から後に「Novell Directory Services」に改名)である。ディレクトリサービスとは、ユーザーやコンピュータなど、さまざまな情報を登録し、必要に応じて検索できるサービスである。Windows NTはディレクトリサービスの機能が弱かったため、NDSは高く評価された。

 しかし、Windows NTの後継であるWindows 2000で「Active Directoryドメインサービス」(AD DS)が導入され、NDSに対抗できるようになった。無料で(正確にはWindows 2000 Serverのライセンスに含まれる形で)提供されるActive Directoryと有償のNDSでは、多少の機能差があってもActive Directoryを選ぶ人が多かったようだ。

 自社製のOSを持つMicrosoftに対抗するため、NovellはLinuxディストリビューションを提供していたSUSEを買収し、NDSを含めた製品群をSUSEの「SUSE Linux」に移植したが、目立った成果は得られなかったようだ。その後、NDSは「eDirectory」と名称を変更した後、NetIQに売却された。現在はopentextがeDirectoryの権利を所有している。

 一方のSUSEは紆余(うよ)曲折を経て独立企業として再出発している。SUSEが提供するLinuxディストリビューション「SUSE Linux Enterprise server」は、「Microsoft Azure」上の仮想マシンでも利用できる。

終わりに

 以上がWindowsのネットワーク機能の概略である。NetBIOSはほとんど使われなくなっているが、たまに名前が出てきて「なんだこれは?」と思っていた人も多かったのではないだろうか。本記事が参考になれば幸いである。もっとも、複雑過ぎてかえって混乱させてしまったら申し訳ない。

参考図書

及川卓也著・横山哲也他共著『Windows NT 4.0完全技術解説』(日経BP:1997年6月11日発行)

https://www.amazon.co.jp/dp/4822280128

 

Open Design No.15『Windows NTのネットワーク・プログラミング』(CQ出版:1996年8月1日発行)

第1章 Windows NTのネットワーク・プログラミング

https://www.cqpub.co.jp/hanbai/books/18/18071.htm


筆者紹介

横山 哲也(よこやま てつや)

トレノケート株式会社(旧グローバル ナレッジ ネットワーク株式会社)で、マイクロソフト認定トレーナーとしてMicrosoft AzureやWindows ServerなどのIT技術者向けトレーニングを担当。Windows Serverの全てのバージョンを経験。推しているアイドルは皆本しいね。


Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアからのお知らせ

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。