卡卷网
当前位置:卡卷网 / 每日看点 / 正文

有了 IP 地址,为什么还要用 MAC 地址?

作者:卡卷网发布时间:2025-01-19 19:10浏览数量:66次评论数量:0次

有了 IP 地址,为什么还要用 MAC 地址?  第1张

· MAC简介

· MAC原理描述

一、MAC 基本概念

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

唯一编号。

1、MAC地址可以分类

1.1 物理MAC地址:这种类型的MAC地址唯一的标识了以太网上的一个终端,该地址为全球唯一的硬件地址;

1.2 广播MAC地址:全1的MAC地址为广播地址(FF-FF-FF-FF-FF-FF),用来表示LAN上的所有终端设备;

1.3 组播MAC地址:除广播地址外,第8bit为1的MAC地址为组播MAC地址(例如01-00-00-00-00-00),用来代表LAN上的一组终端。其中以01-80-c2开头的组播MAC地址叫BPDU MAC,一般作为协议报文的目的MAC地址标示某种协议报文。

2、交换机支持的 MAC 地址

交换机上面的MAC地址分为系统MAC和接口MAC两种。其中接口MAC又包括管理网口MAC、VLANIF接口MAC、二层物理接口MAC、三层路由主接口MAC、子接口MAC、二层Eth-Trunk接口MAC、三层Eth-Trunk接口MAC。系统MAC也就是设备MAC,可以通过命令display bridge mac-address查看。管理网口MAC、子接口MAC、二层物理接口MAC和二层Eth-Trunk接口MAC是相同的,使用的就是系统MAC。其他接口MAC与系统MAC不一致,具体MAC地址可以通过display interface查看。

有了 IP 地址,为什么还要用 MAC 地址?  第2张

MAC转发过程

二、 MAC 原理描述

1、MAC 地址表的定义和分类

1.1 MAC 地址表的定义

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

1.2 MAC 地址表的分类

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

有了 IP 地址,为什么还要用 MAC 地址?  第3张

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

2、 MAC 地址表的组成和作用

2.1 MAC 地址表的组成

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

有了 IP 地址,为什么还要用 MAC 地址?  第4张

MAC 地址表的组成

2.2 MAC 地址表的作用

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

有了 IP 地址,为什么还要用 MAC 地址?  第5张

MAC 地址表的作用

2.3 MAC 地址学习和老化

2.3.1 MAC 地址学习过程

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

·如果MAC地址表中不存在该MAC地址表项,设备则将这个新MAC地址以及该MAC地址对应的PortA和VLAN ID作为一个新的表项加入到MAC地址表中。

·如果MAC地址表中已经存在该MAC地址表项,设备将通过重置该表项的老化时间,对该表项进行更新。

2.3.2 MAC 地址老化过程

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

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

2.4 MAC 地址学习控制

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

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

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

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

有了 IP 地址,为什么还要用 MAC 地址?  第6张

MAC 地址学习控制

2.5 MAC 地址漂移

2.5.1 什么是 MAC 地址漂移

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

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

有了 IP 地址,为什么还要用 MAC 地址?  第7张

MAC 地址漂移

2.5.2 如何进行 MAC 地址漂移检测

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

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

2.5.3 如何防止 MAC 地址漂移

网络中产生环路或非法用户进行网络攻击都会造成MAC地址发生漂移,导致MAC地址不稳定。

在规划网络时,可以通过下面两种方式来避免这种情况:

·提高接口MAC地址学习优先级。当不同接口学到相同的MAC地址表项时,高优先级接口学到的MAC地址表项可以覆盖低优先级接口学到的MAC地址表项,防止MAC地址在接口间发生漂移。

·不允许相同优先级的接口发生MAC地址表项覆盖。当伪造网络设备所连接口的优先级与安全的网络设备相同时,后学习到的伪造网络设备的MAC地址表项不会覆盖之前正确的表项。但如果网络设备下电,仍会学习到伪造网络设备的MAC地址,当网络设备再次上电时将无法学习到正确的MAC地址。

2.5.4 MAC 刷新 ARP

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

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

有了 IP 地址,为什么还要用 MAC 地址?  第8张

MAC 刷新 ARP

END

免责声明:本文由卡卷网编辑并发布,但不代表本站的观点和立场,只提供分享给大家。

卡卷网

卡卷网 主页 联系他吧

请记住:卡卷网 Www.Kajuan.Net

欢迎 发表评论:

请填写验证码