ビジネス開発者必須講座

P2P/ブロードバンド時代の新・TCP/IP 入門
村上 健一郎

第5回

法政大学ビジネススクール イノベーション・マネジメント研究科 教授

パケットはどのようにして送られている？

インターネットでは、「パケット」と言われるコンテナ（格納箱）のようなものに情報を詰めて送るということは、第 1 回（3 月号）で簡単に触れました。
そのパケットの先頭部に付けられる宛て名の役割をする「ヘッダー」は、とても重要な役割を果たします。今回は、このヘッダーがどのように使われるのかという視点から、インターネットの仕組みを眺めてみることにします。

[Q1]
インターネットで情報を送るとき、パケットはどのようにして目的のコンピュータまで転送されているのでしょうか？

ものだ」あるいは「ヘッダーの中をたくさん

図 2 に IP ヘッダーの仕組みを、そして、の領域に分けたものだ」と思われる方が図 3 に TCP ヘッダーの仕組みを示します。

多いでしょう。普通の教科書を読むと、「IP ヘッダー」と「TCP ヘッダー」について

TCP ヘッダーの勉強をしている頃には、は、横に長くなってしまって書けないのもうIP ヘッダーのことは忘却の彼方にあで、先頭を上にした状態の図になっていります。

ます。ですから、図 1 とは方向が違うことに注意してください。また、イーサネットのヘッダーの役目は？

[A1]

ヘッダーに関しては、わかりやすくするために説明を省くことにします。

ここでは、イーサネットを使っているとたくさんのヘッダーを持つパケット仮定しましょう。私たちがウェブを見ている時には、パソコンからパケットが送り出「IP アドレス」と「ポート番号」の重要性

世の中には、めまいがしそうで、あまりされるのですが、このパケットには「イー見たくないものがたくさんあります。特に、サネットヘッダー」「IP ヘッダー」「TCP ヘッ

図 2 や図 3 には、多数の領域（項目）がクレジットカードの利用明細を見ると気がダー」と 3 つものヘッダーが付いていますあるので、細かい部分は見て見ぬふりを遠くなることがあります。そういうときは、（図 1）。この図のように、各レイヤーのしましょう。ここでは、このへッダーの中でたいてい忘れた頃に多額の飲み代のツケデータが段々とカプセル化（エンキャプ重要な役目を果たす「アドレス」と「ポート」が請求されています。その時だけは「もうシュレーション）しているのがわかります。

だけに着目することにします。

飲むまい」と誓うのですが、都合の良いこ

つまり、TCP ヘッダーと HTTP のメッ

図 2と図 3 で、赤く囲んでいるのが該当とに、こういういやなことは猫が恩を忘れセージが入っている TCP データは、IP パする場所です。残りの部分は思いきってるのよりも早く忘れてしまいます。

ケット（データグラムと呼ぶ）のデータ部に忘れてください。

ところで、同じように、複雑な TCP/IP入っていて、この IP のデータ部と IP のさて、通信で最も基本的な機能は、送パケットのヘッダーについても、見ただけヘッダーは、ともにイーサネットパケット（フりたい相手にパケットが送れることと、そで忘れたくなってしまいます。一見すると、レームと呼ぶ）のデータ部に入っているのの相手からのパケットが送られてくること「よくぞこんなにいくつもヘッダーを作ったです。

です。それでは、なぜパケットを送るので108 │ INTERNET magazine │ 2005 │ 07 │インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&D

しょう？

それは、ウェブなどのサービスバスや車から降りたパケットとしてのあします。市役所には住所とその市役所のを受けたり、電子メールのやり取りをしたなたは、次に、市役所の中に入っていき名前があります。これが IP アドレスに相いからです。ときどき、サービスの邪魔をます。これは、ちょうどインターネットで、当します（図 4）。

するためにパケットを送るという困った人

パケットが目的のコンピュータまで到着し同じようなことは郵便のシステムでももいますが、それは少数派です。

たことに相当します。ところが、市役所と行っています。たとえば、郵送で住民票のパケットの送り先は、ウェブや電子メーいっても、さまざまなサービスを提供する

写しを発行してくれるサービスを利用しルなど、所望のサービスを提供している窓口があります。大きな市役所では受付ようと思った場合、封書で所定の請求用コンピュータということになります。でも、があって、そこでどのようなサービスを受紙を送ります。郵便局は、これを宛て名話はこれだけでは終わりません。という

けたいかを言うと、窓口の番号を教えてに書かれている市役所まで配達してくれのは、インターネットは当該コンピュータまくれるので、その番号の窓口まで行ってます。つまり、パケットが IP アドレスで指でパケットを運んでくれるものの、そのコサービスを受けることができます。ここで定されたコンピュータまで転送されるのとンピュータではさまざまなサービスを行っ番号を聞きまちがえると、窓口に行っても同じことです。ているので、そのパケットはコンピュータ話がこんがらがるだけです。住民票を受郵便局側の仕事はそこまでで、後は市の中で、目的のサービスを提供しているプ

け取りに年金の窓口に行っても、所望の役所の中で何課宛てかを見て、指定されロセスまで運ばれなければなりません。

サービスは受けられません。つまり、市役た課ごとに分別し、該当する課まで持っインターネット内でのパケットの配送は、所のビルがサーバーのコンピュータに相ていきます。そして、封書が開けられ、中IP ヘッダーの中の「転送先 IP アドレス」を当し、各窓口の番号がポート番号に相当のメッセージ、すなわち請求用紙が取り出参照してルーターが行います。一方、コンピュータの内部でのパケットの配送は、当
TCPパケット

該コンピュータが TCP ヘッダーの中の「ポート番号」を参照して目的のサービス

IPパケット

ヘッダー

ヘッダー

カプセル化

データ

カプセル化

データを判別し、そこまでの配送を行います。
このように、パケットの転送先という点

イーサネットパケット

ヘッダー

データ

CRC

CRC：Cyclic Redundancy Check、誤り検出方式のひとつで、「巡回冗長検査」に着目して見ると、エンドツーエンド（端末間）の通信には、「IP アドレス」と「TCP の図 1 カプセル化（エンキャプシュレーション）ポート番号」の両方が必要であることがわかります。

（ビット0）（ビット31）

バージョン ヘッダー長

住民票の受け取り手段はパケット転送の仕組み？

優先順位

パケット長

識別番号
TTL

フラグ
プロトコル番号ヘッダー

細分化オフセット
ヘッダーチェックサム

転送元IPアドレス
送信方向

転送先IPアドレス
オプション

何もインターネットに限ったことではな
く、同じようなことは、さまざまなところでデータ部行われています。たとえば、私たちは、各種のサービスを利用するために市役所に

図 2 IP ヘッダー行きます。さて、ここで、住民票の写しをもらいに行くことを想定しましょう。これを図 4 に示してみました。

（ビット0）（ビット31）
転送元ポート番号

市役所に行くまでは、バスなどの公共交通機関を利用したり、あなたの車を使ったりします。この場合、あなたが「パケット」
な

転送先ポート番号

ヘッダー

シーケンス番号
ACK（確認応答）番号
データオフセット予約

フラグ

ウィンドウサイズ

ヘッダーチェックサムのです。バスは市役所の前までしか乗せ緊急ポインター

送信方向

データ部
（IPヘッダー ＋ IPデータ部）てくれませんし、車だって同じです。窓口まで入っていくことはできませんね。
図 3 TCP ヘッダー

インターネットマガジン／株式会社インプレスR&D

P2P/ブロードバンド時代の新・TCP/IP
入門 │ INTERNET magazine │ 2005 │ 07 │ 109©1994-2007 Impress
R&D

されて処理されます。ここでいう課の名と転送先の IP アドレス部分に、それぞれ前は、ポート番号に相当します。そして、目的のサーバーの IP アドレスと自分の IPIP アドレスは、やはり市役所の住所と市アドレスを入れます。さらに、転送元の役所の名前の部分になります。

ポート番号には 1024 以上 65535 以下の任[A2]
動く道路標識重要なのは、封筒の表や裏に、差出人意の番号を、転送先のポート番号には目の住所と名前が入っていることです。たと的とするサービスのポート番号を入れてポートの処理は、単に、コンピュータがえ請求書に不備があって空白でも、差出パケットを作成し、通信を開始します（図パケットを受信し、その値ごとにサービス人まで連絡が行くことになります。

5）。UDP の場合にもTCP のパケットと同へ振り分ければよいだけなので、仕組み

様に、ヘッダーに転送元ポート番号と転送は簡単です。

IP に IP アドレス、TCP にポート番号

それでは、IP アドレスを処理してパケッ先ポート番号を持っていますが、ここではトを中継するルーターの中では、何が行言及しません。
IP アドレスは、企業や大学、インターわれているのでしょうか？ サービスプロ

ここまでの説明で、IP ヘッダー内に転ネットサービスプロバイダー（ISP）などのイバイダーなどのパケットの中継を行うルー

送元の IP アドレスがあり、TCP ヘッダー

ンターネットアクセスサービスを提供する

ターは、IP アドレスに関する巨大な表を内には転送元のポート番号が必要な理由組織に割り当てられる、32 ビット長の番持っています。これを「経路テーブル」とが理解できたでしょうか。このように、パ号です。組織が持つコンピュータ数など、呼びます。

ケットの転送にかかわっている重要なもその規模によって割り当てられる IP アド

経路テーブルとは、ある IP アドレスを持のが「ヘッダー」であり、特に、IP ヘッダーレスの数が異なります。これらの番号はつコンピュータにデータを送るためには、の「転送元 IP アドレス」や「転送先 IP アド重複することのない番号で、個々のコンどの隣接するルーターにパケットを送れレス」、そして TCP ヘッダーの「転送元ピュータにはその範囲内のアドレスが 1 個ばよいかを示した対応表の集合です。

ポート番号」と「転送先ポート番号」が情割り当てられます。

私たちが車を運転するときには、交差報の転送に不可欠なものなのです。な

点で、行き先別に方向が書いてある道路

お、ポート番号は 16 ビット長であり、サー標識を確認して、右折や左折、直進などバー側が待ち受けているポート番号は、[Q2]を決めますが、それと同じことです。ただ

表 1 に示すように、サービスごとに決められています。
各パソコンやコンピュータは通信を行う
場合には、手元のコンピュータは転送元違うことといえば、その標識がネットワーパケットの中継を行うルーターは、どのような処理をしているのですか？

クの障害やもっと良い経路などができたときには、書き換えられてしまうという点です。ですから、直前にパケットが右に曲がったかと思うと、同じ転送先 IP アドレスを持つ次のパケットは、左に曲がってし（ポート番号）
窓口 1

窓口 2

窓口 3

まうということもあります。
窓口 4

それでは、この動く道路標識はどうやって作成されているのでしょうか？

パケットは私受付
市役所前（IP アドレス）

実は、各ルーターが自分から到達可能な IP アドレスのブロック（集合）を、接続されているすべての隣接するルーターへ送っているのです。これを「経路情報」と呼びます。

私はパケット

この経路情報を受信したルーター側で市役所の建物（サーバー）は、周りのすべてのルーターからの経路情報と比較し、一番良いものを選択します。
公共交通機関そして、その経路を送ってきたルーターが接続されているイーサネットインターフェイス名を、標識に書き込んでおきます。

自宅

一番良い経路とは、少ない中継段数、
図 4 市役所に住民票を取りに行く

110 │ INTERNET magazine │ 2005 │ 07 │インターネットマガジン／株式会社インプレスR&D©1994-2007 Impress R&Dつまり「少ないルーター数で目的のコンはずです。しかし、それには時間差があピュータまで到達できる」あるいは「高速のります。

るものだと思ってしまいます。
この頃、A 町では、C 町経由では D 町回線で接続されている」などのことです。

B 町が一番早くそれに気づいて、D 町に行けないという知らせが C 町からやっこれらのことからわかるように、各ルーターへ到達できないことを A 町と C 町へ伝えと届きます（4）。ところが、B 町経由ではは隣のルーターまでの転送しか責任を負たとしましょう（1）。ところが、A 町にはまだ行けることになっているので、この経いません。にもかかわらず、このバケツリその後に、D 町にまだ到達可能だった時路に道路地図は切り替わります。

レーで、見事に目的のコンピュータまでパのメッセージが C 町から届きました（2）。

このようにして、到達できないという知ケットを中継することができるのです。

きっと、誰かサボっていたか、ドライブインらせが打ち消され、次善の経路間で切りで休んでいたのです。ですから、A 町で替わりながら道路地図が書き換わっていは、早速、C 町経由や B 町経由で D 町へきます。実際に、インターネットでは、どこ行けることを B 町や C 町へ知らせるのでかの経路が切れた場合には、すぐに次善ネットワークのどこかで回線が切断されす（3）。B 町では、A 町経由や C 町経由の経路に切り替わるべきなのに、世界中た場合には、この切断情報がルーター間で D 町へまだ行けるのだと考え、これをのルーターにその情報が行き届いて安定で交換されます。この情報を受信したC 町と A 町へ知らせてしまうのです。そするまでには、数分から 10 分近くかかるルーターでは、最善の経路を計算し直しの結果、C 町では B 町経由で D 町へ行け場合があるのです。

右往左往するパケットの事情て道路標識に反映します。その結果を、さらに隣接したルーターに送るのです。

サービス名

このようにして、しばらく経つと、どのルーファイル転送サービス

21ターも障害が発生した方向にはパケット

メールサービス25を送らなくなります。ルーター間を結ぶ世ウェブサービス（http）

80

界中の回線の数を考えると、世界のどこウィンドウズのファイル/プリンター共有サービス

139、445かでいつも障害は発生しています。回線

ウェブサービス（https）

443

が切れたままならば、すでに述べたよう

表 1 代表的なサービスとポート番号

ポート番号（10 進）に、時間が経てば道路標識にその内容が安定して反映されます。しかし、切れたり転送元 IP アドレス：YYY
転送先 IP アドレス：Y

つながったりを繰り返すような障害であれインターネット

ば、世界のすべてのルーターで計算が繰り返されることになります。

TCP
IP
ヘッダー ヘッダー

これを防止するために、ペナルティーを与えます。つまり、いったん回線が切れるコンピュータ

コンピュータと、その回線が再度回復しても、しばらく転送元ポート番号：XXXX
転送先ポート番号：XXX回復しなかったことにされます。これで、道路標識が頻繁に変更されてパケットが右往左往することもなくなります。ところ

図 5 IP ヘッダーには「IP アドレス」、TCP ヘッダーには「ポート番号」

が、世の中はそんなに甘いものではありません。
ここで、仮に図 6 のように A 町、B 町、A町

C 町、D 町が橋を経由して道路がつながっていたとします。D 町へは A、B、C
地震発生のどの町からも行くことができます。たと

D町
地震発生後 30 秒 「通過できません」

えば、D 町で地震が発生して、D 町を通ることも到達することもできなくなったとし

B町

C町

地震発生後 45 秒 「通過可能 （過去の情報）」
地震発生後 50 秒 「通過可能 （過去の情報）」ます。このとき、D 町と直接接続されてい地震発生後 1 分 30 秒 「通過できません」

る A、B、C 町は、ともにこの事態を知る
図 6 右往左往する事情

インターネットマガジン／株式会社インプレスR&D

P2P/ブロードバンド時代の新・TCP/IP入門 │ INTERNET magazine │ 2005 │ 07 │ 111©1994-2007 Impress
R&D［インターネットマガジン バックナンバーアーカイブ］ ご利用上の注意
この PDF ファイルは、株式会社インプレス R&D（株式会社インプレスから分割）が 1994 年～2006 年まで発行した月刊誌『インターネットマガジン』の誌面を PDF 化し、「インターネットマガジン バックナンバーアーカイブ」として以下のウェブサイト「All-in-One INTERNET magazine 2.0」で公開しているものです。

http://i.impressRD.jp/bn
このファイルをご利用いただくにあたり、下記の注意事項を必ずお読みください。
z 記載されている内容（技術解説、URL、団体・企業名、商品名、価格、プレゼント募集、アンケートなど）は発行当時のものです。
z 収録されている内容は著作権法上の保護を受けています。著作権はそれぞれの記事の著作者（執筆者、写真の撮影者、イラストの作成者、編集部など）が保持しています。
z 著作者から許諾が得られなかった著作物は収録されていない場合があります。
z このファイルやその内容を改変したり、商用を目的として再利用することはできません。あくまで個人や企業の非商用利用での閲覧、複製、送信に限られます。
z 収録されている内容を何らかの媒体に引用としてご利用する際は、出典として媒体名および月号、該当ページ番号、発行元（株式会社インプレス R&D）、コピーライトなどの情報をご明記ください。
z オリジナルの雑誌の発行時点では、株式会社インプレス R&D（当時は株式会社インプレス）と著作権者は内容が正確なものであるように最大限に努めましたが、すべての情報が完全に正確であることは保証できません。このファイルの内容に起因する直接的および間接的な損害に対して、一切の責任を負いません。お客様個人の責任においてご利用ください。

このファイルに関するお問い合わせ先
All-in-One INTERNET magazine 編集部
im-info@impress.co.jp
Copyright © 1994-2007 Impress R&D, an Impress Group company. All rights reserved.