特集ネットワークの基礎知識② 表 3 すべての文字列を含む 表 4 いすれかの文字列を含む A ltaVist a Excite Google Lycos MSN サーチ g00 Search Assistant ページてオ日疋 または十演算子を使用 デフォルト デフォルト デフォルト デフォルト デフォルト Alt aVista Excite Google Lycos MSN サー g00 チ デフォルト 言紲甲演算子 ( 後 ) を使用 検索オプション または論理式 スーパーサーチ または言甲式 条件験索→高度な Web 検素 または論理式 ページ本館き設定→詳しく検索 →さらに詳しく検索 演算子を用いた検索 44 AltaVista では、もともと検索条件を詳細に指定して使 とはやや動作が違うので戸惑うかもしれません。しかし、 初めて AltaVista を使った人は、ほかの検索エンジン の文字列を含むべージを検索対象にします。 ションを使用す川ま、はかの検索エンジンと同様にすべて 指定するか、彳刻の、、単語を含む (include term)" オプ で、、、すべての文字列を含む (match all term)" 検索を の本索がデフォルトです。、、 Search Assistant" のページ これに対し、 AltaVista では、、いずれかを含む " ページ トの重川になっています。 ジンでは、すべての文字列を含むべージの検索がデフォル ほしいと考えるようです。そのためか、大部分の検索エン 件としてケえた場合、そのすべてを含むべージを表示して なっています。多くのユーサーは、複数の文字列を検索条 フォルトですべての文字列を含むべージを検索するように をすべて含むべージを検索します。 AItaVista 以外は、デ 検索条件として・与えられた、空白文字で区切られた単語 すべての文字列を含む ドをどう扱うかを指定することができます。 す。演算子 (Math Command) を利用すると、キーワー は、各検索エンジンのデフォルトの設定によって異なりま 索するか、それとも、いずれかを含むサイトを検索するか 索することができます。すべての文字列を含むサイトを検 るいは、、いすれかの文字列を含む " サイト ( ページ ) を検 切って追加していくことで、、すべての文字列を含む " 、あ ーヨ勺な検索では、文字列を空白文字 ( スペース ) で区 形式、そして、その扱い方をま早することか重要です。 めには、各検索エンジンで用いられている検索条脅 ) 表現 それを上手に言当するガ去を知る必喫があります。そのた るかぎり正確に表現する検索条件の指定方法をよく考え、 検索エンジンを使いこなすには、探している情報をでき 用する、現在の、、 Advanced Search" の機能力鰾準のイ ンターフェイスでした。そのため、 AltaVista をしばら く使ってい川ま、いすれ違和感を感しなくなるでしよう。 いずれかの文字列を含む 空白文字で区切られた複数の文字列のうち、、、いすれか を含む (match any term)' ページを検索します。 Alta- Vista は、デフォルトでこの設定になっています。その他 の 5 つの検索エンジンでは、デフォルトで、、すべての文字 列を含む " ページを対象とした検索になります。、、いすれ かを含む " ページの検索をおこなうには、、、検索オプショ ン " などのページを利用するか、彳あの論理式 (boolean) コマンドを使用する必要があります。 フレーズ 固の単語をまとめて 1 つのキーワードにします。たと えば、キーワードを「スイカイチゴ」と指定した場合、検 索エンジンにもよりますが、通常は「スイカ」と「イチゴ」 という単言韶 ) 両方もしくはいすれかを含むべージがヒット します。このとき、「スイカ」と「イチゴ」のあいだに何が あろうと ( 全角の空白文字や別の単語があっても ) ヒット してしまいます。たとえば、「スイカを食べたが、イチゴ は残した」という文章が含まれるべージもヒットします。 フレース、検索とは、「スイカイチゴ」という、、文 " ( 「ス イカ」と「イチゴ」のあいだに半角の空白文字が 1 つだけ ある ) を含むべージを探す機能です。キーワード窈旨定方 法は今回とりあげたすべての検索エンジンに共通で、 " スイカイチゴ " UNIX MAGAZINE 2001.12 のように、半角の二重引用符で囲みます。
収集した 1 辭長の検索機能 正確な数字は分かりませんが、インターネット上には 数千万の WWW サイトがあり、おそらく何イ意もの Web ページが公開されているのではないでしようか。この膨大 な数の Web ページを対象とした有用な検索サービスを提 供するには、アクセス可能な web ページを効率よく収集 する冓が必喫です。インターネット上のすべての web ページを去可間で収集するのは、もはや量的に不可能でし よう。定期的に収集作業を続けるにしても、実装されてい るイ対椒こよっては、新たに j 助日された web ページがなか なか収集の対象にならないような事態も発生します。ある いは、せつかく Web ページを集めても、オリジナルの Web ページか史新されたために情報が旧くなるといった 場合もあります。このため、各種の検索エンジンでは、効 率がよく、かっ可能なかぎり新しい Web ページを反映す る収集機溝を開発し、不力させています。もちろん、これ らのオ対冓は検索エンジンごとに異なるので、検索結果にも おのすと違いが生じます。 もう 1 つの重要な機能が、、検索 " です。ューザーカ丐 えたキーワードまたは検索条件にもとづき、検索エンジン に集められた Web ページを対象として全文検索を実行し ます。おそらく、多くの場合には複数の検索結果 (Web ページ ) カ等られるはずです。そこで、ユーサーが与えた 条件にもっとも合っていると思われるものから、順番を付 けて表示します。この処理も検索エンジンごとに実装ガ去 が異なるため、全文検索の精度、合致度の判定に差が生じ ます。とくに違いが目立つのは、全文検索の対象がどのよ うに制限されているのか、高速な検索のためのインデック スの作成ガ去、 HTML の META タグに記述されたキー ワードの扱いなどでしよう。 これらの実支術の相違により、検索エンジンごとに検 索結果にも微妙な違いか生しるわけです。また、本館き結果 の処理ガ去にも、それぞれの検索エンジンの特色が反映さ れています。したがって、もつばら 1 つの検索エンジン を利用するのではなく、複数のタイプの異なる検索エンジ ンを利用する姿勢も大切です。まったく同し条件で検索し ても、ある検索エンジンではみつからなかった Web ペー ジが、はかの検索エンジンではみつかるということもあり ます。 UNIX MAGAZINE 2001.12 現在はかなりの数の検索エンジンがあり、そのすべてを 紹介することはできません。そこで、代表的と思われる以 下のサイトについて調べてみました。 ・ AltaVista http://www.altavista.com/ ( 英語 ) ( 各国語版があるが、日本語サイトはない ) インターネット上の Web ページを対象とした検索サー ビスの草分けともいえるサイト。もともと、 DEC ( 現 Compaq) の研究所によって始められた研究プロジェ クトから生まれた。 ・ Excite http://www.excite.com/ ( 英語 ) http://www.excite ・ co. jp/ ( 日本語 ) ・ Google http://www.google.com/ ( 英語 ) ( 使用しているプラウザの言語に合わせて、各国言、一 ジか表示される ) http://www ・ google ・ co ・ jp/ ( 日本調 どちらかというと、後発の検索サイトとして登場した。 その最大の特徴は、過去に収集した Web ページのコ ピーを保存しており、これらのページを対象とした検索 も可能なところにある。 Lycos http://www.lycos.com/ 暎調 http://www.lycos ・ co ・ jp/ ( 日本語 ) ・ MSN サーチ http://search.msn.com/ ( 英語 ) http://search ・ msn ・ co. jp/ ( 日本調 ・ g00 http://www ・ goo ・ ne. jp/ ( 日本語 ) NTT 本影頁賀石幵究センターの多言語処理グループが、研 究プロジェクトの一環として始めた検索エンジン。そ の後、さまざまな改良カ功日えら現在では国内有数の ポータルサイトになっている。 以 E について、詳しい使い方をみていくことにします。 なお、 AItaVista 以外は基本的に日本語の検索ページに 検索エンジン活用法 ついて説明します。 43
USENIX 056 2000 在させ、バンド幅や容量の増加にうまく対応できる NFS インターフェイスを共する。 最近では LAN の性能が向上しているので、 (Fibre ChanneI などの ) 高速なネットワーク接続を利用した特 別な SAN (Storage Area Network) はもはや必要なく、 ー研兼の手法はスケーラビリティのあるネットワーク・スト レージを備えた LAN 竟で提供できる。 Slice のファイ ルサービスは複数のファイルサーバーで構成さ協調し て任意の大きさの、、イ反想ポリューム " を提供するが、クラ イアント側からは単一のファイルサーバーにみえる。クラ イアントのリクエストは、巨大なファイルに対する大容量 I/O 、小さなファイルの I/O 、名前空間やファイルの属 性に関する操作という 3 つのクラスに分けられる。これを 利用して、大容量のデータフローを管理ノードのあいだで 分散させたり、データの不頁によって特定のサーバーを利 用するようにしている。 uproxy はあらゆる I/O リクエストを処理する。小型 でシンフ。ル、かつ高速に動作するように言されている。 これまでに、 FreeBSD 用のローダフルなバケットフィル タ・モジュールとして実装されている。 vproxy は、ソー スアドレスやディスティネーション・アドレス、リクエス トや応答バケット内のその他のフィールドを書き換えるこ とができる。クライアント間では共有されないような各種 の状態尉寺するので、クライアント自体や、ネットワー ク・インターフェイス、ストレージ・サーバーの近くに 設置されたネットワーク機器などに簡単に組み込むことが できる。すべての機能はスケーラヒ、リティをもたせるため に複数用意することができるが、特定のクライアントのた めのリクエストは同し卩 pr 。 xy を経由するという制約があ る。 vproxy は、管理ノードを使うことなくリクエストを 直接ストレージアレイに送る。 ストレージノード自体が、セクタベースとは反対のオプ ジェクト・べースの手法を用いている。このため、ßProxy はサーバーの信頼陸カ球められる場所の外に置くことが可 能で、オプジェクト識別子を保護するために暗号化を利 用している。″ pr 。 xy が危険にさらされた場合でも、クラ イアントがアクセス権をもっファイルやディレクトリへ の書を限定することができる。また、 Slice はすべての vproxy か信頼できれば、セクタベースのストレージとも 互換性をもつ。冗長性は、各ストレージノードの内部でお UNIX MAGAZINE 2001.12 こなうものと、ノード間でミラーリングやストライピング を使って実現するものの 2 不頁を提供できる。これはファ イル単位で設定することが可能で、より堅固なイ矍のため に両方を使うこともできる。 ーと小型ファイル 管理ノードにはディレクトリ・サー サ→ヾーの 2 不頁があり、ストレージノードの負荷を減ら し、用途を限定できるようになっている。すべての状態は ストレージアレイがイ尉寺するため、これらのマネージャー はデータをもたす、ファイル構造のキャッシュや操作の ためのメモリ /CPU リソースを提供するだけである。ディ レクトリ・サーバーは、ディレクトリやファイル、それら の属生の検索や作成、名前の変更、削除などをすべて処理 する。小型ファイルサーバーは、より効率的な空間割当て やファイル生成をおこなうと同時に、ディスクへの書込み を効率化するために複数の小さなリクエストを 1 つの大き なリクエストにまとめる。 性能データによると、 Slice は処理の増加にかなりうま く対応するようだ。名前に関する処理を中心としたべンチ マークでは、ディレクトリ・サービスの処理能力がディレ クトリ・サーバーのサイトを追加するだけで向上し、どの ような設定であってもクライアント数に応して性能か線形 的に高くなることが示された。性能は SPECsfs97 で評価 されたが、 SIice は限界まで負荷の増大を完璧に処理した。 そのうえ、限界点はストレージノードを増やすことで簡単 に上げることができる。 SIice は、スケーラピリティ、信頼実用性、アップ グレードの容易さ、そして性能の点で商用システムにひけ をとらないなど、明らかにネットワーク・ストレージの 1 つの解答を示すものである。こうした利点を考えオ・しば、近 い将来に SIice について耳にする機会カえるのは確実だ ろう。 セッション : 信頼性 ビサンチン障害而對生システムの復旧文 Miguel Castro 、 Barbara Liskov (MIT Laboratory for Computer Science 要約 : Tamara Balac 今日のコンピュータ・システムは重要な情報やサービ 155
USENIX 056 2000 リーに属する。各ノードは、定期的に自分の、、姉妹 " ノー ドや、、祖母 " ノードを新しい親にすべきかどうかを判断す る。姉妹ノードとの接続か現在の親との接続より ( 待ち時 間やバンド幅、ホッフ。数などの点で ) 優れていることカ紛 かれは、その姉妹ノードを新しい親にする。また、祖母 ノードと直孑妾続するほうか現在の親を介するよりよいこ ともある。その場合、それまでの親ノードは共通の親ノー ドにつながる姉妹ノードになる。このプロトコルは、ネッ トワークの状況の変化に柔軟に対応するトボロジーを提供 する。 Overcast では他のノードに接続する際に、、アップス トリーム " の接続だけが使われるが、そのために子はっ ねに親と接続を確立しなくてはならない。この仕組みは、 HTTP プロキシーや NAT が Overcast の機能に干渉し ないことを保証する。こうした事情に対応するため、ノー ドの状態情報を管理するアップ / ダウンプロトコルか作ら れた。各ノードは定期的に親にチェックインしなけれはな らす、チェックインに失敗したら、、死んだ " と判断される。 、、死亡証明 " や、、誕生証明 " を利用し、トボロジーか変化し た階層を通知する。 こでスケーラビリティの鍵となるの は、階層のさらに上のノードにとっては不要なメッセージ を消すためのシステムである。これらのメッセージに使わ れる Overcast ネットワークのバンド幅はぼ罸「彡的に増 大し、ルートノードのメモリ空間も糸彡的に消費されてい く。しかし、数百万のノードをもっグループであっても、 ルートノードのメモリにかかる費用は 1 , 000 ドル以下で ある。 Jannotti は発表のなかで、ルートサーバー自身の信頼 性を高めるためにルートノードを複製するシステムの褪各 にも触れた。そのシステムは、 DNS リダイレクトやラウ ンドロビン型負荷分散のような - ヨ勺な冗長サーバーの設 定に使われる手法を利用しており、サーバーに障害カ起き た場合は IP アドレスが引き継がれる。 Overcast 独自の 手法はサーバーを単純に並べてルートの状態を複製するこ とである。複製された各ルートは、その上に位置するルー トノードの唯一の子になり、階層の残りはそれぞれのルー トノードから伸びる。この力法ならルートノードの 1 つに 障害か起きても、サーピスの中断や状態の損失なしに即座 に別のノードが引き継げる。 Jannotti は、 Overcast カ醍唱する信頼性のあるマル UNIX MAGAZINE 2001.12 チキャストの手法は、構築のしやすさやスケーラビリテ イ、効率、柔軟生、実際の運用における利便生の点できわ めて有望だと語った。 インターネット・アプリケーションのパンド幅里とコン テンツの最適化のためのシステムサポート D avid Andersen 、 Deepak BansaI, Dorothy Curtis 、 Hari BaIakrishnan (MIT Labo- ratory for Computer Science) 、 Srinivasan Seshan (Carnegie Mellon University) 要約 : Vijay Gupta David Andersen は発表の冒頭で、研究の最大の動機 はエンドッーエンドの輻輳制御をやりやすくしたかった ことだと語った。 TCP では、輻輳制御のために AIMD (Additive lncrease, MultipIicative Decrease) という 手法が使われている。これは、 TCP コネクションを 1 つ しか使わない FTP や電子メールにとってはよくできたも のである。しかし、 HTTP ではインターネット上の 2 点 間で並行した 4 つのコネクションカイ吏われる。そのうえ、 すべてのアプリケーションに TCP の信頼生か不可欠なわ けではなく、そうしたアプリケーションには UDP が使 われている。これらと TCP の親稲生を高めるため、彼ら は最糸勺には独自に開発した輻輳制御を用いている。この 研究の目標は、 TCP との親和性を高めるためのカーネル レベルの機溝を開発することである。 Andersen は、 Linux カーネルに組み込んた冲畠輳コン トローラを示し、彼らか考案した手法をどのように実装し たかを説明した。送信の編成やアプリケーション通知には コーノレヾックが使われている。コールバック用のクライア ントはカーネル内の TCP クライアントである。 実装はフロー制御と中獅衂を処理する。また、ユーザ ーレベルのレート・コーノレヾック API を備えている。 れは libcm と呼 ( 、バンド幅がある一定の値 ( たとえは 2 倍 ) まで増えたときに通知する。 Andersen は、ネットワークやコネクションにおよは、 す景彡響などの評価の間題について触れた。彼らの手法は、 ホストツーホストのフローと TCP との親和性という点で は女吉果を出しているが、コネクションのスルーブットは すこし悪くなるようだ。 フローの統合を確かめるために、ユタ大学の実験用譿蒲 (http://www.cs.utah.edu/flux/testbed/) で Web 形 式のリクエストによる実験がおこなわれた。 Andersen は 153
連載 IPv6 の実装ー 3 有効なプレフィックス情報を受信することになります。ス テートレス・アドレス自動設疋の手順に従い、 IPv6 ノー ドは 2 つのアドレスを同時にインターフェイスに割り当て ます。これらのアドレスはどちらも有効なので、通信する 際にはプレフィックス A 、プレフィックス B のどちらか ら生成されたアドレスを用いてもかまいません。その後 管理者はプレフィックス A のアナウンスを停止します。 さきはど述べたように、プレフィックスには推奨有芋 間が設定されています。この例では、図 6 ー 3 の段階でプレ フィックス A 隹奨有効時間が切れてしまいます。これ 以降、各 IPv6 ノードは、プレフィックス A から生成さ れたアドレスを新たに確立する通信に適用しなくなります けでに確立されている通信はそのまま継続されます ) 。最 後に、図 6 ー 4 でプレフィックス A の有交加制が切以 後プレフィックス B から生成されたアドレスだけが各 IPv6 ノードに残り、アドレスの伺替えカ鮗了します。 3 から 4 までの時間が長けれは長いほど、すでに確立さ れている通信に景をえすにアドレスの刊替えか実施で きます。しかし、この期間をどのくらいに設定すれはよい かは、各ネットワークて利用されている通信の性質によっ て異なるので、一概にはいえません。ネットワーク管理者 は、自分のネットワークでおこなわれている通信が、最長 でどのくらい継続しているかを判断し、通切な移行期間を 設けるようにしなければなりません。 重複アドレス検出についての補足 サイトローカルおよびグローバル・アドレスについても、 重複アドレス検出により一意生を石忍しておく必要があり ます。ただし、すべてのアドレスについて 1 っ 1 つ重複 アドレス検出をおこなうのは賢明ではありません。なぜな ら、すでにみてきたように、ステートレス・アドレス自動 言殳定では、プレフィックスとインターフェイス識別子の組 合によってアドレスを生成するため、同じインターフェ イス識別子から生成されたアドレスはおそらく重複してい ないと考えられるからです。そのため、ステートレス・ア ドレス自重垢殳定の仕様書 [ 4 ] では、リンクローカル・アドレ スの重複アドレス検出は必須としていますが、リンクロー カル・アドレスと同しインターフェイス識別子から生成さ れたサイトローカルおよびグローバル・アドレスについて UNIX MAGAZINE 2001.12 は、、任意 " と規定しています。 同一リンク内に限定した通信であれは、アドレスの設定 カ鮗了した点ですべての設定力院了します。しかし、リ ンクを越えて通信する場合は、経路情報の設定が必要にな ります。 リンクを越えて通信する必要があるかどうかは、ルータ 通知に含まれていたプレフィックス情報のオンリンクフラ グによって判断されます。送信しようとしている IPv6 パ ケットの終点アドレスのプレフィックスが、ルータ通知と 同時にプレフィックス情報として配布されており、かっオ ンリンクフラグか設定されていたら、相手ノードは同一リ ンク上にあるとみなします。この場合には、近ド繒架索を用 いて相手ノードのデータリンク層アドレスをみつけ、直接 送信します。終点アドレスが未知のプレフィックス、もし くはプレフィックス情報として配布されてはいても、オン リンクフラグが設定されていないプレフィックスである場 合、 IPv6 ノードはそのバケットをデフォルトルータに送 信します。 蝌架索の f は兼では、 IPv6 ノードがデフォルトルータ を設定するガ去を規定しています。近謝架索を実装してい れば、 IPv6 ノードは自重加勺に経路清報としてデフォルト 糸各を設定できることになります。 デフォルトルータを設定するには、ますリンク上にある ルータの一覧を得る必要があります。 IPv6 ノードは、 2 つの方法で同一リンク上のルータを知ることができます。 1 つは、今回説明したルータ通知です。 IPv6 ルータは、 ルータ通知をリンク上のほかのノードに対して不定期にマ ルチキャストします。さらに、 IPv6 ノードが全ルータ・マ ルチキャスト・アドレスに向けてルータ要請を送信すると、 リンク上のすべてのルータがこれに応答し、ルータ通知を 返送します。これらのルータ通知を受信することにより、 IPv6 ノードはリンク上のルータを知ることかできます。 もう 1 つは近隣通知です。近隣通知は通イ目手のデー タリンク層アドレスをみつけるときに利用しますが、近隣 通知の清報には、近隣通知を発信したノードがルータか否 かを示すフラグが含まれています。 IPv6 ノードは、受信 した近隣通知のルータフラグを確認することで、リンク上 のルータを知ることができます。 経路情報の設定 65
連載 /UNIX Communication Notes—O のサーバーがダウンしていると判断するのである。なかに は、 ping コマンドと同じように ICMP ECHO?S ケッ トを要素サーバー側に送り、 ICMP ECHO REPLY パ ケットが区送されてくるかどうかを石忍する製品もある。 Foundry Networks の ServerIron シリーズのように WWW サーバーの障害をオ剱日するとリクエストをリダイ レクトする機能をもつ製品も登場している。 コネクション維持イ冓では、さまざまな手法が使われて いる。もっとも基本的なのは、送信ホストの IP アドレ スとホート番号、および受信ホストの IP アドレスとポー ト番号の組でコネクションを評価し、各コネクションの 状況に応じてバケット中幻をおこなうガ去である。この機 構は、 WWW サーバーだけでなく、転送処理を中心とす る副作用の少ないメールサーバーなどの多重化にも応用で きる。 ノート 5 山も丘のレイヤ 4 スイッチのなかには、 WWW サーピスに 焦点を絞って機能を j 助日している製品もある。たとえば、クラ イアントごとに割り当てられる cookie の種別に応じて振り分 けたり、あるいは、 URL によって振り分けガ去を変えるもの もある。このように、 HTTP も使ってコネクションを糸財寺す るスイッチを一ヨ殳にレイヤ 7 スイッチと呼ぶ。これは、アプリ ケーション層プロトコルの内容に応してスイッチング処理をお こなうからである。レイヤ 7 スイッチの機能については次号で メールサーパーの冓成例 説明する。 UNIX MAGAZINE 2001.12 ディスクの : をの対応を重視してシステムを橢友する 故障性を高めようとする。この段階では、性能よりも、 たりすると、たいていはディスクシステムを強化して耐 1 回でもシステムのクラッシュを経験し、メールを失っ て構成している 2. メール交換に使うディスク装置を RAID 1 や RAID 5 ない環竟ならば、このような形態でヨー分であろう。 交換されるメールが少量で、重要な業務とは直結してい 故園生はとくに重視しない 1. 通常の UNIX システムでメールサーバーを運用し、耐 に分けることができる。 メールサーバーの運用は、次のようにいくつかのレベル の耐拠章性を高める手法をみていこう。 以下では、レイヤ 4 スイッチを使ってメールサーバー ことが多い。 3. メールサーバー自体は単一のシステムだが、コンポーネ ントを完全に二重化できる強力な而姑章性能を備えてい る 交換されるメールは上交的少ないが、その重要性が高 く、メールが失われると業務に大きな章をきたす場合 は、このような構成にする。 4. レイヤ 4 スイッチを導入し、高い耐占郊章性能をもつシ ステムをクラスタ化している ( ハイプリッド型 ) これは、交換される電子メール量カえてきたときに使 用される。 4 番目のハイプリッド型について、どのように構成する ワーク・セグメントに接続したメールサーバーとして構成して もちろん、ノヾックエンド・サーバーにせす、はかのネット 注意 工ンドのサーバーの 1 っとして用意している。 に、ローカルのユーサーのためのメールサーバーをバック る。この図では、 3 台のシステムて構成されている。さら 同しホスト名を付けた同一構成の MTA システムを用意す トワーク側にレイヤ 4 スイッチを置き、同し IP アドレス、 れに応して要素サーバーを増やしていけばよい。外部ネッ てクラスタ化する。中継するメールの量か増加したら、そ 中継に使う MTA システムは、レイヤ 4 スイッチを用い れば生能の低下を抑えることができる。 け、グループごとにサーバーを用意するといった構成にす がある。その場合は、ユーザーをいくっかのグループに分 このシステムは、性能的なポトルネックになる可能生 サーバー " である。 システムとする。これか図 4 の右側にある、、内部用メール 目のレベル、すなわち完全に二重化した、耐故園生の高い メールポックスが置かれるメールサーバーは、一屬己の 3 番 これは副作用の多い処理である。そこで、各ューサーの ポックス操作フ。ロトコルを用いてこれにアクセスする。 る。そして、ユーザーは POP3 や IMAP4 などのメール へのメールは、各ューザーごとのメールポックスにオ褓内す ーに、自分の管理ードにあるドメインに属するユーサー かをみてみよう。典型的な構成は図 4 のようになる。 もⅢ題はない。 大量のメールの交換が・可能なメールサー ーをクラスタ 57
特集ネットワークの基礎知識② 、・をそを使用 ますはここから . UP ーを蠱盛 ( H Ⅳ ( 05 は 3 の朝はは第 図 13 Lycos のスー / く一サーチ サイ ・一を一 1 ′イルをつたらこっち一当生 : - ! ! ! もう・・リ物ンルがまーってるなら一タイしうトを一ドを・ 図 14 MSN サーチの高度な Web 検索 は 3 蝨、は都 m ず住宅 ドメインごとに 1 ・ : 0 第第を物すを Se もっとおなた好みに較り込めます . 謝もキ、・ ? ードカれオ -- 当 : します ・、キーっード受ら′式睥ーっードカ物れよ - はをまない はま必すむノ しくは を 3 つグ題句を入力しなとき、 3 っともヒットした文・を . ~ つ tT しかヒットしな かった文・よ屮 キ驗グ - 語句カ駆接して登場した文書を、バラバラに差し 0 、る文書よ屮 す第した第怺の . ある文書で凱 - が . 0 わ文書よリ 3 場合 . そ求物でまそ 0 地句カ要弖そ時つど一 第 4 れ E , 《れ E 、タグ中に第語句カした文・をⅣ , 、虍Ⅳ、タグ中にそ ′第わ齔した文書よリ - 入力しな第人文・ 0 ~ : のこ第した立・を . 物カこ第場した文・よ屮 . グ - 第句を入力した場氤入力した - で場し , : 文・を すべて ドメイン . デイしクトリさ すべて ( 物ーい断 00 第、 0 べージ全体 、ノ′してください 0 ドメインを入力ー 中 : 日本 以下力をまれるも′′具をする 図 15 goo の、さらに詳しくオ鑠 は第みの、は 0 第 3 ~ 0 こ 1 日 MW フ - ・スがネットて修第てきる一 おトい 第い物は、 0 ・サイ そんにンネス 対象です。、、 inurl: " では、これに続けて空白を挟ますに指 定した 1 つのキーワードを URL とみなして検索します。 一方、、、 a ⅢⅢ lrl : " では、後ろに続くすべてのキーワード を URL とみなして検索します。 Lycos 、 MSN サーチ、 g00 では、それぞれ専用のペー ジて検索します。 Lycos では、トッフ。ページから、、スーパーサーチ " のペ ージ ( 図 13 ) に移動し、、、検索範囲を指定 " で、、ドメイン を入力 " のラジオボタンをチェックします。そして、その 右側のポックスにドメイン名の一部を入力してサイト検索 をおこなうことができます。 URL 検索をおこなうには、 その下の、、 URL に含まれる文字のみ " お尺します。 MSN サーチでは、トッフ。ページから、、条件験索 " をク リックして、、高度な Web 検索 " のページに入り、、、検索 結果を以下のように制限する " オプションの、、ドメイン : ' 欄にドメイン名の一部を入力してサイト検索をおこないま す ( 図 14 ) 。 URL 検索はできないようです。 goo では、同様にトッフ。ページから、、ページ検索設定 ' をクリックして、、詳しく検索 " のページに入り、続けて 、さらに詳しく検索 " のページに入ります ( 図 15 ) 。この ページの、、検索範囲窈尺 " のところでドメイン名または URL の一 ; を入力することで、サイト / URL 本館 ! をおこ 46 なうことができます。 go 0 第題「 0 日ま語 0 日第第い、 生 - 0 ーベ・ ( ′増をむ 0 いす第か 0 ををむ、フし一ズ 0 人 0 リンクも川 0 を、 - 、 第示 0 第・あり 0 タイトのみ 尹 0 物 0 為物 0 物 0 る 0 ーは ~ い一う 0 、一つ一ドを 0 フし一 : てを、人を 0 リンク身碑ーを必す・むコ という 0 、一ワ、・ドを 0 ) し一 : てを、人を 0 リン ? 第新一を名すを t; 朝 という 0 、、 - つ一ドを 0 フし一ズを、人を 0 リンーを、当 ! 霻を . 」 0 ・ルメイン . タイしクトリを橋ーしたレ」をましヨ ドメイン デイしクトソ名 サイト検索と URL 検索は、ふだんはそれほど使う機会 はないかもしれません。しかし、 URL の一部しか慮えて いないときや、ブックマーク・ファイルに旧い URL し か残っていないような場合には、なかなカイ甦リです。 リンク検索 キーワードに指定した文字列をリンク先として含むべー ジを検索します。つまり、 Web«—ジのく a 〉タグに含ま れる、、 href= . " の部分を検索対象にします。 UNIX MAGAZINE 2001.12
連載 /UNIX Communication Notes— 0 図 4 ハイプリッド型のメールサーパー構成 クラスタ化した MTA システム ( 同一構成のサーバーで MTA が稼動 ) ローカルドメインへのメール ( SMTP →ローカルサーバーに保存 ) 外部ドメインからの メール (SMTP) POP3 lMAP4 内部用メールサーバー レイヤ 4 スイッチ・ 外部へのメール送信 (SMTP) 構成とし、さらに、高い耐拠章性を確保したユーサー用の らでもあろう。 サーバーを用意するわけである。とくに、大規模な糸哉で このように、サーバーのクラスタ化は、耐故章生だけで メールサーバーを運用する場合には、そのドメインの MX なく処理効率の矼ヒももたらす。言い換えれば、カ長生に (Mail eXchange) システムをクラスタ化すれは、高い可 富むサーバーシステムを構成できる点が最大のメリットと 用性か彳等られる。また、こうしておけば、メールサーバー いえる。 の構成もそれほど複雑にはならない。ローカルのユーサー のためのメールサーバーをう隹して構成するので、 POP3 今回は、耐拠章性の怖 1 上という点を主眼としたシステム や IMAP4 といったメールポックス操作プロトコルによ の構成力法について説明した。とくに、システムを構成す る処理を分けることもできる。結果として、システムやセ るコンポーネントに対する考え方を中心に述べた。次号で キュリティの両面において、管理しやすく、設定も容易な は、性能面からみたシステム構成方法をとりあげる予定で 環竟か作れる。 ある。 クラスタ化はメリット大 ( やまぐち・すぐる奈良科オ支彳大完大学 ) レイヤ 4 スイッチを使ったクラスタ化は、いつでも代 替システムとして使えるバックアップ・サーバーを下力さ せておくため、耐拠章性を高める手段として有力尺肢 といえる。さきはども述べたように、最近のレイヤ 4 ス イッチのなかには、要素サーバーが応答しなくなったと きに、そのサーバーをクラスタから切り離し、残った要素 サーバーてサービスを継続する処理を自重加勺におこなうも のがある。これらのスイッチを導入すれば、障害の発生時 にはば自第勺に障害の原因となったシステムがう黐される ため、サービスに大きな景をケえすに復旧作業に入れる というメリットがある。レイヤ 4 スイッチを導入する組 励蒴えているのは、管理作業の容易さに注目しているか ☆ 58 UNIX MAGAZINE 2001 ユ 2
UN Ⅸ便利帖 宮下健輔 FreeBSD で気楽な演奏 ビーフ音を活用する 私か初めて PC ( 当時はマイコンと呼んでいたように思 います ) と出合ったころは、標準ではピープ音しか鳴ら せませんでした。そのビープ音を発生するルーチンに細工 を施し、音の高さを変えたりしていたことを記していま す。その後しばらくすると、 BASIC などの言語でアルフ ァベットと数字を組み合わせ、音階や音の長さを指定する ことで演麥かできるようになりました。 山も丘は、 PC が音楽を奏でることは珍しくなくなりまし た。しかしその大半は MP3 や WMA (Windows Media Audio) など、実際の音をサンプリングしたもので、上記 のような演奏とはまったく異なります。これはこれで高品 質な音楽が手軽に楽しめて重宝するのですが、今回はもっ と気軽に、どんな PC にも付いているスピーカーのピープ 音を利用して演奏をしてみます。 FreeBSD では、スピーカーに対して音階などを入力す る機能か標準で用意されており、カーネルに機能を追加す るだけて利用できます。特別なハードウェアを用意する必 要もありません。今回は FreeBSD 4.4-RELEASE で動 イ何忍をしましたが、それより旧いバージョンでも間題な く重川乍すると思います。 アルファベットや数字を組み合わせることで音階や音の 長さを表現し、それを演奏するための機能を FreeBSD に 追加します。そのためにはカーネルにこの機能を追加して 再構築します。 カーネルの構造を決める設定ファイルは / sys / i386 / conf にあります。カーネルを再構築したことがなければ、 このディレクトリには GENERIC と LINT という 2 つ 準備 110 のファイルしかないはすです。その場合は GENERIC を 適当な名前のファイルにコピーしてください。このときの ファイル名は、その PC のホスト名をすべて大文字て表 記したものにすることが多いようです。たとえばホスト名 が mypc なら MYPC というファイル名になります。 # cd /sys/i386/conf # 1s GENERIC LINT # cp GENERI C MYPC この MYPC というファイルを編集して適切な操作を おこなえば、そのホストで動作するカーネルを好きなよ うに設定できます。カーネルの再構築の方法については、 FreeBSD ハンドブックの 7 章 1 などが参考になるでしょ う。以下、 MYPC がカーネル設定ファイルであるとして 説明を続けます。 今回の機能を実現するためのテンヾイスは speaker とい う名則の pseudo-device (å疑似デバイス ) です。このテンヾ イスをカーネルに組み込むには、次の行を設定ファイルに handbook/kernelconfig. html 1 http://www.jp.freebsd.org/www.FreeBSD.org/ja/ # make install # make depend ; make a11 # cd .. /.. /compi1e/MYPC Kerne1 build directory is . / .. /compi1e/MYPC Don' t forget to dO a 'make depend' ' # config MYPC ルを明冓築し、 PC を再動します。 追加したあとは、以下のようにお決まりの手順でカーネ speaker PSeUdO—deViCe j 助日するだけです。 UNIX MAGAZINE 2001.12
クの② ネットワーク・アプリケーション 山口英 ネットワーク・アプリケーションの インターネットでは、電子メールや WWW (World- Wide Web) をはじめ、さまざまなサービスか利用でき る。 UNIX には、数多くの高機能なネットワーク・アプリ ケーションが用意されている。これを使いこなすことが、 快適な環竟作りの第一歩といってもよい。ほかの OS と 上交した場合の UNIX のメリットの 1 つは、シェルに 代表されるスクリプト言語でプログラムを作り、各種のコ マンドを組み合わせてさまざまな処理がおこなえる点にあ る。そのためにも、 UNIX 上のネットワーク・コマンド の習得は重要である。 今回はます、インターネット上のネットワーク・アフ リケーションが、どのようなオ冓にもとづいて言妬されて いるかを簡単にみていく。続いて、情報系分野に身を置く のなら、、、最低限これだけは知っておいてはしい " 基本的 なコマンドについて説明する。そして最後に、 WWW 上 の検索エンジンを利用するうえで不可欠といってもよい、 キーワード ( 検索語 ) の効率的な指定去を紹介する。 なお、電子メールについては次回以降で各種のテクニッ クを説明する予定である。 、ツトワーク・サービスの構造 現在のインターネットでは、さまざまなサービスか利用 できる。そして、そのほとんどはクライアント・サー モテル ( 図 1 ) にもとづいて構成されている。 ューザーはクライアントと呼はれるプログラムを起動 28 し、サーバーにアクセスする。サーバー側では、複数のク ライアントからのアクセスをうまく多重化して処理する。 ーとクライアントのあいだでデータが交換されては サー しめて、ユーサーはサーピスを利用できるようになる。こ こで、サー ・クライアント間のデータ交換の手順をプ ロトコル (protocol) と呼ぶ。 インターネットて利用されるプロトコル 現在のインターネットて利用されているプロトコルは、 階層構造を形成している ( 図 2 ) 。 インターネット本で、ホスト間の通信正する基盤 となるプロトコルが IP (lnternet Protocol) である。 IP は、 OSI 7 階層参照モデルでいえは・ネットワーク層のプロ トコルに相当する。この層で、ホストを識別するために使 われるのが、、 IP アドレス " である。 IP アドレスは、各ホ ストのネットワーク・インターフェイスごとに設定され る。 IP はいわゆるバケット交換システムで、 IP で交換さ れるデータの単位は、、 IP データグラム ()P datagram) と呼ばれる。 IP データグラム自体は、 IP 層の下位にある Ethernet などのデータリンクを利用して中幻される。 IP 層の上位には、トランスポート層がある。インター ネット上で利用されているアプリケーションの大半は、ト ランスポート層として TCP (Transmission Control Protocol) を用いている。 TCP はコネクションを単位と した通信処理をおこない、信頼焉正、順番制御、フロー 制御などの機能を提供する。 TCP は、インターネットで UNIX MAGAZINE 2001 ユ 2