MAC與IP地址及網路的數據鏈路層與網絡層

簡介

談起MAC地址,不得不說一下IP地址。IP地址工作在TCP/IP參考模型的第三層網絡層。IP地址專注於網絡層,將數據包從一個網絡轉發到另外一個網絡;而MAC地址專注於數據鏈路層,將一個數據幀從一個節點傳送到相同鏈路的另一個節點。定位網絡中的計算機的位置,最常用的有域名地址Ip地址MAC地址三種方式,它們分別對應於OSI模型中的應用層網絡層數據鏈接層。通常IP地址是不斷變化的,而MAC地址是計算機的物理網卡唯一對應的地址,好比每個人都有唯一對應的身份證號碼一樣具有唯一性。

MAC地址的定義

MAC(Media Access Control,介質訪問控制)地址,也叫硬件地址,長度是48比特(6字節),由16進制的數字組成,分爲前24位和後24位:
前24位叫做組織唯一標誌符(Organizationally Unique Identifier,即OUI),是由IEEE的註冊管理機構給不同廠家分配的代碼,區分了不同的廠家。 後24位是由廠家自己分配的,稱爲擴展標識符。同一個廠家生產的網卡中MAC地址後24位是不同的。
MAC地址對應於OSI參考模型的第二層數據鏈路層,工作在數據鏈路層的交換機維護着計算機MAC地址和自身端口的數據庫,交換機根據收到的數據幀中的“目的MAC地址”字段來轉發數據幀。

MAC地址的作用

在一個正常的網絡通信過程中,IP地址和MAC地址相互搭配,將客戶端的數據包進行層層轉發直到服務器接收此數據包。這裏舉個例子更方便我們對IP地址和MAC地址的理解。
客戶端訪問服務器端 可以從下圖中可以選擇A->B->C->F->G路線,也可以選擇A->B->E->F->G路線。
在這裏插入圖片描述
在網絡通信中,IP地址標識兩個計算機網絡地址信息。MAC地址負責表示計算機的數據鏈路層地址。每個網絡設備都有它的MAC地址,通常在設備在出廠前已經設置好了,當發起網絡請求時,首先會通過DNS解析服務器的域名,得到並確定服務器地址後,客戶端將會向服務器發送請求數據包,數據包包含有客戶端IP地址與服務器IP地址等信息。那麼問題來了這個數據包是如何一步步傳遞到服務器的呢?
答案是通過MAC地址將數據包層層轉發,以上圖爲例,當客戶端發送數據包到交換機時候,除了攜帶有客戶端的IP地址和服務器IP地址,還包含了客戶端的MAC地址以及將要轉發到交換機的MAC地址。這樣以來通過MAC地址就將數據包從客戶端傳遞到了交換機,類似的交換機在通過自己的MAC地址和A節點路由器MAC地址,將數據包發送到A路由,以此類推,一直將數據包傳遞到服務器上。而這個包含轉發前機器的MAC地址與轉發到機器的MAC地址的信息叫做數據鏈路層的協議數據單元,也叫做數據幀。

數據幀的傳輸過程

當服務器端接收到客戶端請求會創對話處理此請求,處理完畢發送響應數據包給客戶端如下圖所示:
在這裏插入圖片描述
假設服務器發送給客戶端的數據包我們稱作A數據包,請注意這裏當客戶端收到此數據包時,會給服務器一個成功接收的響應,然後服務器會發送下一個數據包(假設數據包爲B),否則將會再次發送A數據包給客戶端。

客戶端到服務器整個流程

客戶端請求到服務器一共有以下幾個階段:

  1. 客戶端訪問域名後,將會向DNS服務器查詢域名的IP地址。
  2. 客戶端獲得服務器的IP地址,將會發送數據包和數據幀到下一個節點
  3. 每個節點層層傳輸直到服務器接收到此數據包。
  4. 服務器創建會話處理請求返回數據包和數據幀給下一個節點。
  5. 每個節點層層傳輸直到客戶端接收此數據包

在你上述24步驟如果失敗將會進行重試,直到對方接收到數據包並返回成功的響應。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章