Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

IPv6 フローベース処理の概要

SRX シリーズ デバイスが IPv6 パケット、IPv6 拡張ヘッダー、ICMPv6 パケットを処理する方法について説明します。

IPv6パケットヘッダーとSRXシリーズの概要

すべての IPv6 パケットには、最小 40 バイト(320 ビット)の長い基本パケット ヘッダーがあります。IPv6パケットヘッダーには、オプションで拡張ヘッダーがあり、ネットワークデバイスに関する付加情報が含まれています。

IPv6 パケットの場合、フロー処理は次のように拡張ヘッダーとトランスポート レイヤー ヘッダーを解析します。

  • ソフトウェアが TCP、UDP、ESP、AH、ICMPv6 ヘッダーを検出した場合、ヘッダーを解析し、パケット ペイロードが指定されたプロトコル タイプに対応すると見なします。

  • ソフトウェアがホップバイホップヘッダー、ルーティングと宛先ヘッダー、またはフラグメントヘッダーを検出した場合、次の拡張ヘッダーを解析し続けます。

  • no-next-header 拡張ヘッダーが検出された場合、ソフトウェアはパケットが未知のプロトコルのヘッダーであることを検出します(プロトコルは 0 に等しい)。

  • その他の拡張ヘッダーの場合、ソフトウェアはヘッダーを解析し、拡張ヘッダーによって示されるプロトコルに属するパケットを識別します。

IPv6 パケット ヘッダー拡張について

IPv6 拡張ヘッダーには、IPv6 パケットを誘導または処理する方法を決定するネットワーク デバイス(ルーター、スイッチ、エンドポイント ホストなど)で使用される補足情報が含まれています。各拡張ヘッダーの長さは、8 オクテットの整数倍数です。これにより、後続の拡張ヘッダーで 8 オクテット構造を使用できます。

ヘッダーの後に拡張ヘッダーが続くには、拡張機能ヘッダーの種類を識別する次のヘッダー値が含まれています。拡張ヘッダーは、パケット内の IPv6 ヘッダーと上位レイヤー ヘッダーの間に配置できます。 図 1 は、ホップバイホップ オプション ヘッダーを持つ IPv6 パケットを示しています。同様に、IPv6 ヘッダーは、それぞれ前のヘッダーの [次のヘッダー] フィールドで識別される 0 個、1 つ以上の拡張ヘッダーを伝送できます。拡張ヘッダーは、 表 1 に示すように、常に基本的な IPv6 ヘッダーの順に従います。

図 1:IPv6 拡張ヘッダー IPv6 Extension Header
表 1:IPv6 拡張ヘッダー

ヘッダー名

目的

次のヘッダー値

ホップバイホップオプション

宛先ホストへのパス上の各ホップで配信パラメーターを指定します。

ホップバイホップ オプションは、IPv6 基本ヘッダーの後にのみ表示できます。これを使用する場合は、最初の拡張機能ヘッダーにする必要があります。他の拡張機能ヘッダーの後に表示することはできません。

0

宛先オプション

中間宛先デバイスまたは最終宛先ホストのパケット配信パラメーターを指定します。パケットがこのヘッダーを使用する場合。

60

ルーティング

ストリクト ソース ルーティングとパケットのルーズ ソース ルーティングを定義します。(ストリクト ソース ルーティングでは、各中間宛先デバイスはシングル ホップ離れている必要があります。ルーズ ソース ルーティングでは、中間宛先デバイスから 1 つ以上離れた場所にできます)

43

フラグメント

IPv6 フラグメント化と再構築サービスの実行方法を指定します。

送信元ノードは、フラグメント拡張ヘッダーを使用して、フラグメント化されたパケットのサイズを宛先ノードに伝え、宛先ノードがパケットを再アセンブリできるようにします。

44

認証

認証、データ整合性、アンチリプレイ保護を提供します。

51

セキュリティ ペイロードのカプセル化

カプセル化セキュリティ ペイロード(ESP)パケットに対して、データ機密性、データ認証、アンチリプレイ保護を提供します。

50

宛先 IP アドレス

IPv6パケットが送信されるノード上のホストデバイス、またはインターフェイスを特定します。

宛先アドレスは 2 回表示され、送信元 IP アドレスの後のホップ制限後の最初のインスタンス、最後の拡張ヘッダーの後の 2 つ目のインスタンスが表示されます。

60

IPv6の情報については、RFC2460を参照してください。

SRX シリーズ デバイスが ICMPv6 パケットを処理する方法を理解する

このトピックでは、インターネット制御メッセージ プロトコル(ICMP)、ICMP メッセージ、および SRX シリーズ サービス ゲートウェイ向け Junos OS がどのようにそれを使用するかについて説明します。

ICMP は、パケット処理エラーの報告、診断、実装固有の機能のためのフレームワークを提供します。ICMP エラー メッセージは、あるノードがデータ転送中に何か問題が発生したことを別のノードに通知することを可能にします。IPバージョン6(IPv6)が定義されたとき、IPv4(IPバージョン4)とICMPの新しいバージョンが必要になるほど大きな違いがありました。

すべてのICMPv6メッセージの前には、IPv6ヘッダーとゼロ以上のIPv6拡張ヘッダーが付いています。ICMPv6 ヘッダーは、直前のヘッダーの次のヘッダー値 58 で識別されます。これは、IPv4 の ICMP の識別に使用される値とは異なります。すべてのICMPv6エラーメッセージには、パケット受信者が組み込みの呼び出しパケットを見つけるのに役立つ32ビットのタイプ固有のデータがあります。

ほとんどのICMPv6パケットは、通常のIPv6パケットと同じ特性と動作を持ち、Junos OSフローモジュールは、通常のIPv6パケットと同じ方法で、最初のパスとファストパス処理を介して処理します。 表 2 は、フロー モジュールが通常の ICMPv6 パケットとは異なる方法で処理する ICMPv6 組み込みパケット タイプを示しています。

これらのパケットの場合、フロー モジュールは、組み込みの ICMPv6 パケットから作成するタプルを使用して、一致するセッションを検索します。インターフェイスに ICMPv6 パケットが大きすぎるメッセージを受信しない限り、一致するセッションが見つかるまで、MTU(最大送信単位)を変更せずにパケットを処理し続けます。この場合、インターフェイスの MTU サイズを変更します。フロー モジュールが一致するセッションを見つけない場合、または埋め込みペイロードから有効な IPv6 ヘッダーを取得できない場合、パケットをドロップします。

メモ:

パケットが大きすぎるメッセージは、フロー モジュールがインターフェイスを変更する唯一の種類の ICMPv6 パケットです。

表 2:Junos OS が他の ICMPv6 パケットとは異なる方法で処理する ICMPv6 パケット

メッセージ

意味

01- 宛先到達不能

パケットの送信方法に問題が発生してパケットを配信できない場合、パケット配信に失敗した理由など、問題の原因を伝えることができるフィードバック メカニズムを備えると便利です。IPv6 では、宛先到達不能メッセージがこの目的を果たします。

各メッセージには、パケット配信に失敗する原因となった問題の性質を示すコードが含まれています。また、配信できなかったパケットの全部または一部も含まれるため、送信元デバイスが問題を解決するのに役立ちます。

フロー モジュールで宛先到達不能 ICMP パケットが検出され、埋め込みパケット ヘッダー データがセッションの 5 タプル データと一致すると、ソフトウェアはセッションを終了します。

02パケットが大きすぎる

フロー モジュールが、これを想定した ICMPv6 パケットの大きすぎるメッセージを受信すると、フロー モジュールは、ルーティング エンジン上の ICMP プロトコル スタックにパケットを送信し、パス最大送信単位(パス MTU)の検出プロセスに関与します。

Packet Too Big メッセージがデバイスと関連せず、トランジット パケットである場合、デバイスは埋め込まれた 5 タプル データとセッションを照合しようとします。

  • 一致するセッションが存在する場合、デバイスはソースノードに配信します。

  • 一致するセッションが存在しない場合、デバイスはパケットをドロップします。

メモ:

パケットが大きすぎるメッセージは、フロー モジュールがインターフェイスを変更する唯一の種類の ICMPv6 パケットです。

03-Time Exceeded

フロー モジュールが、基本的なヘッダー ホップバイホップ フィールドで指定されたホップ数を超えたために配信できないパケットを受信すると、このメッセージを送信して、この理由でパケットが破棄されたことをパケットのソース ノードに通知します。

04- パラメータの問題

デバイスが IPv6 ヘッダーまたは拡張ヘッダーのフィールドに問題を見つけてパケットを処理できなくすると、ソフトウェアはそれを破棄してこの ICMPv6 メッセージをパケットのソース ノードに送信し、問題のタイプと場所を示します。