二层,三层交换机的区别

  • Post author:
  • Post category:其他



二层,三层交换机的区别



二层交换机的工作流程:

(1)当交换机从某个端口收到一个数据包,它先读取包头的源MAC地址,这样就知道源MAC地址的机器是连在哪个端口;

(2)读取包头的目的MAC地址,并在地址表上查找啊相应的端口;

(3)如表中有这目的MAC地址对应的端口,把数据包直接复制到这个端口上,否则把数据包广播到所有端口上,当目的机器对源机器回应时,交换机又可以学习一目的MAC地址与对应端口,在下次传送数据是就不在需要对所有端口进行广播了。



二层交换:

它按照所接受数据包的目的MAC地址来进行转发,对于网络层或者高层协议来说是透明的。它不处理网络层的IP地址,TCP/UDP的端口地址,它只需要数据包的物理地址即MAC地址,数据交换是靠硬件来实现的,器速度相当快,这是二层交换的一个显著优点;但是,它不能处理不同IP子网的数据交换。

传统的路由器可以处理大量的跨越IP子网的数据包,但是他的转发效率比二层低,因此要想利用二层转发效率高这一优点,又要处理三层IP数据包,三层技术就诞生了。



三层交换:

传统的交换技术是在OSI网络标准模型中国的第二层——数据链路层 进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发。(三层交换技术=二层交换技术+三层转发技术)

在这里插入图片描述



三层交换技术的优势:

加快大型局域网内部的数据交换,所具有的路由功能也是为这目的服务,能够做到一次路由,多次转发。对于数据包转发等规律性的过程由硬件高速实现,而像路由信息更新、路由表维护、路由计算、路由确定等功能,由软件实现。

在这里插入图片描述



交换机此时会查看自己集成在ASIC硬件转发卡中的硬件转发表,那这个硬件转发表都包含了什么内容呢?

(1)当第一个包过来的时候,发现硬件转发表并没有什么表项,所以此时必须将数据包交由路由进程处理,一旦交由cpu处理,必然会消耗cpu资源,此时会查看路由表,然后发现此IP地址个自己是直连的,此时就去查看arp找出此地址对应的mac地址,就可以转发出去了

(2)在决定转发出去过程中,交换机至少会做三件事情,一,修改IP包头的ttl值;二,修改原mac地址,改成自己出接口mac地址;三,建立交换机硬件转发表,包括目的IP地址,目的IP地址(下一跳)对应的mac地址,mac地址对应的vlan,以及对应的端口(这个每个厂家有自己的理解)

这样当包过来的时候,交换机就会查看硬件转发表直接转发而不会在经过路由表的查询了,也即是交换机的一次路由,多次交换机原理。



总而言之:

一般来说,在内网数据流量大,要求快速转发响应的网络中,如全部由三层交换机来做这个工作,会造成三层交换机负担过重,响应速度受影响,将网间的路由交由路由器去完成,充分发挥不同设备的优点,不失为一种好的组网策略,当然,前提是你的腰包很鼓,不然就退而求其次,让三层交换机也兼为网际互连。

传统交换技术是在OSI网络标准模型第二层–数据链路层进行操作的,而三层交换技术是在网络模型中的第三层实现了数据包的高速转发,既可实现网络路由功能,又可根据不同网络状况做到最优网络性能。