IPv6 ポリシーベース ルーティングの概要
IPv6 PBR はパケットをルーティングするための柔軟なメカニズムを提供し、トラフィック フローのポリシーを定義します。ルーティング プロトコルで提供される既存のメカニズムを拡張し、補完します。PBR では、基本的なパケット マーキング機能も提供します。
PBR は次の処理を実行します。
• 拡張アクセス リスト基準に基づいてトラフィックを分類します。リストへのアクセスを提供し、一致基準を設定します。
• IPv6 precedence ビットを設定し、ネットワークでサービス クラスを区別できるようにします。
• 特定のトラフィック処理が行われたパスにパケットをルーティングします。ネットワークを介して特定の Quality of Service(QoS)を許可するためにパケットをルーティングできます。
Cisco 7600 シリーズ ルータは Earl7 フォワーディング エンジンの機能を使用して、アクセス コントロール リスト(ACL)Ternary Content Addressable Memory(TCAM)ルックアップによってトラフィックを分類するために、この機能を実装します。ACL TCAM ルックアップは、さまざまなレイヤ 3 およびレイヤ 4 トラフィック パラメータの組み合わせに基づいてトラフィックを分類します。分類後、ACL TCAM によりフローのマッチングが行われます。Feature Manager(FM)コンポーネントは、インターフェイスで設定されたルート マップ ポリシーを一連の値、マスク、および結果(VMR)に変換し、これらを ACL TCAM でプログラムします。
ポリシー ベース ルーティング
PBR がイネーブルなインターフェイスで受信されたすべてのパケットは、ルート マップと呼ばれる拡張パケット フィルタを通過します。ルート マップは permit または deny とマークされたステートメントで構成され、次のように解釈されます。
• パケットが、 permit とマークされているルート マップのすべての match ステートメントに一致する場合、ルータは set ステートメントを使用して PBR をパケットに適用します。
• パケットが、 deny とマークされているルート マップのいずれかの match ステートメントに一致する場合、ルータはそのパケットに PBR を適用せず、通常どおり転送します。
• ステートメントが permit とマークされ、パケットがいずれのルート マップ ステートメントにも一致しない場合、ルータはそのパケットを通常の転送チャネルを介して返送し、宛先ベースのルーティングを実行します。
パケット マッチング
シーケンスの IPv6 PBR の一致基準は IPv6 アクセス リストおよびパケット長操作の組み合わせによって指定します。match ステートメントは、 match ipv6 address コマンドで指定した基準に基づいて最初に評価され、次に、 match length コマンドで指定した基準に基づいて評価されます。したがって、ACL と length ステートメントの両方が使用されている場合、最初に ACL によるマッチングがパケットに対して行われます。ACL マッチングに合格したパケットだけが、パケット長による次のマッチングの対象となります。最後に、ACL と length ステートメントの両方に合格したパケットだけに対してポリシー ルーティングが行われます。
set ステートメントを使用したパケット転送
IPv6 パケット転送に対する PBR は、PBR ルート マップの複数の set ステートメントを使用して制御されます。転送アクション(優先順位の降順)、およびこれらのオプションが ACL TCAM でプログラムされた VMR の結果に反映される方法を次に列挙します。複数のパケット転送アクションを 1 つのシーケンスで指定した場合、優先順位の最も高いアクションが選択されます。
表 61-1 パケット転送の set ステートメント
|
|
set vrf vrf name |
パケット属性に基づいてパケットが送信される必要がある VPN ルーティングおよび転送(VRF)インスタンスを指定します。デフォルトでは、パケットが転送される VRF はパケットを受信する VRF と同じです。 |
set ipv6 next-hop next-hop ipv6 address |
パケットのネクスト ホップを指定します。このネクスト ホップは、ルーティング情報ベース(RIB)に存在し、直接接続され、グローバル IPv6 アドレスである必要があります。このネクスト ホップが無効である場合、set 文は無視されます。 |
set interface next-hop interface |
パケットに対してネクスト ホップ インターフェイスを指定します。パケットは、指定されたインターフェイスの外に転送されます。パケットの宛先アドレスのエントリは、IPv6 RIB に存在する必要があります。指定された出力インターフェイスは、パス セットに存在する必要があります。このインターフェイスが無効な場合、set ステートメントは無視されます。 |
set ipv6 default next-hop default next-hop ipv6 address |
通常の転送方法でデフォルトの結果が得られない場合に、パケットの接続されるネクスト ホップを指定します。グローバル IPv6 アドレスである必要があります。この set 文は、IPv6 RIB のパケット宛先に明示的なエントリがない場合にだけ使用されます。 |
set default interface default next-hop interface |
通常の転送方法で結果が得られない場合に、一致パケットの転送元のデフォルト ネクスト ホップ インターフェイスを指定します。この set 文は、IPv6 RIB のパケット宛先に明示的なエントリがない場合にだけ使用されます。 |
IPv6 PBR の制限
次の制限は、IPv6 PBR に適用されます。
• match length はハードウェアでサポートされず、PBR はソフトウェアに適用されます。
• パケットのマーキング アクションはハードウェアでサポートされず、PBR によるマーキングが必要なパケットは、ソフトウェアにパントされます。
• set interface はシリアル インターフェイスのハードウェアでのみサポートされます。他のインターフェイスはソフトウェアでサポートされます。
• IPv6 ホップバイホップ ヘッダーが含まれるパケットは、ルータによって検査する必要があり、ソフトウェアにパントされます。このようなパケットには、ソフトウェアで PBR が適用されます。
• IPv6 フロー ラベル、DSCP 値、および拡張ヘッダー(ルーティング、モビリティ、宛先ヘッダーなど)でアクセス リスト マッチングを使用する PBR ポリシーは、ハードウェアで完全には分類できず、部分分類後にソフトウェアでパントされます。
• 非圧縮性アドレス上でアクセス リスト マッチングが使用された場合は、ハードウェアでトラフィックを完全に分類できません。この場合、PBR はソフトウェアに適用されます。
• Tycho ベースのシステムでは、レイヤ 4 プロトコルでのマッチングが必要なフラグメント パケットは、システム ソフトウェアにパントされます。
• SVI インターフェイスの IPv6 PBR はソフトウェアに適用され、ハードウェアは部分分類のみ提供します。
• ハードウェアに適用された IPv6 PBR は、ルータ アドレス宛てのパケットに適用されます。
• ネクスト ホップがトンネルの反対側にある set next-hop アクションはハードウェアでサポートされません。
• set interface および set default interface では、インターフェイスはポイントツーポイントである必要があります。
• PBR は、マルチキャスト トラフィックとリンク ローカル アドレス宛てのトラフィックには適用されません。
• トラフィック フローがない場合は、TCAM エントリはパントからポリシー ルートに変更されません。
IPv6 PBR の設定
IPv6 PBR を設定するには、次の手順を実行します。
|
|
|
ステップ 1 |
Router# enable |
特権 EXEC モードをイネーブルにします。 |
ステップ 2 |
Router# configure terminal |
グローバル コンフィギュレーション モードを開始します。 |
ステップ 3 |
Router(config)# route-map map-tag [ permit | deny ] [ sequence-number ] |
あるルーティング プロトコルから別のルーティング プロトコルへルートを再配布する条件を定義するか、ポリシー ルーティングをイネーブルにします。 • route-map コマンドを使用して、ルート マップ コンフィギュレーション モードを開始します。 |
ステップ 4 |
Router(config-route-map)# match length minimum-length maximum-length or Router(config-route-map)# match ipv6 address { prefix-list prefix-list-name | access-list-name } |
一致基準を指定します。 • レベル 3 のパケット長とのマッチング。 • 指定された IPv6 アクセス リストとのマッチング。 (注) match コマンドを指定しない場合、ルート マップはすべてのパケットに適用されます。 |
ステップ 5 |
Router(config-route-map) # set ipv6 precedence precedence-value or Router(config-route-map) # set ipv6 next-hop global-ipv6-address or Router(config-route-map) # set interface type number or Router(config-route-map) # set ipv6 default next-hop global-ipv6-address or Router(config-route-map) # set default interface type number or Router(config-route-map) # set vrf vrf-name |
基準に一致したパケットで実行されるアクションを指定します。 • IPv6 ヘッダーに precedence 値を設定します。 • パケットのルーティング先となるネクスト ホップを設定します(ネクスト ホップは隣接していなければなりません)。 • パケットの出力インターフェイスを設定します。 • この宛先に明示ルートがない場合、パケットをルーティングする先のネクスト ホップを設定します。 • 宛先への明示的なルートがない場合に、パケットの出力インターフェイスを設定します。 • ポリシーベース ルーティング VRF の選択のために、ルート マップ内に VRF インスタンス選択を設定します。 |
ステップ 6 |
Router(config-route-map)# exit |
ルータをグローバル コンフィギュレーション モードに戻します。 |
ステップ 7 |
Router(config) # interface type number |
インターフェイスのタイプと番号を指定し、ルータをインターフェイス コンフィギュレーション モードにします。 |
ステップ 8 |
Router (config-if)# ipv6 policy route-map route-map-name |
インターフェイスで IPv6 PBR のルート マップを識別します。 |
検証
次のコマンドは、PBR の設定を確認するのに役立ちます。
• show ipv6 policy コマンドは、PBR の設定を表示します。
GigabitEthernet0/0/0 src-1
• show route-map コマンドによって、ポリシーに一致した数など、特定のルート マップ情報が表示されます。
route-map bill, permit, sequence 10
Policy routing matches:0 packets, 0 bytes
• show tcam interface コマンドは、サポートされるハードウェアおよびソフトウェアを表示します。
ハードウェア:
Router# show tcam interface gigabitEthernet 8/9 acl in ipv6 module 8
ICMP Neighbor Discovery Packet Types:
na - neighbor advertisement ra - router advertisement
ns - neighbor solicit rs - router solicit
full - IPv6 Full eui - IPv6 EUI
eipv4 - IPv6 embeded IPv4
-------------------------------------------------------
policy-route ipv6 host 1000::2(full) host 4000::2(full)
permit ipv6 any(eipv4) any
permit ipv6 any(full) any
ソフトウェア:
Router# show tcam interface gigabitEthernet 4/2 acl in ipv6 module 4
ICMP Neighbor Discovery Packet Types:
na - neighbor advertisement ra - router advertisement
ns - neighbor solicit rs - router solicit
full - IPv6 Full eui - IPv6 EUI
eipv4 - IPv6 embeded IPv4
-------------------------------------------------------
permit ipv6 any(eui) 0:FE80::/10(eui)
permit ipv6 any(full) 0:FE80::/10(eui)
permit ipv6 any(eui) FF00::/8(full)
permit ipv6 any(full) FF00::/8(full)
permit ipv6 any(eui) FE80::/10(full)
permit ipv6 any(full) FE80::/10(full)
permit ipv6 any(eipv4) any
permit ipv6 any(full) any
• show fm ipv6 pbr all コマンドは、指定されたインターフェイスの IPv6 PBR VMR を表示します。
Router# show fm ipv6 pbr all
-----------------------------------------------------------------------------
FM_FEATURE_IPv6_PBR i/f: Gi3/3 rmap: empty1
=============================================================================
----------------------------------------------------
Seq. No: 65536 Seq. Result : FM_RESULT_PERMIT
----------------------------------------------------
DPort - Destination Port SPort - Source Port Pro - Protocol
PT - Packet Type DPT - Dst. Packet Type SPT - Src. Packet Type
X - XTAG TOS - TOS Value Res - VMR Result
RFM - R-Recirc. Flag MRTNPC - M-Multicast Flag R - Reflexive flag
- F-Fragment flag - T-Tcp Control N - Non-cachable
- M-More Fragments - P-Mask Priority(H-High, L-Low)
Adj. - Adj. Index C - Capture Flag T - M(Mask)/V(Value)
FM - Flow Mask NULL - Null FM SAO - Source Only FM
DAO - Dest. Only FM SADA - Sour.& Dest. Only VSADA - Vlan SADA Only
ISADA - Intf. SADA FF - Full Flow VFF - Vlan Full Flow
IFF - Intf. FF F-VFF - Either FF or VFF IFF-FF - Either IFF or FF
A-VSD - Atleast VSADA A-FF - Atleast FF A-VFF - Atleast VFF
A-SON - Atleast SAO A-DON - Atleast DAO A-SD - Atleast SADA
SHORT - Shortest ISADA-L- ISADA Least FF-L - FF Least
IFF-L - IFF Least A-SFF - Any short than FF A-EFF - Any except FF
A-EVFF - Any except VFF SA-L - Source Least DA-L - Dest. Least
SADA-L - SADA Least FF-LESS- FF Less N-FF - Not FF
N-IFF - Not IFF A-LVFF - Any less than VFF FULL - Full Pkt Type
EUI - EUI 64 Pkt Type EMBD - Embedded Pkt Type ELNK - EUI Link Overlap
ESIT - EUI Site Overlap LINK - Link Pkt Type SITE - Site Pkt Type
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
|Indx|T| Dest IPv6 Addr | Source IPv6 Addr | DPT| SPT| PT |Pro|RFM|X|MRTNPC|Adj.| FM |
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
1 V FF00:: :: FULL EUI ---- 0 --- - ----L- ---- SHORT
2 V FF00:: :: FULL FULL ---- 0 --- - ----L- ---- SHORT
M FF00:: :: EMBD EMBD 0 0
3 V 0:FE80:: :: EUI EUI ---- 0 --- - ----L- ---- SHORT
M 0:FFC0:: :: EUI EUI 0 0
4 V FE80:: :: FULL EUI ---- 0 --- - ----L- ---- SHORT
5 V 0:FE80:: :: EUI FULL ---- 0 --- - ----L- ---- SHORT
M 0:FFC0:: :: EUI EMBD 0 0
6 V FE80:: :: FULL FULL ---- 0 --- - ----L- ---- SHORT
M FFC0:: :: EMBD EMBD 0 0
7 V :: :: ---- ---- ---- 0 --- - ----L- ---- SHORT
----------------------------------------------------
Seq. No: 10 Seq. Result : FM_RESULT_ADJREDIRECT
----------------------------------------------------
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
|Indx|T| Dest IPv6 Addr | Source IPv6 Addr | DPT| SPT| PT |Pro|RFM|X|MRTNPC|Adj.| FM |
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
1 V :: :: ---- EUI ---- 0 --- - ----L- 0 SHORT
2 V :: :: ---- FULL ---- 0 --- - ----L- 0 SHORT
3 V :: :: ---- ---- ---- 0 --- - ----L- 0 SHORT
----------------------------------------------------
Seq. No: 65537 Seq. Result : FM_RESULT_PERMIT
----------------------------------------------------
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
|Indx|T| Dest IPv6 Addr | Source IPv6 Addr | DPT| SPT| PT |Pro|RFM|X|MRTNPC|Adj.| FM |
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
1 V :: :: ---- EUI ---- 0 --- - ----L- ---- SHORT
2 V :: :: ---- FULL ---- 0 --- - ----L- ---- SHORT
3 V :: :: ---- ---- ---- 0 --- - ----L- ---- SHORT
Feature_id : 4C adj : 5733EB50 vlan : 1027 dmac : 0000.1742.3558
smac : 0018.7415.1980 encap : 1 mtu : 1518 TTL : 1
Rdt Indx : 0 recirc : 0 Non-Cachable : 0 Priority : 1
• show fm ipv6 pbr interface コマンドは、指定したインターフェイスでの IPv6 PBR VMR を表示します。
Router# show fm ipv6 pbr interface gigabitEthernet 3/3
-----------------------------------------------------------------------------
FM_FEATURE_IPv6_PBR i/f: Gi3/3 rmap: empty1
=============================================================================
----------------------------------------------------
Seq. No: 65536 Seq. Result : FM_RESULT_PERMIT
----------------------------------------------------
DPort - Destination Port SPort - Source Port Pro - Protocol
PT - Packet Type DPT - Dst. Packet Type SPT - Src. Packet Type
X - XTAG TOS - TOS Value Res - VMR Result
RFM - R-Recirc. Flag MRTNPC - M-Multicast Flag R - Reflexive flag
- F-Fragment flag - T-Tcp Control N - Non-cachable
- M-More Fragments - P-Mask Priority(H-High, L-Low)
Adj. - Adj. Index C - Capture Flag T - M(Mask)/V(Value)
FM - Flow Mask NULL - Null FM SAO - Source Only FM
DAO - Dest. Only FM SADA - Sour.& Dest. Only VSADA - Vlan SADA Only
ISADA - Intf. SADA FF - Full Flow VFF - Vlan Full Flow
IFF - Intf. FF F-VFF - Either FF or VFF IFF-FF - Either IFF or FF
A-VSD - Atleast VSADA A-FF - Atleast FF A-VFF - Atleast VFF
A-SON - Atleast SAO A-DON - Atleast DAO A-SD - Atleast SADA
SHORT - Shortest ISADA-L- ISADA Least FF-L - FF Least
IFF-L - IFF Least A-SFF - Any short than FF A-EFF - Any except FF
A-EVFF - Any except VFF SA-L - Source Least DA-L - Dest. Least
SADA-L - SADA Least FF-LESS- FF Less N-FF - Not FF
N-IFF - Not IFF A-LVFF - Any less than VFF FULL - Full Pkt Type
EUI - EUI 64 Pkt Type EMBD - Embedded Pkt Type ELNK - EUI Link Overlap
ESIT - EUI Site Overlap LINK - Link Pkt Type SITE - Site Pkt Type
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
|Indx|T| Dest IPv6 Addr | Source IPv6 Addr | DPT| SPT| PT |Pro|RFM|X|MRTNPC|Adj.| FM |
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
1 V FF00:: :: FULL EUI ---- 0 --- - ----L- ---- SHORT
2 V FF00:: :: FULL FULL ---- 0 --- - ----L- ---- SHORT
M FF00:: :: EMBD EMBD 0 0
3 V 0:FE80:: :: EUI EUI ---- 0 --- - ----L- ---- SHORT
M 0:FFC0:: :: EUI EUI 0 0
4 V FE80:: :: FULL EUI ---- 0 --- - ----L- ---- SHORT
5 V 0:FE80:: :: EUI FULL ---- 0 --- - ----L- ---- SHORT
M 0:FFC0:: :: EUI EMBD 0 0
6 V FE80:: :: FULL FULL ---- 0 --- - ----L- ---- SHORT
M FFC0:: :: EMBD EMBD 0 0
7 V :: :: ---- ---- ---- 0 --- - ----L- ---- SHORT
----------------------------------------------------
Seq. No: 10 Seq. Result : FM_RESULT_ADJREDIRECT
----------------------------------------------------
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
|Indx|T| Dest IPv6 Addr | Source IPv6 Addr | DPT| SPT| PT |Pro|RFM|X|MRTNPC|Adj.| FM |
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
1 V :: :: ---- EUI ---- 0 --- - ----L- 0 SHORT
2 V :: :: ---- FULL ---- 0 --- - ----L- 0 SHORT
3 V :: :: ---- ---- ---- 0 --- - ----L- 0 SHORT
----------------------------------------------------
Seq. No: 65537 Seq. Result : FM_RESULT_PERMIT
----------------------------------------------------
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
|Indx|T| Dest IPv6 Addr | Source IPv6 Addr | DPT| SPT| PT |Pro|RFM|X|MRTNPC|Adj.| FM |
+----+-+----------------------------------------+----------------------------------------+----+----+----+---+---+-+------+----+------+
1 V :: :: ---- EUI ---- 0 --- - ----L- ---- SHORT
2 V :: :: ---- FULL ---- 0 --- - ----L- ---- SHORT
3 V :: :: ---- ---- ---- 0 --- - ----L- ---- SHORT
Feature_id : 4C adj : 5733EB50 vlan : 1027 dmac : 0000.1742.3558
smac : 0018.7415.1980 encap : 1 mtu : 1518 TTL : 1
Rdt Indx : 0 recirc : 0 Non-Cachable : 0 Priority : 1
トラブルシューティングのヒント
表 61-2 では、IPv6 PBR の設定時に発生する問題のトラブルシューティングについて示します。
表 61-2 IPv6 の問題のトラブルシューティング
|
|
詳細不明の問題があると考えられる場合 |
• debug fm ipv6 [all | events | pbr | vmrs] コマンドを使用します – all:すべての IPv6 デバッグ情報を表示します。 – events:FM IPv6 イベントに関するデバッグ情報を表示します。 – pbr:FM IPv6 ポリシーベース ルーティングに関するデバッグ情報を表示します。 – vmrs:FM IPv6 VMR に関するデバッグ情報を表示します。 • debug ipv6 policy コマンドを使用して、IPv6 ポリシー ルーティング パケットのアクティビティを表示します。 |