• 產品與解決方案
  • 行業解決方案
  • 服務
  • 支持
  • 合作夥伴
  • 關於我們

02 二層技術-以太網交換配置指導

目錄

04-MAC地址表配置

本章節下載 04-MAC地址表配置  (215.38 KB)

04-MAC地址表配置


1 MAC地址表配置

說明

·     MAC地址表中對於接口的相關配置,目前隻能在二層以太網端口、二層聚合接口等二層接口上進行。

·     本章節內容隻涉及單播的靜態、動態、黑洞MAC地址表項的配置。有關靜態組播MAC地址表項的相關介紹和配置內容,請參見“IP組播配置指導”中的“IGMP Snooping”和“MLD Snooping”。

 

1.1  MAC地址表簡介

MAC地址表記錄了目的MAC地址、MAC地址對應的出接口以及所屬的VLAN ID。在轉發數據時,設備根據報文中的目的MAC地址查詢MAC地址表,快速定位出接口,從而減少廣播。

通過display mac-address命令可以查看MAC地址表信息,例如:

<Sysname> display mac-address

MAC ADDR        VLAN ID   STATE            PORT INDEX              AGING TIME(s)

000f-e201-0101  1         Learned          GigabitEthernet1/0/1           AGING

  ---  1 mac address(es) found  --- 

1.1.1  MAC地址表項的生成方式

MAC地址表項的生成方式有兩種:自動生成、手工配置。

1. 自動生成MAC地址表項

一般情況下,MAC地址表是設備通過源MAC地址學習過程而自動建立的。設備學習MAC地址的方法如下:如果從某接口(假設為接口A)收到一個數據幀,設備就會分析該數據幀的源MAC地址(假設為MAC-SOURCE),並認為目的MAC地址為MAC-SOURCE的報文可以由接口A轉發;如果MAC地址表中已經包含MAC-SOURCE,設備將對該表項進行更新;如果MAC地址表中尚未包含MAC-SOURCE,設備則將這個新MAC地址以及該MAC地址對應的接口A作為一個新的表項加入到MAC地址表中。

為適應網絡的變化,MAC地址表需要不斷更新。MAC地址表中自動生成的表項並非永遠有效,每一條表項都有一個生存周期,到達生存周期仍得不到刷新的表項將被刪除,這個生存周期被稱作老化時間。如果在到達生存周期前紀錄被刷新,則重新計算該表項的老化時間。

2. 手工配置MAC地址表項

設備通過源MAC地址學習自動建立MAC地址表時,無法區分合法用戶和黑客用戶的報文,帶來了安全隱患。如果黑客用戶將攻擊報文的源MAC地址偽裝成合法用戶的MAC地址,並從設備的其他接口進入,設備就會學習到錯誤的MAC地址表項,於是就會將本應轉發給合法用戶的報文轉發給黑客用戶。

為了提高接口安全性,網絡管理員可手工在MAC地址表中加入特定MAC地址表項,將用戶設備與接口綁定,從而防止假冒身份的非法用戶騙取數據。手工配置的MAC地址表項優先級高於自動生成的表項。

1.1.2  MAC地址表項的分類

MAC地址表項分為:靜態MAC地址表項、動態MAC地址表項和黑洞MAC地址表項。

·     靜態MAC地址表項由用戶手工配置,用於目的是某個MAC地址的報文從對應端口轉發出去,表項不老化。

·     動態MAC地址表項包括用戶配置的以及設備通過源MAC地址學習得來的,用於目的是某個MAC地址的報文從對應端口轉發出去,表項有老化時間。

·     黑洞MAC地址表項用於丟棄含有特定目的MAC地址的報文(例如,出於安全考慮,可以屏蔽某個用戶接收報文),由用戶手工配置,表項不老化。

說明

用戶手工配置的靜態MAC地址表項、黑洞MAC地址表項不會被動態MAC地址表項覆蓋,而動態MAC地址表項可以被靜態MAC地址表項、黑洞MAC地址表項覆蓋。

 

1.1.3  基於MAC地址表的報文轉發

設備在轉發報文時,根據MAC地址表項信息,會采取以下兩種轉發方式:

·     單播方式:當MAC地址表中包含與報文目的MAC地址對應的表項時,設備直接將報文從該表項中的轉發出接口發送。

·     廣播方式:當設備收到目的地址為全1的報文,或MAC地址表中沒有包含對應報文目的MAC地址的表項時,設備將采取廣播方式將報文向除接收接口外的所有接口進行轉發。

1.2  配置MAC地址表

以下配置均為可選配置,且配置過程無先後順序,用戶可以根據實際情況選擇配置。

1.2.1  配置MAC地址表項

一般情況下,設備通過源MAC地址學習過程自動建立MAC地址表。

為了提高接口安全性,網絡管理員可手工在MAC地址表中加入特定MAC地址表項,將用戶設備與接口綁定,從而防止假冒身份的非法用戶騙取數據。

另外,如果需要丟棄指定目的MAC地址的報文,可配置黑洞MAC地址表項。

1. 配置靜態/動態MAC地址表項

(1)     全局配置靜態/動態MAC地址表項

表1-1 全局配置靜態/動態MAC地址表項

操作

命令

說明

進入係統視圖

system-view

-

添加或者修改靜態/動態MAC地址表項

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

必選

缺省情況下,係統沒有配置任何MAC地址表項

 

說明

·     在配置MAC地址表項時,命令中interface參數指定的接口必須屬於vlan參數指定的VLAN,而且該VLAN必須事先創建,否則將添加失敗。

·     如果要配置MAC地址的二層以太網端口是某二層聚合接口的成員端口,則不能在該二層以太網端口上配置靜態/動態MAC地址表項。

·     如果在某二層以太網端口上配置了靜態MAC地址表項,則將該端口加入到二層聚合組前,請先刪除配置的靜態MAC地址表項。

 

(2)     接口配置靜態/動態MAC地址表項

表1-2 接口配置靜態/動態MAC地址表項

操作

命令

說明

進入係統視圖

system-view

-

進入二層以太網端口、二層聚合接口視圖

interface interface-type interface-number

-

在當前接口下添加或者修改靜態/動態MAC地址表項

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

必選

缺省情況下,接口下沒有配置任何MAC地址表項

 

說明

·     在配置MAC地址表項時,當前的接口必須屬於命令中vlan參數指定的VLAN,而且該VLAN必須事先創建,否則將添加失敗。

·     如果要配置MAC地址的二層以太網端口是某二層聚合接口的成員端口,則不能在該二層以太網端口上配置靜態/動態MAC地址表項。

 

2. 配置黑洞MAC地址表項

表1-3 配置黑洞MAC地址表項

操作

命令

說明

進入係統視圖

system-view

-

添加或者修改黑洞MAC地址表項

mac-address blackhole mac-address vlan vlan-id

必選

缺省情況下,係統沒有配置任何MAC地址表項

 

說明

在配置黑洞MAC地址表項時,指定的VLAN必須事先創建,否則將添加失敗。

 

1.2.2  配置動態MAC地址表項的老化時間

當網絡拓撲改變後,動態MAC地址表項不會及時自動更新。這樣,由於設備學習不到新的MAC地址,會導致用戶流量不能正常轉發。因此,需要配置動態MAC地址表項老化時間。超出設定的老化時間,動態MAC地址表項被自動刪除,設備重新進行MAC地址學習,構建新的動態MAC地址表項。

配置合適的老化時間可以有效利用MAC地址老化功能。用戶配置的老化時間過長或者過短,都可能影響設備的運行性能:

·     如果用戶配置的老化時間過長,設備可能會保存許多過時的MAC地址表項,從而耗盡MAC地址表資源,導致設備無法根據網絡的變化更新MAC地址表。

·     如果用戶配置的老化時間太短,設備可能會刪除有效的MAC地址表項,可能導致設備廣播大量的數據報文,影響設備的運行性能。

表1-4 配置動態MAC地址表項的老化時間

操作

命令

說明

進入係統視圖

system-view

-

配置動態MAC地址表項的老化時間

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

可選

缺省情況下,MAC地址老化時間為300秒

 

說明

·     動態MAC地址表項的老化時間作用於全部接口上,地址老化隻對動態的(設備學習到的或者用戶配置的動態的)MAC地址表項起作用。

·     在一個比較穩定的網絡,如果長時間沒有流量,動態MAC地址表項會被全部刪除,可能導致設備突然廣播大量的數據報文,被他人偵聽,造成安全隱患,此時可將動態MAC地址表項的老化時間設成no-aging(不老化),以減少廣播,增加網絡穩定性和安全性。

 

1.2.3  配置端口最多可以學習到的MAC地址數

通過配置二層以太網端口、二層聚合端口或端口組最多可以學習到的MAC地址數,用戶可以控製設備維護的MAC地址表的表項數量。當接口學習到的MAC地址數達到配置的最大值時,該接口將不再對MAC地址進行學習。

表1-5 配置接口最多可以學習到的MAC地址數

操作

命令

說明

進入係統視圖

system-view

-

進入二層以太網端口、二層聚合端口或者端口組視圖

進入二層以太網端口或者二層聚合端口視圖

interface interface-type interface-number

二者必選其一

進入二層以太網端口或者二層聚合端口視圖後,下麵進行的配置隻在當前接口生效;進入端口組視圖後,下麵進行的配置將在端口組的所有接口生效

進入端口組視圖

port-group manual port-group-name

配置接口最多可以學習到的MAC地址數,以及當接口學習到的MAC地址數達到配置的最大值時,是否繼續轉發源MAC地址不在MAC地址表裏的數據幀

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

必選

缺省情況下,沒有配置以太網端口/聚合端口/端口組最多可以學習到的MAC地址數,並且當配置了接口最多可以學習到的MAC地址數並達到配置的最大值後,允許轉發源MAC地址不在MAC地址表裏的數據幀

 

說明

當以太網端口被配置為聚合組的成員端口後,需要在這些成員端口上配置相同的端口最多可以學習到的MAC地址數,才能讓這些端口被選中。

 

1.2.4  配置VLAN最多可以學習到的MAC地址數

通過配置VLAN最多可以學習到的MAC地址數,用戶可以控製設備維護的VLAN的MAC地址表的表項數量。如果MAC地址表過於龐大,可能導致設備的轉發性能下降。當VLAN學習到的MAC地址條數達到最大值時,該VLAN將不再對MAC地址進行學習。

表1-6 配置VLAN最多可以學習到的MAC地址數

操作

命令

說明

進入係統視圖

system-view

-

進入VLAN視圖

vlan vlan-id

-

配置VLAN最多可以學習到的MAC地址數

mac-address max-mac-count count

必選

缺省情況下,沒有配置VLAN最多可以學習到的MAC地址數

需要注意的是,對於下行端口為8端口和24端口的設備,最多支持在8個VLAN內配置最多可以學習到的MAC地址數;對於下行端口為48端口的設備,最多支持在32個VLAN內配置最多可以學習到的MAC地址數

返回係統視圖

quit

-

配置當VLAN學習到的MAC地址數達到最大值時,不允許轉發源MAC地址不在MAC地址表裏的數據幀

vlan-mac-address max-mac-count disable-forwarding

必選

缺省情況下,當VLAN學習的MAC地址數達到配置的最大MAC地址數後,允許轉發源MAC地址不在MAC地址表裏的數據幀

需要注意的是,該配置在所有VLAN內生效

 

1.3  MAC地址表顯示和維護

在完成上述配置後,在任意視圖下執行display命令可以顯示配置後MAC地址表的運行情況,通過查看顯示信息驗證配置的效果。

表1-7 MAC地址表顯示和維護

操作

命令

顯示MAC地址表信息

display mac-address [ mac-address [ vlan vlan-id ] | [ [ dynamic | static ] [ interface interface-type interface-number ] | blackhole ] [ vlan vlan-id ] [ count ] ] [ | { begin | exclude | include } regular-expression ]

顯示MAC地址表動態表項的老化時間

display mac-address aging-time [ | { begin | exclude | include } regular-expression ]

 

1.4  MAC地址表典型配置舉例

1. 組網需求

·     現有一個用戶主機Host A,它的MAC地址為000f-e235-dc71,所屬VLAN為VLAN 1,所連的設備接口為GigabitEthernet1/0/1。為防止MAC地址攻擊,在設備的MAC地址表中為該用戶主機添加一條靜態表項。

·     另有一個用戶主機Host B,它的MAC地址為000f-e235-abcd,所屬VLAN為VLAN 1。由於該用戶主機曾經接入網絡進行非法操作,為了避免此種情況再次發生,在設備上添加一條黑洞MAC地址表項,使該用戶主機接收不到報文。

·     配置設備的動態MAC地址表項老化時間為500秒。

2. 組網圖

圖1-1 MAC地址表組網圖

 

3. 配置步驟

# 增加一個靜態MAC地址表項。

<Sysname> system-view

[Sysname] mac-address static 000f-e235-dc71 interface GigabitEthernet 1/0/1 vlan 1

# 增加一個黑洞MAC地址表項。

[Sysname] mac-address blackhole 000f-e235-abcd vlan 1

# 配置動態MAC地址表項的老化時間為500秒。

[Sysname] mac-address timer aging 500

# 查看以太網端口GigabitEthernet1/0/1上的MAC地址表信息。

[Sysname] display mac-address interface GigabitEthernet 1/0/1

MAC ADDR          VLAN ID  STATE            PORT INDEX             AGING TIME(s)

000f-e235-dc71    1        Config static    GigabitEthernet 1/0/1           NOAGED

 

  ---  1 mac address(es) found  ---

# 查看黑洞MAC地址表信息。

[Sysname] display mac-address blackhole

MAC ADDR        VLAN ID    STATE            PORT INDEX             AGING TIME(s)

000f-e235-abcd  1          Blackhole        N/A                    NOAGED

 

  ---  1 mac address(es) found  ---

# 查看動態MAC地址表項的老化時間。

[Sysname] display mac-address aging-time

Mac address aging time: 500s

不同款型規格的資料略有差異, 詳細信息請向具體銷售和400谘詢。H3C保留在沒有任何通知或提示的情況下對資料內容進行修改的權利!

BOB登陆
官網
聯係我們