# ip address、mac address 的原理 [TOC] Hello Guys, I'm LukeTseng. 本篇將來介紹 ip-address 跟 mac-address 的原理,若本篇文章有誤,歡迎各位指正,若你也喜歡這篇文章,不妨按下愛心跟追蹤我的個人頁面吧! ## IP 位址(Internet Protocol Address) IP 位址(Internet Protocol Address)是網路層的邏輯位址(Logical Address),用於網際網路上識別和定位設備。 這個 IP 位址基本上可以想像成是你家的地址,這樣想就好。 而邏輯位址是什麼呢?邏輯位址(Logical Address)在電腦網路和作業系統領域裡,泛指「軟體層級」所使用的、非直接對應硬體的位址。  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` 可看到以下這些資訊:  當中 `Physical Address` 就是 Mac 位址,而 `Ipv4 Address` 則為 IP 位址。 ### Linux : ifconfig 在 Linux 中的指令比較不同,是叫做 `ifconfig`,全名是 interface configuration,若第一次使用時可能會遇到這個畫面(使用 Ubuntu 作業系統):  那這時候只要輸入他提示你的 `sudo apt install net-tools` 安裝 net-tools 套件即可:  接下來輸入 `ifconfig`,介面大概會長像下面這樣:  ## 總結 ### 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](https://learn.microsoft.com/en-us/windows-server/administration/windows-commands/ipconfig) [Day6 - MAC 地址 | iT 邦幫忙::一起幫忙解決難題,拯救 IT 人的一天](https://ithelp.ithome.com.tw/m/articles/10291443) [[Linux] ifconfig 查詢和設定網路介面卡 | PJCHENder I/O](https://pjchender.dev/app/app-linux-ifconfig/) [如何查 IP 位址與 MAC 位址?|圖文教學一步步帶你查 - 欣亞數位|官方網站](https://corp.sinya.com.tw/post/3057/) [IP位址 - 維基百科,自由的百科全書](https://zh.wikipedia.org/zh-tw/IP%E5%9C%B0%E5%9D%80) [我理解的邏輯地址、線性地址、物理地址和虛擬地址 | Jason note](https://jasonblog.github.io/note/linux_kernel/121.html) [What is Internet Protocol Version 4 (Pv4) - GeeksforGeeks](https://www.geeksforgeeks.org/computer-networks/what-is-ipv4/) [What is Internet Protocol Version 6 (Pv6) - GeeksforGeeks](https://www.geeksforgeeks.org/computer-networks/internet-protocol-version-6-ipv6/) [What is an IP Address? - GeeksforGeeks](https://www.geeksforgeeks.org/computer-science-fundamentals/what-is-an-ip-address/) [What is a MAC Address and How Do I Find It? | TechTarget](https://www.techtarget.com/searchnetworking/definition/MAC-address)
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.