BGP路由选择-Next Hop(学习笔记+实验验证)

一.原理概述

  1. 当一台BGP路由器中存在多条去往同一目标网络的BGP路由时,会进行比较得出最优BGP路由,然后再与其他协议路由比较,从而决定是否将BGP路由放到IP路由表中。
  2. BGP路由属性比较顺序为Preferred Value属性,local Preference属性,路由生成方式,AS_path属性,Origin属性,MED属性,BGP对等体类型等,若这些都被忽略,则比较Next Hop属性。
  3. Next Hop是下一跳地址。BGP比较Next Hop时选择开销最小的路由。
  4. 需要注意的是,若一条BGP路由的下一跳不可达,则该条路由再BGP路由表中不会被标记为可用路由,也就无法参与BGP路由协议的选路过程。
  5. BGP路由器在发布路由给EBGP对等体时,该路由的Next Hop的IP地址会被自动修改,但发布路由给IBGP对等体时,Next Hop的IP地址不会被自动修改。为了满足不同网络环境的需求,当路由器发布路由给IBGP对等体时。也可以手修改Next Hopper的IP地址。
  • 实验注意事项:
  • BGP邻居关系状态为Established表示已建立
  • BGP的下一跳属性和IGP的有所不同,不一定就是邻居路由器的IP地址
  • BGP发言者把自己产生的路由发给所有邻居时,将把该路由信息的下一跳属性设置为自己与对端连接的接口地址
  • BGP发言者把接收到的路由发送给EBGP对等体时,将把该路由信息的下一跳属性设置为本地与对端连接的接口地址
  • BGP发言者把从EBGP邻居得到的路由发给IBGP邻居时,默认并不改变该路由信息的下一跳属性

二.实验

(一)实验目的

  • 理解Next Hop概念和作用
  • 掌握修改Next Hop的方法
  • 理解Next Hop属性对BGP路由协议选录的影响

(二)实验内容

在这里插入图片描述

(三)实验拓扑

在这里插入图片描述

(四)实验步骤

1,基本配置

2,IGP和BGP路由协议配置

在AS200中配置OSPF,使用loopback 0为Router-ID

[R2]ospf 1 router-id 10.0.2.2
[R2-ospf-1]area 0
[R2-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R2-ospf-1-area-0.0.0.0]network 10.0.2.2 0.0.0.0
[R3]ospf 1 router-id 10.0.3.3
[R3-ospf-1]area 0
[R3-ospf-1-area-0.0.0.0]network 10.0.3.3 0.0.0.0
[R3-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255
[R4]ospf 1 router-id 10.0.4.4
[R4-ospf-1]area 0
[R4-ospf-1-area-0.0.0.0]network 10.0.4.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 10.0.100.4 0.0.0.0
[R4-ospf-1-area-0.0.0.0]network 10.0.24.0 0.0.0.255
[R4-ospf-1-area-0.0.0.0]network 10.0.34.0 0.0.0.255

在R4上查看OSPF邻居
在这里插入图片描述
都为FULL,表示R2,R3,R4OSPF邻居建立成功
配置BGP路由协议

[R1]bgp 100
[R1-bgp]router-id 10.0.1.1
[R1-bgp]peer 10.0.12.2 as-number 200
[R1-bgp]peer 10.0.13.3 as-number 200
[R1-bgp]network 10.0.100.1 255.255.255.255
[R2]bgp 200
[R2-bgp]router-id 10.0.2.2
[R2-bgp]peer 10.0.12.1 as-number 100
[R2-bgp]peer 10.0.3.3 as-number 200
[R2-bgp]peer 10.0.3.3 connect-interface loopback 0
[R2-bgp]peer 10.0.4.4 as-number 200
[R2-bgp]peer 10.0.4.4 connect-interface Loopback 0
[R3]bgp 200
[R3-bgp]router-id 10.0.3.3
[R3-bgp]peer 10.0.13.1 as-number 100
[R3-bgp]peer 10.0.2.2 as-number 200
[R3-bgp]peer 10.0.2.2 connect-interface Loopback 0
[R3-bgp]peer 10.0.4.4 as-number 200
[R3-bgp]peer 10.0.4.4 connect-interface Loopback 0
[R4]bgp 200
[R4-bgp]router-id 10.0.4.4
[R4-bgp]peer 10.0.3.3 as-number 200
[R4-bgp]peer 10.0.3.3 connect-interface LoopBack 0
[R4-bgp]peer 10.0.2.2 as-number 200
[R4-bgp]peer 10.0.2.2 connect-interface LoopBack 0
[R4-bgp]network 10.0.100.4 255.255.255.255

配置后查看R2上的BGP邻居关系。
在这里插入图片描述

3,Next Hop属性在路由传递过程中的变化情况

在R1的loopback1上pingR4的loopback1
在这里插入图片描述
ping不同,再查看BGP路由表
在这里插入图片描述
可以看到,去往R4 loopback 1有两个下一跳,为R2和R3。R1自己通告的10.0.100.1/32的下一跳为0.0.0.0。
看R4 的BGP路由表
在这里插入图片描述
R4的路由表中也有去往10.0.100.1 32的两条下一跳,但没有被标记为可用(valid)
在R4上查看路由表
在这里插入图片描述
可以看到,没有去往10.0.100.1/32的信息,也没有10.0.12.1和10.0.13.1的信息.而在R4BGP路由表中,虽然有去往10.0.100.1/32的路由信息,但没有被标记为可用,说明R4认为这两条路由信息的下一跳都是不可达的。
在R2,R3上查看BGP路由表

在这里插入图片描述
可以看到,R2,去往10.0.100.1/32的下一条为10.0.12.1,并标记为可用。在前面,R1上10.0.100.1/32的下一跳为0.0.0.0,说明在EBGP对等体上next hop会自动修改为发送BGP报文的BGP原地址(10.0.12.1),在R4上去往10.0.100.1的下一跳也是 10.0.12.1,说明在IBGP对等体上的Next Hop信息不会自动修改。R3也一样。
为了使R4的BGP路由去往10.0.100.1的下一跳标记变为可用,并放在IP路由表中,必须使R4去往10.0.100.1的BGP路由信息中的Next Hop是可达的。
方法:
一,将EBGP对等体之间链路通告进IGP网络;
二,在R2和R3将路由信息传递给IBGP对等体R4时,使用发送BGP报文的源地址作为BGPP路由的下一跳。一般使用二方法。
在R2上使用peer10.0.4.4 next-hop-local 和peer 10.0.3.3 next-hop-local命令,使BGP路由信息传递给IBGP对等体R3和R4时,使用R2发送BGP报文的源地址作为BGP路由的下一跳来代替原有的Next HOP,在R3上进行类似的操作。

[R2]bgp 200
[R2-bgp]peer 10.0.4.4 next-hop-local 
[R2-bgp]peer 10.0.3.3 next-hop-local
[R3]bgp 200
[R3-bgp]peer 10.0.2.2 next-hop-local
[R3-bgp]peer 10.0.4.4 next-hop-local

在R4上查看BGP路由表
在这里插入图片描述
可以看到,标记都变为可用了
在R1上的loopback1 ping R4上的loopback1
在这里插入图片描述
通了

4,Next Hop属性对BGP路由协议选路的影响

虽然通了,但存在问题
在R1上使用tracert验证10.0.100.1/32到10.0.100.4/32的路径
在这里插入图片描述
可以看到,经过的 是R2
在R4上验证去往10.0.100.1的路径
在这里插入图片描述
可以看到,经过的是R3
通信双方报文选用了不同路径的现象称为不对称路由。由于某些特定应用,不特定路由可能存在导致通信中断现象。
在R4上查看BGP路由表
在这里插入图片描述
可以看到,去往10.0.100.1的下一跳为10.0.3.3和10.0.2.2都为可用,但最终选择了10.0.3.3
根据BGP协议路由选择的策略,BGP路由属性比较顺序为Preferred Value属性,local Preference属性,路由生成方式,AS_path属性,Origin属性,MED属性,BGP对等体类型等,若这些都被忽略,则比较Next Hop属性。BGP比较Next Hop时选择开销最小的路由。
在R4上查看IP路由表
在这里插入图片描述
可以看到,去往10.0.3.3/32的开销为1,而10.0.2.2的开销为48,选择开销小的10.0.3.3.
为了避免不对称路由,让R2的10.0.2.2为最佳路由,在R4的g0/0/0 下,使用ospf cost 100
命令修改开销值

[R4-GigabitEthernet0/0/0]ospf cost 100

查看R4的IP路由表
在这里插入图片描述
可以看到,R3的10.0.3.3开销变为100,去往10.0.2.2的还是48,所以10.0.2.2选为最优路径
查看R4的BGP路由表
在这里插入图片描述
10.0.2.2被选为最优路径
在这里插入图片描述
可以看到,R4去往10.0.100.1的路径是经过10.0.12.1的
在这里插入图片描述
在这里插入图片描述

### 回答1: BGP Next-hop-local是指在BGP路由中,下一跳地址指向本地路由器的情况。这种情况通常发生在同一AS内的路由器之间,因为它们可以直接通信,而不需要经过其他AS的路由器。使用BGP Next-hop-local可以提高路由器之间的通信效率和可靠性。 ### 回答2: BGP是一种广域网路由协议,它在互联网中扮演着非常重要的角色。其作为一种强大的路由协议,自然具有许多的功能。其中BGP next-hop-local就是BGP的一种功能。 BGP next-hop-local是一种基于BGP协议的路由选择功能。它允许在BGP路由器之间创建一种本地路由选择功能,使得每个BGP路由器可以选择下一个路由器,而无需依赖于其他路由器的选择。 通常情况下,BGP协议所使用的下一跳路由器是处于AS边界的路由器。但是,在某些情况下,BGP路由器可能需要选择一种特定的本地路由选择方式。这时,BGP next-hop-local就显得非常有用。 举个例子,假设A、B、C三台路由器位于同一网络中,其中A为B、C的路由器。此时,B和C希望通过A进行通信。由于A位于B、C之间,因此根据BGP的原理,它应该被视为下一跳路由器。但是,如果B和C想要选择一种特定的本地路由选择方式,那么他们就可以使用BGP next-hop-local功能,来实现在A之间进行通信。 总的来说,BGP next-hop-local是BGP协议的一种非常实用的路由选择功能。它可以使得BGP路由器在选择下一跳路由器时,更加灵活和高效。同时也能够满足不同网络的需求,让网络通信更加智能化和高效化。 ### 回答3: BGP(Border Gateway Protocol)是用于在互联网中路由数据包的协议。BGP Next-hop-local是BGP路由协议中非常重要的一个概念,表示下一跳的地址是本地地址。 在BGP路由协议中,Next-hop是指该路由要发送到的下一个路由器的地址,而Next-hop-local指的是下一跳地址位于本地(也就是位于同一台路由器上)的路由。通常情况下,当路由器收到一个要转发的数据包时,它会先查找该数据包的目的IP地址所对应的路由表项,并确定下一跳的IP地址。若下一跳地址是本地地址,则该数据包将直接发往本地地址,不需要通过其他路由器中转。 BGP Next-hop-local的优点是能够提高路由器的转发效率,缩短数据包的转发路径,降低网络延迟。同时,BGP Next-hop-local可以用于优化网络拓扑结构,避免一些不必要的中转,提高网络可靠性和稳定性。另外,BGP Next-hop-local还可以防止路由器之间的循环转发(loop),保证数据包的正确转发。 需要注意的是,BGP Next-hop-local并不是所有的路由器都支持。在使用BGP协议的网络中,如果需要使用BGP Next-hop-local,需要先了解路由器的型号以及版本,确认其是否支持该功能,以免出现不兼容的情况。 总之,BGP Next-hop-local是BGP路由协议中一个非常重要的概念,可以提高网络的转发效率,优化网络拓扑结构,增强网络的可靠性和稳定性。它对于提高网络性能和管理网络都有很大的帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值