BGP路径属性之next-hop 实验分析

BGP路径属性之next-hop

作用: 去往目的路由下一跳AS的路由器的IP地址

特征:

①从EBGP邻居学习到的路由会传递给我的EBGP邻居,下一跳改变,为自己

②从EBGP邻居学习到的路由会传递给我的IBGP邻居,下一跳不变,还是EBGP邻居,需要使用next-hop-self改变

③从IBGP邻居学习到的路由不会再传递给我的IBGP邻居(水平分割)

④从IBGP邻居学习到的路由会传递给我的EBGP邻居,下一跳改变,为自己

 


 

实验具体分析

①从EBGP邻居学习到的路由会传递给我的EBGP邻居,下一跳改变,为自己

BGP路径属性之next-hop 实验分析_第1张图片

查看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改变

BGP路径属性之next-hop 实验分析_第2张图片

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邻居(水平分割)

BGP路径属性之next-hop 实验分析_第3张图片

查看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邻居,下一跳改变,为自己

BGP路径属性之next-hop 实验分析_第4张图片

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路径属性!

 

你可能感兴趣的:(网络)