一、前言
- 交换机位于数据链路层,数据链路层是OSI参考模型中的第二层,介乎于物理层和网络层之间。数据链路层在物理层提供的服务的基础上向网络层提供服务,其最基本的服务是将源自物理层来的数据可靠地传输到相邻节点的目标机网络层。
提示:以下是本篇文章正文内容,下面案例可供参考
二、基础知识
- 交换机的定义:交换机是一种用于电(光)信号转发的网络设备。它可以为接入交换机的任意两个网络节点提供独享的电信号通路,最常见的交换机是以太网交换机。
- 交换机的原理:当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去。交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所有MAC地址与该交换机各端口的对应信息。某一数据帧需要转发时,交换机根据该数据帧的目的MAC地址来查找MAC地址表,从而得到该地址对应的端口,即知道具有该MAC地址的设备是连接在交换机的哪个端口上,然后交换机把数据帧从该端口转发出去。
- 交换机的作用:简单说,就是记录一下哪个端口上有哪个MAC地址,形成一个MAC地址和端口的绑定表,按照这个表转发数据。交换机那全部转发的前提是在同一个VLAN内,并且在同一个网段(更专业的说法是在同一个网络)内。和原来的HUB(集线器)对比的话,交换机构建的是广播域,集线器构建的是冲突域
- 三层交换机:三层交换技术可以实现VLAN间通信三层交换=二层交换+三层转发,如图
三、“一次路由,多次交换”的原理。
当三层设备接收到一个数据帧,会拆除原数据帧,重新封装新的源MAC地址和目标MAC地址,并且因为帧头部的信息发生变化,最后的帧校验CRC也应当随之改变。
在这个流中的多个数据包,其中只有第一个数据包是由三层交换机的三层引擎来处理的,处理的方式是软件方式,与路由器相同,三层引擎获取了新的2层封装信息后,路由这个数据包。
在第一个数据包转发完成后,在硬件中创建一个MLS条目,用于后续的数据包由硬件执行的重新封装和快速转发。2层数据帧会被重新封装为需要转发的下一个网段的帧格式。