TTLで経由するルータを制限
ネットワークの負荷を軽減する
今回は、前回に説明しなかったIPヘッダの「TTL」以降を詳細に見ていくことにする。まずは、IPヘッダを再度確認しよう(図1)。
|
図1● IPヘッダの構造。データを送信する先のIPアドレスや、送信元のIPアドレスなどが明記されている |
|
●TTL
「TTL」は「Time To Live」の略で、パケットの生存時間を表している。ルータのルーティングテーブルの不整合により、パケットがネットワーク内を延々とループしてしまい、ネットワークに負荷をかけないよう、経由するルータの限度を示したものだ。
例えば、図2を見てみよう。この図では、ルータA、B、Cの3台のルータがあり、ルータAには「10.0.0.0/8」と「20.0.0.0/8」のネットワークが、ルータBには「20.0.0.0/8」と「30.0.0.0/8」のネットワークが、そしてルータCには「30.0.0.0/8」と「40.0.0.0/8」のネットワークが接続されている。
|
図2● ルータA、B、Cはそれぞれ異なるネットワークとつながっており、ルーティングテーブルに従ってパケットを次のルータに引き渡す |
|
ルータAに直接接続された「10.0.0.0/8」のネットワークから、ルータCに直接接続された「40.0.0.0/8」のネットワークへ通信を行う場合、ルータAとルータCの間にいるルータBのルーティングテーブルには、ルータCが持つ「40.0.0.0/8」へパケットを送るという情報が入っているはずだ。よって、ルータAは「40.0.0.0/8」宛てのパケットが来ると、ルータBにパケットを送信する。
しかし、図2のように、受け取ったルータBのルーティングテーブルには「40.0.0.0/8」へのルーティング先としてルータAが設定されている。これでは、ルータAはまたルータBに、ルータBからルータAにと、パケットは両者の間をループしてしまい、ネットワークに大きな負荷を与えてしまう。
こうした負荷を軽減するのが、TTLだ。TTLに設定された値は、ルータを経由するたびに1つずつ減り、0になるとパケットは破棄される。つまり、パケットが行き場を失ってループ状態に入っても、0になれば破棄されるということだ。
プロトコルを識別する情報や
エラーをチェックする情報も入っている
では、IPヘッダの構造の残りを見ていこう。
●プロトコル番号
「プロトコル番号」とは、上位のプロトコルが何かを識別するための番号だ。IPの上位層であるトランスポート層には、「TCP」および「UDP」がある。プロトコル番号で、どちらにデータを渡せばよいかを識別する。TCPであれば「6」が、UDPであれば「17」という値が入る。
●ヘッダチェックサム
「ヘッダチェックサム」は、IPヘッダのエラーがないかどうかを調べるための情報だ。TCPおよびUDPでも同様の情報をヘッダに埋め込まれている。
●送信元IPアドレス・宛先IPアドレス
これは、読んで字のごとく、データを送信したコンピュータのIPアドレスと、データの宛先のIPアドレスだ。ルータは、宛先IPアドレスとルーティングテーブルを見ながら、ルーティングを行っている。
●オプション
これは、まだIPを開発している実験段階で、さまざまな情報を追加するために使用していた部分だ。現在はほとんど使われることがない。
(C) Office N-Study http://www.n-study.com/
|