第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据MAC地址(第二层网桥)或源/目标IP地址(第三层路由),而且依据TCP/UDP(第四层) 应用端口号。第四层交换功能就象是虚IP,指向物理服务器。它传输的业务服从的协议多种多样,有HTTP、FTP、NFS、Telnet或其他协议。这些业务在物理服务器基础上,需要复杂的载量平衡算法。
一,第四层交换简述
第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据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/IP协议栈实现中,这些端口号是相同的。除了“熟知”端口外,标准UNIX服务分配在256到1024端口范围,定制的应用一般在1024以上分配端口号.
分配端口号的最近清单可以在RFc1700”Assigned Numbers”上找到。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第4层交换的基础。
"熟知"端口号举例:
应用协议 端口号
FTP20(数据)
21(控制)
TELNET23
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地址的网络地址,则路由器将向源地址的站点返回一个信息,并把这个数据包丢掉。
与交换机相比,路由器显然能够提供构成企业网安全控制策略的一系列存取控制机制。由于路由器对任何数据包都要有一个"拆打"过程,即使是同一源地址向同一目的地址发出的所有数据包,也要重复相同的过程。这导致路由器不可能具有很高的吞吐量,也是路由器成为网络瓶颈的原因之一.
端到端性能和服务质量要求对所有联网设备的负载进行细致的均衡,以保证客户机与服务器之间数据平滑地流动。 第二层与第三层交换产品在解决局域网和互联网络的带宽及容量问题上发挥了很好的作用,但是,这可能还不够,还需要更多的性能,而这正是第四层交换的用武之地。
第二层交换连接用户和网络,在子网中指引业务流,第三层交换或路由器将包从一个子网传到另一个子网,第四层交换将包传到终端服务器。第四层交换是网络基础结构中的重要因素,它使得服务器容量随