見出し画像

伝送をコントロールする情報がギッシリ!IPv6ヘッダフィールドの役割

「家に届く荷物の配送も、パケットの配送も、いろいろ気を使って行われているんですね。」

はい、こんにちは!松井真也です。シリーズ「着実に普及していくIPアドレスの進化版:IPv6」の第4回でございます。

前回は、IPv6のヘッダのうち、その構成と廃止されたフィールドについてご紹介しました。IPv4のヘッダよりも長くなったものの、長さが固定することで効率化を図るのでした。また、送信元でしか断片化しなくなったのでフラグメントに関するフィールドも廃止されました。

さて、今回はそのIPv6ヘッダの続きとして、各フィールドの役割について解説します。IPv4のフィールドから厳選されたフィールドや新規追加されたフィールドがあります。どんなフィールドでしょうか?

早速見ていきましょう!

これが各フィールドの役割だ!

IPv6ヘッダにはいくつかの重要なフィールドがあり、それぞれ異なる機能を持っています。以下に、それぞれのフィールドについて詳しく説明します。

まずはヘッダーの構成を再掲しましょう。

IPv6ヘッダの構成

フィールドは、8つしかないですね。

バージョン

このフィールドは4ビットで構成され、IPv6プロトコルであることを示します。IPv6では、このフィールドは常に6(二進数で0110)の値を取ります。

一方、IPv4なら常に4(二進数で0100)の値を取りますよ。今後IPv6の後継バージョンが登場することがあるなら、この値が変わるのでしょう。

トラフィッククラス

この1バイト(8ビット)フィールドは、トラフィックの優先順位付けとネットワークの輻輳管理に使われます。

上位6ビットはDiffServ(Differential Services)フィールドで、トラフィックを分類するために使用されます。「お、IP電話のパケットですか、なら急ぎですね。お、メールのパケットですか、今混んでるので後回しでいいですね。」とかね。

残りの2ビットはECN(Explicit Congestion Notification)に使われ、ネットワークの輻輳を示すために使用されます。直訳すると「明白な輻輳の通知」です。2ビットなので4パターンあるのですが、00が「輻輳なし」、11が「輻輳発生」です。

これに対応するIPv4のフィールドは、ToS(Type of Service)です。

フローラベル

この20ビットフィールドは、特定の通信フローを識別するためのラベルです。フローラベルを使用すると、IPアドレスやポート番号を利用して、同じフローのパケットが同じ経路をたどることができるため、パケットの順序が保たれ、効率的なルーティングが可能になります…というのが一般的説明です。

しかし、実際のところ、技術的な利用方法が確立されていないのか?あまり積極的に利用されていないようでして、すべて0であることが多いようです。もったいないな~。

なお、このフィールドは、IPv4にはないものです。

ペイロード長

16ビットで示され、IPv6ヘッダに続くペイロード(拡張ヘッダと上位層プロトコルのデータ)の全長をオクテット単位で示します。

IPv4にも似たようなフィールドがありましたね。そう、「パケット長」です。こちらは、ヘッダを含む長さを示します。IPv6の場合、ヘッダが固定長なので「ヘッダ長」を含める必要がないんです。

ネクストヘッダ

8ビットフィールドで、ヘッダの次に来るデータのタイプを指定します。これは、IPv4のプロトコルフィールドに相当します。

拡張ヘッダはペイロードの先頭に含まれ、固定ヘッダの直後に配置されます。IPv6の固定ヘッダは常に同じ長さ(40バイト)ですが、拡張ヘッダを使用することで、追加の情報をパケットに含めることが可能になります。

拡張ヘッダがある場合、その機能を示します。一方、拡張ヘッダがない場合、このフィールドは上位層プロトコル(例えばTCPやUDP)を指定します。

ホップリミット

この8ビットフィールドは、IPv4のTime to Live(TTL)に相当します。パケットがルータを通過するたびに1減少し、0になるとパケットは破棄されます。ループを防止するためにあります。

送信元アドレス・宛先アドレス

それぞれ送信元ノードと宛先ノードを128ビットIPv6アドレスを指定します。これにより、パケットがどこから来たのか、どこに送るのかを識別できます。


はい、本日はここまで!今回は、IPv6のヘッダフィールドのそれぞれの役割について解説しました。IPv4と何が違うのか比較しながら調べると楽しいですよ!

さて、次回は、ユニキャストアドレスに入りましょう!

では!

この記事が気に入ったらサポートをしてみませんか?