基于第四层交换技术的负载均衡
摘 要 本文介绍了第四层交换技术的概念,技术原理以及如何使用第四层交换技术实现远程教育系统中的应用服务器负载均衡。
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 端口相关联的连接表。然后第四层交换机向这台服务器转发连接请求。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现会话为止。
在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流。
2.3 具有第四层交换能力的产品
目前Berkeley Networks公司、Alteon Networks公司等公司都有比较成熟的第四层交换产品和模块推出。Berkeley Networks公司的exponeNT e4和Alteon Networks公司的ACEswith 180两款第四层交换产品具有突出的性能和灵活性,能够比第二层和第三层交换机做出更智能的转发决定。由于把包头查询的代码嵌入到交换机中的专用集成电路(ASIC)中去实现上述功能,几乎不会造成任何延时。这两家厂商的交换机都能实现10M、100M和吉比特以太网功能,但是Berkeley的交换机是设计用于企业应用的,而Alteon交换机则是用于拥有大量Web或FTP服务器的机构的。Alteon的第四层交换技术能通过对服务器的性能和运行状况的实时监测,根据不同服务器的健康状况,将来访的数据流量以经济高效的方式分配到合适的服务器上。同时,Alteon的第四层交换技术具有Web高速缓存重定向功能,能把指定发往远程Internet主机的HTTP通信拦截,并将这些通信重新定向到本地的高速缓存服务器上,从而大大加快了访问Internet的速度,并节省了大量宝贵的广域网带宽。而且这对于用户和信息提供者来说是完全透明的,不需要用户和信息提供者做任何的设置。
Cabletron 公司的SmartSwitch Router和Torrent Networking Technologies公司推出的IP9000 吉比特 Router 也是具有第四层交换功能的产品。其中SmartSwitch Router可以实现骨干网从常规第三层交换向全面的第三层、第四层交换功能的升级转换,其独特的广域网集成能力以及基于第四层交换的访问控制能力对于网络数据传输安全、有序地进行发挥了关键作用。此外,Cabletron SmartSwitch Router基于第四层交换的QoS功能为特定业务应用数据交换提供了不同级别的优先处理能力。
3 使用第四层交换技术实现服务器负载均衡
以下设计来源于某高校网络教育学院网络中心的实际应用。通过Alteon的第四层交换机为远程教学提供各种应用服务的负载均衡,提高网络的整体性能。
学生通过互联网进行远程交互学习。网络学院的网络中心配制了三组服务器,每组服务器包括若干台具备相同内容的服务器。其中有Web服务器组,教学服务器组,DATA(数据库)服务器组。其中每组服务器组都配制一个虚拟IP。学生通过互联网访问这些应用服务器。每一组服务器都连接到Alteon的第四层交换机上,在交换机上实现应用服务的负载均衡。
Alteon的第四层交换机监测服务器的可用性,包括物理连接、服务器主机、服务应用本身的健康状况,当发现某台服务器不能提供相应的服务时,交换机自动把该应用请求分配到好的其他服务器。Alteon第四层交换机还可以通过设置每台服务器能承受的最大会话数,设置溢出服务器、备份服务器等方法来进一步保证服务器系统的可靠性。服务器在同一局域网内实现负载均衡时采用多种负载均衡算法,包括Least Connection、Round Robin、MinMiss和散列算法,以及对算法的加权等等。当服务器不在同一局域网内时,利用Alteon交换机的GlobalLoad Balance技术来实现负载分担的合理性问题。
假设Web服务器组有三台内容相同的Web服务器S1、S2、S3。其中S1的真实IP是10.1.1.1,S2的真实IP是10.1.1.2,S3的真实IP是10.1.1.3。这个Web服务器组的虚拟IP为61.134.38.5。
当同时有多个学生访问我们的Web服务,Alteon第四层交换机接受到多个并发请求访问61.134.38.5上的Web服务。此时,Alteon第四层交换机将会根据一定的算法将这些请求合理地分配给S1、S2、S3实现动态的负载均衡。
以上简单介绍了第四层交换技术在服务器负载均衡方面的应用。然而第四层交换除了负载均衡功能外还支持其他功能,如基于应用类型和用户ID的传输流控制功能。采用多级排队技术,第四层交换机可以根据应用来标记传输流以及为传输流分配优先级。此外,第四层交换机直接安放在服务器前端,它了解应用会话内容和用户权限,因而使它成为了防止非授权访问服务器的理想平台。
4 总结
随着网络信息系统由小型到中型到大型的发展趋势,交换技术也由原来最初的基于MAC地址的交换,发展到基于IP地址的交换,进一步发展到基于IP+端口的交换,如今也提出了第七层交换(基于内容的交换)。本文对第四层交换技术作了一个比较全面的介绍,并将该技术应用到教育系统上实现了服务器的负载均衡。可见,网络交换技术的不断发展使得原来由基于数据的交换变成了基于应用的交换,不仅提高了网络的访问速度,而且不断地优化了网络的整体性能。