版權聲明:原創作品,謝絕轉載!否則將追究法律責任。
3.對bgp不夠了解
4.as間帶寬太小
----------------------------------------------------------------------------------
bgp的防環機制:bgp是通過as-path來做路由策略,到達目標網絡時每經過一個AS,就把AS號記錄到它的path中,如果路由器收到一個路徑中含有他本地的AS號,這就出現了環路。
----------------------------------------------------------------------------------
bgp表只能看到AS樹,也就是到達目的網段所經過的AS號,以及下一跳等信息,而IGP表是顯示域內拓撲結構,可以通過命令show ip bgp命令查看,*表示這條路由可得,>表示這是最佳的,i是域內的網段
----------------------------------------------------------------------------------
bgp可以支持負載均衡,一般情況下,當某個特殊目的網絡有並列的,等開銷的路徑時,cisco缺省執行ebgp只選擇一條路徑,可以使用命令 maximum-paths 改變,注意只能對ebgp有效
---------------------------------------------------------------------------------
bgp表:
鄰居表:列出周圍的鄰居,可以是直連也可以不直連
轉發表:從鄰居那學習到的,包含到達某個目的的多條路徑
路由表:最好的路徑
----------------------------------------------------------------------------------
bgp具有4種包的類型:
open:hello,是我
keepalive: 我還活着,
update: 有新東西了,
notification:我不和你玩了
bgp的open包:發送bgp版本(默認爲V4),as號,holdtime(180s),router-id(最高的loopback ip值), 其它的操作特性
keepalive:保持時間,默認位60秒,是不可靠傳輸
update:包括到達目標網絡的路徑和屬性network layer reachability information(NLRI)網絡層可靠信息,公佈ip前綴和前綴的字節數
path attribute:屬性:起點,as路徑,鄰居,as間的度等
withdrawn routes:不可達的路由撤消的目的地址字節組(長度和前綴)
notification:出現錯誤,監測到後斷開連接併發送通知給對方
----------------------------------------------------------------------------------
bgp和isis一樣以鏈路爲邊界,ebgp的peer鄰居在不同的as之間的路由器,必須要求直連,ibgp的鄰居peer要求在同一as中的路由器,不要求直連的,但必須建立tcp連接bgp路由一般不會再發布到igp中去,因爲bgp的內容太龐大,但可以使用靜態路由或默認路由,但igp會再發布
到bgp中,以便告訴外部如何進入內部網絡
----------------------------------------------------------------------------------
bgp的啓動機制:
1,idle states:開始狀態
2,connect state:連接狀態,如果建立連接成功,向鄰居發open消息,轉入open狀態。如果不成功,繼續監聽發出的連接,重置計時器並轉移到active狀態。如果在連接狀態下,連接計時器超時後將重新開始,並再次與鄰居建鄰居
3,active激活狀態:試圖與鄰居建立tcp連接的過程
4,open send狀態:open消息發送狀態,發送open消息,bgp等待鄰居發來的open消息
收到open消息,發現差錯,將發notification消息並轉入idle狀態
收到open消息,沒有發現差錯,將發送keepalive消息並將此計時器清零
收到tcp斷開消息,本地斷開bgp連接,重置connect計時器,轉入active狀態
5,open confirm狀態:open消息確認狀態,等待一個keepalive消息或notification消息
收到一個keepalive消息,轉移到establish狀態
收到一個notification消息,轉入idle狀態,斷開tcp連接
holdtime超時,發送notification並斷開連接,轉入idle狀態
4.as間帶寬太小
----------------------------------------------------------------------------------
bgp的防環機制:bgp是通過as-path來做路由策略,到達目標網絡時每經過一個AS,就把AS號記錄到它的path中,如果路由器收到一個路徑中含有他本地的AS號,這就出現了環路。
----------------------------------------------------------------------------------
bgp表只能看到AS樹,也就是到達目的網段所經過的AS號,以及下一跳等信息,而IGP表是顯示域內拓撲結構,可以通過命令show ip bgp命令查看,*表示這條路由可得,>表示這是最佳的,i是域內的網段
----------------------------------------------------------------------------------
bgp可以支持負載均衡,一般情況下,當某個特殊目的網絡有並列的,等開銷的路徑時,cisco缺省執行ebgp只選擇一條路徑,可以使用命令 maximum-paths 改變,注意只能對ebgp有效
---------------------------------------------------------------------------------
bgp表:
鄰居表:列出周圍的鄰居,可以是直連也可以不直連
轉發表:從鄰居那學習到的,包含到達某個目的的多條路徑
路由表:最好的路徑
----------------------------------------------------------------------------------
bgp具有4種包的類型:
open:hello,是我
keepalive: 我還活着,
update: 有新東西了,
notification:我不和你玩了
bgp的open包:發送bgp版本(默認爲V4),as號,holdtime(180s),router-id(最高的loopback ip值), 其它的操作特性
keepalive:保持時間,默認位60秒,是不可靠傳輸
update:包括到達目標網絡的路徑和屬性network layer reachability information(NLRI)網絡層可靠信息,公佈ip前綴和前綴的字節數
path attribute:屬性:起點,as路徑,鄰居,as間的度等
withdrawn routes:不可達的路由撤消的目的地址字節組(長度和前綴)
notification:出現錯誤,監測到後斷開連接併發送通知給對方
----------------------------------------------------------------------------------
bgp和isis一樣以鏈路爲邊界,ebgp的peer鄰居在不同的as之間的路由器,必須要求直連,ibgp的鄰居peer要求在同一as中的路由器,不要求直連的,但必須建立tcp連接bgp路由一般不會再發布到igp中去,因爲bgp的內容太龐大,但可以使用靜態路由或默認路由,但igp會再發布
到bgp中,以便告訴外部如何進入內部網絡
----------------------------------------------------------------------------------
bgp的啓動機制:
1,idle states:開始狀態
2,connect state:連接狀態,如果建立連接成功,向鄰居發open消息,轉入open狀態。如果不成功,繼續監聽發出的連接,重置計時器並轉移到active狀態。如果在連接狀態下,連接計時器超時後將重新開始,並再次與鄰居建鄰居
3,active激活狀態:試圖與鄰居建立tcp連接的過程
4,open send狀態:open消息發送狀態,發送open消息,bgp等待鄰居發來的open消息
收到open消息,發現差錯,將發notification消息並轉入idle狀態
收到open消息,沒有發現差錯,將發送keepalive消息並將此計時器清零
收到tcp斷開消息,本地斷開bgp連接,重置connect計時器,轉入active狀態
5,open confirm狀態:open消息確認狀態,等待一個keepalive消息或notification消息
收到一個keepalive消息,轉移到establish狀態
收到一個notification消息,轉入idle狀態,斷開tcp連接
holdtime超時,發送notification並斷開連接,轉入idle狀態
00:47:37: BGP: 2.2.2.2 OPEN has ROUTE-REFRESH capability(new) for all address-families
00:47:37: BGP: 2.2.2.2 went from OpenSent to OpenConfirm
00:47:37: BGP: 2.2.2.2 send message type 1, length (incl. header) 45
00:47:37: BGP: 2.2.2.2 send message type 4, length (incl. header) 19
00:47:37: BGP: 2.2.2.2 rcv message type 4, length (excl. header) 0
00:47:37: BGP: 2.2.2.2 went from OpenConfirm to Established
00:47:37: %BGP-5-ADJCHANGE: neighbor 2.2.2.2 Up
----------------------------------------------------------------------------------
ibgp的水平分割:在一個as中,從ibgp學習到的路由絕對不會傳遞給其它的鄰居,igp是基於端口的水平分割,而ibgp是基於鄰居的水平分割
----------------------------------------------------------------------------------
ibgp的全網連接:在一個as中,bgp的鄰居路由器通常要求全互連,但是如果有n個路由器,就必須建立n(n-1)/2個連接,將會加大巨大的成本,如果不建立全互連,將會出現丟包的現象。
解決方法:將bgp重分佈到igp中,但我們一般不建議這麼做。加入到遠端的靜態路由,然後再發布到igp中
----------------------------------------------------------------------------------
bgp的屬性
公認必遵:
origin:可信度,0-igp學到,1-egp學到,3-incomplete其它手段學到,igp>bgp>重分佈
as-path:as路徑,逐級逐級的疊加,如果發現有自己的as存在,就有可能出現環路
next-hop:下一跳路由器的地址,
如果宣告路由器和接收路由器在不同as中,下一跳爲正在宣告的路由器接口的ip
如果宣告路由器和接收路由器在同一個as中,並且更新的目的地也在同一as中,下一跳爲宣告路由的鄰居的ip
如果宣告路由器和接收路由器是內部peer,但更新消息指向不同AS,下一跳爲學習到路由的外部peer的ip
公認可遵:
local-pref:本地優先級,只在本地有效,不會傳到其他區域,值越高優先級越高,默認爲100,是控制流出區域的
automic_aggre:警告下游路由器聚合時產生路徑信息丟失,可設置屬性aggregate通告
可選傳輸:
aggregator:通告匯聚點,採用rid作爲匯聚的地址
community:團隊,相當於一個模板,一組成員使用相同的策略,由4個字節構成,前面兩個是as號,後面兩個定義表示符,cisco正好反過來,你可以用ip bgpcommuity new-format修改
NO_EXPORT:允許在鄰居as內公佈但不允許鄰居as在發佈其它的as
NONE:刪除現有的團隊屬性
NO_ADVERTISE:不在ibgp鄰居間傳遞帶有該屬性的路由
DELETE:值刪除匹配特定團隊列表的屬性
可選非傳遞:
originator_id:由rp使用,一個32比特的值,記錄本地as離路由發起者的rid
cluster_list:路由反射簇的序號,由rp路由反射器使用,如果一個簇中有多個rp,需要bgp cluster-id手工指定id
multi_exit_disc:用於影響流入as的數據,它允許一個as將其首選入口通知給另一個as,可以在as間傳輸,最低med值被選擇,默認爲0
cisco專有:weight:權重,離開as的報文,來選擇那一條。它是不傳遞,從peer學到的所有路由器的權重值爲0,由本地路由其產生的所有路由的權重值爲32768,值越高越會被選擇
00:47:37: BGP: 2.2.2.2 went from OpenSent to OpenConfirm
00:47:37: BGP: 2.2.2.2 send message type 1, length (incl. header) 45
00:47:37: BGP: 2.2.2.2 send message type 4, length (incl. header) 19
00:47:37: BGP: 2.2.2.2 rcv message type 4, length (excl. header) 0
00:47:37: BGP: 2.2.2.2 went from OpenConfirm to Established
00:47:37: %BGP-5-ADJCHANGE: neighbor 2.2.2.2 Up
----------------------------------------------------------------------------------
ibgp的水平分割:在一個as中,從ibgp學習到的路由絕對不會傳遞給其它的鄰居,igp是基於端口的水平分割,而ibgp是基於鄰居的水平分割
----------------------------------------------------------------------------------
ibgp的全網連接:在一個as中,bgp的鄰居路由器通常要求全互連,但是如果有n個路由器,就必須建立n(n-1)/2個連接,將會加大巨大的成本,如果不建立全互連,將會出現丟包的現象。
解決方法:將bgp重分佈到igp中,但我們一般不建議這麼做。加入到遠端的靜態路由,然後再發布到igp中
----------------------------------------------------------------------------------
bgp的屬性
公認必遵:
origin:可信度,0-igp學到,1-egp學到,3-incomplete其它手段學到,igp>bgp>重分佈
as-path:as路徑,逐級逐級的疊加,如果發現有自己的as存在,就有可能出現環路
next-hop:下一跳路由器的地址,
如果宣告路由器和接收路由器在不同as中,下一跳爲正在宣告的路由器接口的ip
如果宣告路由器和接收路由器在同一個as中,並且更新的目的地也在同一as中,下一跳爲宣告路由的鄰居的ip
如果宣告路由器和接收路由器是內部peer,但更新消息指向不同AS,下一跳爲學習到路由的外部peer的ip
公認可遵:
local-pref:本地優先級,只在本地有效,不會傳到其他區域,值越高優先級越高,默認爲100,是控制流出區域的
automic_aggre:警告下游路由器聚合時產生路徑信息丟失,可設置屬性aggregate通告
可選傳輸:
aggregator:通告匯聚點,採用rid作爲匯聚的地址
community:團隊,相當於一個模板,一組成員使用相同的策略,由4個字節構成,前面兩個是as號,後面兩個定義表示符,cisco正好反過來,你可以用ip bgpcommuity new-format修改
NO_EXPORT:允許在鄰居as內公佈但不允許鄰居as在發佈其它的as
NONE:刪除現有的團隊屬性
NO_ADVERTISE:不在ibgp鄰居間傳遞帶有該屬性的路由
DELETE:值刪除匹配特定團隊列表的屬性
可選非傳遞:
originator_id:由rp使用,一個32比特的值,記錄本地as離路由發起者的rid
cluster_list:路由反射簇的序號,由rp路由反射器使用,如果一個簇中有多個rp,需要bgp cluster-id手工指定id
multi_exit_disc:用於影響流入as的數據,它允許一個as將其首選入口通知給另一個as,可以在as間傳輸,最低med值被選擇,默認爲0
cisco專有:weight:權重,離開as的報文,來選擇那一條。它是不傳遞,從peer學到的所有路由器的權重值爲0,由本地路由其產生的所有路由的權重值爲32768,值越高越會被選擇
r5#show ip bgp
BGP table version is 21, local router ID is 5.5.5.5
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
BGP table version is 21, local router ID is 5.5.5.5
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
*> 1.1.1.0/24 196.1.1.4 0 65101 65100 i
*> 2.2.2.0/24 196.1.1.4 0 65101 i
*> 4.4.4.0/24 196.1.1.4 0 0 65101 i
*> 5.5.5.0/24 0.0.0.0 0 32768 i
----------------------------------------------------------------------------------
RIB:BGP路由信息庫
Adj-RIB-IN Loc-RIB Adj-RIB-OUT
----------------------> | ------------------------- | ---------------------->
判斷優先級,做出選擇 進入 最優的路由路徑 適合的路由 出
---------------------------------------------------------------------------------
bgp選路原則:
|權重weight(越大越好)
|local-pref本地優先級(越大越好)
|本地路由優先(0.0.0.0)
|as-path(越短越好)
| 起源(igp>bgp>重分佈)
| MED (越低越好)
| ebgp>ibgp
| 下一跳igp度量值(越低的)
| 越老的路徑會被選擇
| bgp鄰居的RouterID(越小越好)
> ip地址(最小的)
----------------------------------------------------------------------------------
ibgp和igp的同步:一個從ibgp鄰居學習到的路由信息在進入igp表或發佈給其他bgp對等體之前,igp必須知道這條路由信息,否則不會發布
*> 1.1.1.0/24 196.1.1.4 0 65101 65100 i
*> 2.2.2.0/24 196.1.1.4 0 65101 i
*> 4.4.4.0/24 196.1.1.4 0 0 65101 i
*> 5.5.5.0/24 0.0.0.0 0 32768 i
----------------------------------------------------------------------------------
RIB:BGP路由信息庫
Adj-RIB-IN Loc-RIB Adj-RIB-OUT
----------------------> | ------------------------- | ---------------------->
判斷優先級,做出選擇 進入 最優的路由路徑 適合的路由 出
---------------------------------------------------------------------------------
bgp選路原則:
|權重weight(越大越好)
|local-pref本地優先級(越大越好)
|本地路由優先(0.0.0.0)
|as-path(越短越好)
| 起源(igp>bgp>重分佈)
| MED (越低越好)
| ebgp>ibgp
| 下一跳igp度量值(越低的)
| 越老的路徑會被選擇
| bgp鄰居的RouterID(越小越好)
> ip地址(最小的)
----------------------------------------------------------------------------------
ibgp和igp的同步:一個從ibgp鄰居學習到的路由信息在進入igp表或發佈給其他bgp對等體之前,igp必須知道這條路由信息,否則不會發布
r2#show ip bgp
BGP table version is 7, local router ID is 172.16.3.2
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete
BGP table version is 7, local router ID is 172.16.3.2
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
* i100.100.100.0/24 172.16.4.5 0 100 0 300 i
r>i172.16.1.0/24 172.16.2.1 0 100 0 i
* i172.16.2.0/24 172.16.2.1 0 100 0 i
*> 0.0.0.0 0 32768 i
* i172.16.3.0/24 172.16.3.3 0 100 0 i
*> 0.0.0.0 0 32768 i
r>i172.16.4.0/24 172.16.3.3 0 100 0 i
* i200.200.200.0 172.16.1.4 0 100 0 200 i
r2#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, 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
* i100.100.100.0/24 172.16.4.5 0 100 0 300 i
r>i172.16.1.0/24 172.16.2.1 0 100 0 i
* i172.16.2.0/24 172.16.2.1 0 100 0 i
*> 0.0.0.0 0 32768 i
* i172.16.3.0/24 172.16.3.3 0 100 0 i
*> 0.0.0.0 0 32768 i
r>i172.16.4.0/24 172.16.3.3 0 100 0 i
* i200.200.200.0 172.16.1.4 0 100 0 200 i
r2#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, 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/24 is subnetted, 4 subnets
R 172.16.4.0 [120/1] via 172.16.3.3, 00:00:20, Serial0
R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:05, Serial1
C 172.16.2.0 is directly connected, Serial1
C 172.16.3.0 is directly connected, Serial0
r2中的bgp表中有100.100.100.0和200.200.200.0網絡,雖然它們都是全網互連,但它的ibgp和igp沒有同步,所以它無法將路由發佈給其他的peer,這樣,r4和r5都沒有學到對方的路由
解決方案:
1,將bgp重發布到igp中,一般我們不建議
我們分別在r1和r3上做重發布操作(只需要在邊界上)
如:
router rip
redistribute bgp 100 metric 5
R 172.16.4.0 [120/1] via 172.16.3.3, 00:00:20, Serial0
R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:05, Serial1
C 172.16.2.0 is directly connected, Serial1
C 172.16.3.0 is directly connected, Serial0
r2中的bgp表中有100.100.100.0和200.200.200.0網絡,雖然它們都是全網互連,但它的ibgp和igp沒有同步,所以它無法將路由發佈給其他的peer,這樣,r4和r5都沒有學到對方的路由
解決方案:
1,將bgp重發布到igp中,一般我們不建議
我們分別在r1和r3上做重發布操作(只需要在邊界上)
如:
router rip
redistribute bgp 100 metric 5
r2#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, 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
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, 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
R 200.200.200.0/24 [120/5] via 172.16.2.1, 00:00:14, Serial1
100.0.0.0/24 is subnetted, 1 subnets
R 100.100.100.0 [120/5] via 172.16.3.3, 00:00:07, Serial0
172.16.0.0/24 is subnetted, 4 subnets
R 172.16.4.0 [120/1] via 172.16.3.3, 00:00:07, Serial0
R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:14, Serial1
C 172.16.2.0 is directly connected, Serial1
C 172.16.3.0 is directly connected, Serial0
100.0.0.0/24 is subnetted, 1 subnets
R 100.100.100.0 [120/5] via 172.16.3.3, 00:00:07, Serial0
172.16.0.0/24 is subnetted, 4 subnets
R 172.16.4.0 [120/1] via 172.16.3.3, 00:00:07, Serial0
R 172.16.1.0 [120/1] via 172.16.2.1, 00:00:14, Serial1
C 172.16.2.0 is directly connected, Serial1
C 172.16.3.0 is directly connected, Serial0
r5#show ip bgp
BGP table version is 9, local router ID is 100.100.100.100
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
BGP table version is 9, local router ID is 100.100.100.100
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
*> 100.100.100.0/24 0.0.0.0 0 32768 i
*> 172.16.1.0/24 172.16.4.3 0 100 i
*> 172.16.2.0/24 172.16.4.3 0 100 i
*> 172.16.3.0/24 172.16.4.3 0 0 100 i
* 172.16.4.0/24 172.16.4.3 0 0 100 i
*> 0.0.0.0 0 32768 i
*> 200.200.200.0 172.16.4.3 0 100 200 i
2.ibgp鄰居全網連接,關閉自動同步的功能
router bgp 100
no syn
-------------------------------------------------------------------------------
路由反射器RP:
在大型網絡中,as間要建立一個全互連的關係,一是成本大,二是工作量大,要有n臺路由器,你要建立n*(n-1)/2,當你使用RP技術,提供了C/S機制,建立鄰居的條目是N-1。
規則:
1,如果路由是從非客戶的 IBGP對等學習到的,只將它反射給客戶
2,如果路由是從客戶處學習到的,將它反射給除了發起該路由的客戶外所有的客戶以及非客戶
3,如果路由是從 EBGP鄰居學來的,將它反射給所有的客戶和非客戶
*> 100.100.100.0/24 0.0.0.0 0 32768 i
*> 172.16.1.0/24 172.16.4.3 0 100 i
*> 172.16.2.0/24 172.16.4.3 0 100 i
*> 172.16.3.0/24 172.16.4.3 0 0 100 i
* 172.16.4.0/24 172.16.4.3 0 0 100 i
*> 0.0.0.0 0 32768 i
*> 200.200.200.0 172.16.4.3 0 100 200 i
2.ibgp鄰居全網連接,關閉自動同步的功能
router bgp 100
no syn
-------------------------------------------------------------------------------
路由反射器RP:
在大型網絡中,as間要建立一個全互連的關係,一是成本大,二是工作量大,要有n臺路由器,你要建立n*(n-1)/2,當你使用RP技術,提供了C/S機制,建立鄰居的條目是N-1。
規則:
1,如果路由是從非客戶的 IBGP對等學習到的,只將它反射給客戶
2,如果路由是從客戶處學習到的,將它反射給除了發起該路由的客戶外所有的客戶以及非客戶
3,如果路由是從 EBGP鄰居學來的,將它反射給所有的客戶和非客戶
舉例:只需要在服務端設置就可以了
router bgp 100
no synchronization
bgp log-neighbor-changes
network 172.16.2.0 mask 255.255.255.0
network 172.16.3.0 mask 255.255.255.0
neighbor 172.16.2.1 remote-as 100
neighbor 172.16.2.1 route-reflector-client
neighbor 172.16.3.3 remote-as 100
neighbor 172.16.3.3 route-reflector-client
no auto-summary
----------------------------------------------------------------------------------
啓用bgp進程
router bgp AS號
一個路由器只能啓用一個bgp實例,不會把路由器放入到多個bgp中
----------------------------------------------------------------------------------
建立對等體關係:
1)neighbor 鄰居地址/鄰居組名 remote-as AS號
ebgp鄰居必須是路由器直連的那個地址,如果是ibgp鄰居,就不一定是直連的,可以是as中任意一個地址,但必須保障tcp連通。
ibgp一般用loopback端口來作爲鄰居的地址
2)neighbor 鄰居地址/鄰居組名 shutdown
暫時的鄰居關係不可用,但鄰居關係並沒有刪除,用於維護和策略
3)neighbor 鄰居地址 update-source loopback接口
如果用物理接口指定爲鄰居的地址,必須要求源地址匹配,如果不匹配會出現數據包丟失的問題,或者網絡出現問題,源地址出現問題,這樣鄰居關係將不穩定,爲了保障鄰居關係穩定,一致不變,最好用loopback接口,對於ebgp鄰居來說,必須還要額外加命令(還必須能夠訪問到,比如使用靜態路由或者路由)
4)neighbor 鄰居地址 ebgp-multihop 跳數值(默認爲255)
5)neighbor 鄰居地址 next-hop-self
ebgp到ibgp,下一跳地址是不會改變的,這樣對於像幀中繼網絡(hub-to-spoke)來說,可能會造成網絡不可達的問題,這時候需要修改下一跳地址
6)neighbor 對等體組名 peer-group
創建對等體組
7)neighbor 鄰居地址 peer-group 對等體組名
添加成員到對等體組中
----------------------------------------------------------------------------------
宣告網絡:
network 網絡號 mask 子網掩碼
bgp支持vlsm和cidr,所以網絡和子網掩碼可以使用VLSM,但是要注意宣告的網絡如果和接口的IP地址掩碼不匹配,將不會進入到BGP表中,如果希望能進入BGP表,需要添加一條命令如:ip route 192.1.1.0 255.255.255.0 null0,這個命令還可以進行網絡的彙總
--------------------------------------------------------------------------------
router bgp 100
no synchronization
bgp log-neighbor-changes
network 172.16.2.0 mask 255.255.255.0
network 172.16.3.0 mask 255.255.255.0
neighbor 172.16.2.1 remote-as 100
neighbor 172.16.2.1 route-reflector-client
neighbor 172.16.3.3 remote-as 100
neighbor 172.16.3.3 route-reflector-client
no auto-summary
----------------------------------------------------------------------------------
啓用bgp進程
router bgp AS號
一個路由器只能啓用一個bgp實例,不會把路由器放入到多個bgp中
----------------------------------------------------------------------------------
建立對等體關係:
1)neighbor 鄰居地址/鄰居組名 remote-as AS號
ebgp鄰居必須是路由器直連的那個地址,如果是ibgp鄰居,就不一定是直連的,可以是as中任意一個地址,但必須保障tcp連通。
ibgp一般用loopback端口來作爲鄰居的地址
2)neighbor 鄰居地址/鄰居組名 shutdown
暫時的鄰居關係不可用,但鄰居關係並沒有刪除,用於維護和策略
3)neighbor 鄰居地址 update-source loopback接口
如果用物理接口指定爲鄰居的地址,必須要求源地址匹配,如果不匹配會出現數據包丟失的問題,或者網絡出現問題,源地址出現問題,這樣鄰居關係將不穩定,爲了保障鄰居關係穩定,一致不變,最好用loopback接口,對於ebgp鄰居來說,必須還要額外加命令(還必須能夠訪問到,比如使用靜態路由或者路由)
4)neighbor 鄰居地址 ebgp-multihop 跳數值(默認爲255)
5)neighbor 鄰居地址 next-hop-self
ebgp到ibgp,下一跳地址是不會改變的,這樣對於像幀中繼網絡(hub-to-spoke)來說,可能會造成網絡不可達的問題,這時候需要修改下一跳地址
6)neighbor 對等體組名 peer-group
創建對等體組
7)neighbor 鄰居地址 peer-group 對等體組名
添加成員到對等體組中
----------------------------------------------------------------------------------
宣告網絡:
network 網絡號 mask 子網掩碼
bgp支持vlsm和cidr,所以網絡和子網掩碼可以使用VLSM,但是要注意宣告的網絡如果和接口的IP地址掩碼不匹配,將不會進入到BGP表中,如果希望能進入BGP表,需要添加一條命令如:ip route 192.1.1.0 255.255.255.0 null0,這個命令還可以進行網絡的彙總
--------------------------------------------------------------------------------
bgp log-neighbor-changes
network 200.200.200.0
network 200.200.200.0
redistribute static
neighbor 10.1.1.9 remote-as 100
default-information originate
no auto-summary
!
ip route 0.0.0.0 0.0.0.0 Ethernet0
r4#show ip bgp
BGP table version is 7, local router ID is 200.200.200.201
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal
Origin codes: i - IGP, e - EGP, ? - incomplete
neighbor 10.1.1.9 remote-as 100
default-information originate
no auto-summary
!
ip route 0.0.0.0 0.0.0.0 Ethernet0
r4#show ip bgp
BGP table version is 7, local router ID is 200.200.200.201
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
*> 0.0.0.0 0.0.0.0 0 32768 ?
*>i192.168.193.0 10.1.1.9 0 100 0 50 i
*>i192.168.194.0 10.1.1.9 0 100 0 50 i
*>i192.168.196.0 10.1.1.9 0 100 0 200 i
*>i192.168.198.0 10.1.1.9 0 100 0 200 i
*> 200.200.200.0 0.0.0.0 0 32768 i
*> 0.0.0.0 0.0.0.0 0 32768 ?
*>i192.168.193.0 10.1.1.9 0 100 0 50 i
*>i192.168.194.0 10.1.1.9 0 100 0 50 i
*>i192.168.196.0 10.1.1.9 0 100 0 200 i
*>i192.168.198.0 10.1.1.9 0 100 0 200 i
*> 200.200.200.0 0.0.0.0 0 32768 i
r3#show ip route
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
i - IS-IS, 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
Codes: C - connected, S - static, I - IGRP, 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, E - EGP
i - IS-IS, 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 10.1.1.10 to network 0.0.0.0
......
10.0.0.0/30 is subnetted, 3 subnets
C 10.1.1.8 is directly connected, Serial1
C 10.1.1.0 is directly connected, Serial0
C 10.1.1.4 is directly connected, Ethernet0
B* 0.0.0.0/0 [200/0] via 10.1.1.10, 00:03:43
B 192.168.192.0/21 [200/0] via 0.0.0.0, 02:23:03, Null0
----------------------------------------------------------------------------------
......
10.0.0.0/30 is subnetted, 3 subnets
C 10.1.1.8 is directly connected, Serial1
C 10.1.1.0 is directly connected, Serial0
C 10.1.1.4 is directly connected, Ethernet0
B* 0.0.0.0/0 [200/0] via 10.1.1.10, 00:03:43
B 192.168.192.0/21 [200/0] via 0.0.0.0, 02:23:03, Null0
----------------------------------------------------------------------------------