基于第四层交换技术的负载均衡


摘 要 本文介绍了第四层交换技术的概念,技术原理以及如何使用第四层交换技术实现远程教育系统中的应用服务器负载均衡 。
要害词 四层交换技术 负载均衡 数据交换
1 引言
当今世界已经步入信息时代,随着社会的迅速发展以及人们对网络应用需求的不断提高,对网络速度及带宽的要求不断上升 。正是在这样的发展形势下,许多高速交换的新技术不断涌现 。第二层交换实现局域网内主机间的快速信息交流,第三层交换可以说是交换技术与路由技术的完美结合,而下文要具体介绍的第四层交换技术则可以为网络应用资源提供最优分配,实现应用服务的负载均衡 。
2 第四层交换技术
2.1 简述
第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层)应用端口号 。第四层交换功能就像是虚拟IP,指向物理服务器 。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议 。这些业务在物理服务器基础上,需要复杂的载量平衡算法 。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定 。
在第四层交换中为每个供搜寻使用的服务器组设立虚拟IP地址(VIP),每组服务器支持某种应用 。在域名服务器(DNS)中存储的每个应用服务器地址是VIP,而不是真实的服务器地址 。
当某用户申请应用时,一个带有目标服务器组的VIP连接请求(例如一个TCP SYN包)发给服务器交换机 。服务器交换机在组中选取最好的服务器,将终端地址中的VIP用实际服务器的IP取代,并将连接请求传给服务器 。这样,同一区间所有的包由服务器交换机进行映射,在用户和同一服务器间进行传输 。
2.2 技术原理
OSI模型的第四层是传输层 。传输层负责端对端通信,即在网络源和目标系统之间协调通信 。在IP协议栈中这是TCP(传输控制协议)和UDP(用户数据报协议)所在的协议层 。
在第四层中,TCP和UDP标题包含端口号(port number),它们可以唯一区分每个数据包包含哪些应用协议(例如HTTP、FTP等) 。端点系统利用这种信息来区分包中的数据,尤其是端口号使一个接收端计算机系统能够确定它所收到的IP包类型,并把它交给合适的高层软件 。端口号和设备IP地址的组合通常称作“插口(socket)” 。分配端口号的最近清单可以在RFC 1700“Assigned Numbers”上找到 。
TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础 。具有第四层功能的交换机能够起到与服务器相连接的“虚拟IP”(VIP)前端的作用 。每台服务器和支持单一或通用应用的服务器组都配置一个VIP地址 。这个VIP地址被发送出去并在域名系统上注册 。
在发出一个服务请求时,第四层交换机通过判定TCP开始,来识别一次会话的开始 。然后它利用复杂的算法来确定处理这个请求的最佳服务器 。一旦做出这种决定,交换机就将会话与一个具体的IP地址联系在一起,并用该服务器真正的IP地址来代替服务器上的VIP地址 。
每台第四层交换机都保存一个与被选择的服务器相配的源IP地址以及源TCP 端口相关联的连接表 。然后第四层交换机向这台服务器转发连接请求 。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现会话为止 。
在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流 。

推荐阅读