# 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
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up