0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

網(wǎng)絡(luò)通信技術(shù):IP地址和MAC地址的差異

454398 ? 來源:博客園 ? 作者:北國丶風(fēng)光 ? 2020-10-22 15:12 ? 次閱讀

了解完網(wǎng)絡(luò)協(xié)議,我們會發(fā)現(xiàn),網(wǎng)絡(luò)通信的五層模型里,有兩個(gè)很重要的概念:IP 地址和 MAC 地址。

那么 IP 地址是怎么來的,又是怎么沒的?MAC 地址與 IP 地址又有什么區(qū)別?

這回答上面問題前,先熱下身,大家知道如何查看本機(jī)的 IP 嗎?這個(gè)問題,即便是沒有專業(yè)學(xué)過計(jì)算機(jī)的人,只要折騰過電腦,重裝過系統(tǒng),大多都會知道答案:在 Windows 下是 ipconfig,在 linux 下是 ifconfig。

在 Windows 下輸入 ipconfig,我們會看到這個(gè)界面:

在 linux 下輸入 ifconfig,我們會看到這個(gè)界面:

IP 地址

可以看到,無論是在 Windows 還是在 linux 下,輸入相關(guān)命令都能顯示出這臺機(jī)器上所有的網(wǎng)卡。大部分的網(wǎng)卡都會有一個(gè) IP 地址。就像 192.168.1.73 ,就是我本機(jī)以太網(wǎng)的 IP 地址。

IP 地址是一個(gè)網(wǎng)卡在網(wǎng)絡(luò)世界中的通訊地址,相當(dāng)于我們現(xiàn)實(shí)世界的門牌號碼。

注意,IP 地址是網(wǎng)卡的通訊地址,不是一臺機(jī)器的通訊地址。很多時(shí)候,我們會說一個(gè)電腦只有一個(gè) IP 地址,這種說法實(shí)質(zhì)上并不正確,準(zhǔn)確的來說,應(yīng)該是:

一個(gè)網(wǎng)卡在同一時(shí)段只能有一個(gè) IP 地址,一臺機(jī)器可以有多個(gè) IP 地址。

就像我們的筆記本,一般都會有線網(wǎng)卡和無線網(wǎng)卡,則有線網(wǎng)卡有一個(gè) IP 地址,無線網(wǎng)卡也有一個(gè) IP 地址。

一臺機(jī)器有多個(gè) IP 地址,那 IP 地址會不會重復(fù)呢?其實(shí)我們應(yīng)該會碰到 IP 地址重復(fù)的情況。有時(shí)候我們電腦彈出網(wǎng)絡(luò)地址沖突,出現(xiàn)無法上網(wǎng)的情況,那多半就是 IP 地址沖突了。

格式

就像上面輸出的結(jié)果,192.168.1.73 就是一個(gè) IP 地址。這個(gè)地址被點(diǎn)(。)分割為四個(gè)部分,每個(gè)部分有 8 個(gè) bit,所以 IP 地址總共是 32 位。顯然,32 位產(chǎn)生的 IP 地址在當(dāng)今這個(gè)互聯(lián)網(wǎng)社會,很明顯就是“狼多肉少”。于是就有了 IPv6,也就是上面結(jié)果中的 fe80::515d:5483:ff4d:6db9/64。這個(gè)有 128 位,能滿足我們現(xiàn)在的需求了。至于后面會不會出現(xiàn) IPv8 ,那就看后面互聯(lián)網(wǎng)世界的發(fā)展了。

分類

我們應(yīng)該都聽說過,IP 地址分為 A、B、C、D、E 五類。對于 A、B、C 類,主要分兩部分,前面一部分是網(wǎng)絡(luò)號,后面一部分是主機(jī)號。

下圖是 A、B、C 三類地址所能包含的主機(jī)數(shù)量。

這里面有個(gè)問題,C 類地址包含的主機(jī)數(shù)量太少,而 B 類地址包含的主機(jī)數(shù)量又太多,于是就有了一個(gè)折中的方式叫做無類型域間選路。

無類型域間選路

顧名思義,無類型域間選路(CIDR)基本思想是取消地址的分類結(jié)構(gòu),取而代之的是允許以可變長分界的方式分配網(wǎng)絡(luò)數(shù)。192.168.1.73/24 就是無類型域間選路格式的 IP 地址。這種格式的 IP 地址,將 32 位的 IP 地址一分為二,前面是網(wǎng)絡(luò)號,后面是主機(jī)號。從哪里分呢?如果注意觀察的話可以看到,上面地址中有一個(gè)斜杠,斜杠后一個(gè)數(shù)字 24。這個(gè) 24 的含義就是,前24 位是網(wǎng)絡(luò)號,后 8 位是主機(jī)號。

公有 IP 地址和私有 IP 地址

繼續(xù)看上面的表格。表格最右列是私有 IP 地址段。平時(shí)我們在一個(gè)局域網(wǎng)內(nèi),看到的 IP 地址都是私有 IP 地址。因?yàn)檫@些地址允許組織內(nèi)部的 IT 人員自己管理和分配,而且還可以重復(fù)。所以會出現(xiàn)你局域網(wǎng)的私有 IP 地址段和我局域網(wǎng)的是一樣的。

就像我們上面說的,小明在自己家里給同單元的小伙伴說自己是五單元 101 號,小伙伴能理解,但是他如果這樣和小紅說,小紅就會問,你是哪個(gè)小區(qū)的?這里的小區(qū)實(shí)際上就是公有 IP 地址,而五單元 101 號就是私有 IP 地址。

表格中的 192.168.0.x 是最常見的私有 IP 地址段。就像我們家里的路由器地址一般是 192.168.0.1 一樣。

IP 分配與釋放

IP 分配我們平時(shí)應(yīng)該接觸比較少。還記得在大學(xué)的時(shí)候,剛?cè)雽W(xué)第一件事就是趕緊交網(wǎng)費(fèi)。交網(wǎng)費(fèi)時(shí)會有一個(gè)步驟,網(wǎng)管會讓你提供 MAC 地址,然后把 IP 地址和 MAC 地址綁定,這也就是博主在隔壁宿舍無法通過網(wǎng)線上網(wǎng)的原因。

其實(shí),如果你有相關(guān)的知識積累,可以用命令行自己配置 IP 地址。當(dāng)然,能不能通信就看你的知識儲備量了。

除了命令行配置外,我們平時(shí)應(yīng)該對于 IP 分配應(yīng)該都是用的 “拿來主義”。無論是在學(xué)校還是在辦公室,都會有網(wǎng)絡(luò)管理員把分配好的 IP 給你,直接使用就可以了。但是有時(shí)候也會好奇,網(wǎng)管是怎么分配 IP 的呢?難不成通過命令行一個(gè)個(gè)配置?這時(shí)候就要用到動(dòng)態(tài)主機(jī)配置協(xié)議(DHCP)。

動(dòng)態(tài)主機(jī)配置協(xié)議

這個(gè)協(xié)議的工作原理是怎樣的呢?我們就拿一臺機(jī)器新加入一個(gè)網(wǎng)絡(luò)為例,來走一遍 DHCP 的工作流程。

當(dāng)一臺機(jī)器新加入一個(gè)網(wǎng)絡(luò)時(shí),肯定一臉懵逼,啥情況也不知道,只知道自己的 MAC 地址。沒人理你怎么辦?那不管三七二十一,先吼一聲,告訴所有人,我來了,有人嗎?這時(shí)候的溝通基本靠“吼”。這一步,我們稱為 DHCP Discover。

新來的機(jī)器使用 IP 地址 0.0.0.0 發(fā)送了一個(gè)廣播包,目的 IP 地址是 255.255.255.255。廣播包封裝在 UDP 里面,UDP 封裝在 BOOTP 里面。在這個(gè)廣播包里,新人大喊:我是新來的(Boot Request),我的 MAC 地址是 xxx,我還沒有 IP,誰能給我個(gè) IP 地址?格式就像下面這樣:

這時(shí)候,網(wǎng)絡(luò)里的 DHCP Server 就相當(dāng)于這個(gè)局域網(wǎng)的管理員。他知道來了一個(gè)“新人”,需要給它分配一個(gè) IP 地址,這個(gè)過程就是 DHCP Offer。同時(shí),DHCP Server 保留為此機(jī)器提供的 IP 地址,從而不會再將相同的 IP 地址分配給其它的機(jī)器。而 DHCP Offer 的格式就像下圖,里面有給新人分配的地址。

DHCP Server 仍然使用廣播地址作為目的地址,因?yàn)?,此時(shí)請求分配的新人還沒有自己的 IP 地址。如果一個(gè)局域網(wǎng)中有多個(gè) DHCP Server,這臺新機(jī)器會收到多個(gè) DHCP Offer。

它會選擇其中一個(gè) DHCP Offer,一般是最先到達(dá)的那個(gè),并且會向網(wǎng)絡(luò)發(fā)送一個(gè) DHCP Request 廣播數(shù)據(jù)表,包中包含客戶端的 MAC 地址、接受分配的 IP 地址、提供此 IP 的 DHCP 服務(wù)器地址等,并告訴所有的 DHCP Server 它將接受哪一臺服務(wù)器提供的 IP 地址,告訴其他 DHCP 服務(wù)器撤銷它們提供的 IP 地址,以便提供給下一個(gè) IP 請求分配者。新人廣播包格式如下:

此時(shí),由于還沒有得到 DHCP Server 的最后確認(rèn),新機(jī)器仍然使用 0.0.0.0 為源 IP 地址、255.255.255.255 為目標(biāo)地址進(jìn)行廣播。

當(dāng) DHCP Server 接收到新機(jī)器的 DHCP Request 之后,會廣播返回給新機(jī)器一個(gè) DHCP ACK 消息包,表明已經(jīng)接受新機(jī)器的選擇,并將這一 IP 地址分配信息和其他配置信息都放入該廣播包,發(fā)給新機(jī)器。DHCP ACK 格式如下:

新機(jī)器收到 DHCP ACK 后,會檢測分配的 IP 地址是否能夠適應(yīng),如果不能使用,它就會給 DHCP Server 發(fā)出 DHCP Decline 消息,通知 DHCP Server 禁用這個(gè) IP 地址,然后新機(jī)器就開始新的地址申請過程。

在新機(jī)器使用 IP 租期超過 50% 時(shí),DHCP Client 會以單播形式向 DHCP Server 發(fā)送 DHCP Request 報(bào)文來續(xù)租 IP 地址。如果 DHCP Client 成功收到 DHCP Server 發(fā)送的 DHCP ACK 報(bào)文,則按相應(yīng)時(shí)間延長 IP 地址租期;如果沒有收到 DHCP Server 發(fā)送的 DHCP ACK 報(bào)文,則 DHCP Client 繼續(xù)使用這個(gè) IP 地址。

在新機(jī)器使用 IP 租期超過 87.5% 時(shí),DHCP Client 會以廣播形式向 DHCP Server 發(fā)送 DHCPRequest 報(bào)文來續(xù)租 IP 地址。如果 DHCP Client 成功收到 DHCP Server 發(fā)送的 DHCP ACK 報(bào)文,則按相應(yīng)時(shí)間延長 IP 地址租期;如果沒有收到 DHCP Server 發(fā)送的 DHCP ACK 報(bào)文,則 DHCP Client 繼續(xù)使用這個(gè)IP地址,直到 IP 地址使用租期到期時(shí),DHCP Client 才會向 DHCP Server 發(fā)送 DHCP Release 報(bào)文來釋放這個(gè) IP 地址,并開始新的 IP 地址申請過程。

MAC 地址

在我們查詢 IP 地址的輸出結(jié)果中,有一行:

Link encap:Ethernet HWaddr 28:d2:44:ce:77:51

這個(gè)被稱為 MAC 地址,是一個(gè)網(wǎng)卡的物理地址,用十六進(jìn)制,6 個(gè) byte 表示。

MAC 地址是一個(gè)很容易讓人誤解的地址。因?yàn)?MAC 地址號稱全球唯一,不會存在有相同 MAC 地址的網(wǎng)卡。這就很容易讓我們想,既然全球唯一,那網(wǎng)絡(luò)通信直接用 MAC 地址不行嗎?為什么要加個(gè) IP 地址,多封裝一層,再去通信呢?

當(dāng)然是不行的。我們想把一個(gè)網(wǎng)絡(luò)包從一個(gè)地方傳到另一個(gè)地方,除了有確定的地址外,還需要有定位功能。就像你去廣州找博主一樣,我只告訴你我的身份證號,你能在廣州找到我嗎?這種尋找無異于大海撈針。但是如果我告訴你我的詳細(xì)地址,你就可以直接通過導(dǎo)航找到對應(yīng)的地址,然后再找到我。

IP 地址在一定程度上就承擔(dān)了詳細(xì)地址這種遠(yuǎn)程地位的功能。MAC 地址更像是身份證號,是一個(gè)唯一的標(biāo)識。它的唯一性設(shè)計(jì)是為了組網(wǎng)的時(shí)候,不同的網(wǎng)卡放在一個(gè)網(wǎng)絡(luò)里面,不用擔(dān)心沖突。

當(dāng)然,MAC 地址也有一定的定位功能。就像你來到了博主所在的辦公室,你可以在辦公室喊身份證號是 XXX 的是哪位?博主聽到了,就會站起來回答你。但是如果你在博主聽不到的地方喊,那肯定不會有人應(yīng)你。這就說明,MAC 地址的通信范圍比較小,僅僅局限在一個(gè)子網(wǎng)內(nèi)。
編輯:hfy

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11329

    瀏覽量

    209975
  • MAC地址
    +關(guān)注

    關(guān)注

    1

    文章

    51

    瀏覽量

    11773
  • 局域網(wǎng)
    +關(guān)注

    關(guān)注

    5

    文章

    760

    瀏覽量

    46330
  • 網(wǎng)絡(luò)協(xié)議

    關(guān)注

    3

    文章

    269

    瀏覽量

    21585
收藏 人收藏

    評論

    相關(guān)推薦

    IP地址及網(wǎng)卡MAC地址操作指南

      為便于各分公司及部門統(tǒng)計(jì)IP地址及網(wǎng)卡MAC地址,請按照以下步驟操作:   1、 點(diǎn)擊“開始”,選擇運(yùn)行。   2、在“運(yùn)行”中輸入“cmd”,并點(diǎn)擊
    發(fā)表于 09-03 16:12 ?0次下載

    如何知道mac地址 怎么查看IP地址

    如何知道mac地址 怎么查看IP地址 步驟如下: 1 在“運(yùn)行”中輸入 cmd 2 在打開的命令提示符界面中輸入 ipconfig/all 3 里面的rnet NIC里有你
    發(fā)表于 03-21 12:08 ?5.4w次閱讀
    如何知道<b class='flag-5'>mac</b><b class='flag-5'>地址</b> 怎么查看<b class='flag-5'>IP</b><b class='flag-5'>地址</b>

    網(wǎng)絡(luò)與通信MAC地址詳解

    什么是MAC地址! MAC 地址在這種局域網(wǎng)環(huán)境中究竟起到什么作用,下面就來介紹一下MAC 地址
    發(fā)表于 08-23 18:25 ?90次下載
    <b class='flag-5'>網(wǎng)絡(luò)與通信</b><b class='flag-5'>MAC</b><b class='flag-5'>地址</b>詳解

    mac_mac地址是什么

    mac地址是什么?本內(nèi)容介紹了mac地址的作用及運(yùn)用,MAC(Medium/Media Access Control)
    發(fā)表于 12-14 15:50 ?3902次閱讀
    <b class='flag-5'>mac_mac</b><b class='flag-5'>地址</b>是什么

    mac地址ip地址有什么區(qū)別

    ,MAC地址只在802協(xié)議的網(wǎng)絡(luò)中才有,MAC協(xié)議是數(shù)據(jù)鏈路層的子層,并不能說MAC地址就是數(shù)據(jù)
    發(fā)表于 03-06 14:17 ?8697次閱讀

    mac地址ip地址是什么決定的

    上的每一個(gè)網(wǎng)絡(luò)和每一臺主機(jī)分配一個(gè)邏輯地址,以此來屏蔽物理地址差異。目前還有些ip代理軟件,但大部分都收費(fèi)。
    發(fā)表于 03-07 17:14 ?7805次閱讀
    <b class='flag-5'>mac</b><b class='flag-5'>地址</b>和<b class='flag-5'>ip</b><b class='flag-5'>地址</b>是什么決定的

    使用LPNDR_ReadGlobalInfo函數(shù)塊讀取IP地址MAC地址

    使用 LPNDR_ReadGlobalInfo 函數(shù)塊可以讀取 PROFINET 設(shè)備的 IP 地址MAC 地址
    的頭像 發(fā)表于 11-14 10:09 ?4535次閱讀

    為什么有了IP地址,還需要MAC地址呢?

    流言傳到了“IP地址”和“MAC地址”的耳朵里,他倆也非常苦惱,今天文檔君把話筒遞給他們,看看他們怎么說?
    的頭像 發(fā)表于 04-17 09:32 ?2832次閱讀

    圖解IP地址網(wǎng)絡(luò)知識

    今天浩道跟大家分享一篇關(guān)于網(wǎng)絡(luò)通信的硬核干貨,這也是每一個(gè)網(wǎng)絡(luò)工程師進(jìn)階的必修課,圖解IP地址網(wǎng)絡(luò)知識!
    的頭像 發(fā)表于 06-20 09:43 ?829次閱讀
    圖解<b class='flag-5'>IP</b><b class='flag-5'>地址</b><b class='flag-5'>網(wǎng)絡(luò)</b>知識

    MAC地址注冊的原理和應(yīng)用

    MAC地址注冊是指在網(wǎng)絡(luò)設(shè)備中,將設(shè)備的物理地址(即MAC地址)與設(shè)備的
    的頭像 發(fā)表于 11-13 16:07 ?1007次閱讀
    <b class='flag-5'>MAC</b><b class='flag-5'>地址</b>注冊的原理和應(yīng)用

    為什么同時(shí)需要IPMAC地址

    MAC網(wǎng)絡(luò)中用來標(biāo)識網(wǎng)卡設(shè)備的唯一網(wǎng)絡(luò)地址。由相關(guān)硬件制造商統(tǒng)一分配,每臺電腦的MAC地址都是唯一的。
    發(fā)表于 11-14 09:32 ?1153次閱讀
    為什么同時(shí)需要<b class='flag-5'>IP</b>和<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>?

    如何綁定ip地址mac物理地址呢?

    如何綁定ip地址mac物理地址呢? 綁定IP地址MAC
    的頭像 發(fā)表于 12-07 09:33 ?7080次閱讀

    IP地址網(wǎng)絡(luò)監(jiān)控

    如何識別和應(yīng)對異常流量和可疑活動(dòng)。 IP地址網(wǎng)絡(luò)監(jiān)控的基礎(chǔ) IP地址是互聯(lián)網(wǎng)中設(shè)備的唯一標(biāo)識符,它在網(wǎng)
    的頭像 發(fā)表于 07-09 16:41 ?452次閱讀

    怎么申請MAC地址?MAC地址申請流程分享

    在數(shù)字化高速發(fā)展,機(jī)器設(shè)備大規(guī)模代替原始勞動(dòng)力的時(shí)代,功能各異的設(shè)備不斷被創(chuàng)造出來。因此每一臺網(wǎng)絡(luò)設(shè)備都需要一個(gè)獨(dú)特的身份標(biāo)識,這也就是我們所熟知的MAC地址。MAC
    的頭像 發(fā)表于 07-10 17:30 ?578次閱讀
    怎么申請<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>?<b class='flag-5'>MAC</b><b class='flag-5'>地址</b>申請流程分享

    怎么綁定IP地址MAC地址

    本篇文章主要說一說怎么在本地計(jì)算機(jī)上綁定IPMAC地址以及通過路由器綁定IPMAC地址,并且
    的頭像 發(fā)表于 12-01 22:48 ?341次閱讀