讲述三层交换机特性 精确完成各种配置,熟悉三层交换机对大家有好处。只要大家掌握了三层交换机特性,在应对交换机的问题时,就能够和合理的去处理了。也就能达到快速解决交换机故障的目的了哦。
三层精确匹配查询
在路由器上,每当接收到一个数据报,路由器便进行路由表的查询来找出该数据报的下一跳,然后通过相应的接口发送出去。路由器查询路由表采用的是最长匹配算法,在以前的路由器中,最长匹配算法采用软件实现,而且实现起来非常复杂,导致了效率特别低。
我们可以设想,能否改变这种最长匹配的查找思想,而采用精确匹配的查找技术实现呢?可以引入一个高速缓冲区,用来存放精确查询所需要的信息(一般是三层 IP地址跟出口的对应fib表,还关联有一些二层封装信息Arp表,比如链路层头等),当接收到一个需要进行三层转发的数据帧的时候。
路由器先查询高速缓冲区(采用精确匹配算法,即直接根据目的IP地址进行索引),如果命中,则根据查询出的信息进行数据的转发,如果不能命中,则查询路由表(采用最长匹配算法),根据查询的结果进行转发,同时更新相应的精确查询缓冲区,这样当到达同一个目的地的数据报来的时候,就可以直接查询精确匹配缓冲区进行转发了。
跟CAM表一样,精确匹配查询项也有一个定时机制,超过了一定的时间限制就从缓冲区中删除掉,跟CAM表不同的是,三层精确匹配查询项跟路由表同步,每当路由表变化,必定修改精确转发缓冲区,来保证跟路由表的同步。如果数据链路层是以太网,网络层是IP,则这个三层高速转发缓冲区是通过ARP协议建立的,我们说明它的工作过程。
开始的时候,三层交换机特性只有一张用于路由的路由表(该路由表是通过路由协议建立的),而精确匹配的三层转发表为空,这样当三层交换机接收到一个需要进行三层交换的数据帧时,它首先查询三层精确匹配缓冲区,因为三层转发表为空,查询失败,于是,三层交换机特性通过最长匹配算法查询路由表(根据数据报的目的IP地址),查询的结果是一个出口(一般是一个VLAN接口)和一个下一跳。于是,有两中可能的情况:
◆数据报的目的地址跟VLAN接口不在同一个网段;
◆数据报的目的地址跟VLAN接口在同一个网段。
在***种情况下,三层交换机通过ARP解析来解析下一跳IP地址,获得下一跳的MAC地址后,三层交换机特性把接收的数据帧进行二层封装,然后发送给下一跳。在第二种情况下,三层交换机特性直接解析数据报的目的IP地址,获得目的IP地址对应的主机MAC地址后,直接把该数据帧发送给目的主机。
不论哪种情况,交换机进行ARP解析的时候,都会获得一个IP地址跟出口的对应关系,同时还通过ARP协议获得了下一跳的MAC地址,于是,三层交换机会把这些数据组合成一个三层精确匹配项,并插入到三层精确匹配缓冲区里面。这样当到达同一目的地的数据报到来后,三层交换机特性使用精确匹配算法直接查询高速缓冲区,根据查询的结果进行转发。
需要说明的是,实现三层精确匹配并不是三层交换机特性必须具备的特性。在一些低端交换机的场合下,最长匹配查询采用软件实现,效率特别低,因而引入三层精确匹配算法,这是合理而且必须的,但对一些高端场合,就不适应了。
在一些高端交换机上,最长匹配算法都是基于硬件实现的,而且采用了效率很高的树查找算法,其效率跟精确匹配算法相差无几,而且只采用最长匹配算法还减少了精确匹配缓冲区和路由表的同步问题,因而在一些基于硬件实现的三层交换机上,精确匹配不是必须的。在后面介绍典型实例分析的时候,我们会介绍仅仅采用最长匹配算法实现高端三层的交换机。
本部分有下列要点:三层交换机特性为了提高效率,采用了精78确匹配查找算法,在一些高端三层交换机上,该特性不是必须的,因为采用最长匹配查找算法的效率并不一定比采用精确匹配查找算法效率差。
针对局域网进行优化
传统的路由器提供丰富的接口种类,比如E1/T1,ISDN,Frame-Relay,X.25,POS,ATM,SMDS等,每种接口对应不同的封装类型,而且每种接口所对应的***传输单元和***接收单元都不相同,这样存在数据报分片的概率相当大,概括起来,这些特性使得路由器的转发效率特别低。
而三层交换机特性是由二层交换机发展起来的,而且其发展过程中一直遵循为局域网服务的指导思想,没有过多的引入其它接口类型,而只提供跟局域网有关的接口,比如以太网接口,ATM局域网仿真接口等。
这样接口类型单纯,大部分情况下三层交换机只提供以太网接口,这样在多种类型接口路由器上所碰到的问题就彻底消除了,比如,***传输单元问题,由于各个接口都是以太网接口,一般不存在冲突的问题,分片的概率就大大降低了。
接口类型单纯的另外一个好处就是在进行数据转发的时候,内部经过的路径比较单纯。现在的通信处理器一般都是集中在一块ASIC芯片上的,而且不同的接口类型有不同的ASIC芯片进行处理。
这样如果接口类型比较单一,所需要的ASIC芯片就相对单一,交互起来必定流畅,使用ASIC芯片本身带的功能就可以完成多个接口之间的数据交换,但如果接口类型不统一,则必须有一个转换机构来完成这些芯片之间的数据交换,效率上大大影响。
目前成熟的以太网接口速率***可以达到1G(虽然10G的以太网已经商用,但还不是很普遍),如果需要更高的速率,只能采用链路聚合的方式把几个GE端口聚合成一个物理端口,虽然逻辑上是可行的,但实现起来可能会遇到这样那样的问题。
比如聚合的链路不能跨越同一块处理板,芯片本身的问题等,于是有些交换机抛弃了这种纯粹以太网接口的解决方案,而引入了其它的接口类型作为上行接口,比如STM-16的POS接口(2.5G POS接口)等。这些接口用于上行连接核心层设备。