ip address、mac address 的原理

Hello Guys, I’m LukeTseng. 本篇將來介紹 ip-address 跟 mac-address 的原理,若本篇文章有誤,歡迎各位指正,若你也喜歡這篇文章,不妨按下愛心跟追蹤我的個人頁面吧!

IP 位址(Internet Protocol Address)

IP 位址(Internet Protocol Address)是網路層的邏輯位址(Logical Address),用於網際網路上識別和定位設備。

這個 IP 位址基本上可以想像成是你家的地址,這樣想就好。

而邏輯位址是什麼呢?邏輯位址(Logical Address)在電腦網路和作業系統領域裡,泛指「軟體層級」所使用的、非直接對應硬體的位址。

OSI Model and TCP / IP Model

Image Source:https://medium.com/@lagom247/%E7%B6%B2%E8%B7%AF%E6%9E%B6%E6%A7%8B-tcp-ip-%E5%9B%9B%E5%B1%A4%E6%9E%B6%E6%A7%8B-osi%E4%B8%83%E5%B1%A4%E6%9E%B6%E6%A7%8B-e2c92c9cdc32

如圖,邏輯位址所在的地方就在網路層(Network Layer)的部分,而在 TCP/IP 架構裡面是網路互連層(Internet Layer)。

與邏輯位址相對的就是實體位址(Physical Address),實體位址位於實體層(Physical Layer),以及 TCP/IP 架構的網路存取層(Link Layer)。

相對於實體位址,邏輯位址是可以變動的,也就是說你的 IP 位址可能不是唯一的,而實體位址因為一出廠就寫死在硬體裡面,所以幾乎很難去變動、去改它。


回到 IP 位址,有分為 Ipv4 跟 Ipv6,其中 v 是 version 版本的意思。

  • Ipv4:位址由 32 bit 組成,通常用 4 組的十進位(Decimal)數字去表示,如 192.168.1.100,每一組範圍是 0 ~ 255,也就是 $2^8$ , 1 個 byte。
  • Ipv6:用 128 bit 組成,然後用 8 組的十六進位(Hexadecimal)數字表示,每組含 16 位元,用冒號(:)分隔,如 2001:0db8:85a3:0000:0000:8a2e:0370:7334

而 IP 位址也分為動態 IP 跟靜態 IP:

  • 動態 IP(Dynamic IP):
    • 來源:由 DHCP(Dynamic Host Configuration Protocol, 動態主機設定協定)伺服器自動分配。
    • 租約機制:當裝置連線到網路時會向 DHCP 伺服器提出 IP 請求。DHCP 伺服器在他的 IP 位置池中找出一個目前未被佔用的 IP,臨時分配給這台裝置,並設定租約期限。
    • 一旦租約到期、重開機或換網路時,這組 IP 可能會改變,不是每次都一樣。
  • 靜態 IP(Static IP):
    • 來源:必須手動設定在裝置上,設備的 IP 不會自動變動。
    • 固定不變:每次連到網路這組 IP 都一樣。適合需要外部連線、長期提供服務的設備,例如伺服器、網路印表機。

MAC 位址(Media Access Control Address)

MAC 位址(Media Access Control Address)又稱為實體位址(Physical Address)或硬體位址(Hardware Address),位於 OSI 模型中資料連接層(Data Link Layer)的位址,在 TCP/IP 模型中位於網路存取層(Link Layer)。

MAC 位址在一開始就被燒錄在網路卡的硬體當中,「理論上」應該是唯一的。

MAC 位址是由 48 bit 所組成,通常是用 6 組的十六進位數字去表示,如 80-C1-6E-F3-E7-6A,前三組表示製造商的代碼,後三組是序號。

Ip vs MAC:

  • MAC 位址:用於同一區域網路的 device 的識別。假如當電腦要傳輸資料給同 Wi-Fi 網路下的 printer 時,這時候就是會用到 MAC 去找到他。
  • IP 位址:用於跨網路間的路由(routing)。如當要連上 Google Server 時,資料會經過多個路由器(router),每個 router 會根據 IP 位址去決定下一步要往哪裡傳送。

用來查看電腦網路設定的指令

Windows : ipconfig /all

在 Windows 使用指令 ipconfig 顯示和管理網路連線設定,當中參數 \all 就是顯示出所有的網路設定。

開啟 cmd,輸入 ipconfig \all 可看到以下這些資訊:

Windows ipconfig UI

當中 Physical Address 就是 Mac 位址,而 Ipv4 Address 則為 IP 位址。

Linux : ifconfig

在 Linux 中的指令比較不同,是叫做 ifconfig,全名是 interface configuration,若第一次使用時可能會遇到這個畫面(使用 Ubuntu 作業系統):

Linux ifconfig command

那這時候只要輸入他提示你的 sudo apt install net-tools 安裝 net-tools 套件即可:

Linux sudo apt install net-tools

接下來輸入 ifconfig,介面大概會長像下面這樣:

Linux ifconfig command demostration

總結

IP 位址:網路上的邏輯位址

IP 位址屬於「邏輯位址(Logical Address)」,位在 OSI 的網路層與 TCP/IP 的網路互連層。

它用來在網際網路中識別裝置,類似住家地址,屬於軟體層面,可被修改。

IPv4 與 IPv6

  • IPv4:32-bit,四組十進位數字(0–255),如 192.168.1.100
  • IPv6:128-bit,八組十六進位,如 2001:0db8:85a3:…

靜態 vs 動態 IP

  • 動態 IP:由 DHCP 自動分配,具有租約,到期或換網路時會更動**。
  • 靜態 IP:需手動設定,不會變動,常用於伺服器或需長期被外部連線的設備**。

MAC 位址:硬體層面的實體位址

MAC 位址屬於「實體位址(Physical Address)」,位於 OSI 的資料連接層與 TCP/IP 的網路存取層。

它由網卡出廠時燒錄,48-bit、六組十六進位,如 80-C1-6E-F3-E7-6A,前三組為製造商、後三組為序號。

IP vs MAC 的分工

  • MAC:用於同一區域網路內的裝置識別(如家中 Wi-Fi 電腦找印表機)。
  • IP:用於跨網路路由(如拜訪 Google Server 時,路由器依 IP 決定下一個封包傳送的地方)。

查看網路設定的指令

Windows:ipconfig /all

Linux:ifconfig

(Linux)若未安裝需先執行:sudo apt install net-tools

參考資料

ipconfig | Microsoft Learn

Day6 - MAC 地址 | iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天

[Linux] ifconfig 查詢和設定網路介面卡 | PJCHENder I/O

如何查 IP 位址與 MAC 位址?|圖文教學一步步帶你查 - 欣亞數位|官方網站

IP位址 - 維基百科,自由的百科全書

我理解的邏輯地址、線性地址、物理地址和虛擬地址 | Jason note

What is Internet Protocol Version 4 (Pv4) - GeeksforGeeks

What is Internet Protocol Version 6 (Pv6) - GeeksforGeeks

What is an IP Address? - GeeksforGeeks

What is a MAC Address and How Do I Find It? | TechTarget