前言
上次有寫過一篇《
20張圖深度詳解MAC地址表、ARP表、路由表
》的文章,裡面有提到了
MAC地址表
。那麼什麼是MAC地址表?MAC地址表有什麼作用?MAC地址表裡麵包含了哪些要素?今天帶你好好嘮嘮。
我們以一個案例為例:
如上圖:PC1和PC2透過交換機SW1直連,此時PC1想要和PC2通訊。
1、根據
TCP/IP參考模型
,PC1想要和PC2通訊,除了需要知道PC2的IP地址,還需要知道PC2的MAC地址,這個我們在之前章節已經講了,可以透過ARP廣播獲取PC2的目的IP地址。(PC1的ARP表項如下圖)
2、PC1將報文封裝好傳送給交換機SW1,交換機SW1會
查詢MAC地址表
,匹配到PC2的MAC地址,查找出介面為GE0/0/2。(交換機的MAC地址表如下圖)
3、交換機SW1將報文發給PC2,PC2收到後
解封裝
發現目的MAC和目的IP均為自己的,因此接收該報文繼續處理。
以上就是整個案例的通訊過程,可是我們有沒有想過,就是交換機SW1的MAC地址表是怎麼生成的?交換機的MAC地址表是啥樣的?由哪些要素構成?
MAC地址表
MAC地址表:
簡單的說,MAC地址表是交換機等網路裝置記錄
MAC地址和埠的對映關係
(見下圖),代表了交換機從哪個埠學習到了某個MAC地址,交換機把這個資訊記錄下來,後續交換機需要轉發資料的時候就可以根據報文的目的MAC地址去根據MAC地址錶轉發資料。
華為交換機上可以透過命令
display mac-address
檢視所有型別的MAC地址表項資訊;
MAC地址表作用:
1、用於存放交換機所學習到的其它裝置的MAC地址資訊。
2、用於交換機在轉發資料時,根據乙太網幀中的目的MAC地址和VLAN編號查詢MAC表,快速定位裝置的出介面。
MAC地址表主要構成:
包括目的MAC地址、裝置所屬的VLAN、出介面、MAC表項型別、老化時間等。
下面我們就分別來講下MAC地址表的五大要素。
目的MAC地址
什麼是MAC地址?
每個網絡卡或三層網口都有一個
MAC 地址
, MAC 地址是燒錄到硬體上,因此也稱為
硬體地址
。MAC 地址作為資料鏈路裝置的地址識別符號,需要保證網路中的每個 MAC 地址都是
唯一
的,才能正確識別到資料鏈路上的裝置。
MAC地址組成?
MAC 地址由
6
個位元組組成。前 3 個位元組表示
廠商識別碼
,每個網絡卡廠商都有特定唯一的識別數字。後 3 個位元組由廠商給每個網絡卡進行分配。廠商可以保證生產出來的網絡卡不會有相同 MAC 地址的網絡卡。
MAC地址
MAC地址表示方法?
為了檢視方便, 6 個位元組的 MAC 地址使用
十六進位制
來表示。每個位元組的 8 位二進位制數分別用 2 個十六進位制數來表示。
例如我的網絡卡 MAC 地址是
34-F6-4B-62-B3-85
。可以在自己的PC透過開啟cmd透過命令
ipconfig /all
檢視
交換機是如何學習MAC地址的?
1、交換機在從某介面收到資料幀時會
基於源MAC地址學習
,然後在MAC地址表中新增MAC地址和介面的對映關係,生成對應的MAC地址表項
2、交換機在轉發資料幀時是
基於目的MAC地址進行轉發
。
所屬VLAN
當交換機上的介面有繫結VLAN時,生成的MAC地址表項會標識介面所屬的VLAN。如下圖中介面10GE1/0/1的所屬VLAN為100。
關於VLAN,我們簡單看下VLAN相關的概念。
什麼是VLAN?
VLAN是為了在二層隔離廣播域而提出的一個概念。
舉個例子,我們班級一共有15個人,為了方便管理,我們3人1組,分成組1,組2,組3,組4,組5。那麼劃分VLAN就類似於分組的概念。
如下圖:我們將PC1和PC3劃分為VLAN10,PC2和PC4劃分為VLAN20,那麼
相同的VLAN之間可以通訊,不同VLAN之間二層不可以通訊。
怎麼區分不同的 VLAN ?
透過 VLAN ID 進行區分,例如 VLAN 10 和 VLAN 20 就是不同的 VLAN 。
VLAN 技術有哪些好處?
增加了廣播域的數量,
減小了每個廣播域的規模
,也減少了每個廣播域中終端裝置的數量;
增強了網路安全性,
保障網路安全的方法增加了;
提高了網路設計的邏輯性
,可以規避地理、物理等因素對於網路設計的限制。
VLAN 劃分
交換機通常會使用
基於埠劃分 VLAN
的方法。在交換機上手動配置,繫結交換機埠和 VLAN ID 的關係。
如下圖就是基於介面的方式劃分VLAN。
優點:配置簡單。想要把某個埠劃分到某個 VLAN 中,只需要把埠的
PVID
(埠 VLAN ID )配置到相應的 VLAN ID 即可。
缺點:當終端裝置移動位置是,可能需要為終端裝置連線的新埠重新劃分 VLAN 。
除了這種方法外,還可以使用
基於
MAC 地址劃分 VLAN
、
基於 IP 地址劃分 VLAN
、
基於協議劃分 VLAN
、
基於策略劃分 VLAN
等方法來劃分 VLAN。
出介面
當交換機收到一個數據包會根據資料幀的
目的MAC地址
去查詢MAC地址表,如果能夠匹配到,那麼就會根據表項的
出介面
傳送出資料幀。
如上圖所示:
1、PC1傳送一個如下圖所示的資料幀給SW1,目的MAC為PC2的MAC;
2、交換機SW1收到該資料幀後根據目的MAC查詢MAC地址表,匹配到表項,按照表項提供的出介面將資料從G0/0/2口轉發出去;
3、PC2收到資料幀後進行解封裝,通訊結束。
MAC地址表表項型別
MAC地址表生成的方式有多種,最常見的就是
動態生成MAC地址表項。
下面我們一起看下MAC地址表的表項型別:
1、
static
:靜態MAC地址表項。由使用者手工配置,表項不會被老化。
2、blackhole:標識黑洞MAC地址表項,由使用者手工配置,表項不會被老化。
3、
dynamic
:標識動態MAC地址表項,由裝置透過源MAC地址學習獲得,表項有老化時間,可被老化。
4、security:標識安全動態MAC表項,由介面使能埠安全功能後學習到的MAC地址表項。
5、sticky:標識Sticky MAC表項,由介面使能Sticky MAC功能後學習到的MAC地址表項。
6、mux:標識MUX MAC表項,當介面使能MUX VLAN功能後,該介面學習到的MAC地址表項會記錄到mux型別的MAC地址表項中。
7、snooping:根據DHCP Snooping繫結表生成的靜態MAC表項型別。
8、evn:標識EVN或EVPN網路中存在的MAC地址表項。
9、authen:使用者透過MAC認證或802。1x認證後形成的MAC地址表項。
10、tunnel:透過二層隧道學到的MAC地址。
11、ovsdb:標識透過OVSDB學習到的MAC地址表項。由VMware NSX控制器下發至本端裝置獲得,表項不會被老化。系統復位或介面板熱插拔後不丟失。
老化時間
MAC老化時間:
動態MAC地址學習時間,單位是秒。
華為交換機可以透過命令
display mac-address aging-time
命令用來檢視MAC地址表中動態MAC地址表項的老化時間。
使用本命令
檢視動態MAC地址表項的老化時間為0秒時,說明學習到的動態MAC地址不會被老
化,可能會使MAC地址表項爆炸式增長,降低系統性能。