网络层IP路由的负载均衡实现思路

简介:
equalize补丁可以解决路由的负载均衡问题,然而其实现的代价却是禁用了均衡路由的缓存,每次都要查询路由表,查询路由表的开销抵消了一部分负载均衡带来的性能提升。因此最好的方法就是既实现了路由的负载均衡,又实现了路由缓存,实现思路如下:
为每一系列需要在其间做负载均衡的路由准备一个均衡链表T,添加路由的时候链接在一起,内核进行下列动作:
1.数据到来,如果缓存中没有找到路由则在路由表中查找路由
2.如果在缓存中找到了路由,但是该路由需要均衡,则按照均衡策略选择一条路由
2.1.最简单的方式就是轮转策略,在链表中依次使用各个路由
然而这样做会导致一个问题,那就是缓存中到底缓存均衡路由的哪一条呢?事实上,由于它们是双向链表(list_head)彼此链接在一起的,随便存一条就可以了,在缓存中查找的时候,只要发现一条就带有均衡标志的,那么就紧接着遍历链表上的所有路由,只要链表中有一条命中,就说明缓存命中,然后再根据均衡策略进行最终路由的选择。

     以上的方法实现地比较简单,不是很和谐,并且如何将所有需要均衡的路由链接在一起也是个问题,如果是基于linux修改的话,就要大量修改源代码。事实上,可以通过netfilter来实现,首先自定义一个链,然后实现一个target,这条自定义的链上添加所有的需要做负载均衡的路由,target中实现均衡策略最终选择出一条路由,可以使用缓存,如果均衡路由很少的话也可以不使用缓存,反正怎么实现都行,只要按照netfilter的接口来即可,这就实现了一种层次化的设计,但是还是需要修改源代码,我们将这个hook挂载在prerouting上,然后添加一个标志,如果netfilter找到了均衡路由,那么就设置这个标志,然后在路由模块中一旦查找到这个标记就不再按照常规的方式查找路由了(注意,不能用norouting标志)。需要注意的是,这种方式暂时还不能用于本地输出的包,因为output这个hook点是在路由之后进行的。



 本文转自 dog250 51CTO博客,原文链接:http://blog.51cto.com/dog250/1271179

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
6月前
|
网络协议 Linux 虚拟化
配置VM网络:如何设定静态IP以访问主机IP和互联网
以上就是设定虚拟机网络和静态IP地址的基本步骤。需要注意的是,这些步骤可能会因为虚拟机软件、操作系统以及网络环境的不同而有所差异。在进行设定时,应根据具体情况进行调整。
481 10
|
负载均衡 网络协议 网络性能优化
动态IP代理技术详解及网络性能优化
动态IP代理技术通过灵活更换IP地址,广泛应用于数据采集、网络安全测试等领域。本文详细解析其工作原理,涵盖HTTP、SOCKS代理及代理池的实现方法,并提供代码示例。同时探讨配置动态代理IP后如何通过智能调度、负载均衡、优化协议选择等方式提升网络性能,确保高效稳定的网络访问。
1660 2
|
9月前
|
监控 安全 Go
使用Go语言构建网络IP层安全防护
在Go语言中构建网络IP层安全防护是一项需求明确的任务,考虑到高性能、并发和跨平台的优势,Go是构建此类安全系统的合适选择。通过紧密遵循上述步骤并结合最佳实践,可以构建一个强大的网络防护系统,以保障数字环境的安全完整。
191 12
|
10月前
|
监控 安全 网络安全
网络安全新姿势:多IP配置的五大好处
服务器配置多IP地址,既能提升网络速度与安全性,又能实现多站点托管和故障转移。本文详解多IP的五大妙用、配置方法及进阶技巧。从理论到实践,合理规划IP资源,让服务器性能跃升新高度。
308 2
|
12月前
|
域名解析 API PHP
VM虚拟机全版本网盘+免费本地网络穿透端口映射实时同步动态家庭IP教程
本文介绍了如何通过网络穿透技术让公网直接访问家庭电脑,充分发挥本地硬件性能。相比第三方服务受限于转发带宽,此方法利用自家宽带实现更高效率。文章详细讲解了端口映射教程,包括不同网络环境(仅光猫、光猫+路由器)下的设置步骤,并提供实时同步动态IP的两种方案:自建服务器或使用三方API接口。最后附上VM虚拟机全版本下载链接,便于用户在穿透后将服务运行于虚拟环境中,提升安全性与适用性。
832 7
|
安全 网络安全 UED
为何长效代理静态IP是网络管理的关键要素
在信息化时代,静态长效IP代理对网络管理至关重要。它能提升网络服务质量,确保远程办公、视频会议等应用的稳定性和连续性;减少延迟和网络拥堵,加快数据传输;提高网络安全,便于设置访问权限,防止未授权访问。91HTTP高质量代理IP服务商助力高效信息获取。
287 23
|
网络协议 Unix Linux
深入解析:Linux网络配置工具ifconfig与ip命令的全面对比
虽然 `ifconfig`作为一个经典的网络配置工具,简单易用,但其功能已经不能满足现代网络配置的需求。相比之下,`ip`命令不仅功能全面,而且提供了一致且简洁的语法,适用于各种网络配置场景。因此,在实际使用中,推荐逐步过渡到 `ip`命令,以更好地适应现代网络管理需求。
740 11
|
域名解析 网络协议 关系型数据库
【网络原理】——带你认识IP~(长文~实在不知道取啥标题了)
IP协议详解,IP协议管理地址(NAT机制),IP地址分类、组成、特殊IP地址,MAC地址,数据帧格式,DNS域名解析系统
|
数据采集 安全 搜索推荐
HTTP代理IP纯净度 提升用户网络体验的核心竞争力
随着互联网发展,使用HTTP动态代理IP的需求日益增加。高纯净度的代理IP在隐私与安全、网络体验和业务运营方面至关重要。它能保护用户信息、提高数据安全性、确保访问速度和连接稳定,并提升业务效率与信誉度。
255 2