段晓东 应伟锋 沈金龙
摘要:随着当前网络应用的不断进展,在传统的底层交换,比如第二层、第三层交换的基础上又出现了第四层、第七层等高层的交换技术。这些技术都是服务于互联网数据中心的。对这些高层交换技术进行了分析,并提出了Web交换机的概念。
关键词:第四层交换,应用层交换,高层交换,Web交换机
目前,Internet上的信息量和业务量都呈现爆炸性的增长趋势。不断增长的负载和新的需求的出现,使得用单台服务器处理应用服务的结构已成为过去,取而代之的是以单一虚拟IP地址(VIP)来代表整个服务器集群,由集群中的多台服务器来分摊处理访问流量。集群的组成部分也在发生变化,过去一台Web服务器必须处理大部分的静态内容,现在可以由应用服务、高性能数据库和多媒体服务器等协同服务器集群来支持复杂的Web应用。
这些不断增长的服务集群和服务的需求要求更高效率和更高服务质量的数据交换技术。与此同时,新的网络体系结构和交换等级不断出现。数据交换技术经过了过去单纯的电路交换逐渐发展到二层、三层甚至更高层的交换结构和结合。交换的内部机制也从存储转发、直接连通过渡到路由交换、三层交换以及最新是出的四层及更高层的交换手段。这些先进的交换技术在解决局域网和互联网络的带宽及容量问题上发挥了很好的作用。
一、传统的二、三层交换
传统的第二层交换技术是在最初的总线集线器和网桥的基础上发展而成的。第二层交换一般用于局域网的数据交换,是作为对共享式局域网提供有效的数据交换解决方案而出现的,它可以使每个用户可能地分享到最大带宽。
第二层交换技术是在OSI七层网络模型中的第二层,即数据链路层进行操作的。它对数据包的转发是建立在MAC地址(物理端口地址)基础之上的。对于上层协议来说它是透明的。交换机在转发数据包时无须知道数据报的IP地址,只需其物理地址即MAC地址。交换机在操作过程不断地维护着一个简单的地址表,它说明了某个MAC地址是在哪个端口发出数据包,整个过程全部是在硬件控制下实现的,因此速度相当快,大大的加速了数据包的传输。
第二层交换非常有利于建立LAN内部或者VLAN之间的数据交换,可以大大提高数据在LAN中的通信速度,但是第二层交换只是一种简单的基于MAC层的数据交换,对一个LAN内的数据交换起着很大的提高作用,但是由于它只对第二层进行交换,所以对于不同的IP子网之间的数据交换还是要经过路由器进行路由。在大数据量跨越子网的情况下,传统的路由器又成为了网络通信中的瓶颈,这个时候就引入了第三层交换的概念。
第三层交换就是将交换引入OSI参考协议的三层。第三层交换技术也称为IP交换技术、交换路由技术。这是一种利用第三层协议中的IP数据包头信息来加强第二层交换功能的机制。网络中的大量数据往往越过本地的网络在网际间传送,因而路由器常常不堪重负地成为瓶颈。在这种情况下就要在源地址和目的地址之间有一条更为直接的第二层通路,就没有必要经过路由器转发数据包。第三层交换使用第三层路由协议确定传送路径,此路径可以只用一次,也可以存储起来,供以后使用。之后数据包通过一条虚电路绕过路由器快速发送。最终目的是将数据通信时的路由次数降至最低。这样的第三层交换式路由器比同样的路由器性能上要提高一个数量级,一般称之为路由交换机。
在第三层交换机连接的情况下,主机A跟主机B第一次通过交换机通信,中间的交换机便会把A和B的IP地址及它们的MAC地址记录下来,当其它主机如C要和A或B通信时,针对C所发出的寻址封包,第三层交换机送出一个回复,告知A或B的MAC地址,以后C当然就会用A或B的MAC地址“直接”与其通信,不需要理会A、B和C属不同的子网,它们之间均可直接知道对方的MAC地址来通信。这样就不用每次通路由,避免每次路由操作这样一个速度相对比较慢的过程。
将第二层交换和第三层交换结合在一起就成为通过第二层连接网络,在子网中指引业务流,通过第三层交换或路由器将包从一个子网传到另一个子网。目前结合2,3层交换的IP交换技术发展非常迅速,已经提出了很多具体的实现方案,尤以ATM为代表的链路层结合MPLS,MPOA技术最为突出。
二、第四层交换技术
如同第二层交换跨越到了第三层交换一样,为了进一步提高网络的QoS引入了第四层交换的概念。第二层与第三层交换在解决局域网和网络互联的QoS问题了发挥了很好的作用,但是对于当前的网络来说还是不够的,还需要进一步提高性能,这就需要在更高层上引入交换的概念。
我们知道OSI协议参考模型定义了7层结构,网络层上也就是第四层是传输层。传输层主要是负责端对端的通信。传输层有很多的协议,常用的有TCP,UDP协议。这些协议承载了许多不同的业务。这些业务通常由一些诸如HTTP,FTP,NFS,Telnet等协议来表示,而协议的类型由TCP或UDP端口地址来决定。就如同第二层的传输是依靠MAC地址来寻址,第三层的传输是依靠IP地址来寻址,那么第四层的主要表示就是端口地址,只有端口地址可以区分数据包是由哪个协议传送的。协议的参考模型和对应的端口地址如图1表示。
分配端口号的清单可以在RFC1700中找到。TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第4层交换的基础。
第四层交换中数据包的传输不仅仅依据MAC地址(第二层交换)或源/目标IP地址(第三层路由),还要依据TCP/UDP端口地址(第四层地址)。也就是说第四层交换除了考虑三层的逻辑地址外还要考虑对端口地址的交换。如同上面所描述的一样,端口地址代表了不同的业务协议,所以第四层交换不仅仅进行了物理上的交换,还包括了业务上的交换;第四层交换的交换域是由源端和终端IP地址、TCP和UDP端口共同决定的,因此,第四层交换机是真正的“会话交换机”。第四层交换机的构造如图2所示。
由于带有了业务信息,所以第四层交换机就带有了业务智能,可以做出向何处转发会话传输流的决定。对于Internet服务提供商或内容提供商来说,第四层交换的作用是尤其重要的。目前网络上不断增长的负载和需求使得用单台服务器处理应用服务的结构已成为过去,一般的网络服务提供商使用多种不同系统来支持一种应用的大型企业数据中心,数据在很多服务器上进行镜像复制。第四层交换在这样的情况下是大有可为的,可以将会话转入性能最佳的机器上。
第四层交换尤其可以应用在以单一虚拟IP地址(VIP)来代表整个服务器集群的情况,具有第四层功能的交换机能够起到与服务器相连接的“虚拟IP”前端的作用。每台服务器和支持单一或通用应用的服务器组都配置同样的一个VIP地址,这个VIP地址作为对外提供统一服务的目的地。当某用户申请应用时,用户请求的数据包先通过第三层路由器发送到具有第四层交换功能的服务器交换机,然后第四层交换机可以根据会话和应用层信息做出转发决定,用户的请求可以根据不同的规则被转发到“最佳”的服务器上,用“最佳”服务器地址中的IP取代VIP,并将请求传给服务器。因此,第四层交换技术是用于传输数据和实现多台服务器间负载均衡的理想机制。
将第四层交换技术通过硬件来实现可以做成第四层交换机,它可以实现端到端的服务质量要求,对所有联网设备的负载进行细致的均衡,以保证客户机与服务器之间的数据平滑地流动。
第四层交换技术的关键问题是如何确定传输流转发给哪台最可用的服务器,也就是策略选择问题。第四层交换的选择策略可以根据不同的需要来制定,可以首先保证高优先权业务的QoS,将这种业务引向最可利用的服务器中,而QoS要求小的业务就可以作为一般负载处理。目前应用神经网络的学习算法实现学习动态中的调整策略是一种非常好的实现方法。
三、应用交换技术
在第四层交换大大提高了网络性能和QoS保证之后,在更高的层次上同样引入了交换的概念,也可以称之为第七层交换技术,或者高层智能交换。
第七层交换技术可以定义为数据包的传送不仅仅依据MAC地址(第二层交换)或源/目标IP地址(第三层路由)以及TCP/UDP端口(第四层地址),而是可以根据内容(表示/应用层)进行传送。
这时候的交换突破了一般意义上的交换概念,开始进入以进程和内容级别为主的交换范围。高层由于和应用相关,这时候的交换就有了智能性,交换机具有了区别各种高层应用和识别内容的能力。这时的交换机不仅能根据数据包的IP地址或者端口地址来传送数据,而且还能打开数据包,进入数据包内部根据包中的信息作出负载均衡、内容识别等判断。
对于某一个端口来说,在第四层交换时可以通过对端口进行交换来获得较好的QoS,但是对于通过这个端口的传输流没有办法识别,只能对所有通过这个端口的传输流统一对待,而服务提供商或许需要其中的某些传输流具有高的QoS优先处理权或者将某些流引向性能高的处理机中。而第七层的智能性交换能够实现进一步的控制,即对所有传输流和内容的控制。这种交换机可以打开传输流的应用/表示层,分析其中的内容,因此可以根据应用类型而非仅仅根据IP和端口号做出更智能的流向决策。其中的一个典型例子就是根据URL的具体内容的识别交换。
如同上面所描述的一样,第七层交换机是真正的“应用交换机”。图3显示了一个数据包在第七层交换机内部的数据剥离方式。
这类具有第七层认知的交换机可以应用在很多的方面,比如保证不同类型的传输流可以被赋予不同的优先级,而不必依赖于业务或网络设备来达到这些目的。譬如,网络电子商务提供商希望使用80端口进行操作,但是对于不同的WEB请求他们希望不同对待,比如浏览一般商品的WEB请求的级别一定是比用户发出的定购WEB请求要低一些,而且处理起来也不一样。这样就需要识别80端口中的具体URL内容来进行判断,赋予不同的优先权交换到不同的处理器上去。更进一步,可能需要对不同级别用户的Web请求给予不同的QoS优先权,这样就需要对数据请求的内容进行识别。这时候的交换智能要求就非常高了。
目前关于第七层交换功能还没有具体的标准。第七层交换功能和目前很多类似的技术具有很大的互补性,它可以和其他的网络服务和谐地共存。但是第七层交换和类似的解决方案相比最大的优势就是速度快同时不影响智能处理,采用第七层交换技术可以以交换的线速度作出智能性的传输流内容的决策,从而优化网络访问,为最终用户提供更好的服务。而这种决策逻辑是可以根据某种策略决定的。
四、高层交换技术与Web交换机
高层交换技术的一个典型应用就是Web交换机。在目前Internet网站上的信息量和访问旧急剧增长的前提下,怎样使每个用户都可以得到QoS的保证是一个越来越重要的问题。网站的运营商们正在尝试通过架构新的体系结构以适应其业务的增长。数据中心、数据仓库和群集系统正在日益庞大。
怎样将数据中心的各种设备,包括各种互联网服务器、防火墙、高速缓冲服务器、数据仓库和网关等等组织起来提供对外界面一致和QoS保证的服务,同时提供管理、路由和负载均衡传输成为一个中心问题。所以必须提供一种处于中心地位的交换机,来组织数据中心,即Web交换机。Web交换机的基本功能是:组织数据中心、提供对外一致服务界面、管理数据的流向与路由、负载均衡、提供QoS和服务等级(COS)以及请求会话定向。
可以看出需要的Web交换技术已由纯粹的网络层(第三层)交换发展到具有基于内容(第七层)的智能交换。为了实现上述功能,Web交换机必须检查4-7层的协议字段来获取信息以处理数据流的管理和定向。
Web交换机的设计比较复杂,目前Web交换机也只是采用了高层交换的部分功能。主要的Web交换机设计方案有三种:集中式CPU模式、分布式处理系统和二级混合模式。每种设计方案是采用不同的方法把交换、控制和状态共享进行组合,因此各有优缺点。实现的成品主要以ALTEON公司提出的虚拟矩阵体系结构(VMA)为代表。
五、结语
由于目前网络的巨大发展,超高层交换技术正在成为一种趋势,尤其是第四层交换正处于迅速发展的地位,已经有了很多产品出现。但是更高层的交换产品由于其复杂性目前还处于一种概念或者说是实验阶段,要完全实现还有很大的距离,但是综合它们其中一部分优点的Web交换机已经作为应用得到了发展,必将成为将来的趋势。
摘自《现代电信科技》2001.11
|