網路層:轉送與 IP

IPv4 位址(IPv4 address)

IPv4 位址是一個 32 位元的數字,用來指名一個網路介面,好讓網路層能把封包送到它——就像房子的門牌地址,只不過它標的是網路上的一個位置,而不是一個人。由於原始的 32 位元對人類來說無法閱讀,我們用點分十進位(dotted-decimal)來書寫:把 32 位元拆成四個 8 位元的位元組,每個寫成 0 到 255 之間的數字,用點連起來,例如 192.168.1.20。

關鍵在於,一個 IP 位址有兩部分:網路部分(同一網路上每台主機共享的一段前綴)與主機部分(在該網路內辨識特定介面)。路由器只需要網路部分就能朝正確的網路轉送;主機部分在最後一跳才重要。兩部分之間的界線由前綴長度決定——現代定址(CIDR)讓這條界線可以調整,所以 10.0.0.0/8 表示前 8 位元是網路部分。IPv4 位址總共恰好有 2^32 個,約 43 億個,聽起來龐大,卻已用罄,這也推動了 NAT 與 IPv6 的採用。

一個誠實的提醒:IP 位址辨識的是一個介面與一個位置,不是一台永久的裝置,更不是一個人。同一台筆電在你家 Wi-Fi 上拿到的位址,和在咖啡店網路上拿到的並不相同(DHCP 會發配位址),許多家庭共用同一個公有位址(NAT),而位址也會隨你移動。所以 IP 位址是一個路由用的標籤,不是一張身分證。

192.168.1.20 的二進位是 11000000.10101000.00000001.00010100。在前綴 192.168.1.0/24 之下,前 24 位元(192.168.1)是網路部分,最後 8 位元(.20)是主機部分——是那個網路上 254 個可用主機之一。

32 位元,寫成四個位元組;拆成網路部分與主機部分。

每個位元組的範圍是 0–255(這是 8 位元的範圍),所以 192.168.1.300 是無效的。而且位址是「每介面一個」:一台有多個介面的路由器,會有多個 IP 位址,每個所連接的網路各一個。

又称
IP addressdotted-decimal addressIPv4 位址IP 位址