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

相关文章

如何解决idea的Module:‘:app‘platform‘android-32‘not found.问题

《如何解决idea的Module:‘:app‘platform‘android-32‘notfound.问题》:本文主要介绍如何解决idea的Module:‘:app‘platform‘andr... 目录idea的Module:‘:app‘pwww.chinasem.cnlatform‘android-32

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

Pyserial设置缓冲区大小失败的问题解决

《Pyserial设置缓冲区大小失败的问题解决》本文主要介绍了Pyserial设置缓冲区大小失败的问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录问题描述原因分析解决方案问题描述使用set_buffer_size()设置缓冲区大小后,buf

PyInstaller打包selenium-wire过程中常见问题和解决指南

《PyInstaller打包selenium-wire过程中常见问题和解决指南》常用的打包工具PyInstaller能将Python项目打包成单个可执行文件,但也会因为兼容性问题和路径管理而出现各种运... 目录前言1. 背景2. 可能遇到的问题概述3. PyInstaller 打包步骤及参数配置4. 依赖

解决SpringBoot启动报错:Failed to load property source from location 'classpath:/application.yml'

《解决SpringBoot启动报错:Failedtoloadpropertysourcefromlocationclasspath:/application.yml问题》这篇文章主要介绍... 目录在启动SpringBoot项目时报如下错误原因可能是1.yml中语法错误2.yml文件格式是GBK总结在启动S

idea maven编译报错Java heap space的解决方法

《ideamaven编译报错Javaheapspace的解决方法》这篇文章主要为大家详细介绍了ideamaven编译报错Javaheapspace的相关解决方法,文中的示例代码讲解详细,感兴趣的... 目录1.增加 Maven 编译的堆内存2. 增加 IntelliJ IDEA 的堆内存3. 优化 Mave

如何解决mmcv无法安装或安装之后报错问题

《如何解决mmcv无法安装或安装之后报错问题》:本文主要介绍如何解决mmcv无法安装或安装之后报错问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录mmcv无法安装或安装之后报错问题1.当我们运行YOwww.chinasem.cnLO时遇到2.找到下图所示这里3.

浅谈配置MMCV环境,解决报错,版本不匹配问题

《浅谈配置MMCV环境,解决报错,版本不匹配问题》:本文主要介绍浅谈配置MMCV环境,解决报错,版本不匹配问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录配置MMCV环境,解决报错,版本不匹配错误示例正确示例总结配置MMCV环境,解决报错,版本不匹配在col

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA