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