BGP路径选择——第三选择 Next Hop 属性 解决非对称路由-看不懂请捶我系列

本文主要是介绍BGP路径选择——第三选择 Next Hop 属性 解决非对称路由-看不懂请捶我系列,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

BGP路径选择——第三选择 Next Hop 属性 解决非对称路由实验拓扑图如下:

在这里插入图片描述

实验目的: 实现AS100的客户与AS 200的服务器能够正常通信,并消非对称路由现象。

R1上:bgp 100router-id 10.0.1.1peer 10.0.12.2 as-number 200 peer 10.0.13.3 as-number 200 #ipv4-family unicastundo synchronizationnetwork 10.0.100.1 255.255.255.255 peer 10.0.12.2 enablepeer 10.0.13.3 enable#R2:
#
ospf 1 router-id 10.0.2.2 area 0.0.0.0 network 10.0.2.2 0.0.0.0 network 10.0.24.0 0.0.0.255 
#
bgp 200router-id 10.0.2.2peer 10.0.3.3 as-number 200 peer 10.0.3.3 connect-interface LoopBack0peer 10.0.4.4 as-number 200 peer 10.0.4.4 connect-interface LoopBack0peer 10.0.12.1 as-number 100 #R3上:
#ospf 1 router-id 10.0.3.3 area 0.0.0.0 network 10.0.3.3 0.0.0.0 network 10.0.34.0 0.0.0.255 #
bgp 200router-id 10.0.3.3peer 10.0.2.2 as-number 200 peer 10.0.2.2 connect-interface LoopBack0peer 10.0.4.4 as-number 200 peer 10.0.4.4 connect-interface LoopBack0peer 10.0.13.1 as-number 100 #R4上:
#
ospf 1 router-id 10.0.4.4 area 0.0.0.0 network 10.0.4.4 0.0.0.0 network 10.0.24.0 0.0.0.255 network 10.0.34.0 0.0.0.255 network 10.0.100.4 0.0.0.0 
#bgp 200router-id 10.0.4.4peer 10.0.2.2 as-number 200 peer 10.0.2.2 connect-interface LoopBack0peer 10.0.3.3 as-number 200 peer 10.0.3.3 connect-interface LoopBack0#ipv4-family unicastundo synchronizationnetwork 10.0.100.4 255.255.255.255 peer 10.0.2.2 enablepeer 10.0.3.3 enable
#

配置完成后,R1查看bgp 路由转发表:
在这里插入图片描述

R4:
在这里插入图片描述
去往10.0.100.1 有两条但都不是可用的(*)
查看IP 路由表:
在这里插入图片描述
看到里面并没有去往10.0.100.1 /32的路由,也没有去往10.0.12.1和10.0.13.1 的路由。虽然R4的BGP表中有去往10.0.100.1/32的路由,但是标记为无用的,说明R4认为这两条路由信息的下一跳为不可达的。

R2 R3上查看BGP表:

在这里插入图片描述
在这里插入图片描述

R1的路由信息10.0.100.1/32 的路由在传递EBGP对等体R2的过程中 Next Hop 属性会被自动修改为发送BGP报文的源地址,即10.0.12.1。R2在传递给IBGP对等体R4的时候,不会修改Next-Hop 属性,导致也为10.0.12.1 ,R3同上。

BGP Next-Hop属性:
EBGP邻居在传递路由时会修改下一跳地址为自己的更新源地址
IBGP邻居在传递路由时不会修改该属性

实现Next-Hop为可达的方法为两种:
1.将EBGP对等体之间的链路通告进IGP网路,
2.R2和R3将路由信息传递给IBGP对等体R4时,使用自己的源地址为BGP的下一跳路由。
在实际情况中,通常采用第二种,配置如下:

R2 R3 一样,这里以R2为例:

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

之后在R4再次查看BGP路由表:
在这里插入图片描述
可以看到两条路由都已经可用,在R1上测试Loopback1 与R4的Loopback 1的联通性
在这里插入图片描述

Next-Hop属性对选路的影响:

在R1上使用tracert 命令验证从10.0.100.1/32去往10.0.100.4.32的报文所经过的路径:
在这里插入图片描述
看到数据经过R2传到R4上面,我们反过来测试从R4到R看一下:
在这里插入图片描述
看到数据经R3到R1上的,这就是上面所说的非对称现象。我们称为不对称路由,
BGP在选路规则时,其他条件相同的情况下,会比较两条路由信息去往Next-Hop 地址的IGP开销,优先选择小的路由开销,再次查看R4的IP路由表:
在这里插入图片描述
可以看待10.0.3.3 的开销为最小为1,,并选为最佳路由,解决办法:

R4去往R3的接口下:

ospf   cost 100

查看R4路由表:

在这里插入图片描述

再次查看BGP转发表:
在这里插入图片描述
R4上验证:
在这里插入图片描述
成功消除非对称现象。

晚安,我的宝,今天去输液了,什么液,想你的夜!!!

在这里插入图片描述

这篇关于BGP路径选择——第三选择 Next Hop 属性 解决非对称路由-看不懂请捶我系列的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/310042

相关文章

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

python设置环境变量路径实现过程

《python设置环境变量路径实现过程》本文介绍设置Python路径的多种方法:临时设置(Windows用`set`,Linux/macOS用`export`)、永久设置(系统属性或shell配置文件... 目录设置python路径的方法临时设置环境变量(适用于当前会话)永久设置环境变量(Windows系统

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

SpringBoot监控API请求耗时的6中解决解决方案

《SpringBoot监控API请求耗时的6中解决解决方案》本文介绍SpringBoot中记录API请求耗时的6种方案,包括手动埋点、AOP切面、拦截器、Filter、事件监听、Micrometer+... 目录1. 简介2.实战案例2.1 手动记录2.2 自定义AOP记录2.3 拦截器技术2.4 使用Fi

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

java内存泄漏排查过程及解决

《java内存泄漏排查过程及解决》公司某服务内存持续增长,疑似内存泄漏,未触发OOM,排查方法包括检查JVM配置、分析GC执行状态、导出堆内存快照并用IDEAProfiler工具定位大对象及代码... 目录内存泄漏内存问题排查1.查看JVM内存配置2.分析gc是否正常执行3.导出 dump 各种工具分析4.

spring中的@MapperScan注解属性解析

《spring中的@MapperScan注解属性解析》@MapperScan是Spring集成MyBatis时自动扫描Mapper接口的注解,简化配置并支持多数据源,通过属性控制扫描路径和过滤条件,利... 目录一、核心功能与作用二、注解属性解析三、底层实现原理四、使用场景与最佳实践五、注意事项与常见问题六