今回はIS-ISを使用したSegment RoutingでのExplicit Nullの動作を見ていきます。
概要
IS-ISのExplicit Null
Explicit Nullが有効な場合、IS-ISでは、Extended IP Reachability TLV内のPrefix-SID Sub-TLVのE(Explicit-null) FlagとP(PHP-off) Flagはセットされます。
これにより、End-pointの1つ手前のルータは、パケットからThimヘッダを削除せず、Labelを0に変更し、パケットを転送します。
検証の基本設定
基本設定の内容
R1-R2-R3間でIS-IS Area 49.0001を構成します。
R1、R2、R3をL2 Routerとして動作させます。
IS-ISでSRを有効にします。
R3でLoopback Interfaceの3.3.3.3/32にPrefix SIDとして20301を割り当てます。また、Explicit Nullを有効にします。
初期設定
interface Loopback0
ipv4 address 1.1.1.1 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.1.1.1 255.255.255.0
!
router isis 1
is-type level-2-only
net 49.0001.0000.0000.0001.00
address-family ipv4 unicast
metric-style wide
segment-routing mpls
!
interface Loopback0
address-family ipv4 unicast
!
!
interface GigabitEthernet0/0/0/0
point-to-point
address-family ipv4 unicast
interface Loopback0
ipv4 address 2.2.2.2 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.1.1.2 255.255.255.0
!
interface GigabitEthernet0/0/0/1
ipv4 address 10.2.2.2 255.255.255.0
!
router isis 1
is-type level-2-only
net 49.0001.0000.0000.0002.00
address-family ipv4 unicast
metric-style wide
segment-routing mpls
!
interface Loopback0
address-family ipv4 unicast
!
!
interface GigabitEthernet0/0/0/0
point-to-point
address-family ipv4 unicast
!
!
interface GigabitEthernet0/0/0/1
point-to-point
address-family ipv4 unicast
interface Loopback0
ipv4 address 3.3.3.3 255.255.255.255
!
interface GigabitEthernet0/0/0/0
ipv4 address 10.2.2.3 255.255.255.0
!
router isis 1
is-type level-2-only
net 49.0001.0000.0000.0003.00
address-family ipv4 unicast
metric-style wide
segment-routing mpls
!
interface Loopback0
address-family ipv4 unicast
prefix-sid absolute 20301 explicit-null
!
!
interface GigabitEthernet0/0/0/0
point-to-point
address-family ipv4 unicast
設定と状態の確認
設定の確認
Explicit Nullを有効にするには、explicit-nullオプションを指定します。これによりPrefix SID Sub-TLVのE FlagとP Flagがセットされます。
router isis 1
interface Loopback0
address-family ipv4 unicast
prefix-sid absolute 20301 explicit-null
LSDBの確認
R3が生成したOSPFv2 Extended Prefix Opaque LSA内のSID Sub-TLVのE FlagとP Flagがセットされていることが確認できます。
RP/0/RP0/CPU0:R1#show isis database R3.00-00 verbose
IS-IS 1 (Level-2) Link State Database
LSPID LSP Seq Num LSP Checksum LSP Holdtime/Rcvd ATT/P/OL
R3.00-00 0x00000013 0xfa64 980 /1200 0/0/0
Area Address: 49.0001
NLPID: 0xcc
IP Address: 3.3.3.3
Metric: 10 IP-Extended 10.2.2.0/24
Prefix Attribute Flags: X:0 R:0 N:0
Metric: 10 IP-Extended 3.3.3.3/32
Prefix-SID Index: 4301, Algorithm:0, R:0 N:1 P:1 E:1 V:0 L:0
Prefix Attribute Flags: X:0 R:0 N:1
Hostname: R3
Router Cap: 3.3.3.3 D:0 S:0
Segment Routing: I:1 V:0, SRGB Base: 16000 Range: 8000
Node Maximum SID Depth:
Label Imposition: 10
SR Algorithm:
Algorithm: 0
Algorithm: 1
Metric: 10 IS-Extended R2.00
Interface IP Address: 10.2.2.3
Neighbor IP Address: 10.2.2.2
Link Maximum SID Depth:
Label Imposition: 10
ADJ-SID: F:0 B:0 V:1 L:1 S:0 P:0 weight:0 Adjacency-sid:24001
以下はR3が生成したExtended IP Reachability TLVのキャプチャになります。E FlagとP Flagがセットされていることが確認できます。
LFIBの確認
R2のLFIBを見ると、3.3.3.3/32のOutgoing LabelがExplicit Nullであることが確認できます。
RP/0/RP0/CPU0:R1#show mpls forwarding
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
20301 20301 SR Pfx (idx 4301) Gi0/0/0/0 10.1.1.2 500
24000 Pop SR Adj (idx 1) Gi0/0/0/0 10.1.1.2 0
24001 Pop SR Adj (idx 3) Gi0/0/0/0 10.1.1.2 0
RP/0/RP0/CPU0:R2#show mpls forwarding
Local Outgoing Prefix Outgoing Next Hop Bytes
Label Label or ID Interface Switched
------ ----------- ------------------ ------------ --------------- ------------
20301 Exp-Null-v4 SR Pfx (idx 4301) Gi0/0/0/1 10.2.2.3 500
24000 Pop SR Adj (idx 1) Gi0/0/0/0 10.1.1.1 0
24001 Pop SR Adj (idx 3) Gi0/0/0/0 10.1.1.1 0
24002 Pop SR Adj (idx 1) Gi0/0/0/1 10.2.2.3 0
24003 Pop SR Adj (idx 3) Gi0/0/0/1 10.2.2.3 0
疎通確認
R1の1.1.1.1からR3の3.3.3.3へPingを実施します。(Tracerouteの結果からはExplicit Null用のLabelが確認できないため)
以下はR2-R3間でキャプチャしたR1の1.1.1.1からR3の3.3.3.3へのICMP Echoになります。パケットにThimヘッダが付加されており、かつ、Labelが0であることが確認できます。
コメント