BGP路徑屬性之next-hop 實驗分析
BGP路徑屬性之next-hop
作用: 去往目的路由下一跳AS的路由器的IP地址
特徵:
①從EBGP鄰居學習到的路由會傳遞給我的EBGP鄰居,下一跳改變,為自己
②從EBGP鄰居學習到的路由會傳遞給我的IBGP鄰居,下一跳不變,還是EBGP鄰居,需要使用next-hop-self改變
③從IBGP鄰居學習到的路由不會再傳遞給我的IBGP鄰居(水平分割)
④從IBGP鄰居學習到的路由會傳遞給我的EBGP鄰居,下一跳改變,為自己
實驗具體分析
①從EBGP鄰居學習到的路由會傳遞給我的EBGP鄰居,下一跳改變,為自己
檢視R1的bgp database
R1#show ip bgp
Network Next Hop Metric LocPrf Weight Path
r> 6.6.6.6/32 6.6.6.6 0 0 6 i可以看到來自R6的路由6.6.6.6/32的Next Hop為6.6.6.6
檢視R2的bgp database
R2#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 6.6.6.6/32 1.1.1.1 0 1 6 i經過R1轉發後,R2收到的路由6.6.6.6/32的Next Hop為1.1.1.1
②從EBGP鄰居學習到的路由會傳遞給我的IBGP鄰居,下一跳不變,還是EBGP鄰居,需要使用next-hop-self改變
R2從EBGP鄰居學習到的路由會傳遞給IBGP鄰居R3,但是Next Hop不變,仍然為R2
R2的database在上面有檢視過
檢視R3的database
R3#show ip bgp
Network Next Hop Metric LocPrf Weight Path
* i6.6.6.6/32 1.1.1.1 0 100 0 1 6 i可以看到路由6.6.6.6/32的Next Hop仍為1.1.1.1,沒有改成R2的route-id 2.2.2.2
這樣造成的問題是R3想給6.6.6.6/32傳送資料時,找不到下一跳,無法通訊
所以需要在R2修改與R3鄰居的路由屬性Next Hop為next-hop-self
這樣R2從EBGP學習到的路由轉發給IBGP鄰居,會將Next Hop改為自己的
R2(config-router)#neighbor 3.3.3.3 next-hop-self
再檢視R3的database
R3#show ip bgp
Network Next Hop Metric LocPrf Weight Path
* i6.6.6.6/32 2.2.2.2 0 100 0 1 6 i可以看到路由6.6.6.6/32的Next Hop修改成R2
③從IBGP鄰居學習到的路由不會再傳遞給我的IBGP鄰居(水平分割)
檢視R4的database
R4#show ip
Network Next Hop Metric LocPrf Weight Path
可以看到R4並沒有收到路由6.6.6.6/32,這是因為BGP的水平分割導致的,
即R3從IBGP鄰居R2學習到的路由6.6.6.6/32不會再傳遞給它的IBGP鄰居R4。
解決方法:使用路由反射route reflector 用來打破BGP水平分割原則
此實驗R3為路由反射的服務端,R2,R4位路由反射的客戶端
服務端R3接收到客戶端R2的路由會傳遞給客戶端R4
R3(config-router)#nei 2.2.2.2 route-reflector-client
R3(config-router)#nei 4.4.4.4 route-reflector-client
再檢視R4的database
R4#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*>i6.6.6.6/32 2.2.2.2 0 100 0 1 6 i可以看到使用路由反射打破BGP水平分割後,R4可以接收到路由6.6.6.6/32
並且Next Hop為2.2.2.2,這是因為R3是通過路由反射傳遞路由條目,
路由反射不會改變BGP的路由屬性Next Hop
當然解決BGP水平分割的問題不止路由反射,也可以使用其他方法來解決:
>>>BGP全互聯
>>>MPLS/VPN
>>>路由聯邦
④從IBGP鄰居學習到的路由會傳遞給我的EBGP鄰居,下一跳改變,為自己
R4從IBGP鄰居學習到的路由6.6.6.6/32會傳遞給它的EBGP鄰居R5,下一跳改變,為自己
檢視R5的database
R5#show ip bgp
Network Next Hop Metric LocPrf Weight Path
*> 6.6.6.6/32 4.4.4.4 0 234 1 6 i可以看到R5能接收到來自R4的路由6.6.6.6/32並且Next Hop為4.4.4.4
點選檢視更多BGP路徑屬性!