mac地址厂商对应表_科普一下:什么叫MAC地址学习,记录什么内容

概述

MAC地址学习虽然说起来比较简单,但是在工作中,还是经常看小伙伴不能正确的应用,遇到问题时也比较迷茫,不知道如何分析问题。究其原因,可能还是对MAC地址学习的工作原理了解的不够,所以我今天写一篇文章,给还迷糊的小伙伴在普及一下,如果是已经了解的同学,可以当做复习。

MAC地址简介

在OSI七层模型中,每一层都有不同标识符,用来区分不同的设备,这样它们之间才能对等的进行通信。而MAC地址是数据链路层(layer2)标识符,在数据链路层唯一标识一台设备。

adb6757dc62e1eef9a3e44a2c6453a5d.png

OSI七层模型

MAC地址总共有48个比特(bit),在工作中通常使用16进制来表示,一般有两种写法,一种是:HH:HH:HH:HH:HH:HH格式,如下图:

cdb8de1e8825db7b46869b77a7de2c97.png

HH:HH:HH:HH:HH:HH

另外一种是:HHHH:HHHH:HHHH,如下图:

da29a315854bccd3fe93091004b33978.png

HHHH:HHHH:HHHH

中间可以使用冒号(:)或者点(.)分割,看具体的厂商实现。

源MAC vs 目的MAC

我们注意到,在一个以太网报文中,有两个MAC地址:源MAC、目的MAC,如下图所示:

99edb0d154f6911a943e1710cde9c905.png

源MAC、目的MAC

那么这两个MAC地址有什么区别呢?这也是大家容易犯迷糊的地方,其实只要记住三句话就可以了:

  1. 源MAC地址是属于报文发送者;
  2. 目的MAC地址是属于报文终结者;
  3. 交换机接收到报文以后,会记录源MAC,同时根据目的MAC查找出接口。

MAC地址学习原理

MAC地址学习是针对于交换机来说的,它说的是交换机在收到一个报文时,会把报文的源MAC地址记录在MAC地址表项中。

如下图所示,交换机E0/1接口收到任何PC1发送的报文,都会把源地址记录在MAC地址表项中:

ed1b5791373540ab5cc31b20823be2fe.png

记录MAC地址表项

交换机MAC地址表项的格式类似于下图:

f49e981cf8f96bf2e1f22d6ff68c71e6.png

MAC地址表项

当交换机从别的接口,收到目的MAC是0000:0000:1111的报文时,就会从E0/1接口转发出去,这个也称为查找MAC地址表。

下面我们以一个具体的例子来阐述上面的内容。

原理举例

拓扑

80fe75ae339d3b92a60eef76661eb2f0.png

拓扑图

  • 三台PC配置同一个网段的IP地址;
  • 交换机和三台PC相连的接口配置同一个Access VLAN 10;

MAC地址学习

初始情况下,交换机的MAC地址表项是空的,如下图:

7bafa21c887dcd4d18ec5956382a8234.png

初始的MAC Table

当PC1发送的任何报文到达交换机时,例如ARP报文:

40c2954ba9b19a3519caef184e1d6935.png

ARP报文

交换机都会记录报文的源MAC地址,同时更新在MAC地址表项中,如下图所示:

c148e9db2c10d51ffc5003ff32f4d4d2.png

更新MAC地址表

下次如果收到目的MAC为0000.0000.1111的报文,就会只从E0/1接口转发出去,如下图所示:

35f31667c5958a085cab49a8c66ebd22.png

特定出接口

估计看到这里,有小伙伴就会问:如果交换机接收到的报文,在MAC地址表找不到目的MAC对应的表项该怎么办?

答案是:在同一个VLAN里进行泛洪。

例如此时PC2发送一个报文,其目的MAC地址为0000.0000.4444,交换机没有这个表项,则交换机会把报文同时发送到PC1和PC3,如下图所示:

1be72ac03604cbd7e9d287f6b6328649.png

交换机泛洪报文

总结

各位小伙伴看完上面的描述,应该对MAC地址学习的原理了解了吧,我们简单的总结出3条结论:

  1. MAC地址学习,记录是接收报文的源MAC地址;
  2. 交换机收到报文以后,会根据目的MAC地址查找出接口;
  3. 如果找不到出接口,会从同一个VLAN里的所有接口转发出去(泛洪);
  4. ​如果找到出接口,会只从特定的出接口转发出去,这个就是MAC地址学习的真正目的:减少网络的流量。

如果各位还有疑问,欢迎留言讨论,也非常欢迎各位关注我的头条号,一起讨论网络问题!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值