實例解讀:用MAC地址定位目標主機
原創【51CTO.com 獨家特稿】單位網絡結構圖如圖1所示。為了確保重要設備的穩定性和冗余性,核心層交換機使用兩臺Cisco 4507,通過Trunk線連接。在兩臺核心交換機上連接有單位重要的服務器,如視頻服務器、FTP、WEB和郵件服務器等。每臺服務器都有兩根網線分別連接到4507A和4507B上,以保證服務器和核心交換機之間傳輸數據的穩定性。單位IP地址的部署,使用的是C類私有192網段的地址。所有的服務器都位于VLAN 11至VLAN 20中,對應的網絡號是192.168.11.0~192.168.20.0,如視頻服務器的IP地址為192.168.11.8,子網掩碼為255.255.255.0,默認網關為192.168.11.254。服務器的IP地址、默認網關和DNS都是靜態配置的。
因為服務器上數據的重要性,需要對數據進行存儲、備份,所以每臺服務器都使用HBA卡,再通過光纖連接到SAN網絡中的光纖交換機上,再通過光纖交換機連接到EMC的存儲、備份設備上。

圖1 網絡結構圖
一、服務器應用系統升級引起的問題
因為業務擴充和應用系統升級的要求,需對視頻服務器上的操作系統,及應用軟件進行重新安裝。但在對視頻服務器上的系統進行備份和規整時發現,服務器上有兩塊網卡都在使用。如下所示,在視頻服務器的操作系統Win2003中的"命令行"中執行ipconfig /all命令,此命令能夠顯示當前系統的TCP/IP配置的設置值,并能用來檢驗人工配置的TCP/IP設置是否正確。執行命令后顯示的結果如下所示:
- C:\ >ipconfig /all
- Ethernet adapter 本地連接 1:
- Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection
- Physical Address. . . . . . . . . : 00-13-72-42-24-50
- IP Address. . . . . . . . . . . . : 10.1.1.12
- Subnet Mask . . . . . . . . . . . : 255.255.255.0
- Ethernet adapter 本地連接 2:
- Description . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection #2
- Physical Address. . . . . . . . . : 00-13-72-33-21-6F
- IP Address. . . . . . . . . . . . : 192.168.11.8
- Subnet Mask . . . . . . . . . . . : 255.255.255.0
- Default Gateway . . . . . . . . . : 192.168.11.254
上面的輸出結果中,其中192.168.11.8的IP地址,是視頻服務器連接到單位辦公網中所使用的地址。因為辦公網中所有的PC、服務器,以及網絡交換、路由設備都使用的是192網段的地址。
但是上面的顯示中,還有另外一個10.1.1.12的IP地址,這個地址不是單位辦公網中所使用的地址。但這個地址卻是個活動地址,也就是在正常使用,通過視頻服務器上的流量監控軟件,能夠看到10.1.1.12的網卡上有數據流量通過。那它是哪兒的地址?它是連接到什么設備上的?它是連接到什么網絡中的?因為在機房視頻服務器的日常工作記錄本上,也沒有和IP地址10.1.1.12相關的記錄。但是要對視頻服務器的應用系統進行升級,還必須弄明白服務器上所有IP地址的功能和用途。所以只能通過其它的方法查詢10.1.1.12的功用了。#p#
二、解決問題的步驟
1、既然知道視頻服務器上,有兩個活動的IP地址192.168.11.8和10.1.1.12,那在服務器的ARP表中,也肯定有192.168.11.0/24,和10.1.1.0/24這兩個網段中的IP地址和MAC地址的對應項。所以在服務器的"命令行"中,執行"arp -a"命令。此命令是通過詢問協議數據,顯示當前的ARP表項。如果指定了特定的IP地址,則只顯示指定計算機IP地址和物理地址的對應項。如果不止一個網絡接口使用ARP,則顯示每個ARP 表項。顯示的結果如下所示:
- C:\ >arp -a
- Interface: 10.1.1.12 --- 0x10003
- Internet Address Physical Address Type
- 10.1.1.2 00-60-16-0a-b5-a3 dynamic
- Interface: 192.168.11.8 --- 0x10004
- Internet Address Physical Address Type
- 192.168.11.4 04-1a-72-6a-4e-f2 dynamic
- 192.168.11.254 01-80-0c-b7-a1-45 dynamic
由上面顯示結果可以看出,192.168.11.0網段中的IP地址和MAC地址的對應項都是正常的,這些地址都是單位的辦公網中正在使用的地址。
但是顯示結果中的"10.1.1.2 00-60-16-0a-b5-a3 dynamic"項,是在單位辦公網中沒有使用的地址。不過配置10.1.1.2地址的設備,肯定是和視頻服務器的10.1.1.12/24的網卡相連接的。
為了證實10.1.1.2的IP地址是活動的,就在視頻服務器的"命令行"中執行了ping 10.1.1.2的命令,得到如下的顯示:
- C:\Users\Administrator>ping 10.1.1.2
- 正在 Ping 10.1.1.2 具有 32 字節的數據:
- 來自 10.1.1.2 的回復: 字節=32 時間=1ms TTL=255
- 來自 10.1.1.2 的回復: 字節=32 時間=1ms TTL=255
- 來自 10.1.1.2 的回復: 字節=32 時間=1ms TTL=255
- 來自 10.1.1.2 的回復: 字節=32 時間=1ms TTL=255
- 10.1.1.2 的 Ping 統計信息:
- 數據包: 已發送 = 4,已接收 = 4,丟失 = 0 (0% 丟失),
- 往返行程的估計時間(以毫秒為單位):
- 最短 = 1ms,最長 = 1ms,平均 = 1ms
從上面的顯示可以看出,10.1.1.2的IP地址也是處于活動狀態的。
2、現在已經知道和視頻服務器IP地址為10.1.1.12的網卡相連的設備的IP地址和MAC地址。因為從10.1.1.12網卡連接出來的網線是通過機房的地下布線的。也就是說沿著視頻服務器網卡后面的網線找各個連接點是非常困難的,因為所有的網線都在地板下,而地板上還放著服務器的機柜。
所以現在已經知道了10.1.1.2的IP地址和MAC地址,那能否在辦公網中找到和這兩個地址相關的信息,也就是在4507交換機的ARP表和CAM表中進行查找。
因為在三層交換機中都保存有這兩張表,可以通過show arp命令查找連接到三層設備的客戶端或服務器的IP地址和其MAC地址的對照表。通過show mac address-table查找連接到二層設備的客戶端或服務器的MAC地址和其連接到二層設備接口的對照表。也就說只要知道其中的某一個就可以知道另一個的值。也可以說三層設備維護的是ARP表,二層設備維護的是CAM表。因為三層交換機同時具備三層、二層功能,所以這兩張表它都進行維護。
但是在4507中執行"Cisco4507#show arp | include 10.1.1.2"和"Cisco4507#sh mac address-table dynamic | include 0060.160a.b5a3"兩條命令后,并沒有任何結果顯示,如下所示:
- Cisco4507#sh arp | include 10.1.1.2
- Cisco4507#
- Cisco4507#sh mac address-table dynamic | include 0060.160a.b5a3
- Cisco4507#
從上面的輸出中可以看出,在4507的ARP表和CAM表中并沒有包含"10.1.1.2"和"0060.1601.b5a3"的表項。若是在這兩個表中包含某一參數的話,一般會得到和下面格式一致的輸出結果:
- Cisco4507#sh arp | include 192.168.2.1
- Protocol Address Age (min) Hardware Addr Type Interface
- Internet 192.168.2.14 0 131d.920d.1a32 ARPA Vlan2
- Internet 192.168.2.1 0 1613.7868.4a9d ARPA Vlan2
- Cisco4507#sh mac address-table dynamic | include 1223.8916.1227
- vlan mac address type protocols port
- 200 1223.8916.1227 dynamic ip GigabitEthernet3/1
同時在4507上執行命令"Cisco4507#ping 10.1.1.2",得到如下輸出結果:
- C:\Users\Administrator>ping 10.1.1.2
- 正在 Ping 10.1.1.2 具有 32 字節的數據:
- 請求超時。
- 請求超時。
- 請求超時。
- 請求超時。
- 10.1.1.2 的 Ping 統計信息:
- 數據包: 已發送 = 4,已接收 = 0,丟失 = 4 (100% 丟失)
從上面的輸出結果可以看出,在單位的辦公網中,并沒有IP地址是10.1.1.2的這個設備。#p#
3、因為MAC地址具有唯一性,并和物理設備綁定在一起,而IP地址并不具備這兩個特性,所以,現在只能通過MAC地址進行查找IP地址10.1.1.2具體是什么設備,并確定它的物理位置。
MAC地址是識別局域網節點的標識,是燒錄在網卡(Network Interface Card,NIC)里,共48比特長,由12個十六進制的數字組成,其中0至23位為組織唯一標識符,24至47位是由廠家自己分配。網卡的物理地址通常是由網卡生產廠家燒入網卡的可擦寫可編程只讀存儲器中,它存儲的是傳輸數據時真正賴以標識發出數據的電腦和接收數據的主機的地址。MAC地址的前6個十六進制的數字是由IEEE進行分配的。通過IEEE的網站,就能查詢到MAC地址前6個十六進制的數字和其使用公司名稱的對應關系。
因為現在知道了IP地址10.1.1.2,和其對應的MAC地址00-60-16-0a-b5-a3。所以在一臺能訪問互聯網的電腦的瀏覽器地址欄中輸入,通過MAC地址查詢網卡生產廠商的IEEE的網址"http://standards.ieee.org/develop/regauth/oui/public.html",打開后,在頁面中輸入地址"00-60-16-0a-b5-a3"的前六位,然后點擊按鈕"Search!",如圖2所示。

圖2 通過MAC地址查詢公司名稱圖示
點擊查詢后,會得到如下的顯示結果:
- Here are the results of your search through the public section of the IEEE Standards OUI database report for 00-60-16:
- --------------------------------------------------------------------------------
- 00-60-16 (hex) CLARIION
- 006016 (base 16) CLARIION
- COSLIN DRIVE
- Mail Stop C25
- SOUTHBORO MA 01772
- UNITED STATES
由上面的輸出結果,可以看出IP地址是10.1.1.2的設備類型是"CLARIION",它是EMC存儲產品中的一個系列產品,屬于中端存儲產品,所以,現在就能確定10.1.1.12和10.1.1.2兩個IP地址都是應用在存儲設備上,也就能確定10.1.1.2的具體位置在EMC的存儲設備上。
4、確定IP地址的具體位置。打開EMC的機柜后,發現在其中有一個五端口的交換機,它是EMC廠家自帶的,五端口交換機上的接口全是電口,上面都接有網線。如圖3所示,是視頻服務器連接EMC自帶交換機的示意圖。

圖3 視頻服務器連接EMC自帶交換機圖示
為了確認視頻服務器,10.1.1.12網卡上的網線是不是接到EMC機柜中的五端口交換機上,我們把10.1.1.12網卡上的網線拔掉,結果五端口交換機上一個端口的指示燈就滅了,把網線插上后,交換機上那個端口的指示燈又亮了。
所以,現在就能確定視頻服務器上IP地址是10.1.1.12的網卡,是通過EMC的五端口交換機連接到EMC的存儲設備上,10.1.1.2就是EMC存儲設備上電口的IP地址。10網段中的地址都是用來在視頻服務器上,對EMC的存儲設備進行遠程操作控制所使用的。
明白了IP地址所使用的具體位置和其功能后,就可以放心的對視頻服務器進行重裝系統和應用軟件的升級了。如圖4所示,是EMC機柜圖。

圖4 EMC機柜圖示
三、總結
1、由以上解決問題的步驟,可以看出,在視頻服務器上共連接有三根網絡數據線。第一根是雙絞線,通過IP地址是192.168.11.8的網卡連接到核心交換機4507上。這根網線的主要作用是讓單位辦公網絡中的客戶端能通過4507核心交換機訪問到視頻服務器上的資源;第二根是光纖,通過視頻服務器的HBA卡,連接到存儲區域網絡(Storage Area Network, SAN)中的光纖交換機上,再通過光纖交換機連接到EMC的存儲設備上。這根光纖的主要作用是對視頻服務器上數據庫中的數據進行存儲、備份,通過光纖傳輸數據也能夠大大提高數據傳輸的速率。第三根也是雙絞線,通過IP地址是10.1.1.12的網卡連接到EMC自帶的五端口交換機上,這根網線的主要作用是,在視頻服務器上通過WEB管理控制界面對EMC存儲設備進行管理和配置。
2、MAC地址具有全球唯一性,利用這種特性往往能給排查網絡故障,帶來很大的便利性。因為MAC地址和設備是綁定在一起的,只要做好了MAC地址和具體設備對應關系的維護登記工作,那只要知道了MAC地址,就能找到MAC地址對應的設備在那里。
而IP地址并不具有這種特性,IP地址更多的是一種邏輯上的地址,通常情況下IP地址和具體的設備并不是一一對應的,尤其是使用了DHCP和NAT技術后,IP地址和設備之間并沒有什么關系。使用DHCP技術后,客戶端和服務器獲取到的IP地址都是動態和變化的,今天使用的是A地址,明天可能就使用的是B地址。而NAT技術的變化更大,如局域網中的用戶使用NAT技術和互聯網上的用戶進行通信,互聯網上的用戶看到局域網中用戶使用的IP地址,實際上并不是他的實際IP地址,所以這時要把IP地址與具體的設備或用戶聯系起來,是非常困難的。
使用IP地址的這種不確定性,在隨著以后IPv6使用范圍的不斷推廣,就會有很大的改觀。因為IPv6地址數量的龐大,按保守方法估算,IPv6實際可分配的地址,在整個地球每平方米面積上可分配1000多個地址,號稱能讓"每顆沙子都擁有一個IP地址"。既然IPv6有這么多的地址,能保證每一個Internet上的終端使用的都是全球唯一IP地址,所以當IPv6地址在全球普及的時候,也就保證了每一個IPv6地址能與具體的設備和用戶對應起來,這對網絡安全和網絡維護工作將帶來很大便利。
3、其實這次網絡問題的排查,若是以前在維護和配置視頻服務器時能夠按照規定,對操作規程進行嚴格的登記和記錄,這樣在解決上面的問題時,只要看下記錄本,所有的東西都一目了然了。也就大大節省了網絡維護人員的時間和精力,提高了工作效率。看來注重點滴和基礎工作,對網絡維護、管理工作也是必不可少的。
【51CTO.com獨家特稿,非經授權謝絕轉載!合作媒體轉載請注明原文出處及出處!】




















