当前位置: 首页 > article >正文

BGP路由协议的next-hop属性

在这里插入图片描述

一、使用next-hop属性的原因:

EBGP之间传递路由时,下一跳会改变,但是在IBGP之间传递路由时,下一跳不改变,所以会造成下一跳不可达,这个时候就要用next-hop属性,改变下一跳,使其路由可达。
IGP的下一跳地址不一定是BGP的下一跳地址;Next-hop-local命令用来修改BGP的下一跳地址,可以通过peer next-hop-invariable命令不修改下一跳地址。

二、缺省情况下:

1、BGP向EBGP对等体通告路由时,向IBGP对等体发布引入的IGP路由时,将下一跳属性设为自身的接口地址。
2、BGP从EBGP向IBGP对等体通告非标签路由时,不改变下一跳属性,通告标签路由时,将下一条属性改为自身的接口地址。
3、BGP从IBGP向IBGP对等体通告路由时,不改变下一跳属性,相当于执行命令peer next-hop-invariable。

三、peer next-hop-local与peer next-hop-invariable的差异

1、peer next-hop-local:命令用来设置向IBGP对等体通告路由时,把下一跳属性设为自身的IP地址。
2、peer next-hop-invariable:命令配置不同AS域的PE间向EBGP对等体发布路由时不改变下一跳,向IBGP对等体发布引入的IGP路由时使用IGP路由的下一跳地址。

四、配置过程

如果你不写peer next-hop-local,那么BGP路由更新的下一跳将不会被修改,而是会保留默认的下一跳,即对端的地址。这可能会导致一些问题,特别是在你的网络中使用了多个出口时。
peer next-hop-local的作用是将BGP路由的下一跳改为本地出接口的IP地址,这通常用于实现更优的路由选择或避免出接口上可能出现的可达性问题。
如果你在BGP邻居关系中不写peer next-hop-local,那么你可能需要在你的网络中手动配置额外的路由规则,以确保数据包可以正确地通过最优路径返回给对端。

(一)拓扑图

在这里插入图片描述

(二)配置过程

1、配置AR1:
System-view
sysname AR1
interface GigabitEthernet0/0/1
ip address 10.1.12.1 255.255.255.0
interface GigabitEthernet0/0/2
ip address 10.1.13.1 255.255.255.0
interface LoopBack0
ip address 1.1.1.1 255.255.255.255
bgp 64512
router-id 1.1.1.1
peer 10.1.12.2 as-number 64513
peer 10.1.12.2 ebgp-max-hop 255
peer 10.1.13.3 as-number 64512
ipv4-family unicast
undo synchronization
network 1.1.1.1 255.255.255.255
peer 10.1.12.2 enable
peer 10.1.13.3 enable
ospf 1 router-id 1.1.1.1
area 0.0.0.0
network 10.1.12.0 0.0.0.255
network 10.1.13.0 0.0.0.255
2、配置AR2:
System-view
sysname AR2
interface GigabitEthernet0/0/1
ip address 10.1.12.2 255.255.255.0

interface GigabitEthernet0/0/2
ip address 10.1.23.2 255.255.255.0
interface LoopBack0
ip address 2.2.2.2 255.255.255.255

bgp 64513
router-id 2.2.2.2
peer 10.1.12.1 as-number 64512
peer 10.1.12.1 ebgp-max-hop 255
peer 10.1.23.3 as-number 64512
peer 10.1.23.3 ebgp-max-hop 255

ipv4-family unicast
undo synchronization
network 2.2.2.2 255.255.255.255
peer 10.1.12.1 enable
peer 10.1.23.3 enable

ospf 1 router-id 2.2.2.2
area 0.0.0.0
network 10.1.12.0 0.0.0.255
network 10.1.23.0 0.0.0.255
3、配置AR3:
System-view
sysname AR3
interface GigabitEthernet0/0/1
ip address 10.1.13.3 255.255.255.0

interface GigabitEthernet0/0/2
ip address 10.1.23.3 255.255.255.0

interface LoopBack0
ip address 3.3.3.3 255.255.255.255

bgp 64512
router-id 3.3.3.3
peer 10.1.13.1 as-number 64512
peer 10.1.23.2 as-number 64513
peer 10.1.23.2 ebgp-max-hop 255

ipv4-family unicast
undo synchronization
network 3.3.3.3 255.255.255.255
peer 10.1.13.1 enable
peer 10.1.23.2 enable

ospf 1 router-id 3.3.3.3
area 0.0.0.0
network 10.1.13.0 0.0.0.255
network 10.1.23.0 0.0.0.255

(三)查看路由情况

1、查看OSPF邻居与OSPF路由表
(1)在总公司的AR2上查看OSPF的邻居,可以看出,总公司的AR2与分公司的AR1、AR3已经建立了邻接关系。
在这里插入图片描述

(2)在分公司的AR1上查看OSPF路由表
在这里插入图片描述

2、查看BGP邻居与BGP路由表
(1)在总公司的AR2上查看BGP邻居,可以看出与分公司的AR1及AR3都建立了BGP的邻居关系,状态均为Established。
在这里插入图片描述

(2)在分公司的AR3上查看BGP路由表,重点观察到达总公司AR2的2.2.2.2/32的2条路由,主路由与次优路由的下一跳均在EBGP的总公司AR2的2个接口上。
在这里插入图片描述

3、查看ip路由表
(1)在分公司的AR1上查看ip路由表,可以看出与总公司的AR2建立了EBGP邻居,也与分公司的AR3建立了iBGP的邻居关系。
在这里插入图片描述

(2)在总公司的AR2上查看ip路由表,总公司到达分公司AR1的1.1.1.1与分公司的3.3.3.3,下一跳均是10.1.12.1。
在这里插入图片描述

(3)在总公司的AR2上执行tracert –a 2.2.2.2 3.3.3.3命令,跟踪从总公司的AR2到达分公司AR3的3.3.3.3的网络流量路径,可以看出,BGP为防环路,中间途经了AR1,而不是直接到达AR3,如下图:
在这里插入图片描述

五、验证效果

(一)next-hop属性默认采用peer next-hop-invariable时,注意看分公司的AR1到总公司的AR2的BGP路由表,主路由的下一跳地址是10.1.12.2,次优路由的下一跳是10.1.23.2,下图标识1是主路由,标识2是次优路由。
在这里插入图片描述

(二)next-hop属性使用命令peer next-hop-local修改后,注意对比从分公司的AR1到达总公司的2.2.2.2时,次优路由的下一跳变化。
在这里插入图片描述

至此,BGP路由协议的next-hop属性结束,在同一个AS自治系统区域的AR1与AR3上配置peer next-hop-local,EBGP之间不需要配置。在AR1上配置peer next-hop-local时,在AR3上查看到达AR2的次优路由下一跳会变化;同理在AR3上配置peer next-hop-local时,在AR1查看到达AR2的次优路由下一跳也会变化。


http://www.kler.cn/a/460162.html

相关文章:

  • df.replace({‘b‘: r‘\s*(\.)\s*‘}, {‘b‘: r‘\1ty‘}, regex=True)
  • C# 标准数字格式字符串
  • 鸿蒙HarmonyOS开发:拨打电话、短信服务、网络搜索、蜂窝数据、SIM卡管理、observer订阅管理
  • pip下载包出现SSLError
  • 【深度学习基础之多尺度特征提取】多尺度卷积神经网络(MS-CNN)是如何在深度学习网络中提取多尺度特征的?附代码(二)
  • 2024 年发布的 Android AI 手机都有什么功能?
  • C++ 【回调函数】详解与代码解读
  • 自学记录鸿蒙API 13:实现人脸比对Core Vision Face Comparator
  • Vscode左大括号不另起一行、注释自动换行
  • 1、Jmeter、jdk下载与安装
  • 磁珠选型规范
  • 自学记录鸿蒙 API 13:骨骼点检测应用Core Vision Skeleton Detection
  • LeetCode - Google 校招100题 第7天 序列(数据结构贪心) (15题)
  • XSS Challenges
  • gz、zip等压缩文件postman成功下载但是前端项目中下载解压失败
  • 斗鱼Android面试题及参考答案
  • Edge SCDN有些什么作用?
  • 04-微服务02
  • FreeRTOS Lwip Socket APi TCP Server 1对多
  • 通用工具类与异常处理:Python实用指南
  • #Vue3篇: 无感刷新token的原理JSESSIONID无感刷新和JWT接口刷新
  • 算力股开盘大涨,电光科技7连板
  • C#中通过Mapster实现轻量级高效对象映射器
  • 【Leetcode 热题 100】39. 组合总和
  • Excel 面试 04 查找函数 XLOOKUP
  • leetcode------mysql