摘 要 本文介绍了第四层交换技术的概念,技术原理以及如何使用第四层交换技术实现远程教育系统中的应用服务器负载均衡。

作者:

凌仲权,现就读于西安电子科技大学,2001级硕士研究生。主要的科研方向为计算机网络技术研究以及远程教育的相关技术。

丁振国,西安电子科技大学远程教育学院院长,西安电子科技大学电子商务研究所副所长,中国工程技术信息网副总工程师。主要从事计算机网络与信息处理技术方面的研究与教学工作,电子商务中的网络技术研究等工作。

  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+端口的交换,如今也提出了第七层交换(基于内容的交换)。本文对第四层交换技术作了一个比较全面的介绍,并将该技术应用到教育系统上实现了服务器的负载均衡。可见,网络交换技术的不断发展使得原来由基于数据的交换变成了基于应用的交换,不仅提高了网络的访问速度,而且不断地优化了网络的整体性能。

  

基于第四层交换技术的负载均衡相关推荐

  1. 应用交换技术的负载均衡算法

    原文出处是:http://hi.baidu.com/ruijievideo/blog/item/5959be1f3c1621ff1bd576d2.html 应用交换技术的负载均衡算法 应用交换技术里主 ...

  2. 基于RYU应用开发之负载均衡(源码开放)

    为什么80%的码农都做不了架构师?>>>    编者按:本文介绍的是如何在RYU上通过使用select group 来实现multipath,从而实现流量的调度,完成简单的负载均衡D ...

  3. LVS详解及基于LVS实现web服务器负载均衡

    前言 LVS(Linux Virtual Server)Linux虚拟服务器,是一个虚拟的服务器集群系统.本项目在1998年5月由章文嵩博士成立,是中国国内最早出现的自由软件项目之一.通过LVS提供的 ...

  4. NGINX配置基于Node.js服务的负载均衡服务器

    NGINX配置基于Node.js服务的负载均衡服务器 本部署指南说明了如何使用NGINX开源和NGINX Plus在Node.js应用程序服务器池之间平衡HTTP和HTTPS通信.本指南中的详细说明适 ...

  5. 基于Nginx反向代理及负载均衡

    基于Nginx反向代理及负载均衡 参考:http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass 只要没有被启用,默认就是 ...

  6. 基于Zookeeper实现简易的负载均衡

    基于Zookeeper实现简易的负载均衡 完整代码在这里基于Zookeeper实现简易的负载均衡 以下是讲解 一. 要求 1. 编程题一: 在基于Netty的自定义RPC的案例基础上,进行改造.基于Z ...

  7. 9、配置链路聚合技术和负载均衡技术

    1.相关知识 什么是骨干网络的链路聚合技术 在许多交换机或交换机设备组成的网络环境中,通常都使用一些备份连接,以提高网络的健全性.稳定性.这种备份连接也叫备份链路.冗余链路等 以太网组织委员会制定的链 ...

  8. CDN基于谷歌开源Katran四层负载均衡方案的应用 - 原理篇

    CDN作为一种分布式缓存加速服务,对于访问量级大的区域,单个节点带宽建设一般可达百Gb量级,对外配置虚拟IP提供服务,节点内部需要通过多层负载均衡(LB)将请求分发到内部的若干台服务器进行处理.一般情 ...

  9. 交换机链路聚合技术的负载均衡算法原理(含C语言实现)

    [注:本文[原理]部分来自转载,转载来源为https://blog.csdn.net/wuheshi/article/details/79128044,此部分原创作者暂未找到,但感谢原作者的知识贡献] ...

最新文章

  1. 一次心惊肉跳的服务器误删文件的恢复过程
  2. ffmpeg 把视频解码成jpg
  3. centos加单个ip和批量添加
  4. c++函数模板和类模板
  5. [蓝桥杯]算法提高 天天向上(记忆化搜索)
  6. UITableViewCell 选中的状态小技巧
  7. 二分法08:寻找旋转排序数组中的最小值
  8. mysql 空值处理
  9. java jdk api文档在哪里下载_JDK API文档下载
  10. 【Java开发】之配置文件的读取
  11. fragstats教程
  12. AD9的PCB技巧——覆铜的规则设置
  13. 药店千方百剂系统无法连接服务器,管家婆千方百剂软件常见问题解决办法分享...
  14. CSS3 GPU硬件加速
  15. 微信商家转账到零钱 V3(JAVA)转账与查询
  16. 4246 奶牛的身高
  17. APK安装包如何安装到安卓手机上
  18. 从零开始的WordPress个人博客搭建
  19. 【Kalman】卡尔曼滤波基础知识
  20. 2009年央视春晚最新节目单

热门文章

  1. 广东省哪个学校电子计算机有名,广东省电子职业技术学校
  2. git branch 为什么会进入编辑状态_gitamp;github(总结git与github的基本用法)
  3. iis6如何升级iis7_IIS修复IIS出现错误后如何完全卸载重装
  4. java foreach order_Java 8流中的forEach vs forEachOrdered
  5. 十年“老司机”的私家锦囊:10个编程技巧、5个纠错步骤,让你的编程之路少点坎坷
  6. 机器学习中的算法(4.3):SVM----针对线性不可分问题理解
  7. 机器学习中的数学基础:(3)主成分分析(PCA)及其应用
  8. 【opencv】(7) 图像匹配、直方图、图像均衡化
  9. php 上传 类 代码,php 文件上传类代码
  10. 自定义国内maven镜像包设置settings.xml