二层交换机工作在链路层,负责数据桢的转发,一个数据桢包含来源MAC,目标MAC,(ARP桢目标MAC不指定)

交换机负责将一个端口(物理上的)上收到的桢转发给另外的端口,由于一个端口对应一或多个MAC(对应多个MAC是交换机级连时出现的情况)所以交换机实现了MAC->MAC的数据包转发,

MAC表学习过程:

任何桢发送到交换机上时至少包含源MAC,因此交换机就可以记录一条(端口,MAC)记录到“端口MAC映射表”,针对那些交换机无法找到目标端口的目标MAC地址(可能是ARP桢的6字节全0目标MAC),交换机则将该桢转发到除接收端口外的其他全部端口,该过程叫泛洪,而目标主机收到后就会回复该桢,而交换机就可以记录该回复桢的源MAC(即上面的目标MAC)跟端口的对应关系以备下次使用

广播风暴:

交换机级连时如果出现回路,会形成网络风暴,如ARP桢,只有源MAC(目标MAC为全为0)对交换机来说一旦存在回路就会两个交换机之间来回发,从而占用信道。同时回路也会造成MAC地址表不稳定。
参考:http://wenku.baidu.com/view/c7b041768e9951e79b8927c6.html

//=================================================

参考:

文档编号:514
浏览:1241 评分:22

用户问题:

交换机是否会受到ARP欺骗?
问题答案:
交换机是不会受到ARP欺骗的,ARP攻击也无法对交换机造成任何后果
问题原理:
无论交换机在收到主机或者路由器发过来的数据时,都有责任对这些数据进行转发,当它从某个端口收到数据包后,读取数据包中的源MAC地址,从而就得到了此端口和MAC地址的映射表,当它在映射表中还找不到目标MAC地址来确定应该将数据发向哪个端口时,它就会在除源端口之外的其它所有端口进行泛洪(类似广播),这时,因为是泛洪,所以真正的目标主机能够收到这些数据包,也因为交换机在转发数据包的时候,即使ARP缓存表是空的,它也不需要发ARP广播来请求MAC地址,所以也根本不存在ARP欺骗,如果下面继续有其它端口的数据要转发,交换机再使用上面同样的方法,来学习到每个端口对应的MAC地址,就是因为通过这样向其它端口泛洪来学习到端口和MAC地址的映射表,所以交换机从来没有收到过任何关于MAC地址到IP地址的ARP数据包,况且交换机也从来不读取数据包中的IP地址.
问题结论:
1.交换机任何时候都不关心IP地址,因为交换机是二层设备,(三层交换机除外,三层交换   机就当路由器来对待了)。
2.交换机中的ARP缓存是端口号到MAC地址的映射,与IP地址无关。
3.交换机中的ARP缓存表是通过在转发数据包时读取源端口和源MAC时记录下来的,而不是通过ARP广播去询问的。
4.当交换机的缓存表不能反应出目标MAC和端口的映射时,就会向除源端口外的每个端口发一份(泛洪),以保证真正的目标主机能够收到数据。
5.因为ARP缓存中找不到端口号和MAC地址的映射时,就会泛洪,所以人工地绑定端口和MAC地址只是解决泛洪,让交换机不要因为找不到目标MAC地址而向每个端口都复制数据,这种方法与解决ARP欺骗没有任何关系!
  
附理解交换机的工作原理:
交换机是根据自己的ARP缓存表来提供数据转发的,ARP缓存中记录着端口号对应的MAC地址,当收到数据需要转发时,先读取数据中的源MAC地址,再看来自哪个端口,然后记录下来写入ARP缓存表,最后交换机查找ARP缓存表以确定该把数据发向哪个端口,如果ARP缓存中没有找到答应,那么这时交换机便决定把数据向除了向源端口之外其它所有端口都复制一份,这样便可以万无一失地把数据送到目的地,除非根本没有这个目的地,所以交换机的ARP缓存表是通过读取需要转发的数据的源MAC和源端口来学习到的,不是通过ARP询问来更新的!

二层交换机的MAC表学习过程相关推荐

  1. 中兴二层交换机的MAC地址学习

    中兴二层交换机的MAC地址学习 一.实验目的 1.掌握中兴二层交换机学习MAC地址的过程和MAC地址表老化时间的设置. 二.实验内容 1.通过对中兴二层交换机2850的MAC地址表的查看和老化时间的修 ...

  2. Shell- 获取ESXI主机虚拟交换机中MAC表

    偶然间用到的一个外国牛人的脚本.通过该脚本可以获取ESXI主机虚拟交换机中的MAC地址表. # Author: William Lam # Website: www.virtuallyghetto.c ...

  3. 二层交换机 不在同一子网_从二层交换机来说为什么三层交换机比路由器转发速率快...

    我们都知道二层交换机工作的数据链路层,依靠mac地址来进行数据通信的,而路由器是工作在网络层,依靠ip地址来通信的,为了说明三层交换机比路由器的转发速率快,那我们还是先从二层交换机入手. 首先我们来比 ...

  4. (主机)ARP表(ip/mac)、(交换机)交换/转发/MAC表(mac端口 同一网段)、(路由器)路由表(不同网段)

    reference 转发表(Forwarding Table) MAC地址 以太网地址或物理地址 它是一个用于确认网络设备位置的地址 每个网络设备(如网络适配器(Network Adapter), 即 ...

  5. 交换机工作原理及MAC表(超详细,秒懂)

    拓朴图 1.交换机的工作原理: 交换机工作在OSI模型的第二层,数据链路层,主要用于终端用户接入网络,对数据帧进行交换. 交换机对数据帧交换的过程: ① 学习(Learning):交换机在进行数据转发 ...

  6. 华为路由器上有没有mac表_MAC地址表、ARP缓存表、路由表及交换机、路由器基本原理...

    MAC地址表 说到MAC地址表,就不得不说一下交换机的工作原理了,因为交换机是根据MAC地址表转发数据帧的.在交换机中有一张记录着局域网主机MAC地址与交换机接口的对应关系的表,交换机就是根据这张表负 ...

  7. 立即手动更新交换机(switch)的MAC表

    不知道大家是否遇到过这种情况: 当某台服务器出现问题时,想使用备机时,把主机的ip停掉,绑到备机上, 但是绑完后发现ping不通这个ip,需要等到交换机自己更新mac表,这是多么的慢啊, 对于网站来说 ...

  8. 1、交换机ARP缓存表分析

    1.交换机ARP缓存表分析 一.用模拟器不是一个简单的拓扑:   拓扑简单描述:交换机不做任何配置,两台电脑使用arp -a命令查看混存表,均为空. 操作1:PC A 去ping  PC B: 10. ...

  9. 交换机配置软件crt安装_非常详细的锐捷二层交换机配置教程,适合新手小白

    笔者上一篇文章写了关于锐捷三层交换机配置教程,但是这只是核心的配置,还不能搭建一个完整的企业网络.那么这一篇就来讲一下锐捷的二层交换机配置,比起三层交换机的配置,二层交换机配置就非常简单了.同样,今天 ...

最新文章

  1. 数据结构实验之链表九:双向链表
  2. 在Python中用尽量多的方法实现单例模式
  3. Java的静态域以及封装性相关
  4. python怎么部署到tomcat_使用python将war部署到tomcat
  5. 深入理解Auto Layout 第一弹
  6. textbox控件输入内容后按下Enter键后执行button1的click方法
  7. git源代码控制客户端基本配置
  8. ServiceStack.Redis连接阿里云redis服务时使用连接池出现的问题
  9. vmalloc与mmap
  10. IDEA开发hadoop
  11. jcr多久更新一次_2020年期刊影响因子正式发布,几家欢喜几家愁?!
  12. 阿里巴巴矢量图标的应用
  13. java阿拉伯数字转中文或金钱
  14. Paraview源码解析7:vtkTransform类
  15. xcode打包cordova项目生成ipa
  16. 台式计算机如何双屏显示,电脑怎么分屏?|台式电脑双显示器连接方法
  17. win7禁止应用程序联网
  18. 十张图,详解用户分层怎么做
  19. 计算机保研面试-英语问题
  20. 【智能车学习】FTM模块

热门文章

  1. 解读ImageView的wrap_content和adjustViewBounds的工作原理
  2. kotlin学习笔记——内联函数
  3. - (BOOL)shouldInvalidateLayoutForBoundsChange:(CGRect)newBounds
  4. vb.net 文本框为空提示,一键清空文本框所有内容
  5. activeMQ的三种通讯模式
  6. UOJ #586. 旅行问题
  7. docker+httpd的安装
  8. C++学习33 函数模板
  9. Web前端工程师求职的失败——评《非你莫属》20120909期宋龙龙片段
  10. 《JavaScript入门经典(第4版)》上第5章一个实例程序的修正,完善