IT・ビジネススキル・人材育成の情報を掲載 | 人材育成のトレノケート【公式ブログ】

「Windows温故知新」第11回 Windows NT 3.5~ネットワーク機能の強化~

このシリーズでは、Windowsの歴史を通して、現在の技術を再確認していきます。元々は「アットマークIT」で連載していた「Windows温故知新」という記事でしたが、担当者の異動に伴い第7回で終了となったため、弊社ブログにて続きを掲載します。
第1回から第7回の紹介はこちら
第8回から第10回も弊社ブログで掲載しています。

大きな注目を浴びたWindows NT 3.1ですが、性能的にも機能的にも不十分な面がありました。完成の域に達したのは、翌年に登場したWindows NT 3.5からです。特にネットワーク関連の機能強化と性能向上が評価されました。

目次

製品構成

前回紹介したように、Windows NT 3.1には、以下の2つの製品がありました。

  • Windows NT 3.1…一般サーバー用
  • Windows NT 3.1 Advanced Server…ドメインコントローラー用

「ドメインコントローラー」は、ネットワークワイドなユーザー管理システム「NTドメイン(ドメイン)」を管理するサーバーです。その他の目的にも使うことはできますが、推奨はされません。Windows NT 3.1がクライアントで、Windows NT 3.1 Advanced Serverがサーバーだと思っている方も多いようですが、どちらもサーバーです。

これに対して、Windows NT 3.5からは以下の製品ラインアップになりました。現在まで続くサーバー製品とクライアント製品の分離です。

  • Windows NT 3.5 Server
  • Windows NT 3.5 Workstation

名称から分かるとおり「Server」がサーバー、「Workstation」がワークステーションつまりクライアントです。Windows NT 3.5 Serverはインストール時に一般サーバーかドメインコントローラーかを指定します。インストール後に役割を変更することはできません。

Windows NT 3.5 Workstationは、試用版として最終ベータ版(プレビュー版)が月刊「Windows NT World」誌の付録になりました(他の雑誌でも提供されたかどうかは記憶していません)。CDを見ると、開発コード名「Daytona」の大きな文字が目立ちます。

 

写真1: Windows NT 3.5 Workstation試用版

TCP/IPその他のネットワーク機能強化

Windows NT 3.5では、性能のチューニングが進み、全体に高速になりました。発売されたのはWindows NT 3.1の翌年ですが、3.1から3.5までバージョン番号が飛んでいることから想像できるように、多くの拡張機能が実装されています。

特に重視されたのが、TCP/IPを中心としたネットワーク機能の強化です。Windows NT 3.1で採用していた汎用サービスSTREAMSは廃止され、TCP/IPをカーネル部に組み込むことで、速度が大幅に向上しました。

また、以下を含め多くのTCP/IPサービスが追加されています。

  • DNS(Domain Name System)…TCP/IPホスト名をIPアドレスに変換するサービス
  • WINS(Windows Internet Name Service)…NetBIOS名をIPアドレスに変換するサービスで、DNSのNetBIOS版のようなもの
  • DHCP…TCP/IPパラメーターを自動配付するサービス
  • PPP(Point-to-Point Protocol)接続…TCP/IPやIPX/SPXなどのダイヤルアップ接続の標準

MS-DOS由来の「NetBIOSアプリケーション」と、UNIX TCP/IP由来の「ソケットアプリケーション」は、現在に至るまで別物ですが、NetBIOSアプリケーションがNetBIOS名解決に失敗したらホスト名検索に切り替え、逆にソケットアプリケーションがDNS名解決に失敗したらNetBIOS名前解決に切り替える機能が提供されました(この機能はWindows NT 4.0からだと思っていたのですが、改めて調べたらサポート技術情報Q142309/KB142309に3.5からと記載されていました)。正確な検索順序は図1の通りです(用語の説明は省略します)。

 

図1: 名前解決


その他、PPP(Point-to-Pointプロトコル)が使えるようになり、ダイヤルアップ接続も容易になりました。Windows NT 3.1でも電話回線を使った接続は可能でしたが、独自プロトコルでした。

IPルーティング機能についても限定的なサポートがありました。検索すると「LAN間ルーティングはサポートしない」とあるのですが(サポート技術情報Q121877/KB121877)、実際には以下の手順で中継ができたと記憶しています。
(1)ネットワークインターフェースでルーティング機能を有効化
(2)routeコマンドで静的ルートを構成

Windows NT TCP/IPネットワーキング

当時「Windows NT 3.1 TCP/IPネットワーキング」という研修では、3本のネットワークが必要でした。すべてのネットワークが相互に通信するには教室内にルーターが必要です。1台でも構成できるのですが、NICの3枚構成ができなかったので、UNIXマシンを2台配置する必要がありました。

 

図2: 「Windows NT TCP/IPネットワーキング」コースの構成

今と違って仮想化技術は普及していませんから、毎回UNIXマシンのセットアップをするのはとても面倒です。そこで、必要な設定を済ませたDEC製の小型マシンを確保して、他の用途には使わないようにしました。小型とは言え、結構高価なマシンなので贅沢な話です。

これがWindows NT 3.5からはWindows NT Serverだけで構成できるようになって、ずいぶんと手間が省けました…と言いたいところですが専用マシンがなくなったため、毎回以下の作業が発生し、かえって面倒になったのでした。

  1. 4台のPCを確保して、ケースを開く
  2. 2台のPCからネットワークインターフェースカード(NIC)を抜く
  3. 抜いたNICを残り2台のPCに増設
  4. 既存のNICと競合しないようにDIPスイッチ(NIC上の小型スイッチ)で設定を変更
  5. OSをインストールしてルーティングを構成

図3: ルーターの構成手順

当時は、拡張インターフェースカードを増設した場合、そのカード固有の番号(IRQ: Interrupt Request: 割り込み要求)番号を手動で設定する必要がありました。IRQ番号は0から15まで利用できるのですが、システムが内部で使えるものも多くあり、実際に使えるのはわずかでした。現在もIRQ自体は利用しているのですが、設定は完全に自動化され、利用者が意識する必要はありません。

ちなみに、Linuxは存在しましたが、まだ実験的な段階であり、一般に普及するのはもう少し先です。

「Windows NT TCP/IPネットワーキング」コースはその後も提供されたのですが、いつの頃からかルーティングの演習がなくなりました。ルーティングはWindows Serverではなくネットワーク機器に任せようということになったのかもしれません。また、現在はネットワークに特化した研修は、マイクロソフトからは提供されていません。Windows固有の機能はほとんどなくなったからでしょう。

UNIX

Windows NT登場以前、ハードウェアベンダーに依存しないOSで信頼できる製品は、実質的にUNIXだけでした。しかし、UNIXは過去の経緯から多くの会社が独自に拡張しており、「標準」と呼べるものはありません。標準化を進める動きもありましたが、以下のとおり互換性が不十分だったり、賛同者が二分したり、大きな効果は得られませんでした。以下の3つが1988年の1年間で起きたわけですから、混乱も想像できるでしょう(図2)。

  • POSIX(Portable Operating System Interface)…IEEE(米国の電気電子学会)が主導(アプリケーションの互換性確保が目的で、OSの互換性までは求めていない)
  • OSF(Open Software Foundation)…IBM、HP、DECなどによる業界団体
  • UI(UNIX International)…AT&TやSun Microsystems(現Oracle)が主導する業界団体

図4:UNIXの標準化UNIXはもともとAT&Tベル研究所で開発されました。しかし、当時のAT&Tは独占禁止法の制約で電話事業以外の参入が禁止されていたため、大学などの研究機関に極めて安価に提供され、独自に発展します。特にカリフォルニア大学バークレイ校で開発されたBSD(Berkeley Software Distribution)は評判が高く、多くの企業でも採用されていました。OSFはこのBSDを推した一方で、UIはAT&T本家のUNIXを拡張する形で進めようとしていたのが、超ざっくりした背景です。

OSFにはIBM、HP、DECといった大手企業が参加したためか、UIよりも多くの企業が参加しました。しかし、UIには本家AT&Tの他、当時のUNIXリーディングカンパニーだったSun Microsystemsが参加しているという優位点がありました。Sun MicrosystemsはもともとBSD UNIXを採用していたため、UI陣営に参加することでBSDの機能を取り込むだろうという期待もありました(実際、System Vはその後大幅に強化されました)。このように、どちらの陣営にも大きな存在感を持つ企業が含まれていたため、調整は難航し、足並みはそろいません。結果としてUNIXの標準化はなかなか実現せず、そのうちにLinuxが台頭してきます。なお、現在の商用UNIXの多くはAT&T主導で開発されたSystem Vがベースになっています。

そんな中で、Windows NTを警戒したのか偶然なのか、1993年にNetWareを提供するNovellが、AT&TからUNIXのライセンスを取得しました(過去の契約があるので、既存のUNIXベンダーには影響しない)。1993年はWindows NT 3.1が出た年ですが、それ以前からIBM OS/2がサーバー分野を狙っていることや、マイクロソフトがサーバーOSの独自開発に乗り出したことは広く知られていたはずです。そこで、対抗製品として汎用サーバーであるUNIXに目を付けたのでしょう。

1993年の時点でNetWare 3.xの売り上げは好調でしたが、ファイルサーバーとしての利用が中心であり、アプリケーションサーバーとしての存在感は大きくありませんでした。一方、Windows NTは標準でファイルサーバー機能を持つ上、その他のサーバーアプリケーションが登場することが予想されました。実際、社内用電子メールサーバー「Microsoft Mail」や、Sybase社の技術をもとにマイクロソフトとSybaseが共同開発したデータベースサーバー「SQL Server」などがすぐに利用できました。アプリケーションを多く持たないNovellは危機感があったことでしょう。

並行して従来のNetWare製品も、独自プロトコルであるIPX/SPXからTCP/IPへの移行を進めることになりました。また、ファイルサーバー中心の製品構成から、ディレクトリサービス(ネットワーク上のユーザーやコンピューターのさまざまな情報を集中管理するシステム)に移行を行ないます。しかし、技術的な評価は高かったものの、結局ディレクトリサービスで大きな成功は収められませんでした。

Linuxの台頭

1991年ヘルシンキ大学の学生だったリーナス・トーバルズがUNIX風のOSを発表、のちにLinuxと名付けられます。その後、多くの開発者を巻き込み、1993年に最初の「Linuxディストリビューション」として「Slackware」が登場しました。「Linuxディストリビューション」とは、OS本体(狭義のLinux)に、さまざまなコマンドやツールをパッケージにまとめたものです。これはWindows NT 3.1と同じ年です。

もとは学生が余暇で作ったソフトウェアですから、最初は「おもちゃ」とか「趣味」などと言われていました(実際に最初は趣味だったのですが)。それが、多くの人や企業の努力の結果、現在ではWindows Serverと並ぶOSになりました。そういえば、Windows NTも「おもちゃ」と言われていましたし、GUIが登場したときも、ニューヨークタイムズ紙に「遊ぶのにはいいが、仕事には向かない」と書かれたそうです。「遊ぶのにはいい」、つまりおもちゃですね。

Novell NetWareとWindows NT

NovellがUNIXライセンスを取得した頃は、ビジネス的にはNetWare最盛期でした。Windows NT 3.5もNetWareをサポートするために「CSNW(Client Service for NetWare)」や、「Gateway Service for NetWare」を組み込んだのは前回紹介したとおりです。

Services for MacintoshとWindows NT

Windows NT 3.5で重要なサービスが「Services for Macintosh (SFM)」で、Macintosh(mac)に対するファイル共有とプリンター共有の機能を提供しました(図3)。現在は「Macintosh」という名前はあまり使われず、単に「mac」と呼んでいるようですが、当時のことを考えてここではMacintoshで統一します。

SFMを利用するために、Windows NTではMacintosh独自のAppleTalkプロトコルが利用できました(現在のMacintoshはTCP/IPに移行済み)。ただし、AppleTalkはSFM専用で、Windowsクライアントに対するネットワークとしては使えなかったように思います。

 

図5: Services for Macintoshで実現できること

当時のApple Macintoshのファイルは特殊な構造していて、1つのファイルがデータそのものを格納する「データフォーク」と、ファイルの属性などを格納する「リソースフォーク」に内部で分かれていました。

Windows NTで利用可能なファイルシステム「NTFS」には、「代替ストリーム」という機能があり、1つのファイルに複数のデータを保存できます。Services for Macintoshではこれを利用して、データフォークを通常のファイル内容に保存し、リソースフォークを代替ストリームに保存することで、Macintoshから見てもWindowsから見ても1つのファイルに見えるようにしました(図5)。

 

図6: データフォークとリソースフォーク

このサービスはMacintoshユーザーには評判が良かったのですが、ファイル名に使える文字がMacintoshとWindowsで異なるため、Macintoshで作ったファイルがWindowsからアクセスできないというトラブルもあったようです。

もっとも、現在のmacOSはデータフォークとリソースフォークを別のファイルに保存して、2つセットで管理するそうです。あの苦労は何だったのか、という気もします。また、せっかく用意したNTFSデータストリームも「ウイルスの潜伏先に使われる可能性がある」として嫌われているようです。

Windows NT 3.51

Windows NT 3.5発売された翌年(1995年)に登場したのがWindows NT 3.51です。バージョン番号から推察されるように、あまり大きな変化はありませんが、追加ソフトウェアとしてWebサーバー「IIS(Internet Information Services)」が提供されるなど、重要な変化もありました。

また、Windows 95との互換機能も追加されました。当初は、Windows 95と同様のユーザーインターフェース、つまり「スタート」メニューがつくかと思われたのですが、実際にはWindows 3.1以来のスタイルと変わりませんでした。

変わったのはAPIがWindows 95互換になったことです。アプリケーションがWindowsの機能を呼び出す仕組み(API)が共通化されることで、Windows 95アプリケーションがWindows NTで動作する可能性が高まりました。Windows NT 3.51 Workstationはあったものの、一般利用者が使うクライアントは依然としてWindows 95です。そのため、このAPI互換性には大きな意味があったと言えるでしょう。

その他、IBM PowerPCベースのPCをサポートするようになりました。Windows NT以来のx86(インテルi386互換CPU)、MIPS、DEC Alphaに加えて4番目のサポートCPUです。

ちょうどその頃はApple MacintoshがPowerPCを採用していた頃なので、「MacintoshでWindows NTが動作する」と思った人もいたようですが、そうではありません。Windows NTがサポートしたのはPReP(PowerPC Reference Platform)またはCHRP(Common Hardware Reference Platform)規格に準拠したPCであり、Macintoshはこれらに準拠していません。

Macintoshの思想は一貫しており、「ハードウェアを変更しても、ユーザーの使い勝手は変更しない」という強い意志が感じられます。近年はだいぶ変わっているようですが、Appleとしては操作体系のまったく違うWindows NTをMacintoshで動作させるという発想はなかったことでしょう。

PowerPCのサポートはWindows NT 4.0まで継続しますが、Windows 2000ではDEC AlphaやMIPSとともにサポート対象外となりました。

終わりに

今回はマイクロソフトのサーバーOSの完成形「Windows NT 3.5」について取り上げました。次回は本格的な導入が進んだWindows NT 4.0について扱います。

参考文献

「Windows NT 4.0完全技術解説」日経BP
及川卓也(著)・横山哲也他(共著)

主な出来事

1980年 XENIX
1983年 NetWare 1.0
1984年 Macintosh発売
1984年 マイクロソフトXENIXを手放す
1984年 MS-DOS 3.0ネットワーク機能追加
1985年 MS NETWORKS
1985年 Windows 1.0
1987年 OS/2およびLAN Manager
1988年 UNIX標準化の動き(IEEE、OSF、UI)
1991年 インターネット商用化解禁(米国)
1991年 Linuxの初期版公開
1992年 NetWare 3.11J
1992年 Windows 3.1 (日本語版は1993年)
1993年 Linux最初のディストリビューションSlackware公開
1993年 インターネット商用化解禁(日本)
1993年 Novell UNIXのライセンス取得
1993年 トレノケートの母体となった「日本DEC教育部」マイクロソフト認定教育コース提供開始
1993年 Windows NT 3.1
1994年 Windows NT 3.5
1994年 NetWare 3.12J
1995年 Windows NT 3.51、IBM OS/2 Warp 3
1996年 Windows NT 4.0、IBM OS/2 Warp 4
1996年 Microsoft Proxy Server 1.0
1994年 マイクロソフトOS/2から撤退
2002年 OS/2開発終了(IBM)
2006年 OS/2サポート終了(IBM)

Microsoft認定トレーニングならトレノケート

トレノケートは、2002年にMicrosoft社のラーニングソリューション分野において、日本で初めてゴールドパートナーに認定されました。現在はTraining Services Partner (TSP)として、幅広い分野で多数の最新コースラインアップを提供し続けています。