李宏年
(江蘇師范大學,江蘇 徐州 221116)
因特網的廣泛應用開辟了信息時代的新紀元。移動通信和互聯網的結合徹底改變了人們的生活、工作和學習方式,足不出戶就可以在手機或電腦等終端上實現遠程控制、網上購物以及商業貿易等,給人們帶來了很大的便利。網絡電視和智能電視已走進千家萬戶,車聯網、物聯網的發展使萬物互聯成為可能,因而各種實體及終端間相互識別及尋址尤其重要。物理地址和邏輯地址作為信息網絡中的兩類尋址地址作用重大,目前已在計算機網絡和移動電話及電視機頂盒等終端設備上得到廣泛應用。
數據通信的本質是將源端發送的數據包傳遞到目的接收端。在網絡中,將數據包從一個網絡傳遞到另一個網絡,從一個結點轉發到另一個結點并最終順利送達目的地,路由和尋址尤為關鍵。在傳輸控制協議/網際協議(Transmission Control Protocol / Internet Protocol,TCP/IP)結構中,介質訪問控制(Media Access Control,MAC)地址是數據鏈路層的尋址地址,又稱為物理地址。MAC數據幀依據該地址進行傳送,網絡層及以上使用IP地址來尋址[1]。MAC幀包括幀頭、幀尾以及數據部分,如圖1所示。

圖1 MAC幀結構
MAC地址的長度一般為48位,通常表示為12個16進制數,固化在硬件存儲器中。所有連接到網絡上的設備或終端都至少有一個用來標識發出數據包和接收數據包的主機物理地址,也稱為硬件地址,該地址在全網是唯一的。物理地址是數據鏈路層和物理層使用的地址,它的前3個字節由國際電氣與電子工程師協會(Institute of Electrical and Electronics Engineers,IEEE)統一為每個生產廠商來分配,后3個字節由各生產廠商自行分配。前3個字節的24位中,第一字節的最低位I/G為0時表示此MAC地址為單播地址,為1時表示此MAC地址為組播地址。第一字節的次低位G/L為0時表示此地址為全局管理地址,為1時表示此地址為本地管理地址[2-4]。后24位稱為擴展標識符,一般由廠家分配,其組成結構如圖2所示。

圖2 MAC地址結構
連接在通信鏈路中的設備(主機或路由器)在收到MAC幀時,根據MAC幀首部中的MAC地址決定接收或丟棄。邏輯地址(IP地址)是網絡層及其以上層使用的地址。在目的端數據鏈路層拆封了MAC幀的首部和尾部后,便將數據提交給網絡層,網絡層對收到的IP數據包首部進行拆封后,找到源IP地址和目的IP地址,并依此IP地址來規劃數據包的傳輸路徑或路由。每個MAC地址對應著一個網絡端口,每臺電腦或終端可以對應多個MAC地址。通信網中有線網絡、無線網絡都各自對應著一個MAC硬件地址,在物理傳輸中就是靠物理地址來找到數據傳輸地址。例如,08:00:10:0A:8C:6D就是一個MAC地址,其中前6位16進制數08:00:10代表網絡設備硬件生產商的編號,由IEEE分配,而后3位16進制數0A:8C:6D代表該設備生產制造商所制造的某個網絡設備產品的系列號。
IP地址是互聯網網絡層協議地址,又稱為邏輯地址,每個IP地址都由網絡號和主機號兩部分組成。每個互聯網上的網絡和主機都有一個邏輯地址,在開放系統互聯7層網絡結構中,IP地址是網絡層的尋址地址,有IPv4和IPv6兩種。其中,IPv4地址分為5類,分別是A、B、C、D、E,由32位二進制數組成,通常被分割為4個字節,如圖3所示。隨著互聯網的蓬勃發展,越來越多的終端需要加進因特網,IP地址的需求量越來越大,IP地址顯得越來越不夠用,為了擴大地址空間,IPv6應運而生,通過IPv6重新定義了網絡地址空間。和IPv4相比,IPv6采用128位地址長度,極大地擴大了邏輯地址數量,除了解決地址短缺以外,還解決了服務質量(Quality of Service,QoS)、安全性、多播、移動性以及即插即用等IPV4中遇到的問題。

圖3 IPv4地址分類及結構
IPv6有效解決了網絡地址資源數量受限及多設備接入互聯網的問題。目前,網絡中IPv4和IPv6共存,可通過雙協議棧、隧道技術、網絡地址轉換等技術來完成IPv4和IPv6間的相互轉換。
因特網和移動互聯網已經應用到各種領域,通過手機、電腦、電視機頂盒、智能家居、掌上電腦以及視頻監控等終端設備都可以接入到因特網。各種接入到網絡上的終端,都必須有一個專門的MAC地址來尋址。可通過多種方法查看不同終端的MAC地址,圖4—圖6分別為某手機、電腦、電視的MAC地址和IP地址。

圖4 手機的MAC地址和IP地址

圖5 計算機的MAC地址和IP地址

圖6 電視的MAC地址和IP地址
數據包傳輸時,需要準確知道終點地址和下一跳地址。IP地址本質上是終點地址,它在跳過路由器時不會改變,而MAC地址則是下一跳的地址,每跳過一次路由器都會改變,起到了記錄下一跳信息的作用。在開放系統互聯參考模型OSI/RM中,數據鏈路層通過MAC地址尋址,交換機將數據從一個節點傳送到另外一個節點,此時交換機收到這個幀后,便開始查找自己的轉發表。轉發表中一般包含MAC地址和該MAC地址對應的端口。如果在轉發表中找到某一MAC地址和該MAC地址對應的端口,則將數據從該MAC對應的端口轉發出去;如果沒有找到對應地址及端口,交換機便會將此幀以廣播方式向所有端口進行廣播,除了該幀進入的端口;如果和目的幀不在一個網絡內,則本機的網絡層就將數據發送給網關。
通過地址解析協議(Address Resolution Protocol,ARP)獲得網關的MAC地址。在ARP表里,包含有IP地址和MAC地址。如果地址解析協議ARP表中存有該網關IP地址對應的MAC地址,說明同在一個網絡中,將數據包按對應地址直接發送即可;如果地址解析協議ARP表中沒有該網關IP邏輯地址對應的MAC物理地址,則啟動ARP協議向網內廣播,詢問該IP地址在網絡中的MAC地址。在經過不同網絡時通過IP地址來判斷數據包是在網內傳輸還是網外傳輸。MAC物理地址只負責設備到設備的通信,IP邏輯地址負責從一個網絡到另外一個網絡的傳輸。網關其實就是路由器的一個接口,在網絡通信中網關通過IP地址來確定數據包傳輸的路徑,通過查找路由器的路由表來決定數據包下一跳應該傳輸到哪個網絡,確定好路由后就將數據從連接那個網絡的路由器的接口發送出去。
網絡中MAC地址和IP地址應用如圖7所示,路由器連接兩個不同網絡LAN1和LAN2。假設主機111.111.111.111要發送一個數據包到主機222.222.222.222,由于兩個主機不在一個網絡里,因此需要路由器來轉發,通過ARP協議來解析路由器的端口IP地址,得到路由器的MAC地址為E6-E9-00-17-BB-4B,路由器通過數據包的目的IP地址和ARP協議來獲得目的主機的MAC地址[4]。當數據包在網絡中傳輸時,數據鏈路層MAC幀中的物理地址每經過一個站點便需改變一次,而網絡層的IP數據包屏蔽了下層數據鏈路層的具體細節,僅通過目的IP地址來進行路由選擇。MAC地址和IP地址協作,完成數據包在網絡中的傳輸[5-8]。

圖7 網絡中MAC地址和IP地址應用
IP地址和域名綁定可進行雙向查詢,通過電子地圖導航可查詢到準確的地理位置。MAC地址能唯一標識一臺雙向機頂盒,廣電運營商通過MAC地址就可對網內數萬計的機頂盒進行統一管理。WiFi探針盒子通過MAC地址即可統計出進出商場的客流人數和頻次。
據報道,德國警方曾利用路由器MAC地址來追蹤2017年炸彈威脅的發起者,基于互聯網技術發展的智能家居也曾出現了IP地址和MAC地址隱私暴露及黑客入侵的相關問題。在2019年央視3·15晚會上,曾經曝光了一些不良商家使用WiFi探針盒來獲取用戶手機MAC地址及手機號碼的方法。WiFi探針設備可主動采集周圍的數據幀內容,識別周邊手機、筆記本以及路由器等無線終端設備,進而獲得用戶個人參數信息,滿足客流統計、精準營銷推送等需求[9,10]。
信息網絡技術發展日新月異,越來越多的智能終端接入到因特網大家族。信息網絡已成為一項基礎設施,深刻改變了人們的生活,給人們帶來很大的便利。物聯網把新一代IT技術充分運用在各行各業中,使萬物互聯成為了可能。