IP 【Internet Protocol】

広告

広告

IP とは

最終更新
2004-10-17T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/nw/tcpip/ip/ip.html#ip

IP は【Internt Protocol】の略でインターネットを実現するために作られたプロトコルです。正確には、IPによって世界規模で相互に接続されたコンピュータネットワークをインターネットと呼んでいるのです。このインターネットですが、実際は複数の小規模なネットワークから構成されています。IP の機能は、インターネットで通信相手を特定するための「IPアドレス」に基づいて、パケットを別のネットワークにある端末まで届ける事なのです。

データのカプセル化

最終更新
2004-10-17T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/nw/tcpip/ip/ip.html#capcel

IP では、IPヘッダを使ってデータをカプセル化します。カプセル化というのはIP に限らず、特定のプロトコルが専用のヘッダ(場合によってはフッタもセットで)を付ける事によりデータをひとまとめにすることです。IP がする仕事は、データにIPヘッダを加えてIP パケットを作り出し、下位のデータリンク層にそれを渡すことです。ただし、データリンク層のフレームで運ぶ事ができるデータの最大サイズは決められています。このサイズのことをMTU【Maximum Transfer Unit】と呼ぶのですが、IP はあらかじめデータリンク層で使うプロトコルのMTU を調べておき、これに併せてデータを分割する処理(フラグメント)も担当しているのです。

IPv4 のIPヘッダ

最終更新
2004-10-17T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/nw/tcpip/ip/ip.html#ipv4

ではまずIPヘッダについて見てみましょう。現行の主流は「IPv4」と言うバージョンです。

IPv4 Header
0 31
バージョン
(4)
データ長
(4)
サービスタイプ
(8)
全データ長
(16)
識別
(16)
フラグ
(3)
フラグメントオフセット
(13)
生存時間
(8)
プロトコル
(8)
ヘッダチェックサム
(16)
発信元IPアドレス
(32)
宛先IPアドレス
(32)
(オプション)
(不定長)
(パディング)
データ
←― 32ビット ―→

バージョン

IPのバージョンを入れます。現在広く使われていますIPv4のバージョンは「4」です。その他は以下の通り。

データ長

IPヘッダの長さをオクテット(4バイト)単位で入れます。上記ヘッダ表を見ればなぜ4バイト(32ビット)単位かはすぐにわかりますよね。オプションを持たない標準のIPヘッダは20バイトですからここには「5」が入ります。

サービスタイプ

IP が要求するサービス品質を示します。分かりやすく言えば、これは各データの優先順位となっています。端末がデータを送る優先順位ではなく、ルータルーティングを行うときの優先順位です。入れる事の出来る値は以下の通り

全データ長

IPヘッダも含めたIP パケット全体の長さをオクテット単位で表します。フィールド長が16ビットなので最大長は65,535オクテットなのですが、実際はデータリンクのMTUによって異なります。

識別

データを分割(フラグメンテーション)した際に分割したデータを運ぶIPヘッダの識別全てに同じ値が書きこまれます。分割されていない場合は、IP パケットが送信される度に値が+1されます。

フラグ

IP パケットフラグメンテーションに関する指示を行います。

フラグメントオフセット

分割されたデータが分割前のデータの先頭から数えて何バイト目で切り取られたのかを8バイトを一つの単位として書きこみます。

生存時間

TTL【Time To Live】とも呼びます。IP パケットが通過できるルータの数です。ルータを通過する毎に一つ値を減らし、ゼロになった時点でそのパケットは破棄されます。

プロトコル

IP パケットに格納されたデータの上位プロトコルを表します。

ヘッダチェックサム

IPヘッダが壊れていないかを検査するための値です。検査に失敗すると、全てのIP パケットではなく、そのパケットだけを破棄します。

送信元IPアドレス

送信したノードIPアドレス

あて先IPアドレス

あて先ノードIPアドレスルータはここを参照してルーティングを行います。

IPv6

最終更新
2004-10-17T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/nw/tcpip/ip/ip.html#ipv6

上記のIPv4は1970年代に考案されたアドレス体系ですが、近年のIPアドレス枯渇問題を解決する手段としてIPv6が有力候補となっています。IPv6の標準化は1994年になされています。

IPv6 のIPヘッダ

IPv6 Header
0 31
バージョン
(3ビット)
優先順位
(9ビット)
フローラベル
(20ビット)
ペイロード長
(16ビット)
次のヘッダ
(8ビット)
ホップ制限
(8ビット)
発信元IPアドレス
(128ビット)

宛先IPアドレス
(128ビット)

拡張ヘッダ
(可変長)


データ


←― 32ビット ―→

補足知識

最終更新
2004-10-17T00:00:00+09:00
この記事のURI参照
https://www.7key.jp/nw/tcpip/ip/ip.html#supplement

IPデータグラムを分割することをフラグメンテーション【fragmentation】分割したデータグラムをフラグメント【fragment】と呼ぶ。フラグメントを受信した際、全てを集めて元のデータグラムに戻し上位のプロトコルに渡す。これをリアセンブル【reassemble】と呼ぶ。

広告

Copyright (C) 2004 七鍵 key@do.ai 初版:2004年10月16日 最終更新:2004年10月17日