MAC與IP位址及網路的資料鏈路層與網路層

2021-10-02 13:25:05 字數 1834 閱讀 4624

談起mac位址,不得不說一下ip位址。ip位址工作在tcp/ip參考模型的第三層網路層。ip位址專注於網路層,將資料報從乙個網路**到另外乙個網路;而mac位址專注於資料鏈路層,將乙個資料幀從乙個節點傳送到相同鏈路的另乙個節點。定位網路中的計算機的位置,最常用的有網域名稱位址ip位址mac位址三種方式,它們分別對應於osi模型中的應用層網路層資料鏈結層。通常ip位址是不斷變化的,而mac位址是計算機的物理網絡卡唯一對應的位址,好比每個人都有唯一對應的身份證號碼一樣具有唯一性。

mac(media access control,介質訪問控制)位址,也叫硬體位址,長度是48位元(6位元組),由16進製制的數字組成,分為前24位和後24位:

前24位叫做組織唯一標誌符(organizationally unique identifier,即oui),是由ieee的註冊管理機構給不同廠家分配的**,區分了不同的廠家。 後24位是由廠家自己分配的,稱為擴充套件識別符號。同乙個廠家生產的網絡卡中mac位址後24位是不同的。

mac位址對應於osi參考模型的第二層資料鏈路層,工作在資料鏈路層的交換機維護著計算機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資料報給客戶端。

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

客戶端訪問網域名稱後,將會向dns伺服器查詢網域名稱的ip位址。

每個節點層層傳輸直到伺服器接收到此資料報。

伺服器建立會話處理請求返回資料報和資料幀給下乙個節點。

每個節點層層傳輸直到客戶端接收此資料報

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

獲取本地IP與網路Ip及Mac位址

由於專案上的原因,需要獲取本地ip與網路ip及mac位址,弄了好半天,才明白過程,於是給大家分享一下。不說了,直接上 public class getipandmacaddress 獲取鏈結網路時分配的ip throws socketexception public static string ge...

MAC位址與IP位址的區別及聯絡

mac位址就是在 接入層上使用的位址,通俗點說就是網絡卡的實體地址,現在的mac位址一般都採用6位元組48bit 在早期還有2位元組16bit的mac位址 對於mac位址,由於我們不直接和它接觸,所以大家不一定很熟悉。在osi open system interconnection,開放系統互連 7...

MAC位址與IP位址的區別

介紹一下mac位址的知識,mac位址和ip位址的區別以及mac位址在實際應用中所涉及到的安全問題。一 基礎知識 如今的網路是分層來實現的,就像是搭積木一樣,先設計某個特定功能的模組,然後把模組拼起來組成整個網路。區域網也不例外,一般來說,在組網上我們使用的是ieee802參考模型,從下至上分為 物理...