一、拓撲圖:
二、用靜态路由下一跳指向null 0來手動的配置彙總:
1、配置各路由器的IP位址,以及配置BGP協定,并把各路由器直連網絡通告進BGP當中。配置完之後我們在R3上檢視一下路由表:
R3#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
172.16.0.0/16 is variably subnetted, 5 subnets, 2 masks
B 172.16.255.0/30 [20/0] via 10.1.255.1, 00:00:06
B 172.16.0.0/24 [20/0] via 10.1.255.1, 00:00:06
B 172.16.1.0/24 [20/0] via 10.1.255.1, 00:00:06
B 172.16.2.0/24 [20/0] via 10.1.255.1, 00:00:06
B 172.16.3.0/24 [20/0] via 10.1.255.1, 00:00:06
10.0.0.0/30 is subnetted, 1 subnets
C 10.1.255.0 is directly connected, Serial1/0
R3#
2、從上圖我們看到了R3學到了5條BGP的路由,但是如果在實際的工作環境當中,我們應該盡量地減少路由表,這樣有利于提高路由器的穩定性。但是我們應該怎麼去做呢?之前的實驗已經讓我們明白,在向BGP對等體通告某一路由時,這台路由器上必須要有需通告的此路由條目。也就是說如果我把這些網段彙總成172.16.0.0/22 并通告的話,那麼在R1上必須存在這條路由條目,怎麼去滿足它呢?上一個實驗我們是在R1上開啟自動彙總,讓R1自己彙總成16位有類位址172.16.0.1/16存在于R1當中,這一次不在R1上開啟自動彙總,用别的方法去做,讓它彙總的範圍更小,把它彙總成無類的22位位址,我們可以建立一條靜态路由指向空接口讓它存在于R1中,這樣就能滿足要求了:
R1(config)#ip route 172.16.0.0 255.255.252.0 null 0
3、我們現在再來宣告172.16.0.0/22的位址進BGP:
R1(config)#router bgp 64512
R1(config-router)#net 172.16.0.0 mask 255.255.252.0
4、現在再到R3上檢視一下路由表:
R3#sh ip route
172.16.0.0/16 is variably subnetted, 6 subnets, 3 masks
B 172.16.255.0/30 [20/0] via 10.1.255.1, 01:04:31
B 172.16.0.0/24 [20/0] via 10.1.255.1, 01:04:31
B 172.16.0.0/22 [20/0] via 10.1.255.1, 00:00:47 (發現有一條彙總的/22的路由條目)
B 172.16.1.0/24 [20/0] via 10.1.255.1, 01:04:31
B 172.16.2.0/24 [20/0] via 10.1.255.1, 01:04:31
B 172.16.3.0/24 [20/0] via 10.1.255.1, 01:04:31
5、通過上面的路由表看到了其它之前宣告的/24位的路由還存在,那麼現在我們把R1上的這些路由條目都no掉:
R1(config-router)#no network 172.16.0.0 mask 255.255.255.0
R1(config-router)#no network 172.16.1.0 mask 255.255.255.0
R1(config-router)#no network 172.16.2.0 mask 255.255.255.0
R1(config-router)#no network 172.16.3.0 mask 255.255.255.0
6、通過上述的配置,再來看一下R3這邊的路由表情況:
172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks
B 172.16.255.0/30 [20/0] via 10.1.255.1, 01:14:10
B 172.16.0.0/22 [20/0] via 10.1.255.1, 00:10:27(現在隻有一條/22的彙總路由條目了)
7、雖然我們把172.16.0.1 這條路由表目no 掉了,但現在我們在R3上ping 一下這個位址還是通的,原因是有彙總的位址存在:
R3#ping 172.16.0.1
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 172.16.0.1, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 12/32/92 ms
三、通過用靜态路由指一條彙總位址到null0 當中去,讓這條路由條目存在于路由表中再去通告一個彙總位址這樣的方式去做彙總。配置非常簡單,但是真的不好排錯,其它的BGP路由器不知道是在哪裡彙總的。你想一想:當通告的路由條目一多的話,172.16.0.0/22這個位址我們可能認為它是哪個接口的位址。不能想到它是彙總的位址。是以說事物都有雙面性:有利也有弊。
本文轉自wxs-163 51CTO部落格,原文連結:http://blog.51cto.com/supercisco/267241