交换机通常是运行在网络OSI七层模型的第二层数据链路层,如图中,第三层网络层通常是路由器运行在该层

今天我们来看看,交换机的工作转发原理是什么样的。

交换机既然是利用端口进行网络数据传输,那么它是如何识别数据是谁给谁的呢?

其实交换机通电后会自动建立一个端口地址表,也叫MAC地址表它会记录每个设备的MAC地址机和哪个端口连接的,它会有自动学习功能,一开始如果没有地址,每次经过交换机的信息,它都会读取并记录下送信息过来的设备端口MAC地址,如果下次有其他设备送信息给该设备,就直接送达了。

最普遍的情况下,转发原则是这样的:交换机收到一个以太帧数据,它自己会比对交换机已经学习到的端口地址表,如果表里存在端口地址,直接在对应的端口转发出去。如果表里不存在,则会向剩下的每个端口(除送信息过来的端口)广播发送一条相同的信息。

这是我能用自己的话把我所理解的交换机转发原理尽力展示给大家了,中间已经省掉一些没必要纠缠的专业术语了。

为了方便大家理解,手动图:


交换机A和交换机B,现在如果从主机01发一个数据到主机03,设定的前提是,交换机A和B的地址表都是空白。

那么首先,从主机01发数据到交换机A,交换机A在收到数据以后,先识别出主机的MAC地址是01(假设是01因为每台设备都是16进制的唯一地址),端口号是1。

交换机A查找自己MAC地址表,发现没有(如果有就直接转发),交换机A向其他的所有端口广播。

交换机B收到数据信息后,识别并学习源地址和过来的端口号。

交换机B查看地址表,发现没有,记录并向除了端口3以外的两个端口发送广播包。

最后的情况是,主机02会收到数据一次,不是自己的,丢弃数据;主机03收到数据一次,正好是自己的,接收数据;主机04也收到一次,丢弃。

整个转发过程就是这样了。

交换机的工作转发原理相关推荐

  1. 交换机与二层转发原理

    一:二层交换机原理 1.接收网段上的所有数据帧: 2.利用接收数据帧中的源MAC地址来建立MAC地址表(源地址自学习),使用地址老化机制进行地址表维护: 3.在MAC地址表中查找数据帧中的目的MAC地 ...

  2. 交换机二三层转发原理简单总结

    首先二层转发是基于MAC地址转发,三层转发基于IP地址转发,但是这并不意味着仅仅依靠IP地址就能转发,三层转发是建立在二层的基础上的,而仅仅依靠MAC地址是能够转发的.另外,由于二三层转发基于MAC地 ...

  3. H3C 无线交换机的数据转发原理

    转载于:https://www.cnblogs.com/fanweisheng/p/11574760.html

  4. 计算机网络学习--交换机和路由器转发数据原理

    转自知乎: 作者:网工Fox 链接:https://www.zhihu.com/question/20099434/answer/1861866418 来源:知乎 著作权归作者所有.商业转载请联系作者 ...

  5. 路由器与交换机的工作原理

    路由器与交换机的工作原理 计算机网络往往由许多种不同类型的网络互连连接而成.如果几个计算机网络只是在物理上连接在一起,它们之间并不能进行通信,那么这种"互连"并没有什么实际意义.因 ...

  6. 什么是交换机?交换机的工作原理是什么?

    交换机是一种用于电(光)信号转发的网络设备.它可以为接入交换机的任意两个网络节点提供独享的电信号通路.最常见的交换机是以太网交换机.交换机工作于OSI参考模型的第二层,即数据链路层.交换机拥有一条高带 ...

  7. 路由器和交换机的工作原理---笔面试

    路由器的工作原理 路由器的作用 1.路由,转发 2.不同网络类型的互联 路由器是一个工作在tcp/ip协议栈中的三层设备,同样具有二层的功能. 1.路由器的路由转发功能 对于一个进入路由器的数据包,先 ...

  8. 数据中心中交换机的转发原理 ---尚文网络奎哥

    在数据中心网络中网络部署过程中服务器之间需要通过交换机之间实现互联,数据中心中服务器相关部署方案大家可以参考下尚文网络楠哥的相关文章.我们本次主要了解一下数据中心中的基本数据交换原理. vswitch ...

  9. 交换机开发(一)—— 交换机的工作原理

    一.交换机的工作原理 当交换机收到数据时,它会检查它的目的MAC地址,然后把数据从目的主机所在的接口转发出去.交换机之所以能实现这一功能,是因为交换机内部有一个MAC地址表,MAC地址表记录了网络中所 ...

最新文章

  1. 初学者可能不知道的 vue.js技巧
  2. 眼睛看特定角度有闪光的处理办法
  3. python 类成员变量是否存在_python中类变量与成员变量的使用注意点总结
  4. BugkuCTF-WEB题MD5
  5. Oracle常用数据字典表
  6. 《Linux Device Drivers》第十六章 块设备驱动程序——note
  7. Java I/O操作
  8. 小米手机抓取Log教程
  9. 单片机0 99c语言程序,单片机C语言程序设计实训99例.doc
  10. python 相关性检验_Python中的相关分析correlation analysis的实现
  11. 删除了windows系统的EFI分区导致无法开机的解决方法
  12. 圆点自动跟随鼠标移动
  13. python正则表达式findall的使用
  14. MySQL创建联合索引,字段的先后顺序,对查询的影响分析
  15. 人血清白蛋白修饰维生素E(VE) HSA-Tocopherol,人血清白蛋白修饰维生素B3 HSA-Vitamin B3
  16. bilibili面经
  17. 永磁同步电机的矢量控制策略(六)一一一SPWM控制
  18. 【程序人生】:看到商汤集团的招聘简章,感觉自己弱爆了
  19. JetBrains 系列(社区版)安装-以idea为例
  20. 大国之殇,唐山大地震44周年 | 地质灾害数据可视化

热门文章

  1. Linux ubuntu对于cmake的版本更新
  2. 白领必看的十种职场致命毒药
  3. 对C语言进行调试的最好方法是什么?
  4. 简单 3 步实现高效编程
  5. 成功人士都是这样逼出来的
  6. 解决:single failed: For artifact {null:null:null:jar}: The groupId cannot be empty. 把工程依赖的jar包打到入jar中
  7. Apache RocketMQ 安装、测试、报错解决
  8. Spring Boot下无法加载主类 org.apache.maven.wrapper.MavenWrapperMain问题解决
  9. IOS —— 网络那些事(上) - http协议
  10. python flask 基础入门