(Destination Lookup Failure)报文,交换机对此类报文的处理就象对收到一个广播报文处理一样,将此报文从进入端口所属的VLAN中扩散出去。从以上过程可以看出,所有二层转发都是由硬件完成的,无论是MAC地址表的学习过程还是目的地址查找确定输出端口过程都没有软件进行干预。
下面我们看一下两个站点通过三层交换机实现跨网段通信是怎样一个过程。 如上例,站点A、B通过三层交换机进行通信。站点A和B所在网段都属于交换机上的直连网段,若站点A和站点B不在同一子网内,发送站A首先要向其“缺省网关”发出ARP请求报文,而“缺省网关”的IP地址其实就是三层交换机上站点A所属VLAN的IP地址。当发送站A对“缺省网关”的IP地址广播出一个ARP请求时,交换机就向发送站A回一个ARP回复报文,告诉站点A交换机此VLAN的MAC地址,同时可以通过软件把站点A的IP地址、MAC地址、与交换机直接相连的端口号等信息设置到交换芯片的三层硬件表项中。站点A收到这个ARP回复报文之后,进行目的MAC地址替换,把要发给B的包首先发给交换机。交换机收到这个包以后,同样首先进行源MAC地址学习,目的MAC地址查找,由于此时目的MAC地址为交换机的MAC地址,在这种情况下将会把该报文送到交换芯片的三层引擎处理。一般来说,三层引擎会有两个表,一个是主机路由表,这个表是以IP地址为索引的,里面存放目的IP地址、下一跳MAC地址、端口号等信息。若找到一条匹配表项,就会在对报文进行一些操作(例如目的MAC与源MAC替换、TTL减1等)之后将报文从表中指定的端口转发出去。若主机路由表中没有找到匹配条目,则会继续查找另一个表――网段路由表。这个表存放网段地址、下一跳MAC地址、端口号等信息。一般来说这个表的条目要少得多,但覆盖的范围很大,只要设置得当,基本上可以保证大部分进入交换机的报文都走硬件转发,这样不仅大大提高转发速度,同时也减轻了CPU的负荷。若查找网段路由表也没有找到匹配表项,则交换芯片会把包送给CPU处理,进行软路由。由于站点B属于交换机的直连网段之一,CPU收到这个IP报文以后,会直接以B的IP为索引检查ARP缓存,若没有站点B的MAC地址,则根据路由信息向B站广播一个ARP请求,B站得到此ARP请求后向交换机回复其MAC地址,CPU在收到这个ARP回复报文的同时,同样可以通过软件把站点B的IP地址、MAC地址、进入交换机的端口号等信息设置到交换芯片的三层硬件表项中,然后把由站点A
发来的IP报文转发给站点B,这样就完成了站点A到站点B的第一次单向通信。由于芯片内部的三层引擎中已经保存站点A、B的路由信息,以后站点A、B之间进行通信或其它网段的站点想要与A、B进行通信,交换芯片则会直接把包从三层硬件表项中指定的端口转发出去,而不必再把包交给CPU处理。这种通过“一次路由,多次交换”的方式,大大提高了转发速度。需要说明的是,三层引擎中的路由表项大都是通过软件设置的。至于何时设置、怎么设置并不存在一个固定的标准,我们在此也不详细讨论。一个单波IP报文从进入三层交换机到转发出去一般来说走以下流程:
通过以上流程我们可以了解报文在交换机中的执行过程,同时我们也可以清楚的看出三层交换机是如何充分把传统交换机和路由器的优势有机的结合在一起。
在实际应用的网络环境中,对于跨网段通信的需求不断提高,过去的网络在一般情况下按“80/20分配”规则,即只有20%的流量是通过骨干路由器与中央服务器或企业网的其他部分通信,而80%的网络流量主要仍集中在不同的部门子网内。而今天,这个比例已经提高到了50%,甚至80%(倒二八,20/80),这是因为今天的网络正在经历着诸多应用的集合影响。网络应用已经超越了组件和电子信函,新型应用已经如此迅速和深刻地冲击着网络,比如,任何人通过任何一个浏览器便可进行访问设定的网页,支持诸如销售、服务和财务之类商业功能的数据仓库。这种变化对传统路由器产生了直接的冲击。因为传统的路由器更注重对多种介质类型和多种传输速度的支持,而目前数据缓冲和转换能力比线速吞吐能力和低时延更为重要。处于网络核心位置的路由器的高费用、低性能使其成为网络的瓶颈,但由于网络间互连的需求,它又是不可缺少的。虽然也开发了高速路由器,但是由于其成本太高,所以仅用于Internet主干部分。三层交换机将二层交换机和三层路由器两者的优势有机而智能化的结合在一起,在各个层次上提供线速性能,从而解决了传统路由器低速、复杂所造成的网络瓶颈问题。在没有广域网连接需求的场合,用于连接不同子网的传统路由器正在以极快的速度被三层交换机所代替。 3.小结
三层交换从概念的提出到今天的普及应用,虽然只历经了几年的时间,但
其在网络建设中的应用越来越广泛,从最初骨干层、中间的汇聚层一直渗透到边缘的接入层。三层交换机以其速度快、性能好、价格低等众多的优势已经把路由器排挤到网络的“边缘”。凡是没有广域网连接需求,同时又需要路由器的地方,都可以用三层交换机代替。随着ASIC硬件芯片技术的发展和实际应用的推广,三层交换的技术与产品会得到进一步发展。
第四层交换
一、第四层交换简述
第四层交换的一个简单定义是:它是一种功能,它决定传输不仅仅依据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
TCP/UDP端口号提供的附加信息可以为网络交换机所利用,这是第四层交换的基础。
具有第四层功能的交换机能够起到与服务器相连接的“虚拟IP”(VIP)前端的作用。
每台服务器和支持单一或通用应用的服务器组都配置一个VIP地址。这个VIP地址被发送出去并在域名系统上注册。
在发出一个服务请求时,第四层交换机通过判定TCP开始,来识别一次会话的开始。然后它利用复杂的算法来确定处理这个请求的最佳服务器。一旦做出这种决定,交换机就将会话与一个具体的IP地址联系在一起,并用该服务器真正的IP地址来代替服务器上的VIP地址。
每台第四层交换机都保存一个与被选择的服务器相配的源IP地址以及源TCP 端口相
关联的连接表。然后第四层交换机向这台服务器转发连接请求。所有后续包在客户机与服务器之间重新影射和转发,直到交换机发现会话为止。 在使用第四层交换的情况下,接入可以与真正的服务器连接在一起来满足用户制定的规则,诸如使每台服务器上有相等数量的接入或根据不同服务器的容量来分配传输流。 三、第四层交换的作用
第四层交换的主要作用是提高服务器和服务器群的可靠性和可扩性。 如果服务器速度跟不上,即使是具有最快速交换的网络也不能完全确保端到端的性能。可以想见高优先权的业务在这种QoS使能的网络中会因服务器中低优先权的业务队列而阻塞。在更糟的情况下,服务器甚至会丧失循环处理业务的能力。
设计在服务器上的第四层交换的目的就是扩展过去服务器和应用中第二层和第三层交换的性能和业务流的管理功能。 四、第四层交换的优势
第四层交换使用第三层和第四层信息包的报头信息,根据应用区间识别业务流,将整个区间段的业务流分配到合适的应用服务器进行处理。
每个开放的区间与特定的服务器相关,为跟踪服务器,第四层交换使多个服务器支持的特殊应用,随服务器的增加而线性增强整体性能。同时,第四层交换通过减少对任何特定服务器的依赖性而提高应用的可靠性。
第四层交换也要求端到端QoS,提高第二层和第三层交换一包接一包QoS传输的能力。例如,从级别高的用户来的业务或重要应用的网络业务流,可以分配给最快的I/O系统和CPU,而普通的业务就分配给性能较差的机器。 五、第四层交换与第二层、第三层交换
如果第二层交换是网桥的再现,第三层交换是路由,那么,什么是第四层交换?第四层交换可以根据专门的应用进行流量排队,这为基于规则的服务质量机制提供了一条更可操作的途径。我们可以把第四层交换叫作“会话交换机”。 1、第二层交换