三层交换机与路由器的区别_第1页
三层交换机与路由器的区别_第2页
三层交换机与路由器的区别_第3页
三层交换机与路由器的区别_第4页
三层交换机与路由器的区别_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

三层交换机与路由器的区别三层交换机与路由器的区别2007年04月12日星期四14:35 三层交换机在网上的应用越来越多,与传统的路由器加二层以太网交换机的组网方式比较,使用三层交换机可以明显的提高效率,降低成本,因为三层交换机在内部集成了路由功能和二层交换功能,并引入了一些其它机制和技术,使得转发效率特别高。给人的初步印象就是,三层交换机就是一个路由器和二层交换机的集合体(二层交换机并不一定专门指以太网交换机,也可能提供其它类型局域网技术的交换,比如令牌环,FDDI等)。这样的看法有一定的道理,但是很肤浅。实际上,三层交换机在实现的时候,专门做了一些优化,引入了一些普通路由器上不存在的转发技术,使得三层交换机的效率特别高。总体来说,三层交换机有下列特点,在文章中我们会 介绍:1、 三层交换机不但具有所有二层交换机的功能,比如基于MAC地址的数据帧转发,生成树协议,VLAN等,还具有三层功能,即能完成VLAN之间的三层互通;2、 一般三层交换机上都实现了三层精确查找,即根据数据帧的目的网络层地址直接检索内部的高速缓冲区,而传统的路由器进行的则是最长匹配查找,即根据数据帧的目的网络地址查找路由表,选择有最长匹配的作为转发依据;3、 专门针对局域网,特别是以太网进行优化,大部分三层交换机只提供以太网接口和ATM局域网仿真接口,有的三层交换机还提供了上行的高速接口,比如POS等,但路由器却接口种类丰富;4、 由于三层交换机可以在二层和三层对数据帧进行转发,于是一些特殊的应用又出现了,比如VLAN聚合,ARP代理等,这些应用在实际中应用很广泛;5、 伴随着一些特殊需求的出现,三层交换机并不仅仅局限于转发二层的以太网数据帧和三层的网络数据帧,而且集成了其它一些功能,比如DHCPReleay,服务质量,用户接入认证等。在以上的特点中,最重要的就是第一条,在一些文章中,把第二条,即实现基于网络层地址(不是网络地址,而是主机的三层地址)的精确匹配查询作为三层交换机的最重要特点,在一些低端的三层交换机中,这是有道理的,因为如果不实现精确的三层匹配查询而象传统路由器那样仅仅依据最长匹配查询路由表,在以软件实现的这些设备中,效率是很低的,但如果在高端的三层交换机领域中,就不然了,因为实现的转发都是基于硬件的,即使使用最长匹配查询,其效率也不会有明显的降低,但如果这些高端交换机也实现了精确的三层匹配查询,效果会更明显。在下面的章节中,我们详细讲述上述特点,并给出一些实际中的三层交换机的例子。为了突出重点,文章在每个小节的结束都给出了一个小结,读者只要深入理解这些小结的含义,就说明已经掌握了本文的核心概念,因而对三层交换机也有了一个大致的理解。第二章三层交换机基本特点在概述部分中,我们给出了三层交换机的基本特点综述,主要有下列特点:1、 二层交换和三层互通2、 实现三层精确匹配查询3、 专门针对局域网,特别是以太网进行了优化4、 引入了一些在二层交换机和三层路由器上都不存在的特性5、 实现了初步的BAS功能一般来说,只要能做到第一点,就可以称为三层交换机了,但目前大多数流行的三层交换机都不局限于第一点,而是实现了上述的大部分功能。因此,为了更好的理解三层交换机,接下来我们对上述特点进行详细讲述。2.1二层交换和三层互通三层交换机首先是一个交换机,即完成二层交换功能。在以太网上,跟普通的二层交换机一样,三层交换机也维护一张用于二层交换的地址表(通常称为CAM表),该表是MAC地址与出接口的对应关系。这样每当接收到一个以太网数据帧,三层交换机判断如果该数据帧不是发送给自己的(这个概念很重要,至于三层交换机怎么判断,在下面的讲述中会详细说明),则根据数据帧的目的MAC地址查询CAM表,如果能命中(所谓命中,就是在CAM表中找到与该MAC地址对应的转发项),则根据查询的结果,通常是一个出接口列表,来进行转发。如果不能命中,则向所有端口广播该数据帧。交换机的这张CAM表可以通过多种方式获得,比如静态配置,动态学习,针对多播还可以通过各种多播协议,比如IGMP窥探,GMRP协议等方式获得(注意,多播转发表不能通过学习获得,而且多播转发项跟普通转发项不同的是,跟其对应的出口可能不止一个,而是一个出口集合,如果想详细了解多播的一些基础概念,请参考前面的专题资料)。但对于单播,最重要的一种建立方式是学习。当交换机接收到一个数据帧,提取出该数据帧的目的MAC地址,并依此为根据进行CAM表查询,如果能查找到结果,则根据结果进行数据帧的转发,如果不能命中,则(向除接收端口外的)所有端口进行复制。在进行数据转发的同时,交换机还进行一个学习的过程,交换机把数据帧的源MAC地址提取出来,查询CAM表,看CAM表中是否有针对该MAC地址的转发项,如果没有,则把该MAC地址和接收到该MAC地址的端口绑定起来,插入CAM表项,这样当接收到一个发送到该MAC地址的数据帧时,就不需要向所有端口广播,而仅仅向这一个端口发送即可。需要注意的是,数据帧的转发是依据目的MAC地址查询CAM表,而CAM表的学习则是以源MAC地址为依据。交换机动态学习的CAM表项并不是一成不变的,而是启动一个定时器,当该定时器递减到零时,该CAM表项被删除,每使用一次该CAM表项进行转发,则恢复定时器初始值。上述情况是没有VLAN的工作过程,现在的交换机一般都实现了VLAN(即虚拟局域网,详细内容请参考以太网的有关教程),这样在交换机进行转发的CAM表就进行了变化,由原来的两项对应关系(MAC地址跟接口)变成了三项对应关系(MAC地址,VLANID,出口),这样当接收到一个数据帧的时候,交换机根据数据帧的目的MAC地址和VLANID两项来查询CAM表,找到接口后把该数据帧转发出去。但如果交换机根据MAC地址和VLANID查询CAM表失败,即没有跟该MAC和VLANID的对应关系,则交换机把该数据帧向该VLAN包含的(除接收端口以外的)所有端口上复制。如果只根据CAM表来确定一个VLAN包含哪些端口,则必须遍历整个CAM表,这样如果CAM表的规模非常大(一般情况下是4K以上),则效率特别低,所以一般的交换机上在实现VLAN时,还创建另外一张表,即VLAN配置表,该表包含了VLANID和所有端口的对应关系,即只要根据VLANID查询该表,就可以找到该VLAN包含的所有端口,这样在进行VLAN内广播的时候,就非常容易。另外一个问题出现了,就是数据帧的VLANID是怎样获得的。交换机一般根据下列原则来给一个数据帧附加上VLANID:1、 如果接收到数据帧的端口是一个非TAG端口,且数据帧是一个普通数据帧,则附加上该端口的默认VLANID;根据农基文的理解:当一个非TAG端口收到了一个数据帧,且含有VLANID时,做判断,如果VLANID=端口PVID,则可以接收;否则,丢弃。2、 如果接收到数据帧的端口是一个TAG端口,而数据帧是一个普通数据帧,则附加上该端口的默认VLANID;3、 如果接收到数据帧的端口是一个TAG端口,数据帧自己携带了VLANID(通过802.1Q协议),则该数据帧的VLANID就是携带的VLANID。需要注意的是,实现VLAN的交换机在查询CAM表进行转发之前,首先给该数据帧附加上VLANID。以上功能都是二层功能,作为一台三层交换机,上述功能是必须实现的,但三层交换机的最根本特点还是VLAN间的互通。在三层交换机上,VLAN之间的互通是通过实现一个虚拟VLAN接口来实现的,即针对每个VLAN,交换机内部维护了一个与该VLAN对应的接口,该接口对外是不可见的,是一个虚拟的接口,但该接口有所有物理接口所具有的特性,比如有MAC地址,可配置最大传输单元和传输的以太网帧类型等。在上述的说明中,我们提到了当交换机接收到一个数据帧时,判断是不是发给自己的,判断的依据便是查看该MAC地址是不是针对接收数据帧所在VLAN的接口MAC地址,如果是,则进行三层处理,若不是,则进行二层处理,按照上述流程进行转发。既然实现了三层转发,交换机必须维护一个三层转发表,该表可以是基于最长匹配查询的FIB表,也可以是基于目的网络层地址精确匹配的三层转发表,这跟实现的厂家设备有关。这样当交换机接收到一个数据帧,该数据帧的目的MAC地址跟该数据帧所在VLAN对应的VLAN接口的MAC地址相同,则进行三层转发。转发的过程是查询三层转发表,查找的结果是一个(或多个,当数据帧是多播的时候)出口和相应的二层封装数据,交换机于是把该数据帧所携带的三层数据帧(比如,是IP或IPX数据报)进行修改,比如修改校验和,在IP协议中还进行TTL字段递减,然后重新计算CHECKSUM,完成这些后,就把该三层数据包进行二层封装(根据三层转发表查找的结果),从相应的接口发送出去。这个三层转发表的形成跟二层转发表(CAM表)的形成有很大的不同,它是通过查询路由表并经过其它协议(比如ARP协议)形成的。在后面介绍典型产品实例的时候,我们以例子来讲述三层转发表的形成。&本部分有下列要点:1、 三层交换机有二层交换机所有功能,比如基于MAC地址的过滤(也就是基于MAC地址的单播转发),生成树协议等;2、 三层交换机通过为每个VLAN分配一个VLAN接口完成VLAN之间的互通,VLAN接口有自己的MAC地址和IP地址,凡目的MAC地址是VLAN接口的数据帧,交换机都进行三层转发或自己接收一取决于目的IP地址是否是交换机的接口地址。2.2三层精确匹配查询在路由器上,每当接收到一个数据报,路由器便进行路由表的查询来找出该数据报的下一跳,然后通过相应的接口发送出去。路由器查询路由表采用的是最长匹配算法,在以前的路由器中,最长匹配算法采用软件实现,而且实现起来非常复杂,导致了效率特别低。我们可以设想,能否改变这种最长匹配的查找思想,而采用精确匹配的查找技术实现呢?可以引入一个高速缓冲区,用来存放精确查询所需要的信息(一般是三层IP地址跟出口的对应fib表,还关联有一些二层封装信息Arp表,比如链路层头等),当接收到一个需要进行三层转发的数据帧的时候,路由器先查询高速缓冲区(采用精确匹配算法,即直接根据目的IP地址进行索引),如果命中,则根据查询出的信息进行数据的转发,如果不能命中,则查询路由表(采用最长匹配算法),根据查询的结果进行转发,同时更新相应的精确查询缓冲区,这样当到达同一个目的地的数据报来的时候,就可以直接查询精确匹配缓冲区进行转发了。跟CAM表一样,精确匹配查询项也有一个定时机制,超过了一定的时间限制就从缓冲区中删除掉,跟CAM表不同的是,三层精确匹配查询项跟路由表同步,每当路由表变化,必定修改精确转发缓冲区,来保证跟路由表的同步。如果数据链路层是以太网,网络层是IP,则这个三层高速转发缓冲区是通过ARP协议建立的,我们说明它的工作过程。开始的时候,三层交换机只有一张用于路由的路由表(该路由表是通过路由协议建立的),而精确匹配的三层转发表为空,这样当三层交换机接收到一个需要进行三层交换的数据帧时,它首先查询三层精确匹配缓冲区,因为三层转发表为空,查询失败,于是,三层交换机通过最长匹配算法查询路由表(根据数据报的目的IP地址),查询的结果是一个出口(一般是一个VLAN接口)和一个下一跳。于是,有两中可能的情况:1、 数据报的目的地址跟VLAN接口不在同一个网段;2、 数据报的目的地址跟VLAN接口在同一个网段。在第一种情况下,三层交换机通过ARP解析来解析下一跳IP地址,获得下一跳的MAC地址后,三层交换机把接收的数据帧进行二层封装,然后发送给下一跳。在第二种情况下,三层交换机直接解析数据报的目的IP地址,获得目的IP地址对应的主机MAC地址后,直接把该数据帧发送给目的主机。不论哪种情况,交换机进行ARP解析的时候,都会获得一个IP地址跟出口的对应关系,同时还通过ARP协议获得了下一跳的MAC地址,于是,三层交换机会把这些数据组合成一个三层精确匹配项,并插入到三层精确匹配缓冲区里面。这样当到达同一目的地的数据报到来后,三层交换机使用精确匹配算法直接查询高速缓冲区,根据查询的结果进行转发。需要说明的是,实现三层精确匹配并不是三层交换机必须具备的特性。在一些低端交换机的场合下,最长匹配查询采用软件实现,效率特别低,因而引入三层精确匹配算法,这是合理而且必须的,但对一些高端场合,就不适应了,在一些高端交换机上,最长匹配算法都是基于硬件实现的,而且采用了效率很高的树查找算法,其效率跟精确匹配算法相差无几,而且只采用最长匹配算法还减少了精确匹配缓冲区和路由表的同步问题,因而在一些基于硬件实现的三层交换机上,精确匹配不是必须的。在后面介绍典型实例分析的时候,我们会介绍仅仅采用最长匹配算法实现高端三层的交换机。&本部分有下列要点:1、三层交换机为了提高效率,采用了精确匹配查找算法,在一些高端三层交换机上,该特性不是必须的,因为采用最长匹配查找算法的效率并不一定比采用精确匹配查找算法效率差。2.3针对局域网进行优化传统的路由器提供丰富的接口种类,比如E1/T1,ISDN,Frame-Relay,X.25,POS,ATM,SMDS等,每种接口对应不同的封装类型,而且每种接口所对应的最大传输单元和最大接收单元都不相同,这样存在数据报分片的概率相当大,概括起来,这些特性使得路由器的转发效率特别低。而三层交换机是由二层交换机发展起来的,而且其发展过程中一直遵循为局域网服务的指导思想,没有过多的引入其它接口类型,而只提供跟局域网有关的接口,比如以太网接口,ATM局域网仿真接口等,这样接口类型单纯,大部分情况下三层交换机只提供以太网接口,这样在多种类型接口路由器上所碰到的问题就彻底消除了,比如,最大传输单元问题,由于各个接口都是以太网接口,一般不存在冲突的问题,分片的概率就大大降低了。接口类型单纯的另外一个好处就是在进行数据转发的时候,内部经过的路径比较单纯。现在的通信处理器一般都是集中在一块ASIC芯片上的,而且不同的接口类型有不同的ASIC芯片进行处理。这样如果接口类型比较单一,所需要的ASIC芯片就相对单一,交互起来必定流畅,使用ASIC芯片本身带的功能就可以完成多个接口之间的数据交换,但如果接口类型不统一,则必须有一个转换机构来完成这些芯片之间的数据交换,效率上大大影响。目前成熟的以太网接口速率最高可以达到1G(虽然10G的以太网已经商用,但还不是很普遍),如果需要更高的速率,只能采用链路聚合的方式把几个GE端口聚合成一个物理端口,虽然逻辑上是可行的,但实现起来可能会遇到这样那样的问题,比如聚合的链路不能跨越同一块处理板,芯片本身的问题等,于是有些交换机抛弃了这种纯粹以太网接口的解决方案,而引入了其它的接口类型作为上行接口,比如STM-16的POS接口(2.5GPOS接口)等。这些接口用于上行连接核心层设备。&本部分有下列要点:1、三层交换机专门针对局域网进行了优化,采用的接口类型比较单纯,一般只提供以太网接口,但有些交换机为了提咼上行链路的效率,也提咼了咼速的POS接口。之所以搞不清三层交换机和路由器之间的区别,最根本就是三层交换机也具有'路由”功能,与传统路由器的路由功能总体上是一致的。虽然如此,三层交换机与路由器还是存在着相当大的本质区别的1.主要功能不同虽然三层交换机与路由器都具有路由功能,但我们不能因此而把它们等同起来,正如现在许多网络设备同时具备多种传统网络设备功能一样,就如现在有许多宽带路由器不仅具有路由功能,还提供了交换机端口、硬件防火墙功能,但不能把它与交换机或者防火墙等同起来一样。因为这些路由器的主要功能还是路由功能,其它功能只不过是其附加功能,其目的是使设备适用面更广、使其更加实用。这里的三层交换机也一样,它仍是交换机产品,只不过它是具备了一些基本的路由功能的交换机,它的主要功能仍是数据交换。也就是说它同时具备了数据交换和路由由发两种功能,但其主要功能还是数据交换;而路由器仅具有路由转发这一种主要功能。2.主要适用的环境不一样三层交换机的路由功能通常比较简单,因为它所面对的主要是简单的局域网连接。正因如此,三层交换机的路由功能通常比较简单,路由路径远没有路由器那么复杂。它用在局域网中的主要用途还是提供快速数据交换功能,满足局域网数据交换频繁的应用特点。而路由器则不同,它的设计初哀就是为了满足不同类型的网络连接,虽然也适用于局域网之间的连接,但它的路由功能更多的体现在不同类型网络之间的互联上,如局域网与广域网之间的连接、不同协议的网络之间的连接等,所以路由器主要是用于不同类型的网络之间。它最主要的功能就是路由转发,解决好各种复杂路由路径网络的连接就是它的最终目的,所以路由器的路由功能通常非常强大,不仅适用于同种协议的局域网间,更适用于不同协议的局域网与广域网间。它的优势在于选择最佳路由、负荷分担、链路备份及和其他网络进行路由信息的交换等等路由器所具有功能。为了与各种类型的网络连接,路由器的接口类型非常丰富,而三层交换机则一般仅同类型的局域网接口,非常简单。3•性能体现不一样从技术上讲,路由器和三层交换机在数据包交换操作上存在着明显区别。路由器一般由基于微处理器的软件路由引擎执行数据包交换,而三层交换机通过硬件执行数据包交换。三层交换机在对第一个数据流进行路由后,它将会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据此表直接从二层通过而不是再次路由,从而消除了路由器进行路由选择而造成网络的延迟,提高了数据包转发的效率。同时,三层交换机的路由查找是针对数据流的,它利用缓存技术,很容易利用ASIC技术来实现,因此,可以大大节约成本,并实现快速转发。而路由器的转发采用最长匹配的方式,实现复杂,通常使用软件来实现,转发效率较低。正因如此,从整体性能上比较的话,三层交换机的性能要远优于路由器,非常适用于数据交换频繁的局域网中;而路由器虽然路由功能非常强大,但它的数据包转发效率远低于三层交换机,更适合于数据交换不是很频繁的不同类型网络的互联,如局域网与互联网的互联。如果把路由器,特别是高档路由器用于局域网中,则在相当大程度上是一种浪费(就其强大的路由功能而言),而且还不能很好地满足局域网通信性能需求,影响子网间的正常通信。三层交换机三层交换机就是具有部分路由器功能的交换机,三层交换机的最重要目的是加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务的,能够做到一次路由,多次转发。对于数据包转发等规律性的过程由硬件高速实现,而象路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。应用背景出于安全和管理方便的考虑,主要是为了减小广播风暴的危害,必须把大型局域网按功能或地域等因素划成一个个小的局域网,这就使VLAN技术在网络中得以大量应用,而各个不同VLAN间的通信都要经过路由器来完成转发,随着网间互访的不断增加。单纯使用路由器来实现网间访问,不但由于端口数量有限,而且路由速度较慢,从而限制了网络的规模和访问速度。基于这种情况三层交换机便应运而生,三层交换机是为IP设计的,接口类型简单,拥有很强二层包处理能力,非常适用于大型局域网内的数据路由与交换,它既可以工作在协议第三层替代或部分完成传统路由器的功能,同时又具有几乎第二层交换的速度,且价格相对便宜些。在企业网和教学网中,一般会将三层交换机用在网络的核心层,用三层交换机上的千兆端口或百兆端口连接不同的子网或VLAN。不过应清醒认识到三层交换机出现最重要的目的是加快大型局域网内部的数据交换,所具备的路由功能也多是围绕这一目的而展开的,所以它的路由功能没有同一档次的专业路由器强。毕竟在安全、协议支持等方面还有许多欠缺,并不能完全取代路由器工作。在实际应用过程中,典型的做法是:处于同一个局域网中的各个子网的互联以及局域网中VLAN间的路由,用三层交换机来代替路由器,而只有局域网与公网互联之间要实现跨地域的网络访问时,才通过专业路由器。三层交换机工作原理三层交换技术就是二层交换技术+三层转发技术。传统的交换技术是在OSI网络标准模型中的第二层——数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发。应用第三层交换技术即可实现网络路由的功能,又可以根据不同的网络状况做到最优的网络性能。为什么使用三层交换机?1、网络骨干少不了三层交换要说三层交换机在诸多网络设备中的作用,用“中流砥柱”形容并不为过。在校园网、城域教育网中,从骨干网、城域网骨干、汇聚层都有三层交换机的用武之地,尤其是核心骨干网一定要用三层交换机,否则整个网络成千上万台的计算机都在一个子网中,不仅毫无安全可言,也会因为无法分割广播域而无法隔离广播风暴。如果采用传统的路由器,虽然可以隔离广播,但是性能又得不到保障。而三层交换机的性能非常高,既有三层路由的功能,又具有二层交换的网络速度。二层交换是基于MAC寻址,三层交换则是转发基于第三层地址的业务流;除了必要的路由决定过程外,大部分数据转发过程由二层交换处理,提高了数据包转发的效率。三层交换机通过使用硬件交换机构实现了IP的路由功能,其优化的路由软件使得路由过程效率提高,解决了传统路由器软件路由的速度问题。因此可以说,三层交换机具有“路由器的功能、交换机的性能”。2、连接子网少不了三层交换同一网络上的计算机如果超过一定数量(通常在200台左右,视通信协议而定)就很可能会因为网络上大量的广播而导致网络传输效率低下。为了避免在大型交换机上进行广播所引起的广播风暴,可将其进一步划分为多个虚拟网( VLAN)。但是这样做将导致一个问题:VLAN之间的通信必须通过路由器来实现。但是传统路由器也难以胜任VLAN之间的通信任务,因为相对于局域网的网络流量来说,传统的普通路由器的路由能力太弱。而且千兆级路由器的价格也是非常难以接受的。如果使用三层交换机上的千兆端口或百兆端口连接不同的子网或VLAN,就在保持性能的前提下,经济地解决了子网划分之后子网之间必须依赖路由器

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论