| 確認 |
AS同士をつなぐときには,BGPのほかにOSPFなどのIGPでつなぐケースもあります。
こうした場合,BGPで受信した経路情報より,IGPで受信した経路情報を優先させたくなるときがあります。
そこで,「バックドア・リンク」と呼ばれる手法を使います。
●バックドア・リンクとは?
まず,ネットワーク構成を確認しましょう。
RouterCは,1.1.1.0/24という経路情報をBGPとOSPFで受け取ります。
同じあて先の経路情報を受け取った場合,アドミニストレイティブ・ディスタンス(AD)値が小さい方の経路情報を採用するのがルールです。
AD値は,EBGPは20,OSPFが110と決まっています。
そのためRouterCは,EBGPで受け取った経路情報を採用し,RouterE(192.168.5.2)をネクストホップにします。
でも,RouterCにとっては,1.0.0.0/24あてはRouterB経由にした方が近いですよね。
そこで,特定のネットワークから受け取ったBGPのAD値を大きくして,優先順位を下げてやります。
これが,「バックドア・リンク」です。
BGPに関するAD値は三つあり,以下のように決まっています。
EBGP :20
IBGP :200
ローカルBGP:200
「ローカルBGP」というのは,networkコマンドや再配布コマンドによってBGPテーブルに登録した経路情報のことです。
バックドア・リンクでは,特定の経路情報のAD値を,ローカルBGPのAD値(つまり200)に変更します。
コマンドは以下のように,networkコマンドにbackdoorオプションを付けます。
network 1.1.1.0 mask 255.255.255.0 backdoor
networkコマンドは,BGPテーブルに経路情報を載せるためのコマンドです。
つまりルーターに,「この経路情報をBGPテーブルに載せろ(AD値はローカルBGPの200)」とあらためて命令してやるわけです。
そしてbackdoorオプションを付けることで,この経路情報はEBGPピアに通知されなくなります。
ちなみに,BGPの三つのAD値は,show ip protocolsコマンドによって確認できます(一番下の赤字)。
RouterA#show ip protocols
Routing Protocol is "ospf
1"
Outgoing update filter list
for all interfaces
is not set
Incoming update filter list
for all interfaces
is not set
Router ID 1.1.1.1
Number of areas in this router
is 1. 1
normal 0 stub 0 nssa
Maximum path: 4
Routing for Networks:
0.0.0.0 255.255.255.255 area
0
Routing Information Sources:
Gateway Distance Last
Update
2.2.2.2 110 03:04:30
1.1.1.1 110 01:27:47
192.168.5.1 110 01:27:47
192.168.4.1 110 01:27:47
Distance: (default is 110)
Routing Protocol is "bgp
200"
Outgoing update filter list
for all interfaces
is not set
Incoming update filter list
for all interfaces
is not set
IGP synchronization is disabled
Automatic route summarization
is disabled
Neighbor(s):
Address FiltIn FiltOut
DistIn
DistOut Weight RouteMap
Address FiltIn FiltOut
DistIn
DistOut Weight RouteMap
192.168.1.2
Maximum path: 1
Routing Information Sources:
Gateway Distance Last
Update
192.168.1.2 200 02:24:20
Distance: external 20 internal 200 local
200
●バックドア・リンク設定前の状態の確認
それでは,RouterCの「network 1.1.1.0 mask 255.255.255.0
backdoor」コマンドを入力していない状態から見ていきましょう。
RouterCのバックドア・リンク設定前の状態を確認します。
1.1.1.0/24の経路情報を,192.168.5.2(RouterE)から受信しています。
ステータス・コードに「>」印が付いているので,これがベストパスになっているのがわかります。
RouterC#show ip bgp
BGP table version is 2, local
router ID is
192.168.5.1
Status codes: s suppressed, d
damped, h history,
* valid, > best, i - internal,
r RIB-failure,
S Stale
Origin codes: i - IGP, e - EGP,
? - incomplete
Network Next Hop Metric
LocPrf Weight Path
*> 1.1.1.0/24 192.168.5.2 0
100 200 i
RouterCのルーティング・テーブルを見てみましょう。
ベストパスの1.1.1.0/24が登録されています。
AD値は,EBGPの20になっていますね。
RouterC#show ip route
Codes: 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
Gateway of last resort is not
set
1.0.0.0/24 is subnetted,
1 subnets
B 1.1.1.0 [20/0] via 192.168.5.2,
00:03:53
O 192.168.4.0/24 [110/74]
via 192.168.2.1,
00:07:41, Ethernet0
C 192.168.5.0/24 is directly
connected,
Serial0
O 192.168.1.0/24 [110/74]
via 192.168.2.1,
00:07:41, Ethernet0
C 192.168.2.0/24 is directly
connected,
Ethernet0
C 192.168.3.0/24 is directly
connected,
Serial1
●バックドア・リンク設定と動作の確認
それでは,RouterCにバックドア・リンクを設定して,BGPで受信した経路情報ではなく,OSPFで受信した経路情報を採用するようにしましょう。
networkコマンドを使って1.1.1.0/24を指定し,backdoorオプションを付けます。
RouterC(config)#router bgp 300
RouterC(config-router)#network 1.1.1.0 mask 255.255.255.0 backdoor
意味的には,「RouterCのBGPテーブルに1.1.1.0/24の経路情報を載せなさい。AD値はローカルBGPの200。ただしこの経路情報はEBGPピアには通知しない」という感じになります。
設定したら,再びRouterCのBGPテーブルを見てみます。
RouterC#show ip bgp
BGP table version is 3, local
router ID is
192.168.5.1
Status codes: s suppressed, d
damped, h history,
* valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP,
? - incomplete
Network Next Hop Metric
LocPrf Weight Path
r> 1.1.1.0/24 192.168.5.2 0
100 200 i
ステータス・コードに「r」印が付きました。
これは,IGPで受信したものが優先され,BGPの経路情報はルーティング・テーブルに載らなかったことを示しています。
(「r」の意味は,シスコのWebページを参照して下さい)
RouterCのルーティング・テーブルを見てみましょう。
RouterC#show ip route
Codes: 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
Gateway of last resort is not
set
1.0.0.0/24 is subnetted,
1 subnets
O 1.1.1.0 [110/75] via
192.168.2.1,
00:01:04, Ethernet0
O 192.168.4.0/24 [110/74]
via 192.168.2.1,
00:10:29, Ethernet0
C 192.168.5.0/24 is directly
connected,
Serial0
O 192.168.1.0/24 [110/74]
via 192.168.2.1,
00:10:29, Ethernet0
C 192.168.2.0/24 is directly
connected,
Ethernet0
C 192.168.3.0/24 is directly
connected,
Serial1
経路情報の学習元を示す記号が,「O」になりました。
1.1.1.0/24の経路情報の学習元が,OSPFに変わったことがわかります。
BGPで学習した1.1.1.0/24の経路情報のAD値が200(ローカルBGPの値)になったことから,AD値が110であるOSPFの経路情報を採用したわけです。
|
|