热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

路由跳数探测实现智能路由切换

前2天有人问我个问题,具体描述大家看图吧,我这里借用一下。这个问题很有意思,虽然通过人工调整路由优先级,或者策略路由能实现&

前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



推荐阅读
  • 虚拟网络连接配置指南旨在详细阐述如何在两台区域边界路由器(ABR)之间,通过一个非骨干区域(即传输区域)建立一条逻辑连接通道。该指南提供了具体的配置步骤和最佳实践,帮助网络管理员高效地实现跨区域的虚拟连接,确保网络的稳定性和可靠性。 ... [详细]
  • RabbitMQ 核心组件解析
    本文详细介绍了RabbitMQ的核心概念,包括其基本原理、应用场景及关键组件,如消息、生产者、消费者、信道、交换机、路由键和虚拟主机等。 ... [详细]
  • 最新进展:作为最接近官方声明的信息源,本文吸引了大量关注。若需获取最新动态,请访问:lkhill.com/ccie-version-5-update ... [详细]
  • 本文详细介绍了如何搭建一个高可用的MongoDB集群,包括环境准备、用户配置、目录创建、MongoDB安装、配置文件设置、集群组件部署等步骤。特别关注分片、读写分离及负载均衡的实现。 ... [详细]
  • 本章介绍了TCP/IP协议族中的链路层,其主要功能是为IP模块发送和接收IP数据报。链路层还支持一些辅助性协议,如ARP。此外,本文详细探讨了不同类型的链路层技术及其应用。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 体积小巧的vsftpd与pureftpd Docker镜像在Unraid系统中的详细配置指南:支持TLS加密及IPv6协议
    本文详细介绍了如何在Unraid系统中配置体积小巧的vsftpd和Pure-FTPd Docker镜像,以支持TLS加密和IPv6协议。通过这些配置,用户可以实现安全、高效的文件传输服务,适用于各种网络环境。配置过程包括镜像的选择、环境变量的设置以及必要的安全措施,确保了系统的稳定性和数据的安全性。 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限
    小王详解:内部网络中最易理解的NAT原理剖析,挑战你的认知极限 ... [详细]
  • 在交换机链路聚合中,负载均衡算法通过哈希表实现。每当创建一个新的聚合组时,交换机的底层硬件会生成一个对应的哈希表,该表存储在交换芯片上。哈希表的结构包括索引(Index)和相应的条目,这些索引由硬件支持,用于确定数据包的传输路径。通过这种方式,负载均衡算法能够高效地分配网络流量,提高链路利用率和系统性能。 ... [详细]
  • 本文首先介绍了BGP的基本概念和基础知识,详细解析了BGP的不同邻居类型及其作用。接着,文章对BGP的报文格式、状态机以及路由宣告原则进行了深入探讨,包括本地宣告、引入宣告和缺省路由的处理方法。通过这些内容,读者可以全面了解BGP路由协议的核心机制及其在实际网络中的应用。 ... [详细]
  • 本文深入解析了Spring Cloud路由网关Zuul的核心功能及其典型应用场景。通过对方志朋老师教材的学习和实践,详细探讨了Zuul在微服务架构中的重要作用,包括请求路由、过滤器链管理以及服务动态扩展等关键特性。同时,结合实际案例,展示了Zuul在高并发和复杂业务场景下的应用优势,为读者提供了全面的技术参考。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
  • 考前准备方面,我的考试时间安排在上午11点至12点,只需提前20分钟到达考场的接待休息区即可。由于我居住在福田区,交通便利,可以选择多种方式前往考场。为了确保顺利通过考试,我建议考生提前熟悉考试流程和环境,并合理规划出行时间,以保持良好的心态和状态。此外,考前复习应注重理论与实践相结合,多做模拟题,加强对重点知识点的理解和掌握。 ... [详细]
  • 在Hive中合理配置Map和Reduce任务的数量对于优化不同场景下的性能至关重要。本文探讨了如何控制Hive任务中的Map数量,分析了当输入数据超过128MB时是否会自动拆分,以及Map数量是否越多越好的问题。通过实际案例和实验数据,本文提供了具体的配置建议,帮助用户在不同场景下实现最佳性能。 ... [详细]
author-avatar
一起回到我们的那个夏天
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有