メインコンテンツへスキップ
  1. ネットワーク 記事一覧/
  2. IS-IS記事一覧/

IS-ISへの再配布(connected / static)

目次

IS-ISへの再配布(connected / static)

IS-ISが広告するのは、IS-ISを動かしているインタフェースのプレフィックスだけです。IS-ISに入れていないインタフェースや、スタティックルートは、そのルータの経路表にはあってもドメインの他のルータには伝わりません。それらをIS-ISのLSPに載せる操作が再配布です。

この記事では、再配布した経路がLSPの中でどう表されるか、メトリックとメトリックの種類がどう効くか、connectedとstaticで何が違うかを、RFCの規定とIOS XRの実機で確認します。実機では、再配布した経路へ実際にpingが届くことも各STEPで確かめます。

外部経路の表し方

再配布した経路は、IS-ISの外から来た外部経路として広告されます。表し方はメトリックの形式(narrow / wide)で違います。

narrow:TLV 130とI/Eビット

RFC 1195は、外部経路のためにTLV 130(IP External Reachability Information)を用意しました。5.2節ではレベル2のLSPに載せるものとされ、RFC 5302の2.2節がレベル1にも載せてよいと緩めています。

メトリックの種類はdefault metricの1ビットで表します。5.3.5節はこう定めています。

このフィールドのBit 7は、4つのTOSメトリックすべてについてメトリックの種類(internalかexternalか)を示し、0にしてinternalメトリックを示すことも、1にしてexternalメトリックを示すこともできる。

TLV 130が実際にLSPへ現れる様子はIS-ISの主要TLVで解説しています。

wide:TLV 135とXフラグ

wideメトリックでは、内部経路も外部経路もRFC 5305のTLV 135に載ります。4節が定める制御バイトの中身はこれだけです。

ビット中身
1ビットup/down
1ビットサブTLVの有無
6ビットプレフィックス長

I/Eビットがありません。同じRFCの3節は、narrowの1オクテットを「内部か外部かを示す1ビット」「後にRFC 5302がup/downビットとした1ビット」「値の6ビット」と説明しており、wideはこの内部/外部のビットを持ち越していません。

外部経路であることは、代わりにサブTLVで示します。RFC 7794の2.1節が定めるXフラグです。

X-Flag:External Prefix Flag(Bit 0)。プレフィックスが別のプロトコルから再配布された場合に立てる。

IOS XRのshow isis database detailはこのサブTLVを表示しません。show isis database verboseにすると、プレフィックスごとにPrefix Attribute Flags: X:1の形で出ます。

項目narrowwide
外部経路であることの印TLV 130に載るTLV 135のXフラグ(RFC 7794)
メトリックの種類default metricのBit 7表す場所が無い
メトリックの値6ビット(0〜63)32ビット

経路の種類とメトリックの種類は別物

「外部」には2つの意味があり、RFC 5302の2.1節が分けています。経路の種類(TLV 130に載るか)と、メトリックの種類(internal型かexternal型か)です。

経路の種類は、経路選択に影響しません。

ルータがIP経路を計算するとき、「IP Internal Reachability Information」TLVで広告されたIP経路と、「IP External Reachability Information」TLVで広告されたIP経路には、同じ優先度を与えなければならない。

影響するのはメトリックの種類のほうです。

しかし、external型のメトリックで広告された「IP External Reachability Information」のIP経路は、internal型のメトリックで広告された同じIP経路よりも、メトリックの値に関係なく低い優先度を与えなければならない。

narrowでは、external型にした経路はメトリックがいくら小さくてもinternal型に負けます。

IOS XRのredistributeにもmetric-typeがあり、取れる値は4つです。Cisco IOS XE 17のIS-ISの設定ガイドも同じ4つを挙げ、rib-metric-as-*は経路表のメトリックをそのまま使う指定だと説明しています。

R2:redistribute static metric-type ?
RP/0/RP0/CPU0:R2(config-isis-af)#redistribute static metric-type ?

  external                Set IS-IS External metric type
  internal                Set IS-IS Internal metric type
  rib-metric-as-external  Set IS-IS External metric type and use RIB metric
  rib-metric-as-internal  Set IS-IS Internal metric type and use RIB metric

ところがwideのLSPには、この種類を書き込む場所がありません。IOS XRでwideを使っていると、metric-type externalを指定してもLSPの中身は変わらず、受け取ったルータはメトリックの値だけで比べます。external型だから負ける、という扱いは起きません。

メトリックの付き方

受け取ったルータは、再配布したルータまでの距離に、広告されたメトリックを足した値で比べます。RFC 1195の3.10.2節は、internal型の外部経路を内部経路と同一に扱い、最短経路で選ぶと定めています。同じ宛先を2台が再配布していれば近いほうの出口が選ばれ、片方の広告メトリックを大きくすれば遠いほうへ移ります。

IOS XRは、metricを省くと再配布した経路をメトリック0で広告します(connectedもstaticも同じ)。受け取ったルータから見た値は、再配布したルータまでの距離そのものになります。指定できる範囲は、wideでも0〜16777215です。

R2:redistribute static metric ?
RP/0/RP0/CPU0:R2(config-isis-af)#redistribute static metric ?

  <0-16777215>  Default metric: <0-63> for narrow, <0-16777215> for wide

connectedとstaticの違い

redistribute connectedが拾うのは、IS-ISを動かしていないインタフェースのプレフィックスです。IS-ISを動かしているインタフェースはもともと内部経路として広告されているので、二重には載りません。後半の構成のR2なら、IS-ISを動かす10.1.2.0/24は内部プレフィックス(メトリック10、Xフラグなし)のまま、R5につながる10.2.5.0/24だけが外部経路(メトリック0、Xフラグあり)として加わります。

redistribute staticは、経路表に入っているスタティックルートを載せます。LSPに載ってからの扱い(Xフラグ、メトリックの足し方)はconnectedと同じです。

実機での検証

検証環境

R1〜R4を単一エリア49.0001level-2-only(wide)にし、IS-ISを動かさないR5を外に置きました。R5のLo1192.168.5.1/24が、再配布する外部のLANです。R2とR3はR5へのスタティックルートを、R5はR2とR3へのデフォルトルートを持ちます。ソフトウェアはXRd 26.1.1です。

ルータLo0リンク
R11.1.1.1/32Gi0/0/0/0 10.1.2.1(R2へ、metric 10)/ Gi0/0/0/1 10.1.4.1(R4へ、metric 10)
R22.2.2.2/32Gi0/0/0/0 10.1.2.2 / Gi0/0/0/1 10.2.5.2(R5へ、IS-ISなし)。static 192.168.5.0/24 → 10.2.5.5
R33.3.3.3/32Gi0/0/0/0 10.3.4.3(R4へ、metric 10)/ Gi0/0/0/1 10.3.5.3(R5へ、IS-ISなし)。static 192.168.5.0/24 → 10.3.5.5
R44.4.4.4/32Gi0/0/0/0 10.1.4.4 / Gi0/0/0/1 10.3.4.4
R55.5.5.5/32、Lo1 192.168.5.1/24Gi0/0/0/0 10.2.5.5 / Gi0/0/0/1 10.3.5.5。0.0.0.0/0 → 10.2.5.2 / 10.3.5.3。IS-ISなし

R1から見た内部コストはR2まで10、R3まで20(R4経由)です。どちらの出口を使っているかは、R1からのtracerouteにR4(10.1.4.4)が現れるかで分かります。

検証のSTEP

STEP操作確かめること
0既定(再配布なし)R1に192.168.5.0/2410.2.5.0/24も無く、pingが通らない
1R2でredistribute connectedR2のLSPに10.2.5.0/24がメトリック0・Xフラグ付きで載り、R1から10.2.5.5へpingが通る
2R2でredistribute static192.168.5.0/24も載り、R1から192.168.5.1へR2経由で届く
3R3でredistribute staticR3も広告するが、R1は近いR2の出口(10 < 20)を使い続ける
4R2をredistribute static metric 100R2経由が110になり、R3経由(20)へ切り替わる。tracerouteにR4が現れる
5R2をredistribute static metric-type externalLSPは変わらず、R1はメトリックの値でR2経由(10)に戻る
6すべて元に戻す(最終状態)STEP 0と一致

STEP 0:再配布なし

R1には外部のプレフィックスが無く、R5のLANへのpingは通りません。

STEP 0 R1:show route 192.168.5.0/24
RP/0/RP0/CPU0:R1#show route 192.168.5.0/24
Sun Sep 13 14:00:12.727 UTC

% Network not in table
STEP 0 R1:ping 192.168.5.1
RP/0/RP0/CPU0:R1#ping 192.168.5.1 source 1.1.1.1 count 50 timeout 1
Sun Sep 13 14:00:32.694 UTC
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 192.168.5.1 timeout is 1 seconds:
..................................................
Success rate is 0 percent (0/50)

STEP 1:R2でredistribute connected

STEP 1 R2:show configuration commit changes last 1
RP/0/RP0/CPU0:R2#show configuration commit changes last 1
Sun Sep 13 14:10:50.511 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router isis 1
 address-family ipv4 unicast
  redistribute connected
 !
!
end

R1のデータベースでR2のLSPを見ると、10.2.5.0/24がメトリック0・X:1で加わっています。IS-ISを動かしている10.1.2.0/24X:0のままです。

STEP 1 R1:show isis database verbose(R2のLSP、抜粋)
R2.00-00              0x00000007   0x5839        534  /1200         0/0/0
  Area Address:   49.0001
  LSP MTU:        1492
  NLPID:          0xcc
  IP Address:     2.2.2.2
  Hostname:       R2
  Metric: 10         IS-Extended R1.00
  Metric: 0          IP-Extended 2.2.2.2/32
    Prefix Attribute Flags: X:0 R:0 N:1 E:0 A:0
  Metric: 10         IP-Extended 10.1.2.0/24
    Prefix Attribute Flags: X:0 R:0 N:0 E:0 A:0
  Metric: 0          IP-Extended 10.2.5.0/24
    Prefix Attribute Flags: X:1 R:0 N:0 E:0 A:0

R1の経路表の値は、R2までの10に広告されたメトリック0を足した10です。R5の10.2.5.5へのpingも通ります。

STEP 1 R1:show route 10.2.5.0/24
RP/0/RP0/CPU0:R1#show route 10.2.5.0/24
Sun Sep 13 14:12:26.444 UTC

Routing entry for 10.2.5.0/24
  Known via "isis 1", distance 115, metric 10, type level-2
  Installed Sep 13 14:10:49.763 for 00:01:36
  Routing Descriptor Blocks
    10.1.2.2, from 2.2.2.2, via GigabitEthernet0/0/0/0
      Route metric is 10
  No advertising protos. 
STEP 1 R1:ping 10.2.5.5
RP/0/RP0/CPU0:R1#ping 10.2.5.5 source 1.1.1.1 count 50 timeout 1
Sun Sep 13 14:13:41.408 UTC
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 10.2.5.5 timeout is 1 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (50/50), round-trip min/avg/max = 6/9/27 ms

パケットで見る

STEP 1のキャプチャーのNo.3がR2のLSPです。10.2.5.0/24のPrefix Attribute FlagsはXビットが1、10.1.2.0/24は0です。

No.3 R2のLSP(tshark -V の抜粋)
        Ext. IP Reachability: 10.1.2.0/24
            Metric: 10
            0... .... = Distribution: Up
            .1.. .... = Sub-TLV: Yes
            ..01 1000 = Prefix Length: 24
            IPv4 prefix: 10.1.2.0
            SubCLV Length: 3
            subTLV: Prefix Attribute Flags (c=4, l=1): Flags:---
                Code: Prefix Attribute Flags (4)
                Length: 1
                Flags: 0x00
                    0... .... = External Prefix: Not set
                    .0.. .... = Re-advertisement: Not set
                    ..0. .... = Node: Not set
        Ext. IP Reachability: 10.2.5.0/24
            Metric: 0
            0... .... = Distribution: Up
            .1.. .... = Sub-TLV: Yes
            ..01 1000 = Prefix Length: 24
            IPv4 prefix: 10.2.5.0
            SubCLV Length: 3
            subTLV: Prefix Attribute Flags (c=4, l=1): Flags:X--
                Code: Prefix Attribute Flags (4)
                Length: 1
                Flags: 0x80, External Prefix
                    1... .... = External Prefix: Set
                    .0.. .... = Re-advertisement: Not set
                    ..0. .... = Node: Not set
上のtshark出力のパケット(No.3 LSP)のpcapをダウンロード

STEP 2:R2でredistribute static

STEP 2 R2:show configuration commit changes last 1
RP/0/RP0/CPU0:R2#show configuration commit changes last 1
Sun Sep 13 14:22:14.626 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router isis 1
 address-family ipv4 unicast
  redistribute static
 !
!
end

192.168.5.0/24もメトリック0で広告され、R1はR2経由の10で学習しました。R5のLANへのpingが通り、tracerouteはR2(10.1.2.2)からR5(10.2.5.5)へ抜けます。

STEP 2 R1:show route 192.168.5.0/24
RP/0/RP0/CPU0:R1#show route 192.168.5.0/24
Sun Sep 13 14:23:50.227 UTC

Routing entry for 192.168.5.0/24
  Known via "isis 1", distance 115, metric 10, type level-2
  Installed Sep 13 14:22:14.063 for 00:01:36
  Routing Descriptor Blocks
    10.1.2.2, from 2.2.2.2, via GigabitEthernet0/0/0/0
      Route metric is 10
  No advertising protos. 
STEP 2 R1:ping 192.168.5.1
RP/0/RP0/CPU0:R1#ping 192.168.5.1 source 1.1.1.1 count 50 timeout 1
Sun Sep 13 14:24:10.840 UTC
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 192.168.5.1 timeout is 1 seconds:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Success rate is 100 percent (50/50), round-trip min/avg/max = 8/10/20 ms
STEP 2 R1:traceroute 192.168.5.1
RP/0/RP0/CPU0:R1#traceroute 192.168.5.1 source 1.1.1.1
Sun Sep 13 14:24:12.531 UTC

Type escape sequence to abort.
Tracing the route to 192.168.5.1

 1  10.1.2.2 9 msec  5 msec  5 msec 
 2  10.2.5.5 48 msec  *  12 msec 

STEP 3:R3でもredistribute static

R3のLSPにも192.168.5.0/24がメトリック0で載ります。

STEP 3 R1:show isis database verbose(R3のLSP、抜粋)
R3.00-00              0x00000008   0xfe9e        1101 /1200         0/0/0
  Area Address:   49.0001
  LSP MTU:        1492
  NLPID:          0xcc
  IP Address:     3.3.3.3
  Hostname:       R3
  Metric: 10         IS-Extended R4.00
  Metric: 0          IP-Extended 3.3.3.3/32
    Prefix Attribute Flags: X:0 R:0 N:1 E:0 A:0
  Metric: 10         IP-Extended 10.3.4.0/24
    Prefix Attribute Flags: X:0 R:0 N:0 E:0 A:0
  Metric: 0          IP-Extended 192.168.5.0/24
    Prefix Attribute Flags: X:1 R:0 N:0 E:0 A:0

それでもR1は、近いR2の出口を使い続けます。R2経由は10、R3経由は20です。

STEP 3 R1:show isis route
RP/0/RP0/CPU0:R1#show isis route
Sun Sep 13 14:28:20.508 UTC

IS-IS 1 IPv4 Unicast routes

Codes: L1 - level 1, L2 - level 2, ia - interarea (leaked into level 1)
       df - level 1 default (closest attached router), su - summary null
       C - connected, S - static, R - RIP, B - BGP, O - OSPF
       E - EIGRP, A - access/subscriber, M - mobile, a - application
       i - IS-IS (redistributed from another instance)

Maximum parallel path count: 8

C  1.1.1.1/32
     is directly connected, Loopback0
L2 2.2.2.2/32 [10/115]
     via 10.1.2.2, GigabitEthernet0/0/0/0, R2, Weight: 0
L2 3.3.3.3/32 [20/115]
     via 10.1.4.4, GigabitEthernet0/0/0/1, R4, Weight: 0
L2 4.4.4.4/32 [10/115]
     via 10.1.4.4, GigabitEthernet0/0/0/1, R4, Weight: 0
C  10.1.2.0/24
     is directly connected, GigabitEthernet0/0/0/0
C  10.1.4.0/24
     is directly connected, GigabitEthernet0/0/0/1
L2 10.2.5.0/24 [10/115]
     via 10.1.2.2, GigabitEthernet0/0/0/0, R2, Weight: 0
L2 10.3.4.0/24 [20/115]
     via 10.1.4.4, GigabitEthernet0/0/0/1, R4, Weight: 0
L2 192.168.5.0/24 [10/115]
     via 10.1.2.2, GigabitEthernet0/0/0/0, R2, Weight: 0
STEP 3 R1:traceroute 192.168.5.1
RP/0/RP0/CPU0:R1#traceroute 192.168.5.1 source 1.1.1.1
Sun Sep 13 14:28:41.427 UTC

Type escape sequence to abort.
Tracing the route to 192.168.5.1

 1  10.1.2.2 61 msec  5 msec  5 msec 
 2  10.2.5.5 9 msec  *  11 msec 

STEP 4:R2のメトリックを100にする

STEP 4 R2:show configuration commit changes last 1
RP/0/RP0/CPU0:R2#show configuration commit changes last 1
Sun Sep 13 14:31:19.435 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router isis 1
 address-family ipv4 unicast
  redistribute static metric 100
 !
!
end

R2経由は10+100=110になり、R3経由の20が選ばれました。tracerouteにR4(10.1.4.4)とR3(10.3.4.3)が現れます。

STEP 4 R1:show route 192.168.5.0/24
RP/0/RP0/CPU0:R1#show route 192.168.5.0/24
Sun Sep 13 14:32:54.964 UTC

Routing entry for 192.168.5.0/24
  Known via "isis 1", distance 115, metric 20, type level-2
  Installed Sep 13 14:31:18.563 for 00:01:36
  Routing Descriptor Blocks
    10.1.4.4, from 3.3.3.3, via GigabitEthernet0/0/0/1
      Route metric is 20
  No advertising protos. 
STEP 4 R1:traceroute 192.168.5.1
RP/0/RP0/CPU0:R1#traceroute 192.168.5.1 source 1.1.1.1
Sun Sep 13 14:33:16.836 UTC

Type escape sequence to abort.
Tracing the route to 192.168.5.1

 1  10.1.4.4 6 msec  5 msec  5 msec 
 2  10.3.4.3 9 msec  8 msec  8 msec 
 3  10.3.5.5 13 msec  *  15 msec 

STEP 5:R2をmetric-type externalにする

metricを外し、種類だけexternalにしました。メトリックは既定の0に戻ります。

STEP 5 R2:show configuration commit changes last 1
RP/0/RP0/CPU0:R2#show configuration commit changes last 1
Sun Sep 13 14:35:46.635 UTC
!! Building configuration...
!! IOS XR Configuration 26.1.1
router isis 1
 address-family ipv4 unicast
  redistribute static metric-type external
 !
!
end

external型が値に関係なく負けるなら、R1はR3経由(20)のままのはずです。実際はR2経由の10に戻りました。

STEP 5 R1:show route 192.168.5.0/24
RP/0/RP0/CPU0:R1#show route 192.168.5.0/24
Sun Sep 13 14:37:21.938 UTC

Routing entry for 192.168.5.0/24
  Known via "isis 1", distance 115, metric 10, type level-2
  Installed Sep 13 14:35:46.063 for 00:01:36
  Routing Descriptor Blocks
    10.1.2.2, from 2.2.2.2, via GigabitEthernet0/0/0/0
      Route metric is 10
  No advertising protos. 
STEP 5 R1:traceroute 192.168.5.1
RP/0/RP0/CPU0:R1#traceroute 192.168.5.1 source 1.1.1.1
Sun Sep 13 14:37:43.524 UTC

Type escape sequence to abort.
Tracing the route to 192.168.5.1

 1  10.1.2.2 5 msec  5 msec  5 msec 
 2  10.2.5.5 9 msec  *  10 msec 

LSPも変わっていません。STEP 2でR2がmetric-typeなしで広告したLSP(STEP 2のNo.3)と、STEP 5のLSP(No.2)を並べると、192.168.5.0/24はどちらもメトリック0・Xビット1です。2つのLSPのTLVをバイト単位で比べても違いは無く、異なるのはLSPヘッダーのシーケンス番号とチェックサムだけでした。

STEP 2 No.3 R2のLSP(tshark -V の抜粋)
        Ext. IP Reachability: 192.168.5.0/24
            Metric: 0
            0... .... = Distribution: Up
            .1.. .... = Sub-TLV: Yes
            ..01 1000 = Prefix Length: 24
            IPv4 prefix: 192.168.5.0
            SubCLV Length: 3
            subTLV: Prefix Attribute Flags (c=4, l=1): Flags:X--
                Code: Prefix Attribute Flags (4)
                Length: 1
                Flags: 0x80, External Prefix
                    1... .... = External Prefix: Set
                    .0.. .... = Re-advertisement: Not set
                    ..0. .... = Node: Not set
上のtshark出力のパケット(No.3 LSP)のpcapをダウンロード
STEP 5 No.2 R2のLSP(tshark -V の抜粋)
        Ext. IP Reachability: 192.168.5.0/24
            Metric: 0
            0... .... = Distribution: Up
            .1.. .... = Sub-TLV: Yes
            ..01 1000 = Prefix Length: 24
            IPv4 prefix: 192.168.5.0
            SubCLV Length: 3
            subTLV: Prefix Attribute Flags (c=4, l=1): Flags:X--
                Code: Prefix Attribute Flags (4)
                Length: 1
                Flags: 0x80, External Prefix
                    1... .... = External Prefix: Set
                    .0.. .... = Re-advertisement: Not set
                    ..0. .... = Node: Not set
上のtshark出力のパケット(No.2 LSP)のpcapをダウンロード

STEP 6:すべて元に戻す

R2とR3の再配布を外すと、R1から外部のプレフィックスが消え、pingは再び通らなくなります。

STEP 6 R1:ping 192.168.5.1
RP/0/RP0/CPU0:R1#ping 192.168.5.1 source 1.1.1.1 count 50 timeout 1
Sun Sep 13 14:42:23.150 UTC
Type escape sequence to abort.
Sending 50, 100-byte ICMP Echos to 192.168.5.1 timeout is 1 seconds:
..................................................
Success rate is 0 percent (0/50)

検証Configおよびshow結果

各STEPで5台すべてから、次のファイルをルータごとに分けて取得しています。検証Configはこの..._run.txtです(最終状態は最後のSTEPのもの)。

ファイル内容
..._show.txtshow version / show interface description / show route / show route 192.168.5.0/24 / show route 10.2.5.0/24と、show isis系一式(interface brief / neighbors / database / database detail / database verbose(STEP 2以降)/ topology / route / adjacency-log / spf-log / lsp-log / statistics)、show running-config router static
..._log.txtそのSTEPの範囲だけに絞ったshow logging。各STEPの開始時にlogmsgでマーカーを入れ、その時刻をshow logging startに指定して取得したもの
..._run.txtそのSTEP時点のshow running-config(=そのSTEPの検証Config)
..._trace.txtshow isis trace all | include UPD_LSP_ACCEPTshow isis trace all | include SPF
..._ping.txtR1は送信元1.1.1.1からping 192.168.5.1 / traceroute 192.168.5.1 / ping 10.2.5.5、R5は送信元192.168.5.1からping 1.1.1.1 / traceroute 1.1.1.1。R2〜R4には無い
..._commit.cfgそのSTEPでcommitされた設定(show configuration commit changes last 1)。設定を変えていないルータには無い

STEP 0:既定(再配布なし)

ルータshow出力syslogrunning-configtracepingcommit
R1showlogruntraceping-
R2showlogruntrace--
R3showlogruntrace--
R4showlogruntrace--
R5showlogruntraceping-

STEP 1:R2でredistribute connected

ルータshow出力syslogrunning-configtracepingcommit
R1showlogruntraceping-
R2showlogruntrace-commit
R3showlogruntrace--
R4showlogruntrace--
R5showlogruntraceping-

STEP 1のshow一式にはshow isis database verboseが入っていないため、STEP 2の設定を入れる前にR1で別に取得しています:verbose

STEP 2:R2でredistribute static

ルータshow出力syslogrunning-configtracepingcommit
R1showlogruntraceping-
R2showlogruntrace-commit
R3showlogruntrace--
R4showlogruntrace--
R5showlogruntraceping-

STEP 3:R3でredistribute static

ルータshow出力syslogrunning-configtracepingcommit
R1showlogruntraceping-
R2showlogruntrace--
R3showlogruntrace-commit
R4showlogruntrace--
R5showlogruntraceping-

STEP 4:R2をredistribute static metric 100

ルータshow出力syslogrunning-configtracepingcommit
R1showlogruntraceping-
R2showlogruntrace-commit
R3showlogruntrace--
R4showlogruntrace--
R5showlogruntraceping-

STEP 5:R2をredistribute static metric-type external

ルータshow出力syslogrunning-configtracepingcommit
R1showlogruntraceping-
R2showlogruntrace-commit
R3showlogruntrace--
R4showlogruntrace--
R5showlogruntraceping-

STEP 6:すべて元に戻す(最終状態)

ルータshow出力syslogrunning-configtracepingcommit
R1showlogruntraceping-
R2showlogruntrace-commit
R3showlogruntrace-commit
R4showlogruntrace--
R5showlogruntraceping-

パケットキャプチャーはSTEPごとに、R1 — R2のリンクで取得しています。本文で引用したLSPは、STEP 1のNo.3、STEP 2のNo.3、STEP 5のNo.2です。

STEPR1 — R2間
0pcap
1pcap
2pcap
3pcap
4pcap
5pcap
6pcap

事前に候補設定でredistributeのヘルプを採り、abortで捨てた記録(commitはしていない):precheck

参考

標準タイトル概要
RFC 1195Use of OSI IS-IS for Routing in TCP/IP and Dual EnvironmentsIPの経路をIS-ISで運ぶ拡張。3.1節でメトリックのinternal型とexternal型、3.10.2節でレベル2の経路選択の順序、5.2節でTLV 130をレベル2のLSPに載せること、5.3.5節でdefault metricのBit 7がメトリックの種類であることを定めている。
RFC 5302Domain-Wide Prefix Distribution with Two-Level IS-IS2.1節で経路の種類とメトリックの種類を区別し、TLV 128とTLV 130の経路を同じ優先度で扱うこと、external型をメトリックの値に関係なく低い優先度にすることを定めている。2.2節でTLV 130をレベル1にも許した。
RFC 5305IS-IS Extensions for Traffic Engineeringwideメトリック。4節のTLV 135の制御バイトはup/down・サブTLVの有無・プレフィックス長だけで、I/Eビットを持たない。
RFC 7794IS-IS Prefix Attributes for Extended IPv4 and IPv6 Reachability2.1節でPrefix Attribute FlagsサブTLVのXフラグを定義。再配布したプレフィックスに立てる。
ISO/IEC 10589:2002(第2版)Intermediate System to Intermediate System intra-domain routeing information exchange protocolIS-IS本体の仕様。IPプレフィックスを運ぶ仕組みを持たないため、IPの再配布も規定していない。
Cisco IP Routing Configuration Guide, IOS XE 17.xIPv6 Routing: Route RedistributionIS-ISのredistributemetric-typeに取れる4つの値(external / internal / rib-metric-as-external / rib-metric-as-internal)を説明している。既定のメトリック値は書かれていない。

関連記事