本文へジャンプ

ソフトウェア > Lotus > Lotus Developer Domain > 

Iris Today Archives

インターネット・アドレッシングの基礎


Lotus Software
Iris Today Archivesの原文(US)
ドミノ Rnext で Web アプリケーションを作る:Web サイト・アドレッシングのチュートリアル


ご注意: この記事は、ノーツ Rnext ベータ・プログラムで計画・開発されている機能を紹介します。したがって、最終的な機能や UI と、記事中に紹介されるものは異なる可能性があります。

毎月の支払いをポストに投函するときに(支払いを郵便で行っていると仮定した場合)、あなたはそれが正しく受取人に届くことを疑わないでしょう。しかし、どのようにして配達しているかについて詳しく考えたことはないことと思います。同様に、普段 eメールを送るときにも、eメールが正しく届いている限りは、どのようにして相手に届くのかを気にかけることはないでしょう。しかし、インターネット上を情報が配信される仕組みを知っておくことは、 Web サイトを維持する責任のある人にとっては必要となります。なんといっても、人々がサイトにたどり着けないことには意味がないわけですから。それでは、ここで、IP(Internet Protocol)ホスト・アドレッシングに関わる原理について確認しておきます。この議論ではパブリックなインターネットを扱いますが、プライベートなイントラネットについても原理は同じです。

インターネット経由で送信される情報は、パケットと呼ばれる情報の小包に小分けされます。パケットは構造化されたバイト列であり、アドレッシングとプロトコルの情報を含み、加えて通常は小包の中身としてアプリケーション・データを含みます。各パケットには、パケットを作成したマシン(ソース・ホスト)の IP アドレスと、パケットの宛先となっているマシン(デスティネーショ・ホスト)のアドレスを指定してあります。デスティネーション・アドレスは、ルーターと呼ばれる特別なインターネット・ホストによって読みとられます。

グローバルなインターネットは単一のネットワークではなく、実際には複数の物理ネットワークの集合体です。ルーターの役割は、ソース・ホストからデスティネーション・ホストへ適切なネットワークを経由してパケットを送り届けることです。パケットのソース・ホストとデスティネーション・ホストが、多くのネットワーク・セグメントによって物理的に隔てられていたら、パケットはそれに応じて多くのルーターを通ることになります。

IP アドレスは 32 ビットの識別番号であって、通常は4つの「オクテット」(8ビット)をドットで区切って、 9.95.236.64 のように表記します。オクテットは階層的で、右にあるものほど細かさが増します。たとえば、最初のオクテット9はある物理ネットワークを指し、2番目のオクテット 95 はそのネットワーク内のサブネットワーク(サブネット)を指し、3番目のオクテット 236 はサブネット 95 の中のサブネットを指し、4番目のオクテット 64 はサブネット 236 上の特定のマシンを指します。

(ところで、ここで取り上げている 32 ビット IP アドレッシング・スキームは IPv4 と呼ばれています。IPv6 と呼ばれる 128 ビットの仕様もあり、これによりアドレス空間は劇的に増大します。Rnext はもちろん IPv6 をサポートしていますが、今後しばらくは IPv4 が標準のまま残りそうです。)

インターネット・ルーターは表を使って、アドレス範囲を物理ネットワークやホストにマッピングします。パブリックなインターネット上の中心的なルーターにはグローバル・ネットワーク・セグメントを通してパケットを送る方法が保存されています。各ネットワークにあるルーターは、パケットを適切なサブネットへ送り、サブネットにあるルーターはパケットをデスティネーション・ホストまで送り届けます。

数字の IP アドレスは非常に正確ですが、人間にとって親しみやすい表現ではありません。ドメイン・ネーム・システム(Domain Name System、DNS)というインターネット技術により、ホストに対する階層化された名付けスキームを実現しています。DNS 名は、文字列(ドメイン・ネーム)をピリオドで区切って並べたもので、たとえば www.lotus.com のようになります。DNS 名での細かさは、数字の IP アドレスとちょうど反対で、左ほど細かい指定となります。たとえば、 www.lotus.com はトップレベル・ドメイン com のサブドメイン lotus の中の物理ホスト www を指します。

重要なことは、DNS 名の階層構造は論理的な名前空間を表していて、物理的な名前空間を表す IP アドレスの階層構造とは完全に独立だということです。インターネットルーターは物理的な名前空間のみを取り扱います。DNS 名から IP アドレスへの変換は、ネームサーバーとよばれる特別なインターネット・ホストが行います。ソース・ホストがパケットを送るときにデスティネーション・ホストの DNS 名しかわからない場合は、ソース・ホストはそのデスティネーション・ホストに対応する IP アドレスを取得するためにネームサーバーに問い合わせます。この過程を名前解決(ネーム・レゾリューション)といいます。

たとえば、ブラウザーに http://www.lotus.com と入力すると、ブラウザーは www.lotus.com に対応する IP アドレスを取得するために DNS ネーム・サーバーに問い合わせます。するとネーム・サーバーはアドレス 129.42.242.50 を返します。ブラウザーは、HTTP 要求を送るためにパケットを生成し、129.42.242.50 をパケットのデスティネーション・アドレスとしてセットし、さらに使っているコンピューターの IP アドレスをソース・アドレスとしてセットし、そしてパケットを送り出します。インターネット・ルーターは、目的とするコンピューターまでパケットが届くように、次々に適切なネットワークへ渡していきます。サブネット 129.42.x.x は IBM に割り当てられ、サブネット 129.42.242.x は IBM 内で Lotus に割り当てられ、129.42.242.50 は Lotus 内のあるマシンに割り当てられています。ホスト www.lotus.com はパケットを読んで要求を処理し、最終的に HTML のページ等の応答をパケットにして送り主のコンピューターへ返送します。

今日の猛烈なインターネットの使用状況を考えれば、名前解決が絶え間なく行われていることは明らかです。パブリック・ネーム・サーバーがパンクするのを防ぐために、ISP や個々の会社、組織では自前のネーム・サーバーを立ち上げています。自分のブラウザーマシン上にも、ネーム・レゾリューションをセットアップできます。その方法は、記事本文の「Rnext チュートリアルのためにクライアントを準備する」に説明してある通りです。

これらの名前や数字は誰が割り当てるのでしょうか。中心的な機関がなければ、間違いなく滅茶苦茶な状況になってしまいます。以前は、つい数年前の話ですが、その中心的な機関というのは IANA や InterNIC のような政府の支援を受けた組織でした。しかし、インターネットの商業化が進むにつれ、アドレスや名前の割り当て管理は、それが奪い合いによるのでなければ、経済的利益をうむ大きな可能性を有していると認識されるようになりました。そのため名前や番号の登録は政治的な議論を呼び、結果的には、IANAInterNIC が提供していたサービスの多くを ICANN(Internet Corporation for Assigned Names and Numbers)の管理の下に民営化することになりました。

今日では、DNS ドメインのためのレジストラー(ドメイン登録サービス事業者)は爆発的に増加しており、多くのトップレベル・ドメインにまたがって同じサブドメインを同時に登録するなどの付加価値をつける中間業者として活動しようとしているリセラーはさらに多く存在します。そのような中間業者を見つけるのは簡単です。バナー広告を探せばよいのです!数字の IP アドレスの割り当てが、同程度の利益を生み出す可能性を有していることはなさそうで、これについては特定の地域を担当する少数のレジストラー、たとえば American Registry of Internet Numbers が取り扱っています。

実際には、システム管理者は1つ上のレベルの管理組織と取引をするだけで済みます。具体的には、次のようなことです。新しいマシンをセットアップした Web マスターは IP アドレスを会社の IT 部門に要求します。IT 部門は会社のインターネット・サービス・プロバイダー(ISP)から取得したアドレスのブロックの中から1つを割り当てます。そのブロックは ISP がレジストラーから得た割り当て分の一部です。類似の状況は Web マスターが DNS 名を新しいマシンに割り当てたときにも起こります。 Web マスターは特定のホスト名を選択できますが、そのホストは、IT 部門が ISP を介して登録した DNS サブドメイン内になくてはなりません。

インターネット・アドレッシングの原理に関するこの議論はかなり簡略化されています。詳細について興味をお持ちでしたら、良い情報源はたくさんあります。ARIN サイトには、IP アドレッシングに関する良質なリンクページがあり、ドメイン・ネーム・システム(DNS)については、オライリー(O'Reilly)が出版している本 DNS and BIND がわかりやすく紹介しています。
 
上に戻る