IPは、インターネット・プロトコル(英:Internet Protocal)の略称です。
用途
IPはTCP/IPスタックのメールルームであり、パケットのソートと配信が行われます。この層では受信パケットと送信パケットはデータグラムと呼ばれます。 それぞれのIPデータグラムには発信者の発信元IPアドレスと受信者の宛先IPアドレスが含まれています。MACアドレスとは異なり、データグラム中のIPアドレスはパケットの送信中に変化することはありません。
機能
IP層は以下の機能を持っております。
ルーティング
ルーティングはIPの第1の機能です。データグラムは上位のUDPとTCPおよび下位のNICからIPに渡されます。 それぞれのデータグラムには発信元アドレスと宛先アドレスが付けられます。IPはそれぞれのデータグラムの宛先アドレスをチェックし、ローカルで保管されているルートテーブルと照合してどういう処理を行うかを決定します。 データグラムの処理には以下の3種類があります。
- ローカル ホストのIPの上位のプロトコル層に渡す
- ローカルで添付されたNICの1つを使用して転送する
- 破棄する
ルート テーブルには4つの異なった種類のルートが記録されています。以下に照合が行われる順番に記述します。
- ホスト(特定の1つの宛先IPアドレスへのルート)
- サブネット(サブネットへのルート)
- ネットワーク (あるネットワーク全体へのルート)
- デフォルト(一致するものがない場合に使用)
IPは以下の手順を実行してIPデータグラムの転送経路を1つ決定します。
- ルーティング テーブルのそれぞれのルートにつき宛先IPアドレスとネットマスクの間でビット単位の論理和 (AND) を実行します。
IPはこの結果がネットワーク宛先と一致するかをチェックし、一致する場合はIPはこのルートが宛先IPアドレスと一致するルートと判断します。 - 一致するルートの一覧の中からネットマスクのビットとの一致度が最も高いルートを捜します。
これが宛先IPアドレスのビットに最も一致するルートであり、したがってこのIPデータグラムの最も適したルートです。
これは最長または最短一致ルート検索と呼ばれる方法です。 - 複数の最短一致ルートが存在する場合にはIPは最も数値が小さいルートを使用します。
最も数値が小さいルートが複数ある場合には、IPはどのルートでも自由に使用できます。
Windowsでは「route PRINT」、Linuxでは「route」で現在のルーティングテーブルを確認できます。
二重IPアドレス検出
二重アドレスの検出は重要な機能です。スタックが最初に初期化されたときまたは新しいIPアドレスが追加されたときには、念のためにLocalHostのIPアドレスのARP要求がブロードキャストされます。 他のホストがこれらのARPのいずれかに応答するとそのIPアドレスはすでに使用されていることになります。
マルチホーミング
準備中
IPマルチキャスト
準備中