内容

概要

前提条件

要件

使用するコンポーネント

背景説明

iBGPアドバタイズメントについて

Nexus NX-OSのケース

Cisco IOSのケース

set ip next-hop redist-unchangedコマンドの使用

デバイスの初期設定

概要

このドキュメントでは、Nexus NX-OSのInterior Border Gateway Protocol(iBGP)アドバタイズメントとCisco IOS（Cisco IOS-XEを含む）ベースのプラットフォームのInterior Border Gateway Protocol(iBGP)アドバタイズメントの設定におけるNEXT_HOPpath属性の動作についてについて説明します。これは、ローカルで発信されたルート以外のアドバタイズメント用です。

前提条件

要件

次の項目に関する知識があることが推奨されます。

- ボーダー ゲートウェイ プロトコル（BGP）

- ルーティングプロトコルの再配布

使用するコンポーネント

このドキュメントは、特定のソフトウェアとハードウェアのバージョンに限定されません。

- NX-OSバージョン7.3(0)D1(1)が稼働するNexus 7000

- Cisco IOSバージョン15.6(2)Tが稼働するCiscoルータ

このドキュメントの出力は、特定のラボ環境に置かれたデバイスから取得されました。このドキュメントで使用するすべてのデバイスは、クリアな（デフォルト）設定で作業を開始しています。本稼働中のネットワークでは、各コマンドによって起こる可能性がある影響を十分確認してください。

背景説明

- Nexus NX-OSベースのプラットフォームでは、ローカルから発信されたルートに対して、iBGPアドバタイズメントによってNEXT_HOP属性が変更され、独自のローカルインターフェイスIPアドレスが設定されます。

- Cisco IOSベースのプラットフォームでは、ローカルから発信されたルートの場合、iBGPアドバタイズメントは元のルートのNEXT_HOP属性をそのまま維持します。

Nexus NX-OSの動作は、不具合 CSCud20941で導入されたコードの変更により、必要に応じてCisco IOSで表示される動作と一致します。

注：これはiBGPアドバタイズメントにのみ適用され、eBGPには適用されません。

注：スタティックルートとして設定された、またはEnhanced Interior Gateway Routing Protocol(EIGRP)、Open Shortest Path First(OSPF)、Routing Information Protocol(RIP)などのInterior Gateway Protocol(IGP)を介して受信された、ローカルで発信されたルートに適用されます。

iBGPアドバタイズメントについて

iBGPアドバタイズメントで設定されたNEXT_HOPを理解するには、図に示すネットワークトポロジ図の例を参照してください。

Nexus NX-OSケースのトポロジ

Cisco IOSケースのトポロジ

Nexus NX-OSのケース

Topology for Nexus NX-OSの場合、図に示すように、R2(Nexus NX-OS)はルータ1からEIGRP経由で1.1.1.1/32ルートを受信し、iBGPを使用してルータ3にアドバタイズします。

R2(Nexus NX-OS)のルーティングテーブルには、EIGRPを介して受信されたルート1.1.1.1/32と、元のネクストホップIP 10.1.2.1が表示されます

R2(Nexus NX-OS)

R2# show ip route 1.1.1.1/32

IP Route Table for VRF "default"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

1.1.1.1/32, ubest/mbest: 1/0

*via 10.1.2.1, Eth2/1, [90/130816], 00:02:28, eigrp-1, internal

BGP設定セクションでは、iBGPを介してルータ3に1.1.1.1/32をアドバタイズするコマンドを確認できます。

R2(Nexus NX-OS)

R2# show running-config bgp

!Command: show running-config bgp

!Time: -

version -

feature bgp

router bgp 2

address-family ipv4 unicast

network 1.1.1.1/32

neighbor 10.2.3.3 remote-as 2

address-family ipv4 unicast

ルータ3では、1.1.1.1/32ルートがiBGPを介して受信され、ネクストホップはR2(Nexus NX-OS)のIPアドレス(10.2.3.2)に設定されます

- 1.1.1.1/32のルータ3 BGPテーブルエントリ

R3

R3# show bgp ipv4 unicast 1.1.1.1/32

BGP routing table entry for 1.1.1.1/32, version 8

Paths: (1 available, best #1, table default)

Not advertised to any peer

Refresh Epoch 1

Local

10.2.3.2 from 10.2.3.2 (2.2.2.2)

Origin IGP, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

- 1.1.1.1/32のルータ3ルーティングテーブルエントリ

R3

R3# show ip route bgp

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets

B        1.1.1.1 [200/0] via 10.2.3.2, 00:07:17

Cisco IOSのケース

Cisco IOSの場合のトポロジでは、図に示すように、R2(Cisco IOS)はルータ1からEIGRP経由で1.1.1.1/32ルートを受信し、iBGPを使用してルータ3にアドバタイズします。

R2(Cisco IOS)ルーティングテーブルには、EIGRPを介して受信されたルート1.1.1.1/32と、元のネクストホップIP 10.1.2.1が表示されます

R2(Cisco IOS)

R2# show ip route 1.1.1.1 255.255.255.255 longer-prefixes

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets

D        1.1.1.1 [90/130816] via 10.1.2.1, 00:00:06, GigabitEthernet0/1

BGP設定セクションでは、iBGPを介してルータ3に1.1.1.1/32をアドバタイズするコマンドを確認できます

R2(Cisco IOS)

R2# show running-config partition router bgp 2

Building configuration...

Current configuration : 210 bytes

!

! Last configuration change at -

!

!

!

!

router bgp 2

bgp router-id 2.2.2.2

bgp log-neighbor-changes

network 1.1.1.1 mask 255.255.255.255

neighbor 10.2.3.3 remote-as 2

!

!

end

ルータ3では、iBGPを介して受信された1.1.1.1/32ルートを確認できます。このルートには、ルータ1のIPに設定された元のネクストホップは10.1.2.1です。

- 1.1.1.1/32のルータ3 BGPテーブルエントリ

R3

R3# show bgp ipv4 unicast 1.1.1.1/32

BGP routing table entry for 1.1.1.1/32, version 0

Paths: (1 available, no best path)

Not advertised to any peer

Refresh Epoch 1

Local

10.1.2.1 (inaccessible) from 10.2.3.2 (2.2.2.2)

Origin IGP, metric 130816, localpref 100, valid, internal

rx pathid: 0, tx pathid: 0

この特定のシナリオでは、BGPがそのパスを有効と見なすことができるように、ルータ3には10.1.2.1（ネクストホップ）へのパスが必要です。それ以外の場合、BGPはパスを（アクセス不能）として表示します。

注：これは、BGPからルーティングテーブルへのルートを受け入れるため、『BGPベストパス選択アルゴリズム』で説明されている基本的なチェックです。

debug ip bgp updateコマンドは、ルータ3がルートをインストールしない理由を示します。これは、ネクストホップのルーティングテーブルにエントリがないためです。この場合、ネクストホップは10.1.2.1です

R3

R3# debug ip bgp update

*-: BGP(0): 10.2.3.2 rcvd UPDATE w/ attr: nexthop 10.1.2.1, origin i, localpref 100, metric 130816

*-: BGP(0): 10.2.3.2 rcvd 1.1.1.1/32

*-: BGP(0): no valid path for 1.1.1.1/32

ネクストホップをアクセス可能にする1つのアプローチは次のとおりです。

– ステップ1：ルータ3のルーティングテーブル内の1つのスタティックルートは、ネクストホップのエントリを作成するために設定されます。

R3

R3# configure terminal

Enter configuration commands, one per line.  End with CNTL/Z.

R3(config)# ip route 10.1.2.1 255.255.255.255 10.2.3.2

– ステップ2：同じdebugコマンドを使用すると、ルートが受け入れられたことが示されます。

R3

R3# debug ip bgp update

R3#

*Mar 29 16:08:42.888: BGP(0): 10.2.3.2 rcvd UPDATE w/ attr: nexthop 10.1.2.1, origin i, localpref 100, metric 130816

*Mar 29 16:08:42.890: BGP(0): 10.2.3.2 rcvd 1.1.1.1/32

*Mar 29 16:08:42.892: BGP(0): Revise route installing 1 of 1 routes for 1.1.1.1/32 -> 10.1.2.1(global) to main IP table

R3#

– ステップ3:BGPテーブルが（アクセス不能）ステータスを削除しました。

R3

R3# show bgp ipv4 unicast 1.1.1.1/32

BGP routing table entry for 1.1.1.1/32, version 6

Paths: (1 available, best #1, table default)

Not advertised to any peer

Refresh Epoch 2

Local

10.1.2.1 from 10.2.3.2 (2.2.2.2)

Origin IGP, metric 130816, localpref 100, valid, internal, best

rx pathid: 0, tx pathid: 0x0

– ステップ4：ルーティングテーブルが1.1.1.1/32へのルートをインストールします

R3

R3# show ip route bgp

Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP

D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area

N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2

E1 - OSPF external type 1, E2 - OSPF external type 2

i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2

ia - IS-IS inter area, * - candidate default, U - per-user static route

o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP

a - application route

+ - replicated route, % - next hop override, p - overrides from PfR

Gateway of last resort is not set

1.0.0.0/32 is subnetted, 1 subnets

B        1.1.1.1 [200/130816] via 10.1.2.1, 00:11:37

set ip next-hop redist-unchangedコマンドの使用

バージョン6.2(12)以降、set ip next-hop redist-unchangedおよびset ipv6 next-hop redist-unchangedコマンドは、CSCud20941不具合によって導入され、Nexus NX-OSがCisco IOSののの動作ををと反映855555000000000000000000000000000000000000000000000000000000000000

注：これらのコマンドは、ルートマップのパラメータとして使用され、再配布コマンドと組み合わせて使用される場合にのみ機能します。

Topology for Nexus NX-OSの場合、図に示すように、R2(Nexus NX-OS)はルータ1からEIGRP経由で1.1.1.1/32ルートを受信し、iBGPを使用してルータ3にアドバタイズします。

R2(Nexus NX-OS)のルーティングテーブルには、EIGRPを介して受信されたルート1.1.1.1/32と、元のネクストホップIP 10.1.2.1が表示されます

R2(Nexus NX-OS)

R2# show ip route 1.1.1.1/32

IP Route Table for VRF "default"

'*' denotes best ucast next-hop

'**' denotes best mcast next-hop

'[x/y]' denotes [preference/metric]

'%<string>' in via output denotes VRF <string>

1.1.1.1/32, ubest/mbest: 1/0

*via 10.1.2.1, Eth2/1, [90/130816], 04:38:21, eigrp-1, internal

set ip next-hop redist-unchangedコマンドは、「route-map」コンフィギュレーションモードで使用できます。

R2(Nexus NX-OS)

R2(config)# route-map REDIST-UNCHANGED

R2(config-route-map)# set ip next-hop ?

A.B.C.D              IP address of next hop

load-share           Enables load sharing

peer-address         Use peer address (for BGP only)

redist-unchanged     Use unchanged address during redistribution (for BGP

session only)

unchanged            Use unchanged address (for eBGP session only)

verify-availability  Verify the reachability of the tracked object

R2(config-route-map)# set ip next-hop redist-unchanged

route-map REDIST-UNCHANGEDは、BGPのredistribute設定文のパラメータとして適用されます。

R2(Nexus NX-OS)

R2#

!

route-map REDIST-UNCHANGED permit 10

set ip next-hop redist-unchanged

!

R2# show running-config bgp

!Command: show running-config bgp

!Time: -

version -

feature bgp

router bgp 2

address-family ipv4 unicast

redistribute eigrp 1 route-map REDIST-UNCHANGED

neighbor 10.2.3.3 remote-as 2

address-family ipv4 unicast

これで、Router 3はCisco IOSに類似した元のNEXT_HOPセットを使用してBGP UPDATEを受信します。

R3

R3# show ip bgp

BGP table version is 15, local router ID is 10.2.3.3

Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,

r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,

x best-external, a additional-path, c RIB-compressed,

Origin codes: i - IGP, e - EGP, ? - incomplete

RPKI validation codes: V valid, I invalid, N Not found

Network          Next Hop            Metric LocPrf Weight Path

* i 1.1.1.1/32       10.1.2.1            130816    100      0 ?

このドキュメントでは、Nexus NX-OSとCisco IOSがローカルで生成されないルートのiBGPアドバタイズメントを処理する方法の違いについて説明します。

このドキュメントで説明する動作は、ほとんどのシナリオで行われており、通常のネットワークルーティング動作に影響を与えるものではありません。

set ip next-hop redist-unchangedおよびset ipv6 next-hop redist-unchangedのオプションのコマンドを使用すると、Nexus NX-OSのRFC 4271に準拠したBGPルーティングを維持できます

デバイスの初期設定

R1

hostname R1

!

interface Loopback0

ip address 1.1.1.1 255.255.255.255

ip ospf 1 area 0

!

interface GigabitEthernet0/1

ip address 10.1.2.1 255.255.255.0

ip ospf network point-to-point

ip ospf 1 area 0

!

router ospf 1

!

R2(Nexus NX-OS)

hostname R2

!

feature ospf

feature bgp

!

interface Ethernet2/1

no switchport

ip address 10.1.2.2/24

ip ospf network point-to-point

ip router ospf 1 area 0.0.0.0

no shutdown

!

interface Ethernet2/2

no switchport

ip address 10.2.3.2/24

no shutdown

!

router ospf 1

!

router bgp 2

address-family ipv4 unicast

network 1.1.1.1/32

neighbor 10.2.3.3 remote-as 2

address-family ipv4 unicast

!

R2(Cisco IOS)

hostname R2

!

interface GigabitEthernet0/1

ip address 10.1.2.2 255.255.255.0

ip ospf network point-to-point

ip ospf 1 area 0

!

interface GigabitEthernet0/2

ip address 10.2.3.2 255.255.255.0

!

router ospf 1

!

router bgp 2

bgp log-neighbor-changes

network 1.1.1.1 mask 255.255.255.255

neighbor 10.2.3.3 remote-as 2

!

R3

hostname R3

!

interface GigabitEthernet0/1

ip address 10.2.3.3 255.255.255.0

!

router bgp 2

bgp log-neighbor-changes

neighbor 10.2.3.2 remote-as 2

!