日経NETWORKの9月号の特集1では「パケットの気持ちでプロトコル連携を理解する」というタイトルで、IP(Internet Protocol)のパケットが家庭内のLANを出て、やがてインターネット上にあるWebサーバーにまで流れていく過程を説明した。ここでは特集のこぼれ話をご紹介したい。

 その昔、記者がネットワークの勉強を始めたごくごく最初の頃に「よくわからない」と思ったのが「レイヤー2のイーサネットと、レイヤー3のIPはどう連携しているのか?」ということだった。そんなとき、日経NETWORKの先輩記者は「わからない?そういうときはパケットの気持ちになって考えるんだ!」と言う。「……なんですかそれは!?」

 要するに、通信の流れが理解できないときは一度、「パケットの立ち場になると、いま自分はどんな情報を持って、どこにいるんだろう。次のホップに行くために足りない情報はなんだろう」と考えてみるということだった。「パケットの気持ち」と書くと字面は妙だが、複数のプロトコルが連携して動く局面を理解するには、確かに有効な気がする。

 “パケットの気持ち”になるのは、プロトコルの基本を理解するだけでなく、トラブルシューティングなどの役に立つこともありそうだ。複数の取材先で出てきたのは、「“パケットの気持ち”というのを、パケットが持っている情報を正確に理解して、次の動きを考えるということだとします。それに加えて、ネットワークの物理構成、レイヤー2の論理構成、レイヤー3の論理構成と、レイヤーごとの構成を把握しているとトラブルが起こったときに対処しやすくなります」という話だ。

 現在の企業ネットワークなどではVLAN(Virtual LAN)が広く使われているし、物理サーバーの中に仮想スイッチ、仮想ルーターなどが収まっていることが珍しくない。つまり機器の物理構成とネットワークの論理構成は必ずしも一致しないのだが、トラブルシューティングをする際には、物理と論理を行ったり来たりしつつ、いまパケットが持っている情報は何かを考えると、問題点を抽出しやすいという。ネットワークの一部に仮想化環境が混じっていたとしても、それだけで惑わされることもなくなる。

 取材を進めると、実際のネットワーク技術者の方からも「私も新人に“パケットの気持ちになってみて”と言ってしまうことがあります」という話が出てきたので、以上のような見方は思ったより一般的なのかもしれない。

パケットは年々“フクザツな気持ち”になっているらしい

 そんなわけで9月号の特集1ではパケットの気持ちになって、家からインターネット上のWebサイトまでアクセスする際の流れを追ってみることにした。特集では紙幅の都合で、パケットがLANからインターネットに運ばれていくもっともシンプルなパターンを紹介したのだが、現実はもうちょっと複雑だ。

 例えば特集ではIPv6/IPv4混在環境は想定せず、基本的にIPv4だけの接続を前提にした。しかし、今後はちょっとずつ、IPv6を考慮に入れなくてはいけないケースが増えてくるだろう。例えばWindows Vista以降のWindows OSでは、IPv6がデフォルトで有効になっている。こういったOSをネットワークにつないだ場合は、特別なことをしなくてもLANにIPv6パケットが流れてしまうことになる。

 そのほか、現在では家庭内のエンドユーザーがインターネット上のどこかからWebコンテンツを取得する際には、コンテンツ・デリバリー・ネットワーク(Contents Delivery Network:CDN)を経由していることが多い。CDN自体は昔から存在するサービスだが、国内のプロバイダー関係者によると「直近の数年で、CDNのトラフィックが急激に増えている」という。しかしページ数の都合で、これも特集では省いている。CDNを使った際のパケットのやり取りは、採用しているCDNの種類や、Webサイト側のシステム構成によって様々だ。

 以上のような要素から、ネットワーク上を流れるパケットは毎年ちょっとずつ“よりフクザツな気持ち”になっている。当然パケットの気持ちになったり、トラブルシューティングを試みたりする手順もその分、複雑になる。自社のネットワーク管理者が把握している範囲内で済む話ならまだ良いが、CDNのように他社が提供するサービスのネットワークが絡んでくると、そのサービスのネットワークはブラックボックスになる。その分、トラブルシューティングなどに手間がかかりそうだ。

 今後、こうしたパケットの“フクザツな気持ち”を一つずつ解き明かしていくには、CDNのような様々なサービス側のネットワークを可能な範囲で理解することや、トラブル発生時の情報収集方法や連絡方法を整理しておくことなど、ノウハウの蓄積がますます重要になるのだろう。