IP : ボーダー ゲートウェイ プロトコル(BGP)

BGP 条件付きアドバタイズメント機能の設定と確認

2015 年 11 月 26 日 - 機械翻訳について
その他のバージョン: PDFpdf | ライター翻訳版 (2004 年 2 月 23 日) | 英語版 (2015 年 8 月 22 日) | フィードバック


目次


概要

ボーダー ゲートウェイ プロトコル(BGP)条件付きアドバタイズメント機能を使用すると、BGP テーブルの中に別のプレフィックスが存在しているかどうかに応じて、ルート アドバタイズメントの新たな制御が可能になります。

前提条件

要件

設定を開始する前に詳しをであることを確認して下さい:

使用するコンポーネント

この資料に説明があった BGP条件付きアドバタイズメント機能は Cisco IOS で導入されましたか。 ソフトウェア リリース 11.1CC および 11.2 は新しいリリースで利用でき。

このドキュメントの情報は、次のソフトウェアとハードウェアのバージョンに基づくものです。

  • Cisco IOS(R) ソフトウェア リリース 12.2(13)T13

  • Cisco 2500 シリーズ ルータ

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

背景理論

通常、ルートは異なるパスの有無にはかかわらず伝搬されます。 BGP条件付きアドバタイズメント機能は隣接 advertise-map コマンドnon-exist-map およびルート プレフィクスによってルートをトラッキングするために advertise-map キーワードを使用します。 ルートプレフィクスが non-exist-map コマンドの出力結果に存在しない場合は、advertise-map コマンドによって指定されたルートがアナウンスされます。 この機能は他のプロバイダからの情報がないときだけいくつかのプレフィックスがプロバイダの 1 人にアドバタイズされるマルチホーム ネットワークに役立ちます(これはピアリングセッションまたは部分的な到達可能性の失敗を示します)。

条件付き BGP アナウンスメントは、BGP ルータからピアに送信される、正規のアナウンスに追加して送信されます。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

設定

この項では、このドキュメントで説明する機能の設定に必要な情報を提供します。

注: このドキュメントで使用されているコマンドに関する詳細情報について調べるには、IOS Command Lookup ツールを使用してください。

ネットワーク構成図

このドキュメントでは、次の図で示されるネットワーク構成を使用しています。

ここでは、R103 のループバックインターフェイスが R102 に 192.168.50.0/24 をアナウンスするのに使用されています。 R102 に両方の external BGP (eBGP) 同位、R101 および R103 にアナウンスされる BGPネットワークが、128.16.16.0/24 デフォルトであります。

/image/gif/paws/16137/cond_adv_01.gif

BGP条件付きアドバタイズメント機能を使うと、今 R102 のこれらのタスクを完了できます:

  • R102 の BGP テーブルに 192.168.50.0/24 が存在する場合は、R101 に 128.16.16.0/24 をアドバタイズしません。

  • R102 の BGP テーブルに 192.168.50.0/24 が存在しない場合は、R101 に 128.16.16.0/24 をアドバタイズします。

Cisco IOS を使ってか。 12.2T またはそれ以降 バージョンが、存在するマップ キーワードこれらのタスクを同様に完了するのに使用することができます:

  • R102 BGPテーブルで存在 する 192.168.50.0/24 が R101 にそれから 128.16.16.0/24 ネットワークをアドバタイズすれば。

  • 192.168.50.0/24 が R102 BGPテーブルにない場合、R101 に 128.16.16.0/24 ネットワークをアドバタイズしないで下さい。

条件付き アドバタイズメント機能を設定して下さい

このドキュメントでは、次の設定を使用します。

注: ここの例は non-exist-map キーワードを論議します。 存在するマップ キーワードの使用方法はこれに類似したです。

R102
hostname R102 
! 
interface Loopback0 
 ip address 128.16.16.1 255.255.255.0 
! 
interface Serial8/0 
 ip address 10.10.10.2 255.255.255.0 
! 
interface Serial9/0 
 ip address 10.10.20.2 255.255.255.0 
! 
router bgp 2 
 bgp log-neighbor-changes 
 network 128.16.16.0 mask 255.255.255.0 
 network 130.130.0.0 
 neighbor 10.10.10.1 remote-as 1 
 neighbor 10.10.10.1 advertise-map ADVERTISE non-exist-map NON-EXIST

!--- Advertises the routes matched in the route-map ADVERTISE (128.16.16.0/24)
!--- only if the routes matched in route-map NON-EXIST (192.168.50.0/24) 
!--- do not exist in the BGP table.
 
 neighbor 10.10.20.3 remote-as 3 
! 
ip route 130.130.0.0 255.255.0.0 Null0 
! 
access-list 60 permit 128.16.16.0 0.0.0.255 
access-list 65 permit 192.168.50.0 0.0.0.255 
! 
route-map NON-EXIST permit 10 
 match ip address 65 
!  
route-map ADVERTISE permit 10 
 match ip address 60 
!

R103
hostname R103 
! 
interface Loopback0 
 ip address 192.168.50.1 255.255.255.0 
! 
interface Serial9/0 
 ip address 10.10.20.3 255.255.255.0 
!  
router bgp 3 
 bgp log-neighbor-changes 
 network 192.168.50.0 
 neighbor 10.10.20.2 remote-as 2 
!

R101
hostname R101 
! 
interface Loopback0 
 ip address 200.200.200.1 255.255.255.0 
! 
interface Serial8/0 
 ip address 10.10.10.1 255.255.255.0 
!  
router bgp 1 
 bgp log-neighbor-changes 
 network 200.200.200.0 
 neighbor 10.10.10.2 remote-as 2 
!

設定の確認

例 1

この例は 192.168.50.0/24 が R102 BGPテーブルのようににあるときどんな BGP 見えるか確認します:

/image/gif/paws/16137/cond_adv_01.gif

最初に、R102 の BGP テーブルに 192.168.50.0/24 が存在するかどうかをチェックします。

R102# 
show ip bgp

BGP table version is 6, local router ID is 128.16.16.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 128.16.16.0/24   0.0.0.0                  0         32768 i
*> 130.130.0.0      0.0.0.0                  0         32768 i
*> 192.168.50.0     10.10.20.3               0             0 3 i
*> 200.200.200.0    10.10.10.1               0             0 1 i

192.168.50.0/24 が R102 BGPテーブルにあるので、そして R102 は R101 に 128.16.16/24 をアドバタイズしてはなりません。

R102# show ip bgp neighbors 10.10.10.1 advertised-routes 
BGP table version is 6, local router ID is 128.16.16.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 130.130.0.0      0.0.0.0                  0         32768 i
*> 192.168.50.0     10.10.20.3               0             0 3 i

!--- Note 128.16.16.0/24 is not advertised to neighbor 10.10.10.1.


R102# show ip bgp 128.16.16.0
BGP routing table entry for 128.16.16.0/24, version 6
Paths: (1 available, best #1, table Default-IP-Routing-Table)
  Advertised to non peer-group peers:

!--- This is not advertised to R101.
  
10.10.20.3     
  Local
    0.0.0.0 from 0.0.0.0 (128.16.16.1)
      Origin IGP, metric 0, localpref 100, weight 32768, valid, sourced, local, best

それから R102 の条件付きアドバタイズメントのステータスをチェックして下さい:

R102# show ip bgp neighbors 10.10.10.1
BGP neighbor is 10.10.10.1,  remote AS 1, external link
  BGP version 4, remote router ID 200.200.200.1
  BGP state = Established, up for 02:27:07
  Last read 00:00:07, hold time is 180, keepalive interval is 60 seconds

 
!--- Output suppressed.



 For address family: IPv4 Unicast
  BGP table version 6, neighbor version 6
  Index 1, Offset 0, Mask 0x2
  Condition-map NON-EXIST, Advertise-map ADVERTISE, status: Withdraw
  1 accepted prefixes consume 36 bytes
  Prefix advertised 3, suppressed 0, withdrawn 1
  Number of NLRIs in the update sent: max 1, min 0


!--- Output suppressed.



出力は条件付きアドバタイズメントが「撤回される」こと、そして示したものですルート マップを「一致する ネットワークがアドバタイズする」ことをピア 10.10.10.1 にアナウンスされません。

ルート マップをアナウンスされません R101 に、チェックします R101 の BGPテーブルを「一致するルーティングを確認するためにアドバタイズして下さい」:

R101# show ip bgp 128.16.16.0
% Network not in table

例 2

ネットワーク 192.168.50.0/24 が R102 BGPテーブルにのようにないときどんな BGP 見えるかこの例に示されています:

cond_adv_02.gif

最初に R103 が R102 にもはや 192.168.50.0/24 をアナウンスしないように、R103 のループバックインターフェイス 0 をシャットダウンして下さい。

R103(config)# interface loopback 0
R103(config-if)# shutdown 
R103(config-if)#
03:29:36: %LINK-5-CHANGED: Interface Loopback0, changed state to administratively down

それから R102 が 192.168.50.0/24 を学んでいないこと、そしてネットワークが R102 BGPテーブルに含まれていないことを確認して下さい。

R102# show ip bgp 
BGP table version is 8, local router ID is 128.16.16.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 128.16.16.0/24   0.0.0.0                  0         32768 i
*> 130.130.0.0      0.0.0.0                  0         32768 i
*> 200.200.200.0    10.10.10.1               0             0 1 i

!--- Note 192.168.50.0/24 is not present.


次に、条件付きアドバタイズメントの始動にかかる時間を示します。

R102# 
debug ip bgp updates

*Mar  1 02:39:18.059: BGP(0): 10.10.20.3 rcv UPDATE about 192.168.50.0/24
-- withdrawn
*Mar  1 02:39:18.059: BGP(0): no valid path for 192.168.50.0/24
*Mar  1 02:39:18.079: BGP(0): nettable_walker 192.168.50.0/24 no best path
*Mar  1 02:39:18.219: BGP(0): 10.10.10.1 computing updates, afi 0, neighbor 
version 10, table version 11, starting at 0.0.0.0
*Mar  1 02:39:18.219: BGP(0): 10.10.10.1 send unreachable 192.168.50.0/24
*Mar  1 02:39:18.219: BGP(0): 10.10.10.1 send UPDATE 192.168.50.0/24 
-- unreachable
*Mar  1 02:39:18.219: BGP(0): 10.10.10.1 1 updates enqueued (average=27, maximum=27)
*Mar  1 02:39:18.219: BGP(0): 10.10.10.1 update run completed, afi 0, ran for 0ms, 
neighbor version 10, start version 11, throttled to 11

*Mar  1 02:40:04.747: BPG(0): Condition NON-EXIST changes to Advertise
*Mar  1 02:40:04.747: BGP(0): net 128.16.16.0/24 matches ADV MAP ADVERTISE: 
bump version to 12
*Mar  1 02:40:05.187: BGP(0): nettable_walker 128.16.16.0/24 route sourced 
locally
*Mar  1 02:40:05.187: BGP(0): 10.10.10.1 computing updates, afi 0, neighbor 
version 11, table version 12, starting at 0.0.0.0
*Mar  1 02:40:05.187: BGP(0): 10.10.10.1 128.16.16.0/24 matches advertise map 
ADVERTISE, state: Advertise
*Mar  1 02:40:05.187: BGP(0): 10.10.10.1 send UPDATE (format) 128.16.16.0/24, 
next 10.10.10.2, metric 0, path 
*Mar  1 02:40:05.187: BGP(0): 10.10.10.1 1 updates enqueued (average=52, maximum=52)
*Mar  1 02:40:05.187: BGP(0): 10.10.10.1 update run completed, afi 0, ran for 0ms, 
neighbor version 11, start version 12, throttled to 12

条件付きアドバタイズメントのプロセスは、60 秒ごとに実行される BGP スキャナ プロセスによってトリガされます。 これは実施される条件付きアドバタイズメントのための最大時間が 60 秒であることを意味します。 条件付きアドバタイズメントはトラッキングされたルートが BGPテーブルから取除かれるとき、そして BPG スキャナの次の例が行われるとき、によってすぐに実施されることができます。 隣接 10.10.10.1 のための R102 の条件付き アドバタイズメント 状態を確認するために R102 のこれらのコマンドを発行して下さい:

R102# show ip bgp neighbors 10.10.10.1
BGP neighbor is 10.10.10.1,  remote AS 1, external link
  BGP version 4, remote router ID 200.200.200.1
  BGP state = Established, up for 02:45:27
  Last read 00:00:27, hold time is 180, keepalive interval is 60 seconds
  
!--- Output suppressed.



 For address family: IPv4 Unicast
  BGP table version 12, neighbor version 12
  Index 1, Offset 0, Mask 0x2
  Condition-map NON-EXIST, Advertise-map ADVERTISE, status: Advertise
  1 accepted prefixes consume 36 bytes
  Prefix advertised 6, suppressed 0, withdrawn 4
  Number of NLRIs in the update sent: max 1, min 0
 
!--- Output suppressed.



R101 BGPテーブルにおよびルーティング テーブルはここに示されているように 128.16.16.0/24 が、あります:

注: この出力例では、BGPルータが同位に送信すること条件付き BGP 発表(ネットワーク 128.16.16.0/24)は標準 BGP 発表(ネットワーク 130.130.0.0/16)に加えて、送信 されます。

R101# show ip bgp
BGP table version is 18, local router ID is 200.200.200.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 128.16.16.0/24   10.10.10.2               0             0 2 i
*> 130.130.0.0      10.10.10.2               0             0 2 i
*> 200.200.200.0    0.0.0.0                  0         32768 i

R101# show ip route bgp
     128.16.0.0/24 is subnetted, 1 subnets
B       128.16.16.0 [20/0] via 10.10.10.2, 00:09:32
B    130.130.0.0/16 [20/0] via 10.10.10.2, 02:48:46

例 3

この例は R102 で BGP 変更が「撤回する」。「どのようにからのアドバタイズする」か見るために 192.168.50.0/24 ネットワークの再インストールを含みます

/image/gif/paws/16137/cond_adv_01.gif

192.168.50.0/24 を再インストールするために、R103 の interface loopback 0 をに「持って来る no shutdown コマンドをの上の」発行して下さい。

R103(config)# interface loopback 0
R103(config-if)# no shutdown
R103(config-if)#
03:49:06: %LINK-3-UPDOWN: Interface Loopback0, 
changed state to up
03:49:07: %LINEPROTO-5-UPDOWN: Line protocol on 
Interface Loopback0, changed state to up

!--- R102 kicks in conditional advertisement the moment the 
!--- conditional network is received again.

*Mar  1 02:51:42.227: BGP(0): 10.10.20.3 rcvd UPDATE w/ attr: 
nexthop 10.10.20.3, origin i, metric 0, path 3
*Mar  1 02:51:42.227: BGP(0): 10.10.20.3 rcvd 192.168.50.0/24
*Mar  1 02:51:42.247: BGP(0): Revise route installing 192.168.50.0/24 -> 
10.10.20.3 to main IP table
*Mar  1 02:51:42.379: BGP(0): 10.10.10.1 computing updates, afi 0, 
neighbor version 12, table version 13, starting at 0.0.0.0
*Mar  1 02:51:42.379: BGP(0): 10.10.10.1 send UPDATE (format) 
192.168.50.0/24, next 10.10.10.2, metric 0, path 3
*Mar  1 02:51:42.379: BGP(0): 10.10.10.1 1 updates enqueued 
(average=47, maximum=47)
*Mar  1 02:51:42.379: BGP(0): 10.10.10.1 update run completed, afi 0, 
ran for 0ms, neighbor version 12, start version 13, throttled to 13

*Mar  1 02:52:09.159: BPG(0): Condition NON-EXIST changes to Withdraw
*Mar  1 02:52:09.159: BGP(0): net 128.16.16.0/24 matches ADV MAP 
ADVERTISE: bump version to 14
*Mar  1 02:52:09.499: BGP(0): nettable_walker 128.16.16.0/24 route 
sourced locally
*Mar  1 02:52:11.559: BGP(0): 10.10.10.1 computing updates, afi 0, 
neighbor version 13, table version 14, starting at 0.0.0.0
*Mar  1 02:52:11.559: BGP(0): 10.10.10.1 128.16.16.0/24 matches advertise 
map ADVERTISE, state: Withdraw
*Mar  1 02:52:11.559: BGP(0): 10.10.10.1 send unreachable 128.16.16.0/24
*Mar  1 02:52:11.559: BGP(0): 10.10.10.1 send UPDATE 128.16.16.0/24 -- unreachable
*Mar  1 02:52:11.559: BGP(0): 10.10.10.1 1 updates enqueued (average=27, maximum=27)
*Mar  1 02:52:11.559: BGP(0): 10.10.10.1 update run completed, afi 0, ran for 0ms, 
neighbor version 13, start version 14, throttled to 14

R102 は R101 にもはや 128.16.16.0/24 をアドバタイズしません。

R102# show ip bgp neighbors 10.10.10.1 advertised-routes 
BGP table version is 14, local router ID is 128.16.16.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 130.130.0.0      0.0.0.0                  0         32768 i
*> 192.168.50.0     10.10.20.3               0             0 3 i

!--- Note 128.16.16.0/24 is not advertised.

R102# show ip bgp neighbors 10.10.10.1
BGP neighbor is 10.10.10.1,  remote AS 1, external link
  BGP version 4, remote router ID 200.200.200.1
  BGP state = Established, up for 03:01:32
  Last read 00:00:31, hold time is 180, keepalive interval is 60 seconds
  Neighbor capabilities:
!--- Output supressed.

 For address family: IPv4 Unicast
  BGP table version 14, neighbor version 14
  Index 1, Offset 0, Mask 0x2
  Condition-map NON-EXIST, Advertise-map ADVERTISE, status: Withdraw
  1 accepted prefixes consume 36 bytes
  Prefix advertised 7, suppressed 0, withdrawn 5
  Number of NLRIs in the update sent: max 1, min 0
  
!--- Output supressed.


注: 現実 の 世界 シナリオでは、AS1 および AS3 はインターネット(グローバル な BGP)に接続されます。 BGPテーブルそれ故にネットワーク 192.168.50.0/24 はへのグローバル BGP メッシュを通して AS3 からの AS1 (R101)伝搬できます。 AS1 は、それから、R102 にプレフィクス 192.168.50.0 を伝搬させる可能性があります(AS1 と AS2 間のポリシー協定によって)。 R101 がグローバル BGP メッシュから R102 に学習される AS3 ルーティングを伝搬する場合条件付きアドバタイズメントは追加チェックが不在のマップに置かれない場合失敗する場合があります。

よりよく条件付きアドバタイズメントがなぜ失敗するか理解すると、このシナリオが考慮して下さい。 AS1 はグローバル BGP メッシュからの 192.168.50.0/24 を学び、AS2 (R102)に 192.168.50.0/24 をアナウンスします。 R102 は、R103 への(R102 から R103 へのリンクを介して)ダイレクト ピアリングから、プレフィクス 192.168.50.0/24 も学習します。 R102 と R103 間の直接接続が失敗するとき、プレフィクス 192.168.50.0/24 が R102 BGPテーブルにあり終え、条件付きアドバタイズメントが作動させ、R101 にプレフィクス 128.16.16.0/24 をアナウンスすると期待します。 ただし、プレフィクス 192.168.50.0/24 が R102 BGPテーブルに(R101 から学ばれる)あり続けるので条件付きアドバタイズメントはのでまだ R102 BGPテーブルで存在 する 不在のマップのプレフィクス壊れます。 プレフィクス 192.168.50.0/24 が R103)へのダイレクト接続からだけ AS3 (R102 へのように条件付きアドバタイズメントが作動することができる学習されるようにするために、(プレフィクス 192.168.50.0/24 の AS_PATH とこの場合学習される 3) AS からであるダイレクト接続一致する不在のマップの下で一致 as_path 文を追加して下さい。 このケースのための正規表現は ^3 です。 正規表現に関する詳細については、参照しま正規表現を BGP で使用します。 プレフィクスを一致するためにちょうど AS-PATH を一致することができないこと用心すれば。 match as-path は一致されたプレフィクスのための一致する基準しか補わないことができます。 すなわち、から存在 する プレフィクス AS が#ネイバーにいくつかのプレフィックスをアドバタイズ確認していません。

R102 の新しい設定はここに示されています。 追加部分は、太字で示されています。

R101
hostname R102  
!  
interface Loopback0  
 ip address 128.16.16.1 255.255.255.0  
!  
interface Serial8/0  
 ip address 10.10.10.2 255.255.255.0  
!  
interface Serial9/0  
 ip address 10.10.20.2 255.255.255.0  
!  
router bgp 2  
 bgp log-neighbor-changes  
 network 128.16.16.0 mask 255.255.255.0  
 network 130.130.0.0  
 neighbor 10.10.10.1 remote-as 1  
 neighbor 10.10.10.1 advertise-map ADVERTISE non-exist-map NON-EXIST  
 neighbor 10.10.20.3 remote-as 3  
!  
ip route 130.130.0.0 255.255.0.0 Null0 
! 
ip as-path access-list 1 permit ^3 
!  
access-list 60 permit 128.16.16.0 0.0.0.255  
access-list 65 permit 192.168.50.0 0.0.0.255  
!  
route-map NON-EXIST permit 10  
 match ip address 65  
  match as-path 1 
!  
route-map ADVERTISE permit 10  
 match ip address 60  
!

既知の問題

BGP および条件付きアドバタイズメントに関連している幾つかの既知の不具合があります。 詳細については、Bug Toolkit のバグ CSCdp18563登録ユーザのみ)および CSCdp20320登録ユーザのみ)を参照して下さい。

関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


関連情報


Document ID: 16137