インターネットは,今から29年前の1968年に米国国防省の研究委託によってBBN社が中心となって開発したARPAnetに端を発する技術であり,当時はたかだか200台程度のコンピュータを接続するものでした。集中型のコンピュータネットワークは当時から存在していましたが,インターネットの優れているところは,集中型ではなく完全な分散形態をとっているところにあります。すなわち,ネットワークに接続されているどれか1台のコンピュータが集中的に全体を管理するのではなく,すべてのコンピュータが平等に接続されていることを前提としています。この優れた概念により,1995年末の時点で全世界で700万台のコンピュータが接続され,利用者の総数は7000万人以上,電子メールでは150ヵ国以上との通信が可能といわれています。
インターネットは主に欧米,特に米国の大学を中心として発達してきました。日本でも大学を中心として発達してきましたが,それもつい最近のことです。1995年になって大手通信系企業が国内を網羅する基幹ネットを保有し,インターネットの接続に必要なサービスを提供するプロバイダサービスを開始しました。主に,テレビや新聞のマスメディア系の企業が積極的に活用を始め,連日これらのメディアをにぎわせています。さらに,多くの企業がインターネットを使ったPRを行うとともに,個人でもプロバイダと契約し情報を入手したり,自分のホームページを持つようになっています。図1に日本のネットワーク数の変化1)を示します。1995年から特に商用(Commercial)ネットワークが増加していることがわかります。
インターネットはよくパソコン通信と比較されます。両者の違いはパソコン通信は集中型であり,インターネットは分散型であるということです。インターネットでは,完全な分散形態をとっているため,接続されている各コンピュータが独立したサーバとなりえます。インターネットが注目されているのは,特にこの機能を有しているからです。現在大手のパソコン通信のホストコンピュータもインターネットに接続され,インターネット上のサーバの1つといえます。このように,インターネットは技術的には画期的であることは間違いないのですが,社会的にみた場合あるいは当校としての利用を考えたとき,この技術が具体的にどのような変革をもたらすのかは誰にもよくわからないというのが現状です。ただし,全く新しいメディアとしての可能性を秘めている技術であるということはいえます。
ここでは,インターネット接続の概念と,当校でどのようにインターネット環境を実現しているかについて,技術的要素を交えながら解説します。
インターネット接続は,接続しようとするコンピュータ等をすべて1対1で接続させようとするものです。したがって,すべてのコンピュータを識別できなければなりません。これを実現するためにはいくつかの方法が考えられます。1つは全世界でユニークな番号を機械的に各コンピュータに割り当てる方法です。また,住所のように概念的に人間にわかりやすい方法もあります。例えば,当校の校長であれば,「JAPAN北海道小樽市銭函3丁目190番地北海道職業能力開発短期大学校校長」と記述することで,ほとんどの国から校長宛に郵便を送ることができますし,人間にとっても理解しやすい表現方法です。インターネットでは,機械的番号を割り当てる方法と,住所の概念に似た方法の両者を組み合わせた構成になっています。住所の概念に似た方法をドメインネームシステム(DNS)と呼び,これについては次項で述べます。番号で管理する方法の中で使用される番号のことをIPアドレスと呼びます。インターネットがこの両者を組み合わせたコンピュータの識別方法をとっている理由には歴史的経緯もありますが,ここではコンピュータそのものは番号で管理するほうが好ましく,一方,人間にとっては住所のような階層構造による表現のほうが好ましい,というように理解するほうがよいでしょう。
インターネットの基本的な概念は,各地に分散したLAN(Local Area Network)相互を接続するものです。インターネットでは各LAN内のコンピュータに番号を付加する場合,全くばらばらに割り当てるのではなく,各LANごとに一括した連続番号(ネットワークアドレス)を与え,各LAN内ではさらに各コンピュータに唯一の番号(ホストアドレス)を割り当てる方法がとられています。LANの規模は,数十台で構成されているものもあれば,数万台で構成されているものまで種々さまざまな形態があります。IPアドレスは全体で32bitで構成され,LANごとに一括した連番を与えるということと,各LANの規模がまちまちであることを考慮して,図2に示すように,ネットワークの規模に応じてクラスA,B,Cの3種類の形式が用意されています。実際には,他のクラスも定義されていますが,ここでは省略します。各クラスとも,最初にクラスを表す部分と,LANを識別するネットワークアドレス,およびコンピュータを識別するホストアドレスから構成されています。この32bitのIPアドレスを表現する場合,8bitごとに区切った4つの10進数で表し,区切り文字として“.”を挿入する方法が一般的に行われています。
IPアドレスの配布は世界的にはNIC(Network Information Center)が行っています。日本での配布は,JPNIC(Japan Network Information Center)がNICとの協調のもとに行っています2)。当校では,将未の拡張性を考慮し,クラスCを8個JPNICに申請し,1994年1月19日に,202.26.240.0~202.26.247.0までのネットワークアドレスが配布されています。IPアドレスそのものは,32bitで構成されているので理論的には232=約43億台のコンピュータを管理することが可能です。この数は一見多いようにも思えますが,ネットワークごとに配布しているという理由等から,現在IPアドレスが足りなくなってきています。そのため,現在入手可能なIPアドレスはクラスCのみとされています。それでもインターネットに接続するネットワークの数が増えつづけているため,近い将来IPアドレスが配布できなくなることが予想され,現在のIPアドレスを包含した形で拡張することが考えられています。
当校では,複数の実習棟あるいは実習室を単位とした8つのネットワークを構成しています。ネットワーク構成の概略を図3に示します。各ネットワークには,それぞれ異なったネットワークアドレスが割り当てられており,ブルータ(ゲートウエイ)を使って相互に接続されています。図3において,LLU-Eとはリンク中継装置と呼ばれるもので,光ケーブル用ルータ(FD)およびEthernetケーブル用ルータ(CB)が複数台搭載されています。ここでは,各ネットワークを図3に示すようにhpcnet0~hpcnet7と表すことにします。hpcnet0は3台のLLU-Eを相互に結ぶFDDI高速光LAN幹線(100Mbps)で,LLU-E以外の機器は接続されていません。hpcnet1~hpcnet7は,Ethernetケーブル(10BASE5)を使ったネットワークで各実習棟に設置されています。ワークステーション(WS)やパーソナルコンピュータ(PC)などのコンピュータは,Ethernetケーブルからトランシーバを介して接続されます。表1に,IPアドレスを取得しているWS,PCおよびネットワークプリンタ・プロッタなど(etc)のネットワークごとの台数を示します。
先にインターネットでは各端末の識別を,IPアドレスとドメインネームを組み合わせて行っていると述べました。実際に端末間でデータを送受信する際には,このIPアドレスのみを用います。例えば,hpcnet7に属する電子技術科実習棟(L棟)のIPアドレス202.26.247.100を持つパーソナルコンピュータ(PC-A)から,hpcnet3に属する情報処理集中実習棟(F棟)の202.26.242.120というアドレスを持つワークステーション(WS-B)にデータを送る場合を考えます。
PC-Aでは送信したいデータに受信側のWS-Bのアドレス202.26.242.120と自分のアドレスを付加し,ネットワークにデータを流します。このセグメント内には該当するアドレスを持ったコンピュータはありません。このセグメントに接続されているルータCB7は,自分が管理しているネットワークおよび接続されているルータの情報を表2に示すルーティングテーブルとして持っています。表2では,第1列はネットワークアドレス,第2列はネットワークに対応するルータのIPアドレス,第3列目以降はその他付帯情報を示しています。このテーブルからルー夕CB7は,PC-Aからのデータが他のネットワークへのデータであり,202.26.242.xxへのデータはIPアドレス202.26.240.252のルータFD1へ転送すればよいことを知ります(表2下線)。これに従い,ルータCB7はPC-Aからのデータを引き取り,ルータFD1に転送します。同様の情報をFD1も持っており,引き取ったデータをhpcnet3を管理するCB3へと転送します。WS-Bはセグメント内のデータを常に監視していて自分宛のデータを引き取ります。
インターネットを利用して外部にデータを送る場合も全く同様です。当校では,hpcnet3に接続されたワークステーションが,ISDN回線を使った外部との接続のためのルータ(ISDNルータ)として機能しています。このルータのルーティングテーブルを表3に示します。表3において,defaultとあるネットワークはこのテーブル中に定義されていないネットワーク,すなわちインターネットを利用した外部のネットワークのアドレスを持ったデータは,h-Siteと名づけられたゲートウエイに転送されます。h-siteは学術情報ネットワークSINETの北海道大学サイトに設置された地域接続用のゲートウエイです。
また,存在しないネットワークアドレスあるいはホストアドレスが指定されたとき,データを配送する過程で検出され,送付元のコンピュータへデータが返却されます。このとき,送付元のコンピュータには「指定されたネットワークがない」「指定されたホストがない」等の内容のメッセージが出力されます。このようにIPアドレスを中心としたデータ配送の手続をTCP/IPと呼んでいます。ちなみに,UNIXでは表2,表3のようなルーティングテーブル情報はコマンド“netstat -r”により得ることができます。
インターネットは全体として統一的にデータを配送するシステムではなく,個別のルータ,ゲートウエイ等(ATM等のデータ交換機も含む)の巨大な集合体であるとみることができます。ネットワーク全体を管理するサーバがあるわけでなく,この意味で分散型のネットワークと呼ばれます。また,このような構成にすることによって,ネットワークあるいはコンピュータをインターネットに接続する際の拡張性がきわめて高いネットワークを実現しています。
前項で述べたように,実際にデータを配送するためにはIPアドレスを使用します。IPアドレスそのものは単なる番号であるため,人間にとっては必ずしも理解しやすいとはいえません。そこで,郵便で用いられている住所のような概念を導入したのがドメインネームシステム(DNS)と呼ばれるものです。DNSは,大きなドメイン(領域)を定義し,さらにそのドメインをより小さなドメインに分割していき,最終的に各コンピュータレベルを特定します。例えば,当校のあるパーソナルコンピュータは,“pasokon.hokkaido-pc.ac.jp.”と表記されます。この表記方法では,最右端が最も大きな領域を示し,左方向にいくほど小さな領域を示します。最左端の“pasokon”はコンピュータのホスト名を表します。また,一番右の“.”はルートドメインと呼ばれ,インターネットにおいて全世界でのトップドメインを示します。実際に電子メールなどを利用するときはルートドメインを省略できます。したがって,DNSは図4のような階層構造をとっていて,これはコンピュータのファイル管理でのディレクトリあるいはフォルダの概念と同様のものです。
ルートドメインの直下には基本的に国別に割り当てられたサブドメインが存在します。このうち日本に割り当てられたドメイン名は“jp”です。いくつかの国のドメイン名を表4に示します。また,日本のドメイン(jp)直下のサブドメインを表5に示します。サブドメインを定義する権限はそのドメインに委ねられており,表5に示したサブドメインおよびそれらのサブドメイン直下のドメインは,IPアドレスと同様にJPNICが管理しています。当校では,すでにドメインを割り当てられていたポリテクカレッジと同様に,ドメイン名を“hokkaido-pc”としてJPNICに申請し,1995年4月14日に割り当て通知が来ています。また,現在当校の配下にはサブドメインが存在しませんが,各系あるいは各科ごとにサブドメインを定義することなどを将来的に考慮する必要があるでしょう。なお,JPNICでは,1996年10月1日にネットワークサービスに対する新しいサブドメインとして“ne”を新設することをアナウンスしています。また,ドメイン名に都道府県名や市町村名を用いる地域ドメインが1994年1月に導入されています2)。
ドメイン割り当ての唯一の例外はUSAです。インターネットが発達した歴史的背景によって,USAには国別に割り当てられたドメイン名が存在せず,ルートドメインの直下に組織の属性を表すサブドメインが定義されています。
ドメインネームからIPアドレスへの変換はネームサーバと呼ばれるコンピュータが行います。ネームサーバは各ドメインに最低1台(推奨は2台)設置します。ドメイン自体が階層構造になっていますので,必然的にすべてのネームサーバは,自ドメイン内に存在するコンピュータのIPアドレスとサブドメインに関する情報を持っています。そして,各ドメイン内で未知のDNS表記のアドレスが入力されたとき,ネームサーバはこの階層構造を利用して該当コンピュータのIPアドレスを入手します。また,各ネームサーバは設置当初は少なくともルートドメインネームサーバのIPアドレスの情報を保有しており,検索した情報を蓄積する機能を持っています。DNSが動作する具体例を次に示します。
例えば,当校のあるパーソナルコンピュータ“pasokon”から,雇用促進事業団のホームページ3)があるWWWサーバ“www.infoweb.or.jp”に接続する場合を考えます。“pasokon”は“www.infoweb.or.jp”のIPアドレスを通常は知りませんので,当校のネームサーバBに問い合せをします(図5の①)。このネームサーバBも設置当初は“www.infoweb.or.jp”のIPアドレスを知りませんので,ルートドメインネームサーバCに問い合せをします(②)。ルートドメインネームサーバC自身のこのIPアドレスを知りません。しかし,ドメイン“jp”を管理しているネームサーバDのIPアドレスを知っているので,この情報を当校のネームサーバBに返します(③)。これを受けてネームサーバBはネームサーバDに“www.infoweb.or.jp”のIPアドレスを問い合わせます(④)。ネームサーバDも当初はこの問い合わせに答えられませんが,“or.jp”を管理しているネームサーバEのIPアドレスがわかりますので,これをネームサーバBに返します(⑤)。このようなことを繰り返し,ネームサーバBはネームサーバFから“www.infoweb.or.jp”のIPアドレスの情報を受け取ります(⑨)。ネームサーバBはこの時点で必要なIPアドレスの情報を手に入れたので,問い合わせ元の“pasokon”にこの情報を返します(⑩)。その後,“pasokon”はIPアドレスを利用してホームページへ接続します(⑪)。
このようにしてDNS表記とIPアドレスを変換していきます。各ネームサーバは問い合わせをする過程で情報を蓄積していきますので,常に上記のように世界中を駆け巡って問い合わせをするわけではありません。例えば一度,あるホームページに接続した直後に,別のコンピュータから同じホームページに接続した場合,当校のネームサーバBは上位のネームサーバに問い合わせることなく,そのコンピュータにIPアドレスを返します。
上記の例でわかるように最終的なユーザデータの転送は,各コンピュータ間で直接行われ,ネームサーバはこれに関与しません。また,DNSドメイン空間とIPアドレス空間は概念的に独立しており,IPアドレスにおけるネットワークとDNSにおけるドメインは必ずしも一致する必要がありません。
各ドメインには最低1台のネームサーバを設置します。JPNICではネームサーバを2台あるいは3台設置することになっていて,そのホスト名およびIPアドレスを登録します。1台は通常機能しているもので,プライマリネームサーバと呼ばれます。2台目,3台目は主にプライマリがダウンしたときのバックアップ用で,セカンダリネームサーバと呼びます。JPNICでは,該当ドメイン外に設置することを許容しています。当校では,2台のネームサーバをドメイン“hokkaido-pc.ac.jp”内に設置しています。また,2台とも同一のネットワークhpcnet3に接続されています。プライマリネームサーバが接統されているネットワークがダウンしても,セカンダリネームサーバが別のネットワークに接続されていれば校内のDNSのすべてがダウンすることがないため,信頼性の観点から2台を別のネットワークに設置することが好ましいといえます。
UNIX上でネームサーバ機能を実現する一連のソフトウェアの1つにBIND(Barkeley Internet Name Domain)と呼ばれるものがあります。当校の2台のネームサーバもこのBINDを利用しています。BINDではネームサーバ本体はデーモンプロセス(システムのバックグラウンドで動作する)として動作し,当校のプライマリネームサーバのOS(Solaris2.1)では“in.named”という名称です。
ネームサーバは,起動時に/etc/named.bootというファイルを読み込みます。このファイルを表6に示します。表6の第2行目にドメイン“hokkaido-pc”のプライマリネームサーバとして動作し,DNS表記アドレスとIPアドレスの対応表を/etc/ns/hokkaido-pc.zoneというファイルに格納していることを記述しています。また,最終行にはルートドメインのネームサーバに関する情報が/etc/ns/root.cacheというファイルに格納されていることが示されています。ネームサーバには,IPアドレスからDNS表記アドレスへの変換を行う機能(逆引き機能)も有しており,これに関する情報が第4行目,第5行目に記述してあります。ファイル/etc/ns/hokkaido-pc.zoneおよび/etc/ns/root.cacheの内容をそれぞれ表7,8に示します。
表7に示す/etc/ns/hokkaido-pc.zoneでは,最初の数行で上位ネームサーバに問い合わせをするときの条件等が定義されています。次にプライマリネームサーバおよびセカンダリネームサーバのホスト名,続いてホスト名に対するIPアドレスの変換表を定義します。最終行では,ホスト名を含まないメールが届いたときに,どのホストがそのメールを受け取るかを指定します。当校では,学内メールサーバを指定しています。表8からわかるように現在当校ではhpcnet3(F棟の一部)とhpcnet4(情報処理科,情報技術科)に接続されている一部のコンピュータに制限しています。このファイルに記載されているコンピュータと記載されていないコンピュータとの機能上の違いは,前者が外部からのDNS表記アドレスを用いて直接アクセスできるのに対して,後者はそれができないということです。外部から直接アクセスできる場合,そのコンピュータではWWWサーバ機能を動作させ外部から利用できる,あるいは電子メールのサーバとしてメールを受信できるといったことが可能となります。しかし,外部へのアクセスは両者で大きな違いはありません。
表8に示すファイル/etc/ns/root.cacheにはルートドメインネームサーバに関する情報が記載されています。表8には合計5個のルートサーバが記述されています。これらはすべて日本に設置されたものです。当初ルートサーバはすべてUSAに設置されていましたが,負荷が増したために近年世界各地にルートサーバを分散させました。したがって,図5の②,③は現在ドメイン“jp”に設置されているネームサーバが代行しています。
セカンダリネームサーバにも同様の設定がなされています。ただし,プライマリネームサーバと異なるのは,表7のような変換表を自分では持たず,プライマリサーバから一定間隔でデータを参照するように設定されていることです。セカンダリネームサーバは通常機能していませんが,プライマリに障害が発生したとき,あるいはダウンしたときにセカンダリネームサーバが代わって機能するようになっています。
前項で説明したようにネームサーバはDNS表記アドレスが質問事項であるとすると,IPアドレスという答えを出します。このとき質問を発する機能をリゾルバと呼びます。UNIXでは,/etc/resolv.confというファイルに同一ドメイン内に設置されているネームサーバを記述することにより,リゾルバの機能が働きます。このファイルの例を表9に示します。表9において,最初の行ではそのコンピュータが属しているドメイン名を記述しています。第2,3行ではそれぞれプライマリおよびセカンダリのネームサーバのIPアドレスを記述しています。ほとんどのコンピュータでは,このようなファイルを設置することによってリゾルバ機能が働き,未知のDNS表記アドレスが入力されたとき自動的に指定したネームサーバに問い合わせを行います。パーソナルコンピュータのTCP/IPソフトでもこの機能があり,ファイル名称も同一のものが多いようです。
当校のインターネット環境の整備は,電子計算機運営委員会のもと電子計算機維持管理部会が中心となって行ってきました。現在の電子計算機システムを導入したとき同時に学内のLANの整備も行いましたが,インターネットへの接続を十分に想定したものではありませんでした。そのため,インターネット環境がスタートした当初,ルータの機能の関係から学内の一部のネットワーク上のコンピュータからしかインターネットを利用できませんでした。この問題は現在解決し,校内のどのネットワークからもインターネット接続ができます。また,ネームサーバ,メールサーバやISDNルータといったコンピュータが1つのネットワークに集中しているため,一部のホストの障害が学内のネットワーク全体に影響を及ぼす恐れがあります。今後,各サーバを別のネットワークに分散させるなどの対策をとることが必要となるかもしれません。いずれにしても,ネットワークの構成は,一度設定すると後で変更することは困難です。接続するコンピュータの台数,サーバの配置等を十分に検討することが重要です。
当校が加入している基幹ネットワークは学術情報ネットワーク(SINET)です。このネットワーク組織は,学術研究およびそのための管理業務以外の使用を禁じています。したがって,厳密に解釈すれば,息抜きにWWWを使って自分の趣味のホームページを見たり,インターネットをプライベートな目的で利用することはできません。また,地域産業へのインターネットの切り口の提供,インターネットを利用した教育訓練,セミナーの開催なども微妙な問題を含んでいると思われます。この問題を解決する方法として,自前の基幹ネットワークを設置したり,このような制限のない商用ネットワークに加入することなどが考えられます。
インターネットは現在急速に普及し,家庭用テレビにインターネット機能を有するものも発売されています。電話のように各家庭に普及するのも時間の問題かもしれません。しかしながら,技術的なレベルで何ができるかははっきりしていますが,その技術を使って社会的なレベルで何ができるかはよくわかっていないのが現状のようです。今後,インターネットをどのように活用していくかについて議論を進めていくことが必要であり,有効に利用されていくことを期待します。