论文部分内容阅读
分布式系统一般要求其网络能够具有高可用性。网络的高可用性一般在系统、组件和链路三个级别上体现。实现网络高可用性的常用方法是采用冗余机制。设计者通过对节点间的网络进行冗余部署,使得节点间有多个物理网络可以互为备份,即当所有链路都工作正常时,各个链路可以平均分担网络上的负载,从而提高了网络的利用率;当其中有链路失效时,系统可以继续利用其他工作正常的链路来保证系统正常运行,这样就很好地实现了网络的容错及负载均衡。目前,已经存在一些技术来实现网络的容错及负载均衡,如SUN公司的Trunking技术、Cisco公司的Etherchannel技术及Linux bonding技术等,这些实现技术一般称作链路聚合或多网卡绑定,即将多条物理链路虚拟成一个逻辑链路或将节点机上的多块网卡虚拟为一块网卡。但这些技术实现要么需要特定的硬件支持,要么容易引入单点故障,无法用于分布式系统中常见的对等节点间高可靠通信。本课题主要研究网络通信的可靠性原理、冗余网络可靠性设计及其工程应用,重点探讨在底层实现网络通信的可靠备份和负载均衡问题。所实现的容错及负载均衡技术与上述技术有所不同。它是在不改变现有冗余物理网络硬件配置及工作方式的情况下,通过额外安装的虚拟网卡及本课题所研究实现的网络通信处理模块的支持,将物理的冗余网络虚拟成一个逻辑的单一网络,目的是设计实现一种通用的高可靠冗余网络通信方案,允许上层客户应用只需针对单一虚拟网络进行开发,而无需关注网络冗余和负载均衡等底层通信细节。这种技术使本机节点可以通过虚拟网卡透明地与冗余网络中的其他节点进行高可靠通信。全文共分六章。第一章主要论述了本课题研究的背景和意义;第二章简要介绍了目前存在的各种链路聚合实现技术及其它的工程解决方案;第二章介绍了课题研究及实现过程所涉及到的相关技术;第四章论述了本课题所要实现的冗余网络容错及负载均衡技术的原理;第五章论述了实现冗余网络容错及负载均衡技术各个模块所使用的算法;第六章对本课题研究作了一个总结,并提出了下一步所需要做的完善工作。