博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
路由跳数探测实现智能路由切换
阅读量:6480 次
发布时间:2019-06-23

本文共 1014 字,大约阅读时间需要 3 分钟。

前2天有人问我个问题,具体描述大家看图吧,我这里借用一下。路由跳数探测实现智能路由切换

这个问题很有意思,虽然通过人工调整路由优先级,或者策略路由能实现,但是如果能智能切换不是很可以去显摆一下。
这个问题猛的一看,用到了BGP,太高大上了,BGP有那么多属性,看看有没有合适的可以用上,结果我是没找到,不知道是不是还有真大神能找到。
我的考虑是BGP这个路由协议,强大的地方在控制,而不是去感知路径的变化它他不会自己学习到任何路由,它传播的路由都是别人告诉它的。所以不能从这个角度入手。
那么换个角度,OSPF可以感知到路径的变化,体现到COST值上,但这里,从自家路由器出去,外面就不在你掌控了,别人是不会配合你的,也不行。
那最后的办法就是在自家路由器上能感知到外部路径的变化,目前专业的负载均衡设备是可以做到的,探测多出口哪个更优,但是让负载均衡设备来跑BGP,实在是更不放心。
最后的办法那就只能考虑让路由器自己来做探测,那么我们常用的探测方法是NQA这类技术,发个PING过去,但这只能探测到可达性,无法判断跳数,翻阅手册,发现在参数里可以设置ttl值,这下问题解决了,我们可以把ttl设置为较优路劲的值,这样走次优路径的探测包由于ttl值不够,是到不了目标的,也就会触发探测失败。
这里实在要吐槽一下,我把这个方案告诉给那小伙,居然收到的答复是不可行,也没任何说明,算了,既然如此我自己来动手吧。![]
拓扑很简单,主要就是模拟出ttl值是否能影响探测结果进而影响路由。
路由跳数探测实现智能路由切换
最下面的交换机和路由器1 2三者之间跑OSPF,交换机上模拟业务地址1.1.1.1,剩下网上路由器之间都是静态路由,模拟出无法感知到实际路由跳数,在路由器4上业务地址3.3.3.3。
路由器1和2上都有去往3.3.3.3的静态路由,并将静态路由引入OSPF,那么在交换机上就会看到两条等价路由。
路由跳数探测实现智能路由切换
接下来在两台路由器1 2上都进行探测,ttl设置为1,可以看到,2到4就1跳,而1到4经过了3,是2跳。
下面在路由器1 2都进行探测。
路由跳数探测实现智能路由切换
可以看到开始探测后,路由变为了一条。我们再到路由器1上看一下路由表。
路由跳数探测实现智能路由切换
静态路由是配置里存在的,但是探测失败导致路由也失败了。
以上的实验,在实际中适合用于外部路由稳定的环境,如果是互联网,ttl是无法掌控的,极端情况导致两台路由器都探测失败就得不偿失了。

转载于:https://blog.51cto.com/648909/2044923

你可能感兴趣的文章
ABP理论学习之领域服务
查看>>
Qt 控制watchdog app hacking
查看>>
让所有IE支持HTML5的解决方案
查看>>
RDD之五:Key-Value型Transformation算子
查看>>
percona 5.7.11root初始密码设置
查看>>
Cognitive Security的异常检测技术
查看>>
Impress.js上手 - 抛开PPT、制作Web 3D幻灯片放映
查看>>
生活杂事--度过十一中秋
查看>>
Pyrex也许是一个好东西
查看>>
WINFORM WPF字体颜色相互转换
查看>>
能力不是仅靠原始积累(三)
查看>>
实战:使用终端服务网关访问终端服务
查看>>
彻底学会使用epoll(一)——ET模式实现分析
查看>>
【Android 基础】Android中全屏或者取消标题栏
查看>>
脱离标准文档流(2)---定位
查看>>
IO流之字符流
查看>>
集合异常之List接口
查看>>
Softmax回归
查看>>
紫书 习题11-11 UVa 1644 (并查集)
查看>>
App工程结构搭建:几种常见Android代码架构分析
查看>>