GRE(Generic Routing Encapsulation)
GRE、GREトンネリング、カプセル化とカプセル化解除、GREの設定について学習します。
GRE(Generic Routing Encapsulation)は、トンネル内のデータトラフィックをカプセル化する仮想ポイントツーポイントリンクです。以下のトピックでは、GREのトンネリング、カプセル化とカプセル化解除のプロセス、GREの設定、GREの動作の検証について説明します。
GREの概要
GREは、パケットをカプセル化(またはトンネリング)することにより、他のパブリックネットワークを介してパケットを転送するためのプライベートパスを提供します。
GREはデータパケットをカプセル化し、カプセル化を解除して最終宛先にルーティングするデバイスにリダイレクトします。これにより、送信元スイッチと宛先スイッチは、あたかも相互に仮想ポイントツーポイント接続があるかのように動作することができます(GREによって適用される外部ヘッダーがカプセル化されたペイロードパケットに対して透過的であるため)。たとえば、GREトンネルを使用すると、RIPやOSPFなどのルーティングプロトコルが、インターネットを介して1つのスイッチから別のスイッチにデータパケットを転送できます。さらに、GREトンネルは、インターネット経由で送信するためにマルチキャストデータストリームをカプセル化できます。
GREは、RFC 2784で説明されています(以前のRFC 1701および1702は廃止されます)。スイッチは RFC 2784 をサポートしていますが、完全にはサポートしていません。
スイッチは、 トンネル送信元ルーターとして、トンネルを介して宛先ネットワークに転送するためにペイロードパケットをカプセル化します。ペイロードパケットはまずGREパケットにカプセル化され、次にGREパケットが配信プロトコルにカプセル化されます。 トンネルリモートルーター の役割を果たすスイッチは、トンネルされたパケットを抽出し、パケットを宛先に転送します。1つのファイアウォール条件を使用して、QFX5100スイッチ上の多くのGREトンネルを終了できることに注意してください。
プラットフォームに関連する注意事項については 、「プラットフォーム固有のGRE動作」 セクションを参照してください。
GREトンネリング
データは、ルートテーブルで確立されたルートを介してシステムによってGREエンドポイントにルーティングされます。(これらのルートは、RIP や OSPF などのルーティング プロトコルによって静的に設定したり、動的に学習したりできます)。データパケットがGREエンドポイントによって受信されると、カプセル化が解除され、宛先アドレスに再度ルーティングされます。
GREトンネルは ステートレスです。つまり、トンネルのエンドポイントには、リモートトンネルエンドポイントの状態や可用性に関する情報は含まれていません。そのため、トンネル送信元ルーターとして動作するスイッチは、リモートエンドポイントが到達できない場合、GREトンネルインターフェイスの状態をダウンに変更することはできません。
GREトンネリングの詳細については、以下を参照してください。
スイッチでのカプセル化とカプセル化解除
カプセル化—トンネルソースルーターとして動作するスイッチは、次のようにGREパケットをカプセル化して転送します。
スイッチは、トンネル化するデータパケット(ペイロード)を受信すると、そのパケットをトンネルインターフェイスに送信します。
トンネル インターフェイスは、データを GRE パケットにカプセル化し、外部 IP ヘッダーを追加します。
IPパケットは、外部IPヘッダーの宛先アドレスに基づいて転送されます。
カプセル化解除—トンネルリモートルーターとして動作するスイッチは、GREパケットを次のように処理します。
宛先スイッチがトンネルインターフェイスからIPパケットを受信すると、外側のIPヘッダーとGREヘッダーが削除されます。
パケットは、内部IPヘッダーに基づいてルーティングされます。
GREトンネルのサービスクラス
ネットワークで輻輳や遅延が発生すると、一部のパケットがドロップされることがあります。Junos OSサービス クラス (CoS)は、トラフィックをクラスに分割し、輻輳が発生したときに異なるレベルのスループットとパケットロスを適用できるようにすることで、パケットロスのルールを設定できます。CoS の詳細については、 EXシリーズ スイッチの Junos OS CoS の概要を参照してください。
以下のCoSコンポーネントは、GREトンネルソースルーターまたはGREトンネルリモートルーターとして動作するスイッチで使用できます。
-
GREトンネルソース—トンネルソースルーターとして動作するスイッチでは、 イングレスポート または GREポートにCoS分類子を適用でき、トンネルパケットでのCoSコンポーネントサポートについて以下のような結果が得られます。
-
スケジューラのみ—イングレスポートのCoS分類に基づいて、スイッチのGREポートにCoSスケジューラを適用して、出力キューを定義し、GREカプセル化後のトンネルを介したパケットの伝送を制御できます。ただし、これらのパケットにCoS 書き換えルール を適用することはできません。
-
スケジューラと書き換えルール—GREポートのCoS分類に応じて、スケジューラと書き換えルールの両方を、トンネルを介して送信されるカプセル化されたパケットに適用できます。
gr-インターフェイスでBA分類子を設定することはできません。ファイアウォールフィルター(マルチフィールド分類子)を使用して、gr-インターフェイス上のトラフィックを分類する必要があります。 -
GREトンネルエンドポイント—スイッチがトンネルリモートルーターの場合、GREポートとスケジューラにCoS分類子を適用できます。また、エグレスポート上のルールを書き換えて、エグレスポートからアウトされるカプセル化解除されたGREパケットの送信を制御することもできます。
GREトラフィックにファイアウォールフィルターを適用する
ファイアウォールフィルターは、スイッチ上のインターフェイスを通過するパケットを許可、拒否、または転送するかどうかを定義するルールを提供します。(詳細については、 EXシリーズスイッチのファイアウォールフィルターの概要を参照してください)。GREではカプセル化とカプセル化解除が行われるため、ファイアウォールフィルターを適用してトンネルされたパケットをフィルタリングできる場所や、どのヘッダーが影響を受けるかについては制約があります。 表1は 、これらの制約を示しています。
| エンドポイントタイプ | イングレスインターフェイス | エグレスインターフェイス |
| ソース(カプセル化) |
内側ヘッダー |
外部ヘッダー |
| リモート(カプセル化解除) |
ingressインターフェイスでパケットをフィルタリングできません |
内側ヘッダー |
ファイアウォールフィルターを使用してGREトラフィックのカプセル化を解除する
ファイアウォールフィルターを使用して、スイッチ上のGREトラフィックのカプセル化を解除することもできます。この機能は、カプセル化解除を実行するためにトンネルインターフェイスを作成する必要がないため、拡張性、パフォーマンス、柔軟性の面で大きなメリットをもたらします。例えば、1つのファイアウォール条件で、複数の送信元IPアドレスからの多くのトンネルを終了できます。この目的のためにファイアウォールフィルターを設定する方法については、 GREトラフィックのカプセル化を解除するためのファイアウォールフィルターの設定 をご覧ください。
GRE(Generic Routing Encapsulation)トンネリングの設定
GRE(Generic Routing Encapsulation)は、パケットをカプセル化(またはトンネリング)することにより、他のパブリックネットワークを介してパケットを転送するためのプライベートパスを提供します。GREトンネリングは、トラフィックをカプセル化またはカプセル化解除するトンネルエンドポイントを介して実現されます。
GREを使用して、特定の機能のプラットフォームおよびリリースサポートを確認します。
ファイアウォールフィルターを使用して、GREトラフィックのカプセル化を解除することもできます。この機能は、カプセル化解除を実行するためにトンネルインターフェイスを作成する必要がないため、拡張性、パフォーマンス、柔軟性の面で大きなメリットをもたらします。例えば、1つのファイアウォール条件で、複数の送信元IPアドレスからの多くのトンネルを終了できます。この機能の詳細については、「 GREトラフィックのカプセル化を解除するためのファイアウォールフィルターの設定」を参照してください。
スイッチ上でGREトンネルポートを設定するには:
-
GREトンネルポートに変換するスイッチのネットワークポートまたはアップリンクポートを決定します。
-
GREトンネルサービスのトンネルポートとしてポートを設定します。
[edit chassis]user@switch# set fpc slot pic pic-number tunnel-port port-number tunnel-services
QFX10000の場合、gr-0/0/0インターフェイスがデフォルトで作成されます。また、 set fpc slot pic pic-number tunnel-port port-number tunnel-servicesステートメントを設定する必要はありません。
このトピックでは、以下について説明します。
GREトンネルを設定する
GREトンネルインターフェイスを設定するには:
QFX10002スイッチとQFX10008スイッチでは、ユニキャストネクストホップではなく、基盤となるECMPネクストホップでGREトンネリングを設定すると、GREトンネルのカプセル化が失敗し、ネットワークトラフィックが破棄されます。
間接出口ネクストホップは、現在、QFX10000スイッチのGRE実装ではサポートされていません。
汎用ルーティングのカプセル化トンネリングが正しく機能していることを確認する
目的
GRE(汎用ルーティング カプセル化)インターフェイスがトンネル トラフィックを送信していることを確認します。
アクション
コマンド show interfaces を使用して、指定されたGREインターフェイスのステータス情報を表示します。
user@switch> show interfaces gr-0/0/0.0
Physical interface: gr-0/0/0, Enabled, Physical link is Up
Interface index: 132, SNMP ifIndex: 26
Type: GRE, Link-level type: GRE, MTU: Unlimited, Speed: 800mbps
Device flags : Present Running
Interface flags: Point-To-Point SNMP-Traps
Input rate : 0 bps (0 pps)
Output rate : 0 bps (0 pps)
Logical interface gr-0/0/0.0 (Index 68) (SNMP ifIndex 47)
Flags: Point-To-Point SNMP-Traps 16384
IP-Header 10.1.1.2:10.1.1.1:47:df:64:0000000000000000 Encapsulation: GRE-NULL
Input packets : 0
Output packets: 0
Protocol inet, MTU: 1476
Flags: None
Addresses, Flags: Is-Primary
Local: 10.0.0.0
意味
出力は、GREインターフェイスgr-0/0/0が稼働していることを示しています。出力には、物理インターフェイスの名前とこのインターフェイスのトラフィック統計情報が表示されます---物理インターフェイス上で入出力バイトとパケットが送受信される数とレート。
プラットフォーム固有のGRE動作
GRE(汎用ルーティングカプセル化)を使用して、特定の機能のプラットフォームおよびリリースサポートを確認します。
プラットフォーム固有の動作を確認するには、以下の表を使用して下さい。
| プラットフォーム | の違い |
|---|---|
| QFXシリーズスイッチ |
|
| EXシリーズスイッチ | GREをサポートするEXシリーズスイッチ:
|