交换机工作的基本原理需要结合实验来理解,下面是我听完课后通过华为模拟器实验总结的学习笔记 。
交换机工作在数据链路层,它对数据帧的转发是建立在mac地址基础之上的 。交换机 不同的接口发送和接收数据是独立的,各接口属于不同的冲突域,因此有效地隔离了网络 中的冲突域 。二层交换设备通过学习以太网数据帧的源MAC地址来维护MAC地址与接口的对应关系(保存MAC与接口对应关系的表称为MAC地址表),通过其目的MAC地址来查找MAC地址表决定向哪个接口转发 。
工作原理:
初始状态下,MAC地址表为空 。
文章插图
文章插图
文章插图
文章插图
【网工必备知识交换机基本原理与配置-华为版】
当PC1想要和PC2交换数据的时候,他需要先将自己的MAC地址和PC2的MAC地址封装起来发送给交换机,让它替自己寻找PC2,交换机接受到PC1的数据帧之后,会先学习PC1的MAC地址,然后把这个地址放在自己的MAC表上 。
文章插图
文章插图
文章插图
MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系 。交换机在转发 数据帧时,根据数据帧的目的MAC地址查询MAC地址表 。如果MAC地址表中包含与该帧目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;当交换机接收到数据帧的时候,发现MAC表并没有所需的MAC地址,这交换机将采取泛洪方式在除接收接口外的所有接口发送该报文,当符合该MAC地址的PC2识别之后,将该信息回传,交换机记录PC2的MAC地址,之后再将信息传回PC1 。
文章插图
文章插图
文章插图
交换机会通过传输介质进入其端口的每一个帧都进行转发操作,交换机的基本作用就是用 来转发数据帧 。 交换机对帧的处理行为一共有三种:泛洪(Flooding),转发(Forwarding),丢弃 (Discarding) 。 泛洪:交换机把从某一端口进来的帧通过所有其它的端口转发出去(注意,“所有其 它的端口”是指除了这个帧进入交换机的那个端口以外的所有端口) 。如果从传输介质进入交换机的某个端口的帧是一个单播帧,交换机会去MAC表查这个帧的 目的MAC地址 。如果查不到这个MAC地址,则交换机将对该单播帧执行泛洪操作 。如果从传输介质进入交换机的某个端口的帧是一个广播帧,交换机不会去查MAC地址表, 而是直接对该广播帧执行泛洪操作 。
如上面的实验图,PC1首次去访问PC2,且不知道对应的MAC地址,对E0/0/1接口进行抓包,发现进入交换机的某个端口的帧是一个ARP广播帧,交换机直接对该广播帧执行泛洪操作 。同时,交换机将收到的数据帧的源MAC地址和对应端口编号记录到MAC地址表中 。
文章插图
文章插图
对交换机执行DIS mac-address命令,发现原本空的MAC地址表中记录了PC1的相关信息 。
文章插图
文章插图
直到PC1和PC2正常通信后,再次对交换机执行DIS mac-address命令,发现交换机也学习到了PC2的相关信息 。
文章插图
文章插图
转发:交换机把从某一端口进来的帧通过另一个端口转发出去(注意,“另一个端口” 不能是这个帧进入交换机的那个端口) 。如果从传输介质进入交换机的某个端口的帧是一个单播帧,则交换机会去MAC表查这个帧的目的MAC地址 。如果查到了这个MAC地址表,则比较这个MAC地址在MAC地址表中对应的端口编号是不是这个帧从传输介质进入交换机的那个端口的端口编号 。如果不是,则交换机执行转发操作 。
推荐阅读
- 中国十大柑橘排名,中国十大名茶及关知识
- 茶壶收藏知识茶壶起源介绍
- 一名高级的Javaer,应该了解的 MYSQL 高级知识点
- Modbus,看这个就行了
- 一定要了解黑管知识
- OceanBase开源,11张图带你了解分布式数据库的核心知识
- Python重要知识,生成器的威力
- 15个颜色网站,设计师必备配色指南
- 春季养生小知识 你不得不知道
- 户外越野跑步十大必备装备