第四层交换
一,第四层交换简述
第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层) 应用端口号。第四层交换功能就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。在IP世界,业务类型由终端TCP或UDP端口地址来决定,在第四层交换中的应用区间则由源端和终端IP地址、TCP和UDP端口共同决定。
在第四层交换中为每个供搜寻使用的服务器组设立虚IP地址(VIP),每组服务器支持某种应用。在域名服务器(DNS)中存储的每个应用服务器地址是VIP,而不是真实的服务器地址。
当某用户申请应用时,一个带有目标服务器组的VIP连接请求(例如一个TCP SYN包)发给服务器交换机。服务器交换机在组中选取最好的服务器,将终端地址中的VIP用实际服务器的IP取代,并将连接请求传给服务器。这样,同一区间所有的包由服务器交换机进行映射,在用户和同一服务器间进行传输。
二,第四层交换的原理
OSI模型的第四层是传输层。传输层负责端对端通信,即在网络源和目标系统之间协调通信。在IP协议栈中这是TCP(一种传输协议)和UDP(用户数据包协议)所在的协议层。
在第四层中,TCP和UDP标题包含端口号(portnumber),它们可以唯一区分每个数据包包含哪些应用协议(例如HTTP、FTP等)。端点系统利用这种信息来区分包中的数据,尤其是端口号使一个接收端计算机系统能够确定它所收到的IP包类型,并把它交给合适的高层软件。端口号和设备IP地址的组合通常称作“插口(socket)”。
1和255之间的端口号被保留,他们称为“熟知”端口,也就是说,在所有主机TCP/I
P协议栈实现中,这些端口号是相同的。除了“熟知”端口外,标准UNIX服务分配在256到1024端口范围,定制的应用一般在1024以上分配端口号.
分配端口号的最近清单可以在RFc1700”Assigned Numbers”上找到。TCP/UDP端
口号提供的附加信息可以为网络交换机所利用,这是第4层交换的基础。
"熟知"端口号举例:
应用协议 端口号
FTP 20(数据)
21(控制)
TELNET 23
SMTP 25
HTTP 80
NNTP 119
NNMP 16
162(SNMP traps)
TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。
具有第四层功能的交换机能够起到与服务器相连接的“虚拟IP”(VIP)前端的作用。
每台服务器和支持单一或通用应用的服务器组都配置一个VIP地址。这个VIP地址被发送出去并在域名系统上注册。
在发出一个服务请求时,第四层交换机通过判定TCP开始,来识别一次会话的开始。然后它利用复杂的算法来确定处理这个请求的最佳服务器。一旦做出这种决定,交换机就将会话与一个具体的IP地址联系在一起,并用该服务器真正的IP地址来代替服务器上的VIP地址。
每台第四层交换机都保存一个与被选择的服务器相配的源IP地址以及源TCP 端口相
关联的连接表。然后第四层交换机向这台服务器转发连接请求。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现会话为止。
在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流。
三,第四层交换的作用
第四层交换的主要作用是提高服务器和服务器群的可靠性和可扩性。
如果服务器速度跟不上,即使是具有最快速交换的网络也不能完全确保端到端的性能。可以想见高优先权的业务在这种QoS使能的网络中会因服务器中低优先权的业务队列而阻塞。在更糟的情况下,服务器甚至会丧失循环处理业务的能力。
设计在服务器上的第四层交换的目的就是扩展过去服务器和应用中第二层和第三层交换的性能和业务流的管理功能。
四,第四层交换的优势
第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理。
每个开放的区间与特定的服务器相关,为跟踪服务器,第四层交换使多个服务器支持的特殊应用,随服务器的增加而线性增强整体性能。同时,第四层交换通过减少对任何特定服务器的依赖性而提高应用的可靠性。
第四层交换也要求端到端QoS,提高第二层和第三层交换一包接一包QoS传输的能力。例如,从级别高的用户来的业务或重要应用的网络业务流,可以分配给最快的I/O系统和CPU,而普通的业务就分配给性能较差的机器。
五,第四层交换与第二层、第三层交换
如果第二层交换是网桥的再现,第三层交换是路由,那么,什么是第四层交换?第四层交换可以根据专门的应用进行流量排队,这为基于规则的服务质量机制提供了一条更可操作的途径。我们可以把第四层交换叫作“会话交换机”。
a,第二层交换
局域网交换技术是作为对共享式局域网提供有效的网段划分的解决方案而出现的,他可以使每个用户尽可能地分享到最大带宽。前文已经提到,交换技术是在OSI七层网络模型中的第二层,即数据链路层进行操作的,因此交换机对数据包的转发是建立在MAC地址--物理地址基础之上的,对于IP网络协议来说,它是透明的,即交换机在转发数据包时,不知道也无须知道信源机和信宿机的IP地址,只须其物理地址即MAC地址。交换机在操作过程当中会不断的收集资料去建立它本身的一个地址表,这个表相当简单,它说明了某个MAC地址是在哪个端口上被发现的,所以当交换机收到一个TCP/IP封包时,他便会看一下该数据包的标签部分的目的MAC地址,核对一下自己的地址表以确认该从哪个端口把数据包发出去,由于这个过程比较简单,加
上今天这功能由ASIC硬件进行,因此速度相当高,一般只需几十微秒,交换机便可决定一个IP封包该往那里送。值得一提的是:万一交换机收到一个不认识的封包,就是说如果目的地MAC地址不能在地址表中找到时,交换机会把IP封包"扩散"出去,即把它从每一个端口中送出去,就好象交换机在收到一个广播封包时一样处理。二层交换机的弱点正是它处理广播封包的手法太不有效,比方说,当一个交换机收到一个从TCP/IP工作站上发出来的广播封包时,他便会把该封包传到所有其他端口去,哪怕有些端口上连的是IPX或DECnet工作站!这样一来,非TCP/IP接点的带宽便会受到负面的
影响,就算同样的TCP/IP接点,除非他们的子网跟发送那个广播封包的工作站的子网相同,否则他们也会无原无故地收到一些与他们毫不相干的网络广播,整个网络的效率因此会大打折扣。
b,第三层交换
假设主机A跟主机B以前曾通过交换机通信,中间的交换机如支持第三层交换的话,他便会把A和B的IP地址及他们的MAC地址记录下来,当其它主机如C要和A或B通信时,针对C所发出的寻址封包,第三层交换机会不假思索的送C一个回覆封包告诉他A或B的MAC地址,以后C当然就会用A或B的MAC地址"直接"和他通信。因为通信双方完全没有通过路由器这样的第三者,所以那怕A、B和C属不同的子网,他们间均可直接知道对方的MAC地址来通信,更重要的是,第三层交换机并没有像其他交换器般把广播封包扩散,第三层交换机之所以叫三层交换器便是因为他们能看懂三层信息,
如IP地址、ARP等。因此,三层交换器便能洞悉某广播封包目的何在,而在没有把他扩散出去的情形下,满足了发出该广播封包的人的需要,(不管他们在任何子网里)。如果认为第三层交换机就是路由器,那也应称作超高速反传统路由器,因为第三层交换器没做任何"拆打"数据封包的工作,所有路过他的封包都不会被修改并以交换的速度传到目的地。
相比之下,路由器是在OSI七层网络模型中的第三层--网络层操作的,它在网络中,
收到任何一个数据包(包括广播包在内),都要将该数据包第二层(数据链路层)的信息去掉(称为"拆包"),查看第三层信息(IP地址)。然后,根据路由表确定数据包的路由,再检查安全访问表;若被通过,则再进行第二层信息的封装(称为"打包"),最后将该数据包转发。如果在路由表中查不到对应MAC地址的网络地址,则路由器将向源地址的站点返回一个信息,并把这个数据包丢掉。
与交换机相比,路由器显然能够提供构成企业网安全控制策略的一系列存取控制机制。由于路由器对任何数据包都要有一个"拆打"过程,即使是同一源地址向同一目的地址发出的所有数据包,也要重复相同的过程。这导致路由器不可能具有很高的吞吐量,也是路由器成为网络瓶颈的原因之一. 端到端性能和服务质量要求对所有联网设备的负载进行细致的均衡,以保证客户机与服务器之间数据平滑地流动。第二层与第三层交换产品在解决局域网和互联网络的带宽及容量问题上发挥了很好的作用,但是,这可能还不够,还需要更多的性能,而这正是第四层交换的用武之地。
第二层交换连接用户和网络,在子网中指引业务流,第三层交换或路由器将包从一个子网传到另一个子网,第四层交换将包传到终端服务器。第四层交换是网络基础结构中的重要因素,它使得服务器容量随网络带宽增加而增加。
从操作方面来看,第四层交换是稳固的,因为它将包控制在从源端到宿端的区间中。另一方面,路由器或第三层交换,只针对单一的包进行处理,不清楚上一个包从哪来、也不知道下一个包的情况。它们只是检测包报头中的TCP端口数字,根据应用建立优先级队列。路由器根据链路和网络可用的节点决定包的路由。第四层则是在可用的服务器和性能基础上先确定区间。
六,第四层交换与服务器集群
在第四层交换和服务器集群技术(如Microsoft的Wolfpack)之间有一些共同的
功能。它们都能提供服务品负载平衡和故障防护功能,尽管许多集群技术的实现支持横跨多个服务器的应用程序的负载平衡。这二种技术的不同之处在于:集群功能经常被密地集成在服务器操作系统中,因此是厂家专有的。被嵌入到操作系统中意味着集群技术能支持文件系统共享和紧密的服务器资源滥测,并允许更快的服务器容错。另一方面,第四层交换是建立在标准IP协议族之上的。因此,它使不同厂商,不同操作系统的服务器为负载平衡和增强可靠性而组成一个“松散耦合”服务器集群,这两种技术产不是彼盯对立的。服务器集群能利用第四层交换来同时提高应用程序扩展性和服务器可用性。
在服务器集群中使用第四层交换可以在交换机上利用第四层交换的功能来保证服务器集群中各服务器的负载平衡。第四层交换可以使人们对许多备份服务器进行毫无顾忌的选择,同时,还会有一系列服务器在提供同样的服务,这样就可以使各服务器上的通信量负载达到平衡。
到目前为止,能使负载达到平衡的唯一方法是轮换主机地址,但问题在于预测或控制每一服务器将要获得的负载是一件很不容易的事情,这简直太原始了,并不能满足用户对第四层交换的要求。应用第四层交换,采用先进的应用分配算法,能更好,更智能实现负载平衡。根据所需负载均衡的颗粒度,第四层交换机可以利用多种方法将应用会话分配到服务器上。这些方法包括求权数最小接入的简单加权循环、测量往返时延和服务器自身的闭合环路反馈等等。
闭合环路反馈是最先进的方法,它利用可用内存、I/O中断和CPU利用率等特定的系
统信息,这些信息可以为适配器驱动器和第四层交换机自动获取。目前的闭合环路反馈机制要求在每台服务器上安装软件代理。
七,如何选用合适的第四层交换
a,速度
为了在企业网中行之有效,第四层交换必须提供与第三层线速路由器可比拟的性能。也就是说,第四层交换必须在所有端口以全介质速度操作,即使在多个千兆以太网连接上亦如此。千兆以太网速度等于以每秒1488000 个数据包的最大速度路由(假定最坏的情形,即所有包为以及网定义的最小尺寸,长64字节)。
b,服务器容量平衡算法
依据所希望的容量平衡间隔尺寸,第四层交换机将应用分配给服务器的算法有很多种,有简单的检测环路最近的连接、检测环路时延或检测服务器本身的闭环反馈。在所有的预测中,闭环反馈提供反映服务器现有业务量的最精确的检测。
c,表容量
应注意的是,进行第四层交换的交换机需要有区分和存贮大量发送表项的能力。交换机在一个企业网的核心时尤其如此。许多第二/ 三层交换机倾向发送表的大小与网络设备的数量成正比。对第四层交换机,这个数量必须乘以网络中使用的不同应用协议和会话的数量。因而发送表的大小随端点设备和应用类型数量的增长而迅速增长。第四层交换机设计者在设计其产品时需要考虑表的这种增长。大的表容量对制造支持线速发送第四层流量的高性能交换机至关重要.
d,冗余
第四层交换机内部有支持冗余拓扑结构的功能。在具有双链路的网卡容错连接时,就可能建立从一个服务器到网卡,链路和服务器交换器的完全冗余系统。
八,介绍几种第四层交换产品
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 NetworkingTechnologies公司推出
的IP9000 Gigabit Router 也是具有第四层交换功能的产品。其中SmartSwitch Router可以实现骨干网从常规第三层交换向全面的第三、第四层交换功能的升级转换,其独特的广域网集成能力以及基于第四层交换的访问控制能力对于网络数据传输安全、有序地进行发挥了关键作用。此外,Cabletron Smart SwitchRouter基于第四层交换的QoS功能为特定业务应用数据交换提供了不同级别的优先处理能力。
九,第四层交换与单功能负载均衡产品
目前一般的单功能负载均衡产品可以每秒连接400到800个接入。而同时具有第二层和第四层功能的新一代产品(使用定制的专用集成电路的基于硬件的负载均衡功能)的连接速度则超过了每秒10万次接入。
第四层交换机在形式和功能上与专用负载均衡器完全不同。传统基于硬件的负载均衡器是速度为45Mbps的优化的两端口设备。而第四层交换机是设计用于高速Intranet应用的,它支持100Mbps或千兆位接口。
第四层交换除了负载均衡功能外还支持其它功能,如基于应用类型和用户ID的传输流控制功能。采用多级排队技术,第四层交换机可以根据应用来标记传输流以及为传输流分配优先级。此外,第四层交换机直接安放在服务器前端,它了解应用会话内容和用户权限,因而使它成为了防止非授权访问服务器的理想平台。
十,第四层交换方案
在本方案中,通过采用Alteon的第四层交换机来实现Web Server的负载均衡。
HTTP是Internet中最重要的一种应用,目前Internet上广泛使用的Web Server,采
用的是多进程技术,占用系统资源多,效率较低,一般一台Web Server只能承受几百个并发用户。采用第四层交换机可以很好地解决Web Server的扩展性问题,提高Web Server系统的可靠性,并在WebServer之间合理分配负载。
Alteon的第四层交换机监测Web Server的可用性,包括物理连接、Web Server主机
、HTTP Server本身的健康状况,当发现某台Web Server不能提供Web 服务时,交换机自动把Web 请求分配到好的两台Web Server。Alteon第四层交换机还可以通过设置每台Web Server能承受的最大会话数、设置溢出Web Server、备份Web Server等方法来进一步保证Web系统的可靠性。
Web Server在同一局域网内实现负载均衡时采用多种负载均衡算法,包括Least
Connection、Round Robin、MinMiss和Hash算法,以及对算法的加权等等。
当Web Server不在同一局域网内时,利用Alteon交换机的GlobalLoad Balance技术
来实现负载分担的合理性问题。