三层交换机原理

三层交换机

三层交换机与二层交换机相比是可以处理三层数据的,可以识别三层数据包,但是并不是一个二层交换机加路由器的组合叠加。*“一次路由,多次交换”*基本概括了三层交换机的原理,通过这句话可以把三层交换机剖析清楚。

首先简单回顾一下二层交换机的原理:
二层交换机是工作在数据链路层的设备,有三个数据处理能力,
①数据从一个接口进来,会识别该接口的MAC地址,放入MAC表里做一个源MAC和接口的记录,形成一个MAC地址表,这个表可以反映哪一个设备接在该交换机的哪一个接口。
②当MAC地址表建立好,二层数据进入设备查看MAC表,在MAC表里找到目的设备的接口,然后将数据发到这个接口,形成二层的单播帧。
③通过VLAN进行广播域的分割

三层交换机:当一个三层数据包进入三层交换机以后,会查看路由表,即“一次路由”,查找出接口和下一跳,之后会找到下一跳的MAC地址,进行二层封装的变换,和三层设备即路由器的本质是一样的(三层的本质是把一个子网的MAC迁移到另外一个子网,不同子网的MAC不可能会出现在同一个包的源目MAC上,把原有的二层封装去掉,封装上新的MAC地址,源是出接口的MAC地址,目的是下一跳的MAC地址,此时新的二层封装形成,数据包转发出设备),完成一次“路由器”的工作,如果找不到下一跳的MAC地址,进行ARP洪范,再找不到就丢弃。在做二层封装的时候,因为有目标MAC的存在,所以也可以说是三层的目标IP最后会映射到目标MAC上,此时会形成一个目标IP和封装目标MAC的映射,而三层交换机具有二层交换机的功能,则此时就形成了三层到二层的一个映射,转发一定是要找到接口,通过IP找到MAC,通过MAC找到对应出接口,相当于形成了一个IP的MAC表,那么三层IP进来以后就直接会找到对应的出接口,数据包就不需要再查看数据表,只需要变换一次二层封装就可以了。

简单来说,三层路由器的工作顺序就是:进来-查看路由表-变换二层封装-出去,三层交换机帮助路由器节约了一步,就是查看路由表的步骤,此步骤的省略会节约大量的时间,简化工作过程,即“多次交换”,一个IP对应一个接口,就和二层交换机的MAC表有一些类似了,是一种交换能力,省略了路由器递归查找的环节。这就是三层交换机的工作过程。总的来说,三层交换机最突出的地方就是

  1. “一次路由,多次交换”
  2. 第一次路由本质上找到了IP和接口的对应关系
  3. 直接利用IP和接口的对应关系进行数据交换,省掉了查找路由表的环节。

本质上三层交换机和路由器还是有一些区别的,三层交换机因为帮助路由器省掉了查找路由表的环节,所以工作速度会比路由表快。

而普通的三层交换机是绝对不能完全替代路由器的(这里不谈高端的三层交换机,因为高端的三层交换机会融合路由器的功能)

  1. 路由器的CPU和内存的性能是要强于三层交换机的,这就导致了路由器在做NAT转换(换IP的过程)的时候不能用交换的工作做出来,要查找、捕捉、存储,相当于给IP包头做手术一样,需要使用路由策略,是一个很复杂的过程,虽然NAT原理感觉上并不复杂,但是在操作的时候要比其他工作繁琐的多。这样就需要大量的内存与CPU资源,这个资源是普通三层交换机给不了的,所以一般的三层交换机上都没有NAT功能。
  2. 有很多强大、高端的路由协议,在生成路由表的时候要使用很多的高级算法,使用大量的内存来存放路由表,三层交换机对此工作也比较困难,比如OSPF,需要大量的计算资源,一般的三层交换机无法撑起庞大的内存与计算,也因此在做OSPF区域划分的时候,很少将三层交换机划入各个区域,尤其是骨干区域,没有人会将三层交换机作为OSPF的骨干承载设备。
  3. 路由器除了NAT和路由协议外,还需要做ipsec/隧道和策略,无论是隧道技术还是路由策略,都需要强大的内存与CPU,这也是三层交换机做不了的.etc。总的来说就是三层交换机的物理性能无法承载起很多路由器的工作,因此三层交换机无法完全替代路由器。(模块化的三层交换机可以加上路由引擎版,此时就相当于一台路由器了,拥有路由器的所有功能,如思科的45.65系列,华为的9系列)

另外,三层交换机主要的作用在于给内网提供子网间路由,不需要路由协议。一般的低性能的三层交换机只有静态路由的功能,动态路由的功能需要花费更多的金钱。
此外还有SVI技术,即交换机虚拟接口技术,vlan口,特别适合子网间路由。
企业网的边界一般使用路由器,因为需要NAT、IPSEC以及策略的功能,是路由器的强项;而企业内部需要的是大量的接口、高速的数据流通,是交换机的强项。

你可能感兴趣的:(原理)