【IPプロトコル】

IPプロトコルは、データをやり取りする相手機器との通信に関する取り決めを定めています。
IPプロトコルは、以下の処理を担当しています。

① データの送信元と送信先を特定するIPアドレス情報を付加する。(アドレッシング)
② 特定された送信先までの通信経路を選択する。(ルーティング)
③ 通信経路上の障害発見、経路変更、接続終了を送信元に通知する。(誤り制御)




IPプロトコルを用いたデータのやり取りにより通信を実現するネットワークを、IPネットワーク (IP network) と呼びます。
IPネットワークでは、光ファイバなどのケーブルがルータで相互接続されています。

トランスポート層から渡されたデータは、インターネット層 (OSI参照モデルでは、ネットワーク層) の IPプロトコルによって、
パケット (packet) という単位に分割されます。
その上に、IPヘッダ (IP header) という送信元と送信先の IPアドレスなどの情報が付加され、ネットワークへと送出されます。

一方、ルータは到達したパケットの IPヘッダを解析したうえで、最適な経路を選択することにより、ルーティング制御 (routing) を行います。

また、同じインターネット層に属し、ネットワークの接続性の確認や、パケットの中継における異常通知などを担当するプロトコルとして
ICMP (Internet Control Message Protocol) があります。
ICMP は、エラーが発生した場合に、「パケット中継不能」 などのメッセージをルータから送信元に伝えるためのプロトコルです。

このように複数のルーティングの繰り返しによって、目的とする相手までのパケット転送を可能としているのです。



(9)IPプロトコル(ネットワーク層)

IP(Internet Protocol)は、OSI参照モデルの第3層であるネットワーク層のプロトコルです。
トランスポート層プロトコルは互いのポート間の情報交換を管理しています。
しかし、これだけではどのコンピュータに対してデータを送信するのかわからず、データを宛先のコンピュータに届けることができません。

そこで、トランスポート層のTCPヘッダにネットワーク層のヘッダを付加し、トランスポート層では実現しなかった互いのコンピュータ間での
やり取りを実現しようというものです。
トランスポート層で管理されるポート番号がマンションなどの部屋番号であるとすると、ネットワーク層で管理されるアドレスは、
そのマンション名やマンションが存在する住所にあたります。

つまり、実際通信が行われる双方のコンピュータのアドレスということになります。
IPによって、通信を行う2台のコンピュータ間のパケットの送受信が可能となりますが、実は、IPはコネクションレス型です。
これは、IPデータの送信に確認応答などを行わないプロトコルということなのですが、この確認応答などの機能はトランスポート層におけるTCPに委ねられています。
TCPで互いのデータのやり取りを保証しているため、IPでは相手に届けるための機能を万全にしておけばよいわけです。
IPによって情報を転送する場合、ネットワーク層でデータにlPヘッダを付加して下位層に引き渡します。

IPヘッダは、前に説明したトランスポート層によって付加されたTCPヘッダの上部に付加されることになります。
これは、1つのデータをトランスポート層でTCPのラベルがついた袋に入れてネットワーク層に渡し、ネットワーク層では渡された袋を、さらにIPのラベルがついた袋に入れるという物理的な行為のプロセスだと考えてもよいでしょう。
図1でlPヘッダのフォーマットを、図2でその内容を記していますが、内容についてここでさらに説明を加えておくことにしましょう。

まず、1の「バージョン」ですが、これはIPがつねに進化できるようにその進化過程の通番を管理するものです。
バージョンは現在4が使われていますが、受信したIPヘッダのバージョン番号を確認することで、
それ以降のデータの並びが図1のようになっていることを暗黙のうちに知ることができます。

図2 IPヘッダの内容


6の「フラグ」は、パケットの分割に関する情報を表しています。
データは一般に複数のパケットに分割され、複数回の送信で引き渡されることになります。
この際、そのフラグメント(Fragment:断片などの意味。複数のパケットの1つを指す)が途中のものであるか、
最後のものであるのかは、データの中身を見なければ認識ができないため、ネットワーク層で確認するすべがありません。

しかし、このフィールドのビット2を参照することでそれが可能となります。
ビット2が1であれば途中のパケット、0であれば最後のパケットであることを表現しています。

8の「生存時間」についてはこうです。
すなわち、パケットは複数の中継点を介して相手のコンピュータに引き渡される際、通信経路情報の誤りなどにより、
宛先に到達することができずに同じ経路を周回し続けてしまう場合があります。
これをループするといいますが、このようなパケットがネットワークに複数存在するとネットワーク全体に負荷をかけてしまう恐れがあります。

そこで、これを防止するためパケットに寿命を設定し、ルータなどでルーティングされるたびにその寿命を減らして、
それが0となった時点でこのパケットをルーティングせずに破葉します。
この寿命が生存時間です。

9の「プロトコル」は上位層のプロトコルが何であるのかを示していますが、これはIPのラベルがついた袋の中には、
何が入っているかという情報を表記するためのものです。
11の「送信元IPアドレス」は自己のコンピュータのアドレスを表し、そして、12の「宛先IPアドレス」はIPヘッダの最も重要なフィールドの1つで、
これがまさに宛先の住所ということになります。




Home Page