话说路由与交换
为了适应网络应用深化带来的挑战,网络在规模和速度方向都在急剧发展,局域网的速度已从最初的10Mbit/s 提高到100Mbit/s,目前千兆以太网技术已得到普遍应用。在网络结构方面也从早期的共享介质的局域网发展到目前的交换式局域网。交换式局域网技术使专用的带宽为用户所独享,极大的提高了局域网传输的效率。可以说,在网络系统集成的技术中,直接面向用户的第一层接口和第二层交换技术方面已得到令人满意的答案。但是,作为网络核心、起到网间互连作用的路由器技术却没有质的突破。在这种情况下,一个新的路由技术应运而生,这就是第三层交换技术:说它是路由器,因为它可操作在网络协议的第三层,是一种路由理解设备并可起到路由决定的作用;说它是交换器,是因为它的速度极快,几乎达到第二层交换的速度。二层交换机、三层交换机和路由器这三种技术究竟谁优谁劣,它们各自适用在什么环境?为了解答这问题,我们先从这三种技术的工作原理入手。
1.二层交换
回顾网络初期,开始应用局域网技术组网时,主要局限于主机连接、文件和打印共享,多个用户共享10Mbit/s带宽就能满足要求。随着网络规模的日益扩大,网络系统已不能胜任,这是因为局域网最早的网络互联设备是集线器,它是一层设备。基于CSMA/CD(带冲突检测的伪载波监听多路访问)物理协议的用户数据的冲突检测和出错重发过程,使传输的效率大大降低。当时采用了二层设备网桥,它可起到使网段细化、减小冲突域,从而优化局域网性能的目的。但它是对高层(第三层以上)协议透明的设备,不能有效阻止广播风暴,因此需要路由器。路由器在子网间互连、安全控制、广播风暴限制等方面起了关键的作用,但复杂的算法、较低的数据吞吐量使其成为网络的瓶颈。意识到以上问题,业界对网桥进行了改进,制造出局域网交换机,用它替代集线器,以提高网络的性能。
局域网交换机是一种二层网络设备,它在操作过程中不断收集并建立它本身的MAC地址表,而且定时刷新。它的引入使网络站点间可独享宽带,消除了无谓的冲突检测和出错重发,提高了传输效率。而且用户信息是点对点进行传送,其他节点是不可见的。但二层交换也暴露出它的弱点:不能有效解决广播风暴、异种网络互连、完全性控制等问题。因此,产生了交换机上的VLAN(虚拟局域网)技术。
二层交换机是数据链路层的设备,它能够读取数据包中的MAC地址信息并根据MAC地址来进行交换。交换机内部有一个地址表,这个地址表标明了MAC地址和交换机端口的对应关系。
1
路由与交换 by:吴海云
MAC地址表 A 0260.8c01.1111 E0: 0260.8c01.1111 E2: 0260.8c01.2222 E1: 0260.8c01.3333 E3: 0260.8c01.4444 B 0260.8c01.3333 E0 C E1 E3 D E2 0260.8c01.2222 0260.8c01.4444
具体的工作流程如下:
(1) 当交换机从某个端口收到一个数据包,它先读取包头中的源MAC地址,这样它就知道源MAC地址的机器是连在哪个端口上的;
(2) 再去读取包头中的目的MAC地址,并在地址表中查找相应的端口;
(3) 如表中有与这目的MAC地址对应的端口,把数据包直接复制到这端口上;
(4) 如表中找不到相应的端口则把数据包发送到处接收端口以外的所有端口上,这个过程专业术语叫做Flooding(泛洪),当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与哪个端口对应,在下次传送数据时就不再需要对所有端口进行广播了。不断的循环这个过程,对于全网的MAC地址信息都可以学习到,二层交换机就是这样建立和维护它自己的地址表。
从二层交换机的工作原理可以推知以下三点:
(1) 由于交换机对多数端口的数据进行同时交换,这就要求具有很宽的交换总线带宽,如果二层交换机有N个端口,每个端口的带宽是M,交换机总线带宽超过N×M,那么这交换机就可以实现线速交换;
(关于“线速交换”这个词我们会经常听说到,有人不太明白。其实通俗的理解起来就是说“无延迟的转发”,也就是说转发数据包的能力很强,速度很快,接到数据包后几乎马上就转发掉了)
(2) 学习端口连接的机器的源MAC地址,写入地址表,地址表的大小将影响交换机的接入容量;
(3) 还有一个就是二层交换机一般都含有专门用于处理数据包转发的ASIC (Applicati on specific Integrated Circuit专用集成电路)芯片,因此转发速度可以做到非常快。由于各个厂家采用ASIC不同,直接影响产品性能。以上三点也是评判二三层交换机性能优劣的主要技术参数,这一点请大家在考虑设备选型时注意比较。
2
路由与交换 by:吴海云
2.路由技术
路由器工作在OSI模型的第三层---网络层操作,路由技术和二层交换看起来有点相似,其实路由和交换之间的主要区别就是交换发生在OSI参考模型的第二层(数据链路层),而路由发生在第三层。这一区别决定了路由和交换在传送数据的过程中需要使用不同的控制信息,所以两者实现各自功能的方式是不同的。
1.1 1.0 Router1 2.1 1.3 E0 S0 Router2 2.2 4.3 S0 E0 4.0 4.1 1.2 4.2 Routing Table NET INT Metric 1 E0 0 2 S0 0 4 S0 1 Routing Table NET INT Metric 1 S0 1 2 S0 0 4 E0 0
路由器内部有一个路由表(Routing Table),这表标明了如果要去某个地方,
下一步应该往哪走。路由器从某个端口收到一个数据包,它首先把链路层的包头去掉(拆包),读取目的IP地址,然后查找路由表,若能确定下一步往哪送,则再加上链路层的包头(打包),把该数据包转发出去;如果不能确定下一步的地址,则向源地址返回一个信息,并把这个数据包丢掉。
路由技术其实是由两项最基本的活动组成,即决定最优路径和传输数据包。其中,数据包的传输相对较为简单和直接,而路由的确定则更加复杂一些。路由算法在路由表中写入各种不同的信息,路由器会根据数据包所要到达的目的地选择最佳路径把数据包发送到可以到达该目的地的下一台路由器处。当下一台路由器接收到该数据包时,也会查看其目标地址,并使用合适的路径继续传送给后面的路由器。依次类推,直到数据包到达最终目的地。
路由器之间可以进行相互通讯,而且可以通过传送不同类型的信息维护各自的路由表(这种叫做动态路由协议,那么相应的还有一种叫做静态路由协议,在这里就不多说了)。路由表的维护,也有两种不同的方式。一种是路由信息的更新,将部分或者全部的路由信息公布出去,路由器通过互相学习路由信息,就掌握了全网的拓扑结构,这一类的路由协议称为距离矢量路由协议,其中典型的代表就是RIP(Routing Information Protocol路由信息协议),该协议最初是实现在Unix操作系统主机上的,也是最早开发出来的动态路由协议,故有很多缺点,但是当今做了很多修改后,使用率还是比较高; 另一种是路由器将自己的链路状态信息进行广播,通过互相学习掌握全网的路由信息,进而计算出最佳的转发路径,这类路由协议称为链路状态路由协议,其中典型的代表就是OSPF(Open
3
路由与交换 by:吴海云
Shortest Path First开放式最短路径优先),此协议拥有高度的灵活性以及收敛速度快,故在一些大型的企业网络用得比较多,但是由于其工作起来较复杂,对硬件要求比较高,所以相应维护成本较高。
由于路由器需要做大量的路径计算工作,一般处理器的工作能力直接决定其性能的优劣。当然这一判断还是对中低端路由器而言,因为高端路由器往往采用分布式处理系统体系设计。
3.三层交换技术
近年来的对三层技术的宣传,耳朵都能起茧子,到处都在喊三层技术,有人说这是个非常新的技术,也有人说,三层交换嘛,不就是路由器和二层交换机的堆叠,也没有什么新的玩意,事实果真如此吗?下面先来通过一个简单的网络来看看三层交换机的工作过程。
(拓扑图比较简单) A B 假设两个使用IP协议的机器通过第三层交换机进行通信的过程,机器A在开始发送时,已知目的IP地址,但尚不知道在局域网上发送所需要的MAC地址。要采用地址解析(ARP)来确定目的MAC地址。机器A把自己的IP地址与目的IP地址比较,从其软件中配置的子网掩码提取出网络地址来确定目的机器是否与自己在同一子网内。若目的机器B与机器A在同一子网内,A广播一个ARP请求,B返回其MAC地址,A得到目的机器B的MAC地址后将这一地址缓存起来,并用此MAC地址封包转发数据,第二层交换模块查找MAC地址表确定将数据包发向目的端口。
若两个机器不在同一子网内,如发送机器A要与目的机器B通信,发送机器A要向“缺省网关”发出ARP包,而“缺省网关”的IP地址已经在系统软件中设置。这个IP地址实际上对应第三层交换机的第三层交换模块。所以当发送机器A对“缺省网关”的IP地址广播出一个ARP请求时,若第三层交换模块在以往的通信过程中已得到目的机器B的MAC地址,则向发送机器A回复B的MAC地址;否则第三层交换模块根据路由信息向目的机器广播一个ARP请求,目的机器B得到此ARP请示后向第三层交换模块回复其MAC地址,第三层交换模块保存此地址并回复给发送机器A。以后,当再进行A与B之间数据包转发进,将用最终的目的机器的MAC地址封装,数据转发过程全部交给第二层交换处理,信息得以高速交换。既所谓的一次选路,多次交换。
简洁的路由软件使路由过程简化,大部分的数据转发,除了必要的路由选择交由路由软件处理,都是又二层模块高速转发,路由软件大多都是经过处理的高效优化软件,并不是简单照搬路由器中的软件。
这就不是简单的二层交换机和路由器的叠加,三层路由模块直接叠加在二层
4
路由与交换 by:吴海云
交换的高速背板总线上,突破了传统路由器的接口速率限制,速率可达几十Gbit/s。算上背板带宽,这些是三层交换机性能的两个重要参数。
以上就是三层交换机工作过程的简单概括,可以看出三层交换的特点: 有机的硬件结合使得数据交换加速;
优化的路由软件使得路由过程效率提高;
除了必要的路由决定过程外,大部分数据转发过程由第二层交换处理; 多个子网互连时只是与第三层交换模块的逻辑连接,不象传统的外接路由器那样需增加端口,保护了用户的投资。
一个具有第三层交换功能的设备是一个带有第三层路由功能的第二层交换机,但它是二者的有机结合,再次要需要强调的是并不是简单的把路由器设备的硬件及软件简单地叠加在局域网交换机上。
从硬件上看,第二层交换机的接口模块都是通过高速背板/总线(速率可高达几十Gbit/s)交换数据的,在第三层交换机中,与路由器有关的第三层路由硬件模块也插接在高速背板/总线上,这种方式使得路由模块可以与需要路由的其他模块间高速的交换数据,从而突破了传统的外接路由器接口速率的限制。在软件方面,第三层交换机也有重大的举措,它将传统的基于软件的路由器软件进行了界定,其做法是: 对于数据包的转发:如IP/IPX包的转发,这些规律的过程通过硬件得以高速实现。
对于第三层路由软件:如路由信息的更新、路由表维护、路由计算、路由的确定等功能,用优化、高效的软件实现。
一般来说,三层交换产品都是采用可编程扩展的ASIC芯片技术,可提供如下一些丰富的特性:
*在所有端口,针对所有网络接口和协议的无阻塞线速交换和路由。
*极高的吞吐量(转发包/每秒),通常比中高端路由器要快10倍-100倍。
*多协议路由选择:IP(RIPv1/v2、OSPF)、IP Multicast(DVMRP、PIM)、IPX等。
*支持第二层/三层多种VLAN的划分:端口/MAC地址/协议/IP子网/IEEE802.1Q/Cisco ISL。
*具有带宽预留(RSVP)及具有CoS和QoS的业务量优先级处理,支持IEEE802.1、DifferServ。
*可设定访问列表控制(Access List Control)的过滤规则,或基于防火墙的安全策略。
*支持PPPoE,支持安全用户认证,配合用户计费,增强用户管理特性。
*支持以及网带宽单元递增分配服务。
5
路由与交换 by:吴海云
*ASIC的可编程性,支持诸如IPv6的技术和其他未来技术,保护用户投资。
三种技术的对比
可以看出,二层交换机主要用在小型局域网中,机器数量在五、六十台以下,这样的网络环境下,广播包影响不大,二层交换机的快速交换功能、多个接入端口和低谦价格为小型网络用户提供了很完善的解决方案。在这种小型网络中根本没必要引入路由功能从而增加管理的难度和费用,所以没有必要使用路由器,当然也没有必要使用三层交换机。
三层交换机是为IP设计的,接口类型简单,拥有很强二层包处理能力,所以适用于大型局域网,为了减小广播风暴的危害,必须把大型局域网按功能或地域等因素划分成一个一个的小局域网,也就是一个一个的小网段,这样必然导致不同网段之间存在大量的互访,单纯使用二层交换机没办法实现网间的互访而单纯使用路由器,则由于端口数量有限,路由速度较慢,而限制了网络的规模和访问速度,所以这种环境下,由二层交换技术和路由技术有机结合而成的三层交换机就最为适合。
路由器端口类型多,支持的三层协议多,路由能力强,所以适合于在大型网络之间的互连,虽然不少三层交换机甚至二层交换机都有异构网络的互连端口,但一般大型网络的互连端口不多,互连设备的主要功能不在于在端口之间进行快速交换,而是要选择最佳路径,进行负载分担,链路备份和最重要的与其它网络进行路由信息交换,所有这些都是路由完成的功能。在这种情况下,自然不可能使用二层交换机,但是否使用三层交换机,则视具体情况而下。影响的因素主要有网络流量、响应速度要求和投资预算等。三层交换机的最重要目的是加快大型局域网内部的数据交换,揉合进去的路由功能也是为这目的服务的,所以它的路由功能没有同一档次的专业路由器强。在网络流量很大的情况下,如果三层交换机既做网内的交换,又做网间的路由,必然会大大加重了它的负担,影响响应速度。在网络流量很大,但又要求响应速度很高的情况下由三层交换机做网内的交换,由路由器专门负责网间的路由工作,这样可以充分发挥不同设备的优势,是一个很好的配合。当然,如果受到投资预算的限制,由三层交换机兼做网间互连,也是个不错的选择。
在过去,网络中的数据在一般情况下遵守“80/20”规则,即只有大约20%是通过骨干路由器与中央服务器或企业网络的其他部分进行通信,而80%的网络流量主要仍集中在不同的部门子网内。而在今天这个比例已经被提高到了50%乃至80%。为了应付不断增长的数据流量,共享介质型的网络纷纷被交换型网络所替代。这种变化对原来用于网络分段的传统路由器产生了直接的冲击。鉴于有如此之大的流量跨越IP或IPX子网,路由器事实上已经成为了网络传输的瓶颈。
传统路由器的主要功能是实现路由选择与网络互连,即通过一定途径获知子网的拓扑信息与各物理线路的网络特性,并通过一定的路由算法获得到达各子网的最佳路径,建立相应路由表,从而将每个IP包跳到跳(hop to hop)传到目的地,其次它必须处理不同的链路协议。IP包途径每个路由器时,需经过排
6
路由与交换 by:吴海云
队、协议处理、寻址选择路由等软件处理环节,造成延时加大。同时路由器采用共享总线方式,总的吞吐量受限,当用户数量增加时,每个用户的接入速率降低。路由器更注重对多种介质类型和多种传输速度的支持,而目前数据缓冲和转换能力比线速吞吐能力和低时延更为重要。虽然路由器的性能最近也得到了一定的提高,大约达到1Mpps,但采用这种路由器的费用也高得惊人。
交换技术相对于路由技术的好处就是快,当网络规模很大时,高速、大容量路由器是十分必要的。另一方面,由于现代通信网络大都采用光纤技术,所以现在数据网络的主要瓶颈是节点/路由器。现在的L3交换、路由交换或其它名词都是这种思路的结果。虽然三层交换最初是为LAN设计的,它采用目的IP地址进行交换,但是现在这种技术也已经开始在WAN中使用。
第三层交换在现在的网络建设中起着越来越重要的作用,它可以不将广播封包扩散,直接利用动态建立的MAC地址来通信,如IP地址、ARP等,具有多路广播和虚拟网间基于IP、IPX等协议的路由功能,这方面功能的顺利实现得力于专用集成电路(ASIC)的加入,把传统的由软件处理的指令改为ASIC芯片的嵌入式指令,从而加速了对包的转发过滤,使得高速下的线性路由和服务质量都有了可靠的保证。
三层交换机和路由器都工作在网络的第三层,根据ip地址进行数据包的转发(或交换),原理上没有太大的区别, 这两个名词趋向于统一,所谓交换路由器和路由交换机指的是同一样东西。我们可以认为三层交换机就是一个多端口的路由器。
但如果从二者的历史的发展的角度去寻找,我们还是能够找出一些差别的:
路由器的历史比较久远一些,80年代中期思科就推出了业界第一台路由器。路由器的推出是为了解决远程的、 不同网段的互连互通,所谓“路由”就是根据网络上数据包(如IP Packet)的目的地址(如IP地址)查表, 以决定并将该数据包转发到通往目的地的“下一跳”。由于路由算法比较复杂, 早期的路由器一般都是基于CPU以“单跳时钟”指令计算的方式来处理和转发数据包,这种方式转发数据包的效率是比较低的。 但我们不要忘了,在当时,远程广域的互连互通是第一位的,而需要并用得起路由器的是大企业大机构(如银行)。一方面, 承载数据的广域网链路速度比较低(低于1个E1=2Mbps,如PSTN、ISDN、DDN、Frame Relay等),另一方面当时的应用以UNIX主机计算为主,所以网络传输的速度并不是大问题。
总结起来,传统的路由器有3个特点:
1、基于CPU的单步时钟处理机制 2、能够处理复杂的路由算法和协议 3、主要用于广域网的低速数据链路
进入90年代,PC机的飞速发展,导致以太网和TCP/IP协议的迅速崛起和广泛应用,企业内部网络越来越庞大, Internet已经成为最大的广域网,企
7
路由与交换 by:吴海云
业的远程互连互通已经越来越从自建(租)的专网转向Internet。 这些变化直接导致了交换机的出现,路由器的升级换代,以及路由器和交换机的融合。
最早的以太网交换机于95年前后问世,其前身是网桥。网桥工作在网络的第二层,它的作用之一是隔离网络广播风暴。我们知道, 以太网上主机之间通讯链路的建立很大程度上依赖于一种广播包,严格来说广播包只负责建立和维系通讯而不传送有效的数据, 当网络上主机数量增大时广播包会以指数级增长,占用太多带宽,降低网络效率(权威的说法,一个以太网段的主机数量不要超过30台, 超过时就应该用网桥加以隔离)。网桥很像一个有着左膀和右臂的人, 它根据以太网上数据帧(Frame)的目的MAC地址决定是否将帧在左右手之间交换。广播包是没有目的地址的(意味着给所有人), 所以被隔断。我们可以把交换机理解成一个多端口的网桥,连接在它的每一个端口上的主机或网段独享带宽,各端口之间的交换相对独立, 提高了网络效率。交换机工作在网络第二层,算法相对简单,很快就有芯片厂家将其固化, 生产出交换机的核心ASIC芯片,推出硬件的线速度交换机。
总结起来,传统的交换机有3个特点:
1、基于ASIC硬件,线速度交换
2、工作在网络第二层,主要是以太网 3、主要用于局域网的快速数据交换
随着企业内部网络的进一步扩到,主机增加到成百上千台,网络第三层的广播风暴成为了问题(权威的说法: 一个TCP/IP网段上的主机数量不要超过300台)。传统的交换机工作在网络第二层,不能隔离三层的广播。 一个的解决办法是在交换机上做VLAN隔离,再将VLAN上汇聚到上级路由器上,由路由器实现不同网段(3层网段)之间的路由转发。 这就是最初的路由+交换模型,典型的产品是CISCO的Catalyst 5500路由交换机。
三层交换的应用
三层交换机的应用其实很简单,主要用途是代替传统路由器作为网络的核心。因此,凡是没有广域网连接需求,同时需要路由器的地方,都可以用三层交换机代替。
在企业网和教学网中,一般会将三层交换机用在千兆端口或百兆端口连接不同的子网或VLAN。因为其网络结构相对简单,节点数相对较少。另外,它不需要较多的控制功能,并且要求成本较低。
在目前火爆的宽带网络建设中,三层交换机一般被放置在小区的中心和多个小区的汇聚层,三层交换机的出现动摇了企业路由器的地位。正如路由器统治广域网一样,三层交换机将在今后主宰局域网已成为不争的事实。
从当前国内的情况来看,三层交换机发展势头良好。TCL网络设备公司最新推出S4326MF就是一款性能优良的三层以太网交换机。该款可用做网络交换机、网络节点交换机和服务器群交换机,同TCL网络系列以太网交换机配合
8
路由与交换 by:吴海云
使用,网络管理者能构造无缝的10/100/1000Mbit/s以太交换网络系统,为整个网络系统提供统一的网络服务。这样的网络系统结构简单,同时融合了可伸缩的网络速率、性能、网络规模和基于策略的QoS服务。S4326mf三层以太网交换机为网络提供QoS服务,包括优先级管理、带宽管理、VLAN交换等。基于策略的QoS使得网络管理者能为各种不同类型的网络流量包括TCP/UDP会话按优先级分配带宽而没有任何交换性能上的损失。
交换机不能取代路由器
近年来随着Internet/Intranet的迅猛发展和B/S计算模式的广泛应用,跨地域、跨网络的业务急剧增长,业界和用户深感传统的路由器在网络中的瓶颈效应。
而三层交换机既可操作在网络协议的第三层,起到路由决定的作用,又具有几乎达到第二层交换的速度,且价格相对较低。
一时间,三层交换机将取代路由器成为网络界最流行的话题。但事实果真如此吗?
传统的路由器在网络中有路由转发、防火墙、隔离广播等作用,而在一个划分了VLAN以后的网络中,逻辑上划分的不同网段之间通信仍然要通过路由器转发。
由于在局域网上,不同VLAN之间的通信数据量很大,这样,如果路由器要对每一个数据包都路由一次,随着网络上数据量的不断增大,它将成为瓶颈。而第三层交换技术就是将路由技术与交换技术合二为一的技术。
在对第一个数据流进行路由后,它将会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率。
路由器的转发采用最长匹配的方式,实现复杂,通常使用软件来实现。而三层交换机的路由查找是针对流的,它利用CACHE技术,很容易采用ASIC实现,因此,可以大大节约成本,并实现快速转发。
但从技术上讲,路由器和三层交换机在数据包交换操作上存在着明显区别。路由器一般由基于微处理器的引接执行数据包交换,而三层交换机通过硬件执行数据包交换。因此与三层交换机相比,路由器功能更为强大,像NAT、VPN等功能仍无法被完全替代。
处于同一个局域网中的各子网的互联,可以用三层交换机来代替路由器,但局域网必须与公网互联以实现跨地域的网络,这时路由器就不可缺少。一个完全构建在交换机上的网络会出现诸如碰撞、堵塞以及通信混乱等问题。使用路由器将网络划分为多个子网,通过路由所具备的功能来有效进行安全控制策略,则可以避这些问题。
三层交换机现在还不能提供完整的路由选择协议,而路由器则具备同时处理多个协议的能力。当连接不同协议的网络,像以太网和令牌环的组合网络,
9
路由与交换 by:吴海云
依靠三层交换机是不可能完成网间数据传输的。除此之外,路由器还具有第四层网络管理能力,这也是三层交换机所不具备的。
所以,三层交换机并不等于路由器,也不可能完全取代路由器。
关于四层交换
第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据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层交换的基础。\"熟知\"端口号举例:
应用协议 端口号
FTP 20(数据)
10
路由与交换 by:吴海云
21(控制)
TELNET 23
SMTP 25
HTTP 80
NNTP 119
NNMP 16
TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。具有第四层功能的交换机能够起到与服务器相连接的“虚拟IP”(VIP)前端的作用。每台服务器和支持单一或通用应用的服务器组都配置一个VIP地址。
这个VIP地址被发送出去并在域名系统上注册。在发出一个服务请求时,第四层交换机通过判定TCP开始,来识别一次会话的开始。然后它利用复杂的算法来确定处理这个请求的最佳服务器。一旦做出这种决定,交换机就将会话与一个具体的IP地址联系在一起,并用该服务器真正的IP地址来代替服务器上的VIP地址。
每台第四层交换机都保存一个与被选择的服务器相配的源IP地址以及源TCP 端口相关联的连接表。然后第四层交换机向这台服务器转发连接请求。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现会话为止。在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流。
如何选用合适的第四层交换
a、速度
为了在企业网中行之有效,第四层交换必须提供与第三层线速路由器可比拟的性能。也就是说,第四层交换必须在所有端口以全介质速度操作,即使在多个千兆以太网连接上亦如此。千兆以太网速度等于以每秒1488000 个数据包的最大速度路由(假定最坏的情形,即所有包为以及网定义的最小尺寸,长64字节)。
b、服务器容量平衡算法
依据所希望的容量平衡间隔尺寸,第四层交换机将应用分配给服务器的算法有很多种,有简单的检测环路最近的连接、检测环路时延或检测服务器本身的闭环反馈。在所有的预测中,闭环反馈提供反映服务器现有业务量的最精确的检测。
11
路由与交换 by:吴海云
c、表容量
应注意的是,进行第四层交换的交换机需要有区分和存贮大量发送表项的能力。交换机在一个企业网的核心时尤其如此。许多第二/ 三层交换机倾向发送表的大小与网络设备的数量成正比。对第四层交换机,这个数量必须乘以网络中使用的不同应用协议和会话的数量。因而发送表的大小随端点设备和应用类型数量的增长而迅速增长。第四层交换机设计者在设计其产品时需要考虑表的这种增长。大的表容量对制造支持线速发送第四层流量的高性能交换机至关重要.
d、冗余
第四层交换机内部有支持冗余拓扑结构的功能。在具有双链路的网卡容错连接时,就可能建立从一个服务器到网卡,链路和服务器交换器的完全冗余系统。
结束语
路由+交换是一个过渡产品, 今天的三层交换机在体系结构上已有很大的改观,路由和交换通过ASIC充分揉合,第一个包经过路由算法确定路径后, 后续的数据包交由交换引擎实现线速度交换。当然,把所有的路由算法都固化还很困难, 这就是今天的三层交换机要么不能100%实现线速交换,要么只能支持有限的简单的路由协议的原因。
传统的路由器随着Internet的发展也继续保持其生命力。复杂的协议(如BGP、MPLS), 新的功能和应用(如VPN、Security)都离不开软件和CPU的计算,但路由器在体系结构上也进行了非常大的改进, 并融合了越来越多的固件和ASIC。
路由和交换的发展透析着IT产业软件和硬件的演变,并将随着人们对功能和性能的不懈追求而继续演变下去。
12
因篇幅问题不能全部显示,请点此查看更多更全内容