随着企业网络的发展,越来越多的用户需要接入到网络,交换机可以提供大量的接入端口,并能够很好地满足这一企业需求。同时,交换机也彻底解决了困扰早期以太网的冲突问题,极大地提升了以太网的性能,同时也提高了以太网的安全性。

交换机工作在数据链路层,对数据帧进行操作。在收到数据帧后,交换机会根据数据帧的头部信息对数据帧进行相应动作。

交换机中有一个MAC地址表,里面存放了MAC地址与交换机端口的映射关系。依据交换机的学习能力。当一个帧进入交换机后,交换机会检查这个帧的源MAC地址,并将该源MAC地址与这个帧进入交换机的源端口进行映射,然后将这个映射关系存放进MAC地址表中。MAC地址表也称为CAM(Content Addressable Memory)表。

一、交换机的工作过程

1.1、交换机初始状态

初始状态下,交换机并不知道所连接主机的MAC地址,所以MAC地址表为空。本例中,SWA为初始状态,在收到主机A发送的数据帧之前,MAC地址表中没有任何表项。

图1 交换机初始状态

1.2、交换机学习阶段

如图2所示主机A发送数据给主机C时,一般会首先发送ARP请求来获取主机C的MAC地址,此ARP请求帧中的目的MAC地址是广播地址,源MAC地址是自己的MAC地址。SWA收到该帧后,会将源MAC地址和接收端口的映射关系添加到MAC地址表中。缺省情况下,交换机学习到的MAC地址表项的老化时间为300秒。如果在老化时间内再次收到主机A发送的数据帧,SWA中保存的主机A的MAC地址和G0/0/1的映射的老化时间会被刷新。此后,如果交换机收到目标MAC地址为00-01-02-03-04-AA的数据帧时,都将通过G0/0/1端口转发。需要注意的是管理员手动添加的MAC地址表项不会被老化刷新。

图2 学习阶段

1.3、交换机转发数据帧

当数据帧的目的MAC地址不在MAC表中,或者目的MAC地址为广播地址时,交换机会泛洪该帧。如图3主机A发送的数据帧的目的MAC地址为广播地址,所以交换机会将此数据帧通过G0/0/2和G0/0/3端口广播到主机B和主机C。

图3 交换机转发数据

1.4、目的主机回复

主机B和主机C接收到此数据帧后,都会查看该ARP数据帧。但是主机B不会回复该帧,主机C会处理该帧并发送ARP回应,此回复数据帧的目的MAC地址为主机A的MAC地址,源MAC地址为主机C的MAC地址。SWA收到回复数据帧时,会将该帧的源MAC地址和接口的映射关系添加到MAC地址表中。如果此映射关系在MAC地址表已经存在,则会被刷新。然后SWA查询MAC地址表,根据帧的目的MAC地址找到对应的转发端口后,从G0/0/1转发此数据帧。详情如图4所示。

图4 主机回复

二、交换机工作原理

综上所述如图5所示,交换机对帧的转发操作行为一共有三种:泛洪(Flooding),转发(Forwarding),丢弃(Discarding)。

泛洪:数据帧交给除源端口以外的所有端口转发出去。

转发:数据帧通过某端口转发出去。

丢弃:数据帧进行端口映射关系不匹配时,直接丢弃。

图5交换机转发行为

根据数据帧的类型将交换机工作原理总结如下:

如果进入交换机的是一个单播帧,则交换机会去MAC地址表中查找这个帧的目的MAC地址。如果查不到这个MAC地址,则交换机执行泛洪操作。如果查到了这个MAC地址,则比较这个MAC地址在MAC地址表中对应的端口是不是这个帧进入交换机的那个端口。如果不是(进出端口不同)则交换机执行转发操作。如果是(进出端口相同)则交换机执行丢弃操作。

如果进入交换机的是一个广播帧,则交换机不会去查MAC地址表,而是直接执行泛洪操作。

更多内容,我将持续更新。如果你觉得对你有帮助,麻烦来一个关注+点赞,感谢你的支持。

完整版:交换机工作过程和原理相关推荐

  1. 单片微型计算机原理及应用ppt,(精品完整版)单片微型计算机原理及应用.ppt...

    您所在位置:网站首页 > 海量文档 &nbsp>&nbsp计算机&nbsp>&nbsp计算机原理 (精品完整版)单片微型计算机原理及应用.ppt10页 ...

  2. ctab法提取dna流程图_(完整版)CTAB法提取DNA原理及步骤、制胶、电泳

    CTAB 法提取 DNA 的原理及步骤: 冷冻的植物组织,在低温干燥状态下机械磨碎.通常精提 DNA , 都要加液氮使材料变脆,易于研磨.低温降低了 DNase 的活性,利 用 CTAB (十六烷基三 ...

  3. Linux内核中makefile有什么作用?深入解析makefile工作过程和原理

    Table of Contents Makefile 中的变量 常用的变量有以下几类: 1) 版本信息 2) CPU 体系结构:ARCH 3) 路径信息:TOPDIR, SUBDIRS 4) 内核组成 ...

  4. 免费的Lucene 原理与代码分析完整版下载

    Lucene是一个基于Java的高效的全文检索库. 那么什么是全文检索,为什么需要全文检索? 目前人们生活中出现的数据总的来说分为两类:结构化数据和非结构化数据.很容易理解,结构化数据是有固定格式和结 ...

  5. 视频教程-大型Java项目视频教程_王勇老师DRP项目教程完整版292集-Java

    大型Java项目视频教程_王勇老师DRP项目教程完整版292集 动力节点王勇老师,CCTV<影响力对话>栏目特约嘉宾,Java培训知名讲师,中国Java培训领军人物,北京动力节点创始人,董 ...

  6. jetson nano poe_工业POE交换机工作流程及使用注意事项介绍

    工业级PoE交换机应用非常广泛,许多供电不方便的项目基本都采用了工业级PoE交换机来进行数据传输通信,而且大都是非网管型的,即插即用,配置简单,非常方便!但你知道它是如何进行工作的吗?我们在使用中应当 ...

  7. POE交换机供电原理及工作过程

    POE指的是在现有的以太网Cat.5布线基础架构不作任何改动的情况下,在为一些基于IP的终端(如IP电话机.无线局域网接入点AP.网络摄像机等)传输数据信号的同时,还能为此类设备提供直流电的技术.就是 ...

  8. 计算机网络自考第一章知识点,完整版18版自考04741计算机网络原理知识点第一章...

    <完整版18版自考04741计算机网络原理知识点第一章>由会员分享,可在线阅读,更多相关<完整版18版自考04741计算机网络原理知识点第一章(5页珍藏版)>请在人人文库网上搜 ...

  9. 交换机工作原理_什么是POE交换机,它有什么好处?

    一.相信大家都听说过交换机,但是POE交换机大家可能有点陌生,接下来给大家重点讲解下,什么是POE交换机,它有什么好处.POE也被称为基于局域网的供电系统(POL, Power over LAN )或 ...

最新文章

  1. fastJson解析复杂对象时碰到的问题
  2. BC:带你温习并解读《腾讯区块链方案白皮书》—区块链的兴起和未来之路
  3. python sql 日期查询_Python--flask使用 SQLAlchemy查询数据库最近时间段或之前的数据...
  4. Elasticsearch Java Client 版本区别及起步(5.X 和6.X)
  5. Python全局变量和局部变量
  6. python导入matplotlib模块_从NumPy导入python子模块有什么区别,matplotlib包
  7. matlab读取xlsx文件,从电子表格读取数据
  8. 好酷啊,真是图片吗?
  9. Codeforces Round #288 (Div. 2)E. Arthur and Brackets
  10. 家庭收支软件的示例--面向对象版本
  11. 最新android APP框架介绍
  12. pcap文件linux怎么打开,pcap文件用什么打开
  13. 全年营业额怎么计算_个人所得税能不能按全年总收入计算
  14. 如何修改远程服务器登录密码
  15. 不是 SELECTed 表达式
  16. 电子纸BUSY引脚不同状态下说明(大连佳显)
  17. java pmt以及ipmt计算
  18. WZOI-261疯狂吃鸡腿2
  19. 罪恶黑名单第一季/全集The Blacklist迅雷下载
  20. 如何将xml格式转换为yolov5所需的txt格式

热门文章

  1. luminati 还原IP端口数据
  2. 【Linux】bert-base-cased 不在缓存需要从 s3 上下载的问题
  3. 阿里云,百度云等云服务器中搭建gitblit-1.8.0时,报java.net.BindException: Cannot assign requested address: bind
  4. WorldView卫星家族简介
  5. board oracle tarot_Thoth and the Tarot dpedtech(透特和塔罗牌dpedtech).pdf
  6. UVA - 12325 Zombie's Treasure Chest 暴力
  7. 各种有意思的效应、法则、理论、逻辑、实验
  8. bootstrap之buttonJs
  9. cisco服务器网关自动清空,监控、重置和删除Cisco CallManager的MGCP网关
  10. $().ajaxSubmit is not a function解决方案