• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

03 二层技术-以太网交换命令参考

04-MAC地址表命令

本章节下载 04-MAC地址表命令  (162.37 KB)

04-MAC地址表命令


1 MAC地址表

说明

·       本文中涉及接口的配置目前只能在二层以太网接口、二层聚合接口等二层接口上进行。

·       本章节内容只涉及单播的静态、动态和黑洞MAC地址表项的配置。

 

1.1  MAC地址表配置命令

1.1.1  display mac-address

display mac-address命令用来显示MAC地址表信息。

【命令】

display mac-address [ mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole | source-blackhole ] [ vlan vlan-id ] [ count ] ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

mac-address:显示指定MAC地址的MAC地址表项,mac-address的格式为H-H-H。在配置时,用户可以省去MAC地址中每段开头的“0”,例如输入“f-e2-1”即表示输入的MAC地址为“000f-00e2-0001”。

vlan vlan-id:显示指定VLAN的MAC地址表项。vlan-id的取值范围为1~4094。

dynamic:显示动态MAC地址表项。动态MAC地址表项有老化时间。

static:显示静态MAC地址表项。静态MAC地址表项没有老化时间。

interface interface-type interface-number:显示指定接口的MAC地址表项。interface-type interface-number用来指定接口的类型和编号。

blackhole:显示目的黑洞MAC地址表项。

source-blackhole:显示源黑洞MAC地址表项。

count:显示MAC地址表项的数量。如果配置本参数,将仅显示符合条件的(由count前面的参数决定)MAC地址表项的数量,而不显示MAC地址表项的具体内容。

【使用指导】

使用本命令可以查看静态、动态和黑洞MAC地址表项(黑洞MAC地址表项包括源黑洞MAC地址表项和目的黑洞MAC地址表项),表项内容主要包括MAC地址、VLAN ID、接口等信息。

需要注意的是,如果不指定任何参数,将显示所有的MAC地址表项信息。

【举例】

# 显示MAC地址表中MAC地址为000f-e201-0101的表项的信息。

<Sysname> display mac-address 000f-e201-0101

MAC Address     VLAN ID   State            Port                   Aging

000f-e201-0101  1         Learned          XGE1/0/1               Y

# 显示MAC地址表项的数量。

<Sysname> display mac-address count

1 mac address(es) found.

表1-1 display mac-address命令显示信息描述表

字段

描述

MAC Address

MAC地址

VLAN ID

MAC地址所在的VLAN ID

State

MAC地址表项的状态,包括:

·       Static:表示该表项是用户手工配置的静态MAC地址表项

·       Learned:动态MAC地址表项。可以手工配置也可以由设备学习获得

·       Blackhole:表示该表项是目的黑洞MAC地址表项

·       Source-blackhole:表示该表项是源黑洞MAC地址表项

Port

该MAC地址对应的接口,即表示发往该MAC地址的报文将从此接口发出(黑洞MAC地址表项显示为N/A)

Aging

老化时间,该表项有两种取值:

·       Y:表示该表项会被老化

·       N:表示该表项不会被老化

1 mac address(es) found

MAC地址表项数量

 

【相关命令】

·              mac-address

·              mac-address timer

1.1.2  display mac-address aging-time

display mac-address aging-time命令用来显示MAC地址表动态表项的老化时间。

【命令】

display mac-address aging-time

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【使用指导】

动态MAC地址表项可以被老化,用户可以配置动态MAC地址表项的老化时间。使用本命令可以查看动态MAC地址表项的老化时间。

【举例】

# 显示MAC地址表中动态表项的老化时间。

<Sysname> display mac-address aging-time

MAC address aging time: 300s.

以上显示信息表示:MAC地址表中动态表项的老化时间为300秒。

【相关命令】

·              mac-address timer

1.1.3  display mac-address mac-learning

display mac-address mac-learning命令用来显示MAC地址学习功能的使能状态。

【命令】

display mac-address mac-learning [ interface interface-type interface-number ]

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【参数】

interface interface-type interface-number:指定接口类型和编号。显示指定接口的MAC地址学习状态。

【使用指导】

使用本命令可以查看全局和接口的MAC地址学习功能的使能状态。

如果不指定接口,则显示全局和所有以太网接口的MAC地址学习状态。

【举例】

# 显示以太网的MAC地址学习状态。

<Sysname> display mac-address mac-learning

Global MAC address learning status: Enabled.

 

Port                        Learning Status

XGE1/0/1                    Enabled

XGE1/0/2                    Enabled

XGE1/0/3                    Enabled

XGE1/0/4                    Enabled

表1-2 display mac-address mac-learning命令显示信息描述表

字段

描述

Global MAC address learning status

全局MAC地址学习的状态:Enabled为使能,Disabled为禁止

Port

接口名称

Learning Status

接口MAC学习的状态:Enabled为使能,Disabled为禁止

 

【相关命令】

·              mac-address mac-learning enable

1.1.4  display mac-address statistics

display mac-address statistics命令用来显示MAC地址表的统计信息。

【命令】

display mac-address statistics

【视图】

任意视图

【缺省用户角色】

network-admin

network-operator

【使用指导】

本命令主要显示系统目前存在的各类MAC地址表项的数目、以及系统可以支持的各类表项的最大规格。

【举例】

# 显示MAC地址表中的统计信息。

<Sysname>display mac-address statistics

MAC Address Count:

Dynamic Unicast Address (Learned) Count:                   3

Dynamic Unicast Address (Security-service-defined) Count:  4

Static Unicast Address (User-defined) Count:               2

Static Unicast Address (System-defined) Count:             1

Total Unicast MAC Addresses In Use:                        10

Total Unicast MAC Addresses Available:                     131072

Multicast MAC Address Count:                               0

Static Multicast MAC Address (User-defined) Count:         0

Total Multicast MAC Addresses Available:                   256

表1-3 display mac-address statistic命令显示信息描述表

字段

描述

Dynamic Unicast Address (Learned) Count

报文触发添加的动态单播MAC地址统计

Dynamic Unicast Address (Security-service-defined) Count

安全服务触发添加的动态单播MAC地址统计

Static Unicast Address (User-defined) Count

用户配置添加的静态单播MAC地址统计

Static Unicast Address (System-defined) Count

系统添加的静态单播MAC地址统计

Total Unicast MAC Addresses In Use

单播MAC地址统计

Total Unicast MAC Addresses Available

单播MAC地址规格

Multicast MAC Address Count

组播MAC地址统计

Static Multicast MAC Address (User-defined) Count

用户配置添加的静态组播MAC地址统计

说明

本系列交换机暂不支持手动配置静态组播MAC。

Total Multicast MAC Addresses Available

组播MAC地址规格

 

1.1.5  mac-address (interface view)

mac-address命令用来在指定接口下添加或者修改MAC地址表项。

undo mac-address命令用来删除指定接口下的MAC地址表项。

【命令】

mac-address { dynamic | static } mac-address vlan vlan-id

undo mac-address { dynamic | static } mac-address vlan vlan-id

【缺省情况】

接口下没有配置任何MAC地址表项。

【视图】

二层以太网接口视图/二层聚合接口视图

【缺省用户角色】

network-admin

【参数】

dynamic:动态MAC地址表项,有老化时间。

static:静态MAC地址表项,没有老化时间。

mac-address:MAC地址,格式为H-H-H。在配置时,用户可以省去MAC地址中每段开头的“0”,例如输入“f-e2-1”即表示输入的MAC地址为“000f-00e2-0001”。

vlan vlan-id指定以太网接口所属的VLAN。vlan-id为指定VLAN的编号,取值范围为1~4094。该VLAN必须已经创建。

【使用指导】

一般情况下,设备通过源MAC地址学习过程自动建立MAC地址表。为了提高接口安全性,网络管理员可手工在MAC地址表中加入特定MAC地址表项,将用户设备与接口绑定,从而防止假冒身份的非法用户骗取数据。

需要注意的是,如果不保存配置,设备重启后所有表项都会丢失;如果保存配置,静态MAC地址表项不会丢失,动态MAC地址表项会丢失。

【举例】

# 在Ten-GigabitEthernet1/0/1接口增加静态MAC地址表项000f-e201-0101,该接口属于VLAN 2。

<Sysname> system-view

[Sysname] interface ten-gigabitethernet 1/0/1

[Sysname-Ten-GigabitEthernet1/0/1] mac-address static 000f-e201-0101 vlan 2

# 在Bridge-Aggregation1接口增加静态MAC地址表项000f-e201-0102,该接口属于VLAN 1。

<Sysname> system-view

[Sysname] interface bridge-Aggregation 1

[Sysname-Bridge-Aggregation1] mac-address static 000f-e201-0102 vlan 1

【相关命令】

·              display mac-address

1.1.6  mac-address (system view)

mac-address命令用来添加或者修改MAC地址表项。

undo mac-address命令用来删除MAC地址表项。

【命令】

mac-address { blackhole | source-blackhole } mac-address vlan vlan-id

mac-address { dynamic | static } mac-address interface interface-type interface-number vlan vlan-id

undo mac-address [ { dynamic | static } mac-address interface interface-type interface-number vlan vlan-id ]

undo mac-address [ blackhole | dynamic | source-blackhole | static ] [ mac-address ] vlan vlan-id

undo mac-address [ dynamic | static ] mac-address interface interface-type interface-number vlan vlan-id

undo mac-address [ dynamic | static ] interface interface-type interface-number

【缺省情况】

系统没有配置任何MAC地址表项。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

blackhole:目的黑洞MAC地址表项,没有老化时间。当报文的目的MAC地址与目的黑洞MAC地址表项匹配后该报文被丢弃。

source-blackhole:源黑洞MAC地址表项,没有老化时间。当报文源MAC地址与源黑洞MAC地址表项匹配后该报文被丢弃。

mac-address:MAC地址,格式为H-H-H。在配置时,用户可以省去MAC地址中每段开头的“0”,例如输入“f-e2-1”即表示输入的MAC地址为“000f-00e2-0001”。

vlan vlan-id:指定以太网接口所属的VLAN。vlan-id为指定VLAN的编号,取值范围为1~4094。该VLAN必须已经创建。

dynamic:动态MAC地址表项,有老化时间。

static:静态MAC地址表项,没有老化时间。

interface interface-type interface-number:出接口。interface-type interface-number用来表示接口的类型和编号。

【使用指导】

一般情况下,设备通过源MAC地址学习过程自动建立MAC地址表。为了提高接口安全性,网络管理员可手工在MAC地址表中加入特定MAC地址表项,将用户设备与接口绑定,从而防止假冒身份的非法用户骗取数据。

另外,如果需要丢弃指定源MAC地址或目的MAC地址的报文,可配置黑洞MAC地址表项。

需要注意的是:

·              MAC地址表项的属性遵循如下原则:用户手工配置的静态MAC地址表项和黑洞MAC地址表项不会被动态MAC地址表项覆盖,而动态MAC地址表项可以被静态MAC地址表项和黑洞MAC地址表项覆盖。

·              执行undo mac-address命令时若不指定任何参数,将删除所有单播MAC地址表项。

·              可以删除某个VLAN的所有单播MAC地址表项;可以选择删除动态MAC地址表项、静态MAC地址表项或者黑洞MAC地址表项;可以按接口删除单播MAC地址表项。

·              如果不保存配置,设备重启后所有表项都会丢失;如果保存配置,静态MAC地址表项和黑洞MAC地址表项不会丢失,动态表项会丢失。

【举例】

# 添加静态地址表项,目的MAC地址为000f-e201-0101,出接口为Ten-GigabitEthernet1/0/1,且该接口属于VLAN 2。

<Sysname> system-view

[Sysname] mac-address static 000f-e201-0101 interface ten-gigabitethernet 1/0/1 vlan 2

【相关命令】

·              display mac-address

1.1.7  mac-address mac-learning enable

mac-address mac-learning enable命令用来打开设备全局、接口或者VLAN的MAC地址学习功能。

undo mac-address mac-learning enable命令用来关闭设备全局、接口或者VLAN的MAC地址学习功能。

【命令】

mac-address mac-learning enable

undo mac-address mac-learning enable

【缺省情况】

MAC地址学习功能处于开启状态。

【视图】

系统视图/二层以太网接口视图/VLAN视图/二层聚合接口视图

【缺省用户角色】

network-admin

【使用指导】

有时为了保证设备的安全,需要关闭MAC地址学习功能。常见的危及设备安全的情况是:黑客使用大量源MAC地址不同的报文攻击设备,导致设备MAC地址表资源耗尽,造成设备无法根据网络的变化更新MAC地址表。关闭MAC地址学习功能可以有效防止这种攻击。但是关闭MAC地址学习功能后,设备就学不到新地址,从而影响设备及时刷新MAC地址表。用户可以根据实际情况关闭接口的MAC地址学习功能。

关闭MAC地址学习功能可能会导致广播,因此在关闭接口的MAC地址学习功能的同时,一般还要使用接口广播风暴抑制功能。关于广播风暴抑制功能的介绍,请参见“二层技术-以太网交换配置指导”中的“以太网接口”。

需要注意的是:

·              关闭全局的MAC地址学习功能的同时也就关闭了全部接口的MAC地址学习功能。

·              在开启全局的MAC地址学习功能的前提下,用户可以关闭设备上的单个接口的MAC地址学习功能。

·              用户还可以关闭设备上的指定VLAN的MAC地址学习功能。

说明

关闭MAC地址学习功能后,已经学习到的MAC地址表项将继续有效直至老化。

 

【举例】

# 打开全局MAC地址学习功能。

<Sysname> system-view

[Sysname] mac-address mac-learning enable

# 打开Ten-GigabitEthernet1/0/1接口的MAC地址学习功能。

<Sysname> system-view

[Sysname] interface ten-gigabitethernet 1/0/1

[Sysname-Ten-GigabitEthernet1/0/1] mac-address mac-learning enable

# 打开VLAN 10的MAC地址学习功能。

<Sysname> system-view

[Sysname] vlan 10

[Sysname-vlan10] mac-address mac-learning enable

# 打开Bridge-Aggregation1接口的MAC地址学习功能。

<Sysname> system-view

[Sysname] interface bridge-Aggregation 1

[Sysname-Bridge-Aggregation1] mac-address mac-learning enable

【相关命令】

·              display mac-address mac-learning

1.1.8  mac-address max-mac-count

mac-address max-mac-count命令用来配置接口最多可以学习到的MAC地址数,mac-address max-mac-count enable-forwarding命令用来设置当接口学习的MAC地址数达到配置的最大MAC地址数后,允许转发收到的源MAC地址不在MAC地址表里的数据帧。

undo mac-address max-mac-count命令用来恢复接口最多可以学习到的MAC地址数目的缺省值,undo mac-address max-mac-count enable-forwarding命令用来设置当接口学习的MAC地址数达到配置的最大MAC地址数后,禁止转发收到的源MAC地址不在MAC地址表里的数据帧。对于源MAC地址在MAC地址表里的数据帧,正常进行转发。

【命令】

mac-address max-mac-count { count | enable-forwarding }

undo mac-address max-mac-count [ enable-forwarding ]

【缺省情况】

没有配置接口最多可以学习到的MAC地址数,并且当接口学习的MAC地址数达到配置的最大MAC地址数后,允许转发收到的数据帧。

【视图】

二层以太网接口视图

【缺省用户角色】

network-admin

【参数】

count:接口可以学习的最大MAC地址数,取值范围为0~4096,为0即表示不允许该接口学习MAC地址。

enable-forwarding:当接口学习的MAC地址数达到配置的最大MAC地址数后,允许转发收到的源MAC地址不在MAC地址表里的数据帧。

【使用指导】

通过配置接口最多可以学习到的MAC地址数,用户可以控制设备维护的MAC地址表的表项数量。当接口学习到的MAC地址数达到配置的最大值时,该接口将不再对MAC地址进行学习。

【举例】

# 配置以太网接口Ten-GigabitEthernet1/0/1最多学习到的地址的数目为600,当接口学习的MAC地址数达到600时,禁止转发源MAC地址不在MAC地址表里的数据帧。

<Sysname> system-view

[Sysname] interface ten-gigabitethernet 1/0/1

[Sysname-Ten-GigabitEthernet1/0/1] mac-address max-mac-count 600

[Sysname-Ten-GigabitEthernet1/0/1] undo mac-address max-mac-count enable-forwarding

【相关命令】

·              mac-address

·              mac-address timer

1.1.9  mac-address timer

mac-address timer命令用来配置动态MAC地址表项的老化时间。

undo mac-address timer命令用来恢复缺省情况。

【命令】

mac-address timer { aging seconds | no-aging }

undo mac-address timer

【缺省情况】

动态MAC地址表项老化时间为300秒。

【视图】

系统视图

【缺省用户角色】

network-admin

【参数】

aging seconds:动态MAC地址表项的老化时间,单位为秒。取值范围为10~1000000秒

no-aging:不老化。

【使用指导】

当网络拓扑改变后,动态MAC地址表项不会及时自动更新。这样,由于设备学习不到新的MAC地址,会导致用户流量不能正常转发。因此,需要配置动态MAC地址表项老化时间。超出设定的老化时间,动态MAC地址表项被自动删除,设备重新进行MAC地址学习,构建新的动态MAC地址表项。

用户配置的老化时间过长或者过短,都可能影响设备的运行性能:

·              如果用户配置的老化时间过长,设备可能会保存许多过时的MAC地址表项,从而耗尽MAC地址表资源,导致设备无法根据网络的变化更新MAC地址表。

·              如果用户配置的老化时间太短,设备可能会删除有效的MAC地址表项,可能导致设备广播大量的数据报文,影响设备的运行性能。

所以用户需要根据实际情况,配置合适的老化时间来有效的实现MAC地址老化功能。

【举例】

# 配置动态MAC地址表项的老化时间为500秒。

<Sysname> system-view

[Sysname] mac-address timer aging 500

【相关命令】

·              display mac-address aging-time

不同款型规格的资料略有差异, 详细信息请向具体销售和400咨询。H3C保留在没有任何通知或提示的情况下对资料内容进行修改的权利!

新华三官网
联系我们