MAC地址和IP地址的關系

簡單地說:ip地址是服務商給你的,mac地址是你的網卡物理地址。

一、IP地址

對于IP地址,相信大家都很熟悉,即指使用TCP/IP協議指定給主機的32位地址。IP地址由用點分隔開的4個8八位組構成,如192.168.0.1就是一個IP地址,這種寫法叫點分十進制格式。IP地址由網絡地址和主機地址兩部分組成,分配給這兩部分的位數隨地址類(A類、B類、C類等)的不同而不同。網絡地址用于路由選擇,而主機地址用于在網絡或子網內部尋找一個單獨的主機。一個IP地址使得將來自源地址的數據通過路由而傳送到目的地址變為可能。

二、MAC地址

對于MAC地址,由于我們不直接和它接觸,所以大家不一定很熟悉。在OSI(Open System Interconnection,開放系統互連)7層網絡協議(物理層,數據鏈路層,網絡層,傳輸層,會話層,表示層,應用層)參考模型中,第二層為數據鏈路層(Data Link)。它包含兩個子層,上一層是邏輯鏈路控制(LLC:Logical Link Control),下一層即是我們前面所提到的MAC(Media Access Control)層,即介質訪問控制層。所謂介質(Media),是指傳輸信號所通過的多種物理環境。常用網絡介質包括電纜(如:雙絞線,同軸電纜,光纖),還有微波、激光、紅外線等,有時也稱介質為物理介質。MAC地址也叫物理地址、硬件地址或鏈路地址,由網絡設備制造商生產時寫在硬件內部。這個地址與網絡無關,也即無論將帶有這個地址的硬件(如網卡、集線器、路由器等)接入到網絡的何處,它都有相同的MAC地址,MAC地址一般不可改變,不能由用戶自己設定。

三、MAC地址的長度、表示方法、分配方法及其唯一性

MAC地址的長度為48位(6個字節),通常表示為12個16進制數,每2個16進制數之間用冒號隔開,如:08:00:20:0A:8C:6D就是一個MAC地址,其中前6位16進制數08:00:20代表網絡硬件制造商的編號,它由IEEE(Istitute of Electrical and Electronics Engineers,電氣與電子工程師協會)分配,而后3位16進制數0A:8C:6D代表該制造商所制造的某個網絡產品(如網卡)的系列號。每個網絡制造商必須確保它所制造的每個以太網設備都具有相同的前三字節以及不同的后三個字節。這樣就可保證世界上每個以太網設備都具有唯一的MAC地址。

四、IP地址與MAC地址在互連網中的作用

既然每個以太網設備在出廠時都有一個唯一的MAC地址了,那為什么還需要為每臺主機再分配一個IP地址呢?或者說為什么每臺主機都分配唯一的IP地址了,為什么還要在網絡設備(如網卡,集線器,路由器等)生產時內嵌一個唯一的MAC地址呢?主要原因有以下幾點:(1)IP地址的分配是根據網絡的拓樸結構,而不是根據誰制造了網絡設置。若將高效的路由選擇方案建立在設備制造商的基礎上而不是網絡所處的拓樸位置基礎上,這種方案是不可行的。(2)當存在一個附加層的地址尋址時,設備更易于移動和維修。例如,如果一個以太網卡壞了,可以被更換,而無須取得一個新的IP地址。如果一個IP主機從一個網絡移到另一個網絡,可以給它一個新的IP地址,而無須換一個新的網卡。(3)無論是局域網,還是廣域網中的計算機之間的通信,最終都表現為將數據包從某種形式的鏈路上的初始節點出發,從一個節點傳遞到另一個節點,最終傳送到目的節點。數據包在這些節點之間的移動都是由ARP(Address Resolution Protocol:地址解析協議)負責將IP地址映射到MAC地址上來完成的。下面我們來通過一個例子看看IP地址和MAC地址是怎樣結合來傳送數據包的。

假設網絡上要將一個數據包(名為PAC)由北京的一臺主機(名稱為A,IP地址為IP_A,MAC地址為MAC_A)發送到華盛頓的一臺主機(名稱為B,IP地址為IP_B,MAC地址為MAC_B)。這兩臺主機之間不可能是直接連接起來的,因而數據包在傳遞時必然要經過許多中間節點(如路由器,服務器等等),我們假定在傳輸過程中要經過C1、C2、C3(其MAC地址分別為M1,M2,M3)三個節點。A在將PAC發出之前,先發送一個ARP請求,找到其要到達IP_B所必須經歷的第一個中間節點C1的MAC地址M1,然后在其數據包中封裝(Encapsulation)這些地址:IP_A、IP_B,MAC_A和M1。當PAC傳到C1后,再由ARP根據其目的IP地址IP_B,找到其要經歷的第二個中間節點C2的MAC地址M2,然后再將帶有M2的數據包傳送到C2。如此類推,直到最后找到帶有IP地址為IP_B的B主機的地址MAC_B,最終傳送給主機B。在傳輸過程中,IP_A、IP_B和MAC_A不變,而中間節點的MAC地址通過ARP在不斷改變(M1,M2,M3),直至目的地址MAC_B。

綜合上面所述,我們可以歸納出IP地址和MAC地址相同點是它們都唯一,不同的特點主要有:

1. 對于網絡上的某一設備,如一臺計算機或一臺路由器,其IP地址可變(但必須唯一),而MAC地址不可變。我們可以根據需要給一臺主機指定任意的IP地址,如我們可以給局域網上的某臺計算機分配IP地址為192.168.0.112 ,也可以將它改成192.168.0.200。而任一網絡設備(如網卡,路由器)一旦生產出來以后,其MAC地址永遠唯一且不能由用戶改變。

2. 長度不同。IP地址為32位,MAC地址為48位。

3. 分配依據不同。IP地址的分配是基于網絡拓樸,MAC地址的分配是基于制造商。

4. 尋址協議層不同。IP地址應用于OSI第三層,即網絡層,而MAC地址應用在OSI第二層,即數據鏈路層。 數據鏈路層協議可以使數據從一個節點傳遞到相同鏈路的另一個節點上(通過MAC地址),而網絡層協議使數據可以從一個網絡傳遞到另一個網絡上(ARP根據目的IP地址,找到中間節點的MAC地址,通過中間節點傳送,從而最終到達目的網絡)。

文獻原文鏈接地址:MAC地址和IP地址的關系

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/452643.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/452643.shtml
英文地址,請注明出處:http://en.pswp.cn/news/452643.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Linux中斷 - tasklet

一、前言 對于中斷處理而言,linux將其分成了兩個部分,一個叫做中斷handler(top half),屬于不那么緊急需要處理的事情被推遲執行,我們稱之deferable task,或者叫做bottom half,。具體…

數字電視制播設備間的文件交換格式

在現今的數字電視演播室中,設備之間基本上采用信號流連接方式,如SDI、STDI、模擬YUV、VBS等信號流。在非線性編輯系統和播出系統與服務器之間的連接,還有基于MPEG-2傳輸流等的信號連接方式。基于信號流連接方式的主要特點是,傳送時…

oracle 位移運算符,Oracle“(+)”運算符

在Oracle中,()表示JOIN中的“可選”表。 所以在你的查詢中,select a.id, b.id, a.col_2, b.col_2, ... from a,b where a.idb.id()這是一個左外加B表與一個表。 就像現代的左連接查詢一樣。 (它將返回a表的所有數據,而不會丟失在另一邊的數據…

JAVA-數據類型-復習

JAVA-數據類型-復習 Java中,一共有8種數據類型,4種整型,2種浮點型,1種用于表示Unicode編碼的字符單元的字符類型char,1種布爾類型。 整型 類型存儲需求(字節)一個字節包含8個位取值范圍byte1-12…

什么是實體-聯系圖(ER圖)

實體-聯系圖(ER圖)數據模型中包含3種相互關聯的信息:數據對象、數據對象的屬性及數據對象彼此間相互連接的關系。 1.數據對象 數據對象是對軟件必須理解的復合信息的抽象。所謂符合信息是指具有一系列不同性質或屬性的事物,僅有單…

記錄的習慣

記錄的習慣 書籍是人類進步的階梯,承載了人類文明進步的歷程。大多數人都寫過日記,但不知道有多少人重視過日記。常常我們會用相機記錄一些生活中的場景,然后收藏起來,等到若干年后再拿出來看,總能感覺到很溫馨很美好。…

php 去掉實體,用PHP刪除除5個預定義HTML實體之外的所有實體的最佳方法-用于XHTML5輸出...

我目前正在嘗試提供XHTML5.目前,我在正在處理的頁面上提供XHTML 1.1 Strict.那就是我為有能力的瀏覽器所做的.對于那些不接受XML編碼數據的人,我會嚴格遵循HTML4.1.在嘗試使用HTML5進行試驗時,以HTML5格式交付時,所有功能或多或少都可以按預期工作.但是,作為XHTML5交付時,我遇到…

Flask愛家租房--發布新房源(保存房屋基本信息)

0.頁面展示效果 1.后端代碼 api.route("/houses/info", methods["POST"]) login_required def save_house_info():"""保存房屋的基本信息前端發送過來的json數據{"title":"","price":"","ar…

今后最有前途的媒體格式 MXF

MXF格式已經被推出幾年了,從當初一個陌生的不為人們重視的格式逐漸獲得了業內人士的認知和認可,現如今正被廣泛應用于廣播電視與后期制作領域,且有不斷擴大之勢,松下公司推出的基于PII卡的無磁帶式標清攝像機,它所采用…

【c#】RabbitMQ學習文檔(一)Hello World

一、簡介 RabbitMQ是一個消息的代理器,用于接收和發送消息,你可以這樣想,他就是一個郵局,當您把需要寄送的郵件投遞到郵筒之時,你可以確定的是郵遞員先生肯定會把郵件發送到需要接收郵件的人的手里,不…

什么是狀態轉換圖

通過描繪系統的狀態及引起系統狀態轉換的事件,來表示系統的行為。此外狀態轉換圖還指明了作為特定事件的結果系統將做哪些動作(例如,處理數據)。因此狀態轉換圖提供了行為建模機制。

Python學習筆記三

參考教程:廖雪峰官網https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000 一、函數的定義 Python中定義一個函數需要使用def語句,依次確定函數名、參數及函數體內容: #一個求絕對值的函數 def my_abs(x):i…

oracle中如何分頁,Oracle中操作分頁

mysql中分頁的寫法:select t.* from tbl_user t order by t.id limit $offset , $perpage$currentPage 1;//當前頁碼其中后面$sql:with partdata as (select rownum rowno,t.* from tablename t where column1090order by column) select * from partda…

Flask愛家租房--發布新房源(保存房屋圖片)

0.頁面展示效果 1)首先房東填寫房屋信息; 2)當房東填寫發布的房源信息之后,隱藏(hide)剛才填寫信息的界面,同時顯示(show)上傳房屋圖片的界面。 1.后端代碼 api.route("/houses/image&q…

數字的處理 :小數點四舍五入

js取float型小數點后兩位數的方法 轉載 發布時間:2014年01月18日 17:03:32 投稿:shangke 我要評論 js中取小數點后兩位方法最常用的就是四舍五入函數了,前面我介紹過js中四舍五入一此常用函數,這里正好用上,下面…

如何成為一名優秀的C程序員

問題的提出 每過一段時間我總會收到一些程序員發來的電子郵件,他們會問我是用什么編程語言來編寫自己的游戲的,以及我是如何學習這種編程語言的。因此,我認為在這篇博文里列出一些有關C語言的最佳讀物應該能幫到不少人。如果你知道其它的優秀…

CFS調度器

一、前言 隨著內核版本的演進,其源代碼的膨脹速度也在遞增,這讓Linux的學習曲線變得越來越陡峭了。這對初識內核的同學而言當然不是什么好事情,滿腔熱情很容易被當頭澆滅。我有一個循序漸進的方法,那就是先不要看最新的內核&#…

oracle索引分類與區分,深入理解Oracle表(6):堆組織表(HOT)和索引組織表(IOT)的區別...

摘要:堆表:又稱堆組織表,常用的表類型,以堆的方式管理,當增加數據時,將使用段中第一個適合數據大小的空閑空間。當刪除數據時,留下的空間允許以后的DML操作重用。 堆組織表(heap table)應用中99…