素材来源:华为数据中心交换机配置指南

一边学习一边整理,并与大家分享,侵权即删,谢谢支持!

附上汇总贴:数据中心交换机基础自学系列 | 汇总_COCOgsta的博客-CSDN博客


MAC简介

MAC(Media Access Control)地址用来定义网络设备的位置。MAC地址由48比特长、12位的16进制数字组成,其中从左到右开始,0到23bit是厂商向IETF等机构申请用来标识厂商的代码,24到47bit由厂商自行分派,是各个厂商制造的所有网卡的一个唯一编号。

MAC地址可以分为3种类型:

  • 物理MAC地址:这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址;
  • 广播MAC地址:全1的MAC地址为广播地址(FF-FF-FF-FF-FF-FF),用来表示LAN上的所有终端设备;
  • 组播MAC地址:除广播地址外,第8bit为1的MAC地址为组播MAC地址(例如01-00-00-00-00-00),用来代表LAN上的一组终端。

MAC原理描述

MAC地址表是一张二层转发表,用于存放该设备所学习到的其它设备的MAC地址信息。

MAC地址表的定义和分类

MAC地址表的定义

MAC地址表记录了交换机学习到的其他设备的MAC地址与接口的对应关系,以及接口所属VLAN等信息。设备在转发报文时,根据报文的目的MAC地址查询MAC地址表,如果MAC地址表中包含与报文目的MAC地址对应的表项,则直接通过该表项中的出接口转发该报文;如果MAC地址表中没有包含报文目的MAC地址对应的表项时,设备将采取广播方式在所属VLAN内除接收接口外的所有接口转发该报文。

MAC地址表的分类

MAC地址表中的表项分为:动态表项、静态表项和黑洞表项。另外交换机的MAC地址表中还存在一种业务类型的MAC地址表项,譬如:安全MAC、MUX MAC、Authen MAC、Guest MAC等。该类MAC地址表项是由对应业务维护的,一般是通过动态表项转换来的。

表1 不同MAC地址表的特点和作用

MAC地址表类型

特点

作用

动态表项

由接口通过报文中的源MAC地址学习获得,表项可老化。在系统复位、接口板热插拔或接口板复位后,动态表项会丢失。

通过查看动态MAC地址表项,可以判断两台相连设备之间是否有数据转发。通过查看指定动态MAC地址表项的个数,可以获取接口下通信的用户数。

静态表项

由用户手工配置,并下发到各接口板,表项不可老化。在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。接口和MAC地址静态绑定后,其他接口收到源MAC是该MAC地址的报文将会被丢弃。一条静态MAC地址表项,只能绑定一个出接口。一个接口和MAC地址静态绑定后,不会影响该接口动态MAC地址表项的学习。

通过绑定静态MAC地址表项,可以保证合法用户的使用,防止其他用户使用该MAC进行攻击。

黑洞表项

由用户手工配置,并下发到各接口板,表项不可老化。在系统复位、接口板热插拔或接口板复位后,保存的表项不会丢失。配置黑洞MAC地址后,源MAC地址或目的MAC地址是该MAC的报文将会被丢弃。

通过配置黑洞MAC地址表项,可以过滤掉非法用户。

MAC地址表的组成和作用

MAC地址表的组成

MAC地址表是以MAC地址和VLAN ID或VSI为索引来唯一标识。当一台目的主机属于多个VLAN或VSI时,在MAC地址表中就会存在相同MAC地址拥有多个不同VLAN ID或VSI的情况。表1中是四条不同的MAC地址表项。如第一条MAC地址表项的作用是:从设备任意接口进入的目的MAC为00e0-fc12-3456,VLAN ID为10的报文,都会从10GE3/0/1接口转发出去。

表1 MAC地址表项

MAC地址

VLAN ID/VSI名称

出接口

00e0-fc12-3456

10

10GE3/0/1

00e0-fc12-3456

20

10GE2/0/4

00e0-fc12-3457

30

Eth-Trunk20

00e0-fc12-3457

device

10GE2/0/5

MAC地址表的作用

MAC地址表用于指导报文进行单播转发。如图1中,PC1发往PC3的报文,在到达交换机Switch时,根据报文中的目的MAC地址MAC3和VLAN10查询交换机的MAC地址表,获取出接口Port3,然后报文直接从接口Port3转发到PC3,完成数据的转发。

图1 基于MAC地址表的转发流程图

MAC地址学习和老化

MAC地址学习过程

一般情况下,MAC地址表是设备根据收到的数据帧里的源MAC地址自动学习而建立的。

图1,HostA向SwitchA发送数据时,SwitchA从数据帧中解析出源MAC地址(即HostA的MAC地址)和VLAN ID。

  • 如果MAC地址表中不存在该MAC地址表项,设备则将这个新MAC地址以及该MAC地址对应的PortA和VLAN ID作为一个新的表项加入到MAC地址表中。
  • 如果MAC地址表中已经存在该MAC地址表项,设备将通过重置该表项的老化时间,对该表项进行更新。

所以设备在收到数据帧时,才会触发MAC地址的学习和刷新。

MAC地址老化过程

为适应网络的变化,MAC表需要不断更新。MAC表中自动生成的表项(即动态表项)并非永远有效,每一条表项都有一个生存周期,到达生存周期仍得不到更新的表项将被删除,这个生存周期被称作老化时间。如果在到达生存周期前记录被更新,则该表项的老化时间重新计算。

图2 MAC地址老化过程示意图

图2所示,设备MAC地址老化时间设置为T。在t1时刻有源MAC地址为00e0-fc00-0001、VLAN为1的报文从某接口进入。假定该接口已加入VLAN 1。如果之前MAC地址表不存在关于(MAC: 00e0-fc00-0001,VLAN: 1)的任何种类表项,那么这个地址就会作为动态MAC地址表项学习到地址表里,同时该表项的命中标志位被置1。

设备周期性(每经过T时间)地对所有学习到的动态MAC地址表项进行检查。

  1. 在t2时刻,检查到动态表项(MAC: 00e0-fc00-0001,VLAN: 1)的命中标志位为1,则将该表项的命中标志位置为0,但不删除这条表项。
  2. 在t2时刻和t3时刻之间没有这种报文进入设备,那么该表项的命中标志位会一直保持为0。
  3. 在t3时刻,设备检查到该表项的命中标志位为0,认为该表项的老化时间到达,将删除此条表项。

如上所述,通过自动老化,一条动态表项在MAC地址表存在的最短时间是设备所配置的老化时间T到2T之间。

设备MAC地址老化时间可手动设置。通过设置此时间,可以灵活控制动态学习到的MAC表项在MAC地址表存在的时间。

MAC地址学习控制

由于MAC地址表的容量是有限的,当黑客伪造大量源MAC地址不同的报文发送到设备后,设备上的MAC地址表项资源可能会被耗尽。当MAC表被填满后,即使它再收到正常的报文,也无法学习到报文中的源MAC地址,导致报文广播转发,浪费带宽资源。

为了解决以上问题,设备提供了两种方式对MAC地址学习进行控制:

  • 基于VLAN或接口关闭学习MAC能力
  • 基于VLAN或接口限制MAC地址数

表1 MAC地址学习控制方式说明

MAC地址学习控制方式

原理描述

典型应用场景

基于VLAN或接口关闭学习MAC能力

某个VLAN或接口关闭学习MAC能力后,将不再自动学习到新的动态MAC地址表项。之前学习到的动态表项在老化时间到达后自动删除,也可以手工执行删除MAC命令,将这些表项删除。

多数情况下,一个黑客发送的攻击报文是从同一个接口进入设备,在这个接口上配置关闭学习MAC能力或配置MAC地址学习限制,可避免攻击报文将整个设备的MAC地址表填满。基于VLAN或接口进行MAC地址数限制,也可以应用在限制终端用户数的场景中。

基于VLAN或接口进行MAC地址数限制

基于VLAN或接口限制MAC地址数后,该VLAN或接口最多只能学习到指定限制数的MAC地址表项。MAC地址表项达到限制数时,设备会上报告警信息通知网络管理员进行维护。MAC地址表项达到限制数后,该VLAN或接口将不能再学习新的MAC地址表项,同时源MAC地址不包含在MAC地址表中的报文将被丢弃。

MAC地址漂移

什么是MAC地址漂移

MAC地址漂移是指设备上一个VLAN内有两个端口学习到同一个MAC地址,后学习到的MAC地址表项覆盖原MAC地址表项的现象。图1所示,MAC地址为00e0-fc12-3456,VLAN ID为2的表项,出接口由10GE1/0/1刷新为10GE1/0/2,这就是MAC地址漂移。设备出现MAC地址漂移时,设备CPU占用率会有不同程度的升高。

正常情况下,网络中不会在短时间内出现大量MAC地址漂移的情况。出现这种现象一般都意味着网络中存在环路,可以通过查看告警信息和漂移记录,快速定位和排除环路。

图1 MAC地址漂移示意图

如何进行MAC地址漂移检测

MAC地址漂移检测是利用MAC地址出接口跳变的现象,检测MAC地址是否发生漂移的功能。

配置MAC地址漂移检测功能后,在发生MAC地址漂移时,可以上报包括MAC地址、VLAN,以及跳变的接口等信息的告警。其中跳变的接口即为可能出现环路的接口。网络管理员可以根据告警信息,手工排查网络中环路的源头,也可以使用MAC漂移检测提供的后续动作,使跳变的端口down或者VLAN从端口中退出,实现自动破环。

图2 MAC地址漂移检测组网图

图2网络中,若SwitchC和SwitchD之间误接网线,则SwitchB、SwitchC、SwitchD之间形成环路。当SwitchA上Port1接口从网络中收到一个广播报文后转发给SwitchB,该报文经过环路,会被SwitchA上Port2接口收到。配置MAC地址漂移检测功能,SwitchA就会感知到MAC地址出接口跳变的现象。若连续出现此现象,SwitchA就会上报MAC漂移告警,提醒管理员进行维护。

MAC刷新ARP

在以太网中,主机设备是根据MAC地址来发送、接收以太网数据帧。ARP用于提供IP地址到MAC地址的映射。当不同网段间通信时,需要使用ARP表项来将IP地址映射到正确的MAC地址及相应的出接口上。

一般来说设备上的MAC表项和ARP表项的出接口是一致的。如图1所示,在T1时间点,MAC地址表项和ARP表项的出接口是一致的,都是10GE1/0/1。当端口切换后,在T2时间点,MAC地址表项的出接口在收到报文时立即刷新为10GE1/0/2,但是ARP表项的出接口还是10GE1/0/1,需要等待T3时间点即ARP表项的老化时间到达后,通过ARP老化探测,才会刷新为10GE1/0/2。这样就在T2时间点和T3时间点之间,ARP表项的出接口是不可用的,会导致不同网段间设备的通信中断。

图1 配置MAC刷新ARP功能之前

MAC刷新ARP可以实现在MAC出接口更新时,直接刷新ARP表项的出接口的功能。如图2所示,在配置MAC刷新ARP功能后,在T2时间点,MAC地址表项出接口刷新为10GE1/0/2后,直接把ARP表项的出接口刷新为10GE1/0/2。解决了T2时间点和T3时间点之间,ARP表项出接口不可用的问题,避免了业务通信的中断。

图2 配置MAC刷新ARP功能之后

在数据中心虚拟化场景中,当VM位置发生迁移时,如果VM不能及时发送免费ARP报文刷新网关设备上的ARP表项,可能会导致网络中用户流量的中断。这种情况下,只有等到网关设备上的ARP表项老化之后,通过ARP报文的交互,重新学习新的ARP表项。

配置MAC刷新ARP之后,VM位置发生迁移,当用户的二层流量刷新网关设备的MAC表项时,

  • ARP表项存在,MAC表项和ARP表项的出接口不一致,则通过MAC表项刷新ARP表项,更新出接口信息,加速三层流量的收敛。
  • ARP表项不存在,根据MAC查找广播抑制表,重新发起一次ARP探测,刷新ARP表项,更新出接口信息,加速三层流量的收敛。

MAC应用场景

介绍MAC地址漂移的应用场景。

MAC地址漂移检测

图1所示,网络中两台LSW间网线误接形成了网络环路,引起MAC地址发生漂移、MAC地址表震荡。为了能够及时检测网络中出现的环路,可以在Switch上配置MAC地址漂移检测功能,通过检测是否发生MAC地址漂移来判断网络中存在的环路,从而排除故障。

图1 MAC地址漂移检测组网图

数据中心交换机基础自学系列 | MAC简介相关推荐

  1. 数据中心交换机基础自学系列 | 汇总

    素材来源:华为数据中心交换机配置指南 一边学习一边整理,并与大家分享,侵权即删,谢谢支持! 以太网交换技术 MAC技术 数据中心交换机基础自学系列 | MAC简介 以太网链路聚合技术 M-LAG(跨设 ...

  2. 华为防火墙基础自学系列 | IKE介绍

    视频来源:B站<乾颐堂HCIP-HCIE-security安全 2019年录制> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:华为防火墙基础自 ...

  3. 5G无线技术基础自学系列 | 双工技术

    素材来源:<一本读懂5G技术> 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 双工(Dup ...

  4. 5G无线技术基础自学系列 | 空域资源

    素材来源:<一本读懂5G技术> 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 大规模天线为 ...

  5. 5G核心网技术基础自学系列 | 消息业务

    书籍来源:<5G核心网 赋能数字化时代> 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G核心网技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 ...

  6. 5G无线技术基础自学系列 | 基础参数及帧结构

    素材来源:<5G无线网络规划与优化> 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 5G在 ...

  7. 5G无线技术基础自学系列 | 密集组网

    素材来源:<一本读懂5G技术> 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 我们来看这样 ...

  8. 5G核心网技术基础自学系列 | 漫游

    书籍来源:<5G核心网 赋能数字化时代> 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G核心网技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 ...

  9. 5G无线技术基础自学系列 | μ参数

    素材来源:<一本读懂5G技术> 一边学习一边整理内容,并与大家分享,侵权即删,谢谢支持! 附上汇总贴:5G无线技术基础自学系列 | 汇总_COCOgsta的博客-CSDN博客 OFDM是一 ...

最新文章

  1. 「杂谈」白身,初识,不惑,有识,你处于深度学习哪一重境界了
  2. 【转】QString 与中文问题
  3. JSON 之 SuperObject(16): 实例 - 解析 Google 关键字搜索排名
  4. 在vs2012下编译出现Msvcp120d.dll 丢失的问题
  5. 设计模式之---观察者模式
  6. 资产支持证券(Asset-Backed Security)
  7. 使用java代码判断一个字符串里是否包含中文字符
  8. CMake使用详解二(多文件编译)
  9. Bailian2697 迭代法解方程【二分+迭代】
  10. ScrewTurn Wiki 初识
  11. 计算机多媒体处理的是什么意思,多媒体处理的是什么信号
  12. python爬取京东商品价格教科书中文版_基于Python爬取京东双十一商品价格曲线
  13. 宅霸java_宅霸游戏联机平台下载|宅霸游戏联机平台免费版下载 v4.5.0 官方版_小皮网...
  14. 清除xcode缓存文件以及清楚mac 微信缓存
  15. Affinity Photo for Mac中文破解版永久激活方法
  16. 一款号称最适合程序员的编程字体(JetBrains Mono)专为开发人员设计。
  17. 数据一致性(CAP原则)
  18. HTML5 video 视频标签使用介绍
  19. 微博商业数据挖掘方法
  20. Caltech-UCSD Birds 200 (CUB) 数据库预处理

热门文章

  1. 微信公众号教程(4)微信公众平台编辑模式介绍
  2. magicbookpro做php开发,荣耀MagicBook Pro测评:全面屏专业生产力工具
  3. matter设备调试(Device Commissioning):
  4. uva live 4043 km
  5. 【历史上的今天】5 月 6 日:第一台实际运行程序的计算机;Adobe 转型云端;首个非拉丁文网址出现
  6. SSH安全策略–指定IP登陆
  7. 使用HiPrint批量打印条码,二维码
  8. 从概率角度来确定临界点问题
  9. 深度解析高通RF360移动射频前端解决方案
  10. 日期格式不一致问题处理