1. 漫畫開場
漫畫文字版(畫面及對白)
| 格 | 畫面 | 對白 |
|---|---|---|
| 1 | 小比在路路的郵局櫃位前,信封上只寫著名牌號碼 00:00:5E:00:53:01;路路一臉為難。 |
字幕:「小比想寄信給住在遠方的阿麥。」 小比:「路路,請幫我把信送給阿麥!」 路路:「只有名牌,沒有地址……我不知道他在哪個網絡啊!」 |
| 2 | 阿麥在家,胸前是名牌,手上拿著地址卡 Private IP(私人位址)192.168.1.10;家中 Router 的 Public IP(公共位址)是 203.0.113.1。 |
字幕:「IP Address(網絡位址)就像郵寄地址。」 阿麥:「名牌說明我是誰,地址說明我在哪裡!」 |
| 3 | 阿麥在咖啡店,名牌不變;舊地址卡 192.168.1.10 被劃上交叉,換成新地址卡 192.168.0.23;咖啡店 Router 的 Public IP 是 198.51.100.1。 |
字幕:「阿麥帶著電腦到咖啡店上網。」 阿麥:「換了網絡,名牌不變,地址就變了!」 |
| 4 | 路路站在分岔路口,路牌寫著 203.0.113.0/24(家)和 198.51.100.0/24(咖啡店);小比的信寫上咖啡店的 Public IP 198.51.100.1。 |
字幕:「在互聯網上,Router(路由器)看 Public IP 的網絡部分指路;到了咖啡店,再由那裡的 Router 轉交阿麥。」 路路:「198.51.100 這一區?這邊走,這條路最快!」 |
2. 重點概念
MAC Address(硬體位址)是裝置的名牌,說明「你是誰」;但要把信送到遠方,還需要一個郵寄地址,說明「你在哪裡」。
IP Address(網絡位址)就是裝置在網絡上的位址。它由你所在的網絡分配,換了網絡就會改變。Router(路由器)就是靠它,把資料一站一站送到正確的網絡。
3. 看深一點
為什麼有了名牌,還要地址?
上一課學過,MAC Address 只在同一個 LAN(區域網絡)裡有用。它好像名牌:你知道對方的名字,卻不知道他住在哪一區、哪一條街。
想像全世界的郵差手上只有幾十億個名字,卻沒有地址,信根本無從送起。IP Address 就解決了這個問題:位址本身已經說明了「在哪個網絡」,Router 只要看位址,就知道下一步往哪個方向送。
| MAC Address(硬體位址) | IP Address(網絡位址) | |
|---|---|---|
| 比喻 | 縫在身上的名牌 | 郵寄地址 |
| 回答的問題 | 你是誰? | 你在哪裡? |
| 誰決定 | 製造商出廠時寫好(或系統隨機產生) | 你所在的網絡分配 |
| 換了網絡 | 通常不變 | 會改變 |
| 有用的範圍 | 同一個 LAN 之內 | 跨越網絡,直到互聯網另一端 |
| 長度 | 48 位元 | IPv4 32 位元;IPv6 128 位元 |
兩者是合作關係:在每一段 LAN 裡,資料靠 MAC Address 送到下一站;在整段旅程中,靠 IP Address 決定方向。
IPv4:四個數字的位址
今天最常見的 IP Address 是 IPv4,它有 32 位元,寫成四個由「.」分隔的十進制數字,例如阿麥在家的位址:
192.168.1.10
- 每個數字代表 8 位元,所以只可以是 0 至 255。
- 四組 × 8 位元 = 32 位元。
- 32 位元一共可以組合出 4,294,967,296 個(約 43 億個)位址。
這種寫法叫「點分十進制」。192.168.1.300 就是錯的,因為 300 大過 255。
位址的兩部分:網絡部分與主機部分
一個 IP Address 可以分成兩部分,好像郵寄地址有「地區和街道」,也有「門牌號碼」:
| 部分 | 意思 | 192.168.1.10/24 的例子 |
|---|---|---|
| 網絡部分 | 你在哪一個網絡 | 192.168.1 |
| 主機部分 | 網絡裡的哪一部裝置 | 10 |
位址後面的 /24,表示前 24 位元(即前三個數字)是網絡部分。在同一個網絡部分之下的所有位址,就是同一個 Subnet(子網絡)。Subnet 就是把一個大網絡切成較細小的部分,好像把城市劃分成一條條街。
有些裝置不寫 /24,而是寫成 Subnet Mask(子網絡遮罩):255.255.255.0。Subnet Mask 就是另一種標示「哪些位元屬於網絡部分」的寫法,255.255.255.0 和 /24 的意思完全一樣。
圖解:上半部是 IPv4,四組各 8 位元,/24 表示前三組是網絡部分;下半部是 IPv6,八組各 16 位元,以及如何把它縮寫成 2001:db8::1。
同一個 Subnet(子網絡),還是要找 Router(路由器)?
裝置送資料前,會先比較自己和對方的網絡部分:
- 相同 → 對方在同一個 Subnet 裡,直接在 LAN 內送過去(用上一課的 MAC Address)。
- 不同 → 對方在其他網絡,先交給 Router,由 Router 幫忙轉送。
裝置預設把「外出的信」交給的那部 Router,叫 Default Gateway(預設閘道)。Default Gateway 就是你的網絡通往外面世界的大門,在家中通常就是那部家用 Router。
留意:Router 同時站在兩個網絡之間,所以它有兩個 IP Address。以阿麥的家為例:
- 對內(家中 LAN):Private IP
192.168.1.1,這就是家中裝置的 Default Gateway。 - 對外(互聯網):Public IP
203.0.113.1,由 ISP(互聯網服務供應商)分配。
例子(阿麥在家,/24):
| 我的位址 | 對方的位址 | 網絡部分相同嗎? | 怎樣送 |
|---|---|---|---|
192.168.1.10 |
192.168.1.77(家中的電視) |
相同(192.168.1) |
直接在 LAN 內送 |
192.168.1.10 |
198.51.100.1(咖啡店的 Public IP) |
不同 | 交給 Default Gateway 192.168.1.1 |
在 /24 的 Subnet 裡,主機部分由 0 至 255,但 .0 用來代表整個網絡,.255 是這個 Subnet 的 Broadcast Address(廣播位址),所以真正可以分給裝置的有 254 個。
Public IP(公共位址)與 Private IP(私人位址)
IPv4 位址分成兩類:一類在互聯網上使用,另一類只在家中、學校或公司內部使用。
| Public IP(公共位址) | Private IP(私人位址) | |
|---|---|---|
| 比喻 | 大廈的街道地址 | 大廈內的室號 |
| 在哪裡使用 | 互聯網上 | 家中、學校、公司的內部網絡 |
| 由誰分配 | ISP | 你的 Router |
| 是否獨一無二 | 在互聯網上獨一無二 | 不同的家可以重複使用 |
| 互聯網上可以直接找到嗎? | 可以 | 不可以 |
Private IP 只能在以下三個範圍內使用。互聯網上的 Router 不會轉送以這些位址為目的地的資料,所以它們不會在互聯網上出現:
| 範圍 | 常見於 |
|---|---|
10.0.0.0 至 10.255.255.255 |
大型公司、學校 |
172.16.0.0 至 172.31.255.255 |
公司網絡 |
192.168.0.0 至 192.168.255.255 |
家用 Router,例如 192.168.1.x |
你家的手機和電腦用的多數是 Private IP;整個家庭出外上網時,則共用 Router 上的一個 Public IP。這個「共用」的技巧叫 NAT(網絡位址轉換),第 8 課再詳細介紹。
圖解:阿麥的家和鄰居的家,裡面都有 192.168.1.10 和 192.168.1.11,連 Router 對內的位址也同樣是 192.168.1.1,但不會混亂,因為 Private IP 只在各自家中有效。兩家出外上網時,分別用 Router 對外的 Public IP 203.0.113.1 和 203.0.113.2。
怎樣一眼分辨 Public IP(公共位址)和 Private IP(私人位址)?
看 IPv4 位址的開頭:
- 以
10.開頭 → Private IP - 以
172.開頭,而第二個數字是 16 至 31 → Private IP - 以
192.168.開頭 → Private IP - 其他一般位址 → Public IP
圖表:Private IP 只有三個範圍,其他一般位址都是 Public IP。留意 192 或 172 開頭的位址不一定是 Private,要看清楚後面的數字。
本課出現過的位址,全部可以這樣對照:
| 位址 | 是誰的位址 | 種類 |
|---|---|---|
192.168.1.10 |
阿麥在家的電腦 | Private IP |
192.168.1.1 |
家中 Router(對內) | Private IP |
203.0.113.1 |
家中 Router(對外) | Public IP |
192.168.0.23 |
阿麥在咖啡店的電腦 | Private IP |
192.168.0.1 |
咖啡店 Router(對內) | Private IP |
198.51.100.1 |
咖啡店 Router(對外) | Public IP |
所以,漫畫中阿麥換了網絡,他的 Private IP 由 192.168.1.10 變成 192.168.0.23;互聯網上的其他人看到的,則由家中的 203.0.113.1 變成咖啡店的 198.51.100.1。
為什麼要有 Private IP(私人位址)?一個「暫時」方案的故事
43 億個 IPv4 位址聽起來很多,但全世界的手機、電腦、電視加起來,早已遠遠超過這個數目。工程師其實很早就預見到這個問題:
| 年份 | 發生了什麼事 |
|---|---|
| 1981 | IPv4 正式成為標準。當時全世界只有很少電腦,43 億個位址看來用之不盡。 |
| 1990 年代初 | 互聯網急速增長,工程師發現 IPv4 位址遲早會用完。 |
| 1994 | 有工程師提出 NAT,讓很多部裝置共用一個 Public IP。提出者當時說明,這只是一個短期方案。 |
| 1996 | 三個 Private IP 範圍正式定下,任何家庭和機構都可以在內部免費重複使用。 |
| 1998 | 長遠的解決方法 IPv6 正式發表。 |
| 2011 年 2 月 | 負責全球位址分配的國際機構,把最後一批 IPv4 位址分發給各地區。 |
| 2011 年 4 月 | 負責亞太區(包括香港)的位址分配機構也只剩最後一批,開始嚴格限量分配。 |
有了 Private IP 和 NAT,一個家庭、一間學校甚至一整間公司,出外上網時可能只需要一個 Public IP。這大大減慢了 IPv4 位址用完的速度,所以 IPv4 撐到 2011 年才分發完畢。
有趣的是,這個「暫時」的方法到今天已經用了三十年,仍然是家家戶戶都在用的技術。不過,它也有缺點:家中的裝置躲在 Router 後面,互聯網上的其他人不能直接找到它們(第 8 課再詳談)。所以長遠來說,大家正慢慢轉用位址多到用不完的 IPv6。
本課的範例位址 本課的 Public IP 範例使用文件專用位址(
203.0.113.x、198.51.100.x、2001:db8::);Private IP 範例使用真正的私人位址範圍192.168.x.x,因為私人位址不會在互聯網上出現,不會指向任何人的裝置。這樣,每個例子的種類都和現實一致。
IPv6:更長的位址
為了徹底解決位址不夠用的問題,工程師設計了 IPv6。它有 128 位元,寫成八組、每組四個十六進制數字,組與組之間用「:」分隔:
2001:0db8:0000:0000:0000:0000:0000:0001
128 位元可以組合出約 3.4 × 10³⁸ 個位址,即 34 後面再加 37 個零,足夠為地球上每一粒沙分配很多個位址。
這麼長的位址很難寫,所以有兩條縮寫規則:
- 每組前面的 0 可以省略:
0db8→db8,0000→0,0001→1。 - 連續幾組都是 0,可以用「::」代替,但整個位址只可以用一次。
2001:0db8:0000:0000:0000:0000:0000:0001 → 2001:db8:0:0:0:0:0:1 → 2001:db8::1
為什麼「::」只可以用一次?因為如果用兩次,就無法知道每個「::」各代表幾組 0。IPv6 的英文字母通常用細楷。
今天,很多手機網絡和家居寬頻已經同時支援 IPv4 和 IPv6,你的手機很可能兩種位址都有。
位址從哪裡來?
你的裝置通常不用自己設定 IP Address。接上 Wi-Fi(無線網絡)時,Router 會自動派一個位址給你,就好像酒店前台派房卡。負責這件事的是 DHCP(動態主機設定協定),第 8 課會詳細介紹。
4. 動手試試
任務一:找出你的 IP Address(網絡位址)
| 裝置 | 步驟 |
|---|---|
| iPhone/iPad | 設定 → Wi-Fi → 點一下已連接網絡旁的 ⓘ → 看「IPv4 位址」一欄 |
| Android | 設定 → 網絡和互聯網 → Wi-Fi → 點已連接的網絡 → 詳細資料(不同品牌名稱略有不同) |
| Windows | 打開「命令提示字元」,輸入 ipconfig,找「IPv4 位址」、「子網路遮罩」、「預設閘道」 |
| macOS | 系統設定 → 網絡 → Wi-Fi → 按已連接網絡旁的「詳細資料」→ TCP/IP |
把三個數字抄下來:
- 你的 IP Address
- Subnet Mask(子網絡遮罩),或者像
/24的寫法 - Default Gateway(預設閘道),iPhone 上顯示為「路由器」
然後想一想:
- 你的 IP Address 是不是在三個 Private IP 範圍之內?
- 你的 IP Address 和 Default Gateway 的網絡部分是不是一樣?(應該一樣,因為它們在同一個 Subnet 裡。)
- 如果你看到很長、用「:」分隔的位址(例如以
fe80或2開頭),那就是你的 IPv6 位址!
任務二:互聯網看到的是哪個位址?
- 用搜尋器搜尋「我的 IP 位址」,很多搜尋器或網站會顯示你在互聯網上的 IP Address。
- 把它和任務一找到的位址比較:兩個一樣嗎?
- 如果不一樣,任務一的是你家中的 Private IP,任務二的是 Router 在互聯網上的 Public IP。
私隱提示: Public IP 可以大約看出你用哪間 ISP、在哪個城市上網。不要把它貼到網上公開的地方。
小互動
IPv4、IPv6,還是都不是?
把以下六張卡分成三組:
-
1
192.168.1.10 -
2
198.51.100.256 -
3
2001:db8::1 -
4
2001:db8::1::2 -
5
00:00:5E:00:53:01 -
6
198.51.100.7
全部分對了!IPv4 是四個 0 至 255 的十進制數字;IPv6 是最多八組、每組最多四個十六進制數字,連續的 0 組可用「::」代替,但只可用一次。
小互動
Public IP 還是 Private IP?
用「怎樣一眼分辨」的方法,把以下六個 IPv4 位址分成兩組:
-
1
192.168.1.10 -
2
203.0.113.1 -
3
10.0.0.8 -
4
198.51.100.1 -
5
172.20.0.5 -
6
192.168.0.23
全部分對了!Private IP 只有三個範圍:10.x.x.x、172.16.x.x 至 172.31.x.x、192.168.x.x。其他一般位址都是 Public IP。
5. 比喻的極限
- 位址不一定跟著地點改變。 郵寄地址只在搬屋時才會變;但 IP Address 由網絡分配,就算你坐在原位不動,Router 重新開機或過了一段時間,也可能派一個新位址給你。
- 一部裝置可以有好幾個位址。 一個人通常只有一個住址;但一部手機可以同時有 IPv4 和 IPv6 位址,Wi-Fi 和流動數據也各有自己的位址。
- Private IP 不是獨一無二的。 郵寄地址全世界只有一個;但
192.168.1.10可以同時出現在千千萬萬個家庭裡,只要同一個網絡內不重複就可以。 - IP Address 不能準確找出你的家。 郵寄地址可以找到你家門口;但透過 Public IP,一般只能大約估計你在哪個城市、用哪間 ISP。
- 網絡部分不一定是「前三個數字」。 本課的例子都用
/24,但真實網絡可以是/16、/20、/26等不同長度,界線不一定剛好落在「.」上。 - 路路並不知道整條路線。 漫畫中路路一看位址就指路;現實中每部 Router 只負責決定「下一站」,它是靠一張 Routing Table(路由表)來查的,第 6 課再詳談。
6. 小測驗
7. 重點筆記
- MAC Address 說明「你是誰」,IP Address(網絡位址)說明「你在哪裡」;換了網絡,IP Address 就會改變。
- IPv4 有 32 位元,寫成四個 0 至 255 的數字,例如
192.168.1.10;IPv6 有 128 位元,寫成八組十六進制數字,例如2001:db8::1。 - IP Address 分成網絡部分和主機部分;
/24(即 Subnet Mask255.255.255.0)表示前 24 位元是網絡部分。網絡部分相同,就在同一個 Subnet(子網絡)。 - 要送到其他網絡的資料,會先交給 Default Gateway(預設閘道),即你的 Router。
- 家中裝置多數用 Private IP(私人位址),出外上網時經 NAT 共用 Router 的 Public IP(公共位址);這是為了延遲 IPv4 位址用完而想出的「暫時」方法,長遠方案是 IPv6。
下一站
小比已經知道收件人是誰、住在哪裡。但這些資料寫在哪裡?為什麼他的背包要一層包一層?