網路到底怎麼運作?從 IP 地址分配看懂網路遮罩、CIDR

Published September 12, 2025 by 徐培鈞
架構

大家好!如果讓你說一個最熟悉的 IP 位址,你會想到什麼?

很多人第一個想到的是 192.168.0.1192.168.1.1,對吧?

這些數字看起來很普通,但它們其實就是你家路由器的「地址」。就像你家有個門牌號碼一樣,網路上的每個設備也都需要有個「位址」,這樣其他設備才知道要把資料送到哪裡。

但是網路跟現實世界不一樣的地方在於:

  • 現實世界的地址是政府統一規劃的(你不能隨便說你家是總統府的地址)
  • 網路世界卻好像很混亂,大家好像都可以用類似的數字

這是怎麼回事?網路到底是怎麼確保資料能正確送達的?

今天我們就從這個最基本的問題開始,一步步搞懂網路世界的運作原理。

第一步:網路世界的「地址系統」

最熟悉的 IP:192.168.0.1

如果要說一個最熟悉的 IP 位址,你第一個想到的是不是 192.168.0.1

為什麼大家都對這個數字有印象?因為它是十進制,跟我們平常用的數字一樣。

但其實,電腦看到的不是這樣…

電腦眼中的世界:二進制

你知道嗎?電腦其實看不懂我們平常用的數字!

電腦只認識兩個符號:01。所以當我們輸入 192.168.0.1 時,電腦其實看到的是這樣:

192.168.0.1 (我們看到的)

11000000.10101000.00000000.00000001 (電腦看到的)

別怕! 我們不需要背二進制,但了解一點基本概念會讓後面的內容容易很多。

二進制其實很有規律

二進制的規則超簡單:只能有 0 或 1,每逢二就進位

我們來看看是怎麼數數的:

二進制0
怎麼來的?起始點
二進制1
怎麼來的?加 1
二進制10
怎麼來的?1+1=2,但二進制逢二進位,所以變成 10
二進制11
怎麼來的?10 + 1 = 11
二進制100
怎麼來的?11 + 1 = 100(又進位了)

記住這個神奇的對照表

不用算,直接記住這幾個關鍵數字就夠了:

二進制1
記憶口訣最小的數字
二進制10
記憶口訣第一次進位
二進制100
記憶口訣
二進制1000
記憶口訣
二進制10000
記憶口訣規律:都是「1後面一堆0」
二進制100000
記憶口訣
二進制1000000
記憶口訣
二進制10000000
記憶口訣
二進制11111111
記憶口訣最特別:8個1

為什麼 255 這麼重要?

你有沒有發現一個有趣的現象:IP 位址的每個部分都不會超過 255?

像是 192.168.1.254 中的 192、168、1、254,或是 10.0.0.255 中的 10、0、0、255,全部都在 0-255 這個範圍內。

這不是巧合! 這背後有個很重要的原理:

IP 位址的儲存方式

讓我們用 192.168.1.254 這個 IP 來理解:

每個 IP 位址在電腦裡是這樣儲存的:

192.168.1.254 (我們看到的)

 拆解成 4 個部分

192    168    1      254

 每個部分都用 8 位二進制表示  

11000000.10101000.00000001.11111110

重點來了:

  • IP 位址總共有 32 位二進制(4×8=32)
  • 分成 4 組,每組 8 位二進制
  • 8 位二進制的範圍就是 0000000011111111
  • 11111111 轉成十進制就是 255

所以:每組數字的範圍就是 0-255!

看看我們的範例:

  • 192 = 11000000(沒有超過8位)
  • 168 = 10101000(沒有超過8位)
  • 1 = 00000001(沒有超過8位)
  • 254 = 11111110(沒有超過8位,差一點就是最大值255)

8 位二進制能表示多少數字?

讓我們算算看:

  • 8 位二進制 = 2^8 = 256 種組合
  • 從 0 開始數:0, 1, 2, 3, …, 255
  • 總共 256 個數字(0-255)

實際範例:手把手轉換

範例 1:192 怎麼變成二進制?

用我們的對照表拆解:

  • 192 = 128 + 64 = 10000000 + 01000000 = 11000000

範例 2:168 怎麼變成二進制?

  • 168 = 128 + 32 + 8 = 10000000 + 00100000 + 00001000 = 10101000

看出規律了嗎? 就是把十進制數字拆成對照表裡的數字相加,然後把對應位置標成 1!

為什麼要懂二進制?

你可能會想:「我又不是電腦,為什麼要懂二進制?」

答案是:因為網路的所有規則都是基於二進制設計的!

當你看到:

  • 192.168.1.0/24 這個 /24 是什麼意思?
  • 為什麼有些 IP 可以互相通訊,有些不行?
  • 網路遮罩 255.255.255.0 是怎麼來的?

這些都跟二進制有關。但有了這個對照表,你就不用真的去算二進制,只要知道概念就夠了!

第二步:網路世界的「社區」概念

想像一張地圖

現在我們知道了 IP 位址的基本結構,但還沒回答最重要的問題:網路到底怎麼運作?

讓我們用一張地圖來理解。假設有個城市,裡面有四個社區:

天母社區:所有 IP 都是 192.168.1.x
內湖社區:所有 IP 都是 192.168.2.x  
信義社區:所有 IP 都是 192.168.3.x
大安社區:所有 IP 都是 192.168.4.x

你注意到了嗎?每個社區的 IP 前面都有共同的部分(192.168),只有第三個數字不同來區分不同社區。

網路號 vs 主機號

這就是網路世界的核心概念:每個 IP 位址都分成兩個部分

  1. 網路號:代表你在哪個「社區」(網路區域)
  2. 主機號:代表你在這個社區裡的「門牌號碼」

例如在天母社區:

  • 192.168.1.100:網路號是 192.168.1,主機號是 100
  • 192.168.1.200:網路號是 192.168.1,主機號是 200

路由器的工作原理

現在每個社區都有一台路由器來管理對外通訊,每個社區裡也有一些主機(電腦、手機等設備):

graph TB
    subgraph "天母社區 192.168.1.x"
        TM_Router[天母路由器<br/>192.168.1.1]
        TM_PC1[電腦A<br/>192.168.1.100]
        TM_PC2[電腦B<br/>192.168.1.200]
        TM_Router --- TM_PC1
        TM_Router --- TM_PC2
    end

    subgraph "內湖社區 192.168.2.x"
        NH_Router[內湖路由器<br/>192.168.2.1]
        NH_PC1[電腦C<br/>192.168.2.50]
        NH_PC2[電腦D<br/>192.168.2.150]
        NH_Router --- NH_PC1
        NH_Router --- NH_PC2
    end

    subgraph "信義社區 192.168.3.x"
        XY_Router[信義路由器<br/>192.168.3.1]
        XY_PC1[電腦E<br/>192.168.3.80]
        XY_PC2[電腦F<br/>192.168.3.180]
        XY_Router --- XY_PC1
        XY_Router --- XY_PC2
    end

    subgraph "大安社區 192.168.4.x"
        DA_Router[大安路由器<br/>192.168.4.1]
        DA_PC1[電腦G<br/>192.168.4.120]
        DA_PC2[電腦H<br/>192.168.4.220]
        DA_Router --- DA_PC1
        DA_Router --- DA_PC2
    end

    %% 路由器之間的連接
    TM_Router <==> NH_Router
    TM_Router <==> XY_Router
    NH_Router <==> DA_Router
    XY_Router <==> DA_Router

當有人要傳送資料時會發生什麼?

假設天母社區的 192.168.1.100 要傳資料給內湖社區的 192.168.2.50

  1. 第1步192.168.1.100 發現目標不在自己社區內(網路號不同)
  2. 第2步:把資料交給天母社區路由器
  3. 第3步:天母社區路由器查看目標 192.168.2.50,發現是內湖社區的
  4. 第4步:路由器把資料轉發給內湖社區路由器
  5. 第5步:內湖社區路由器收到後,發現 192.168.2.50 在自己社區內,直接送達

這就是路由的基本原理!

第三步:網路遮罩的真正作用

問題來了:怎麼區分網路號和主機號?

剛才我們說 192.168.1.100 的網路號是 192.168.1,但電腦怎麼知道要在哪裡切分?

為什麼不是:

  • 網路號:192.168,主機號:1.100
  • 或者網路號:192,主機號:168.1.100

答案就是:網路遮罩!

網路遮罩的工作原理

網路遮罩就像一個「分割線」,告訴電腦哪些位元是網路號,哪些是主機號。

想像一下,你有一串數字,需要在某個地方畫一條線來分成兩部分:

11000000.10101000.00000001.01100100
                          
                       在這裡畫線
左邊是網路號                       右邊是主機號

但是問題來了:電腦怎麼知道要在哪裡畫這條線?

這就需要一個額外的資訊來告訴電腦分割的位置,這個資訊就叫做「網路遮罩」。

網路遮罩長什麼樣子?

讓我們先看看一個網路遮罩的例子:255.255.255.0

仔細看這個 255.255.255.0,你會發現它有一些特點:

  • 它分成 4 個部分
  • 中間用點號分隔
  • 每個部分都在 0-255 的範圍內

等等…這個格式是不是很眼熟?沒錯!它的格式跟我們剛才看到的 IP 位址 192.168.1.100 完全一樣!

為什麼網路遮罩的格式跟 IP 位址一樣?

這確實會讓人困惑。兩個完全不同功能的東西,為什麼要用同樣的格式?

原因很簡單:因為它們都是 32 位二進制資料

記得我們之前說過,IP 位址總共有 32 位二進制嗎?網路遮罩也是 32 位二進制。為了方便人類閱讀,所以都用同樣的「四組十進制數字」格式來表示。

但是!雖然格式相同,功能卻完全不同

  • IP 位址:像門牌地址,用來標識設備位置
  • 例如:192.168.1.100 表示「這台電腦在這個位置」
  • 網路遮罩:像說明書,用來告訴電腦如何解讀 IP 位址
  • 例如:255.255.255.0 表示「請把 IP 位址這樣切分」

比喻一下

  • IP 位址就像你的家庭地址:「台北市大安區信義路 100 號」
  • 網路遮罩就像郵局的分類規則:「前面三個部分是地區,最後一個部分是門牌」

兩個都用文字表達,但一個是地址,一個是分類規則。

那麼,網路遮罩到底是怎麼工作的呢? 讓我們用一個實際的例子來看看:

假設有一台電腦的IP是 192.168.1.100,而系統管理員設定的網路遮罩是 255.255.255.0,我們來看看電腦是如何利用這兩個資訊來知道自己的網路號和主機號的。

第1步:把 IP 和遮罩都轉成二進制

轉換 IP 位址 192.168.1.100:

192 = 128 + 64 = 11000000
168 = 128 + 32 + 8 = 10101000  
1   = 1 = 00000001
100 = 64 + 32 + 4 = 01100100

所以:192.168.1.100 = 11000000.10101000.00000001.01100100

轉換網路遮罩 255.255.255.0:

255 = 11111111 (8個1)
255 = 11111111 (8個1)
255 = 11111111 (8個1)  
0   = 00000000 (8個0)

所以:255.255.255.0 = 11111111.11111111.11111111.00000000

第2步:理解網路遮罩的規則

網路遮罩的工作原理很簡單:

  • 二進制 1 的位置 = 這些位元屬於網路號
  • 二進制 0 的位置 = 這些位元屬於主機號

讓我們把兩個二進制並排來看:

IP位址:    11000000 .10101000. 00000001. 01100100
網路遮罩:   11111111 .11111111. 11111111. 00000000
                                           
          這裡都是1                       這裡都是0
         (網路號部分)                    (主機號部分)

第3步:詳細分析每一個位元

現在最重要的部分來了!讓我們學會如何「並排比對」IP 和網路遮罩。

核心規則

  • 網路遮罩是 1 的位置 → 對應的 IP 位置不能變動(網路號)
  • 網路遮罩是 0 的位置 → 對應的 IP 位置可以變動(主機號)

讓我們把 IP 和網路遮罩並排來看:

IP位址:     11000000.     10101000.   00000001.  01100100
網路遮罩:    11111111.     11111111.   11111111.  00000000
對照結果:     這裡是1       這裡是1     這裡是1     這裡是0
意思:       不能變動        不能變動     不能變動     可以變動

詳細分析每一組 8 位元:

第1組(1-8位):

IP:    11000000   (這是 192)
遮罩:  11111111   (全是1)
規則:  遮罩是1  IP這裡不能變動
結論:  192 這個數字是固定的,不能改成其他數字

第2組(9-16位):

IP:    10101000   (這是 168)  
遮罩:  11111111   (全是1)
規則:  遮罩是1  IP這裡不能變動
結論:  168 這個數字是固定的,不能改成其他數字

第3組(17-24位):

IP:    00000001   (這是 1)
遮罩:  11111111   (全是1)  
規則:  遮罩是1  IP這裡不能變動
結論:  1 這個數字是固定的,不能改成其他數字

第4組(25-32位):

IP:    01100100   (這是 100)
遮罩:  00000000   (全是0)
規則:  遮罩是0  IP這裡可以變動
結論:  100 這個數字可以變動,可以是 0-255 中的任何數字

總結這個比對結果:

根據並排比對的結果:

  • 前 24 位對應網路遮罩的 1,所以 192.168.1固定不變的網路號
  • 後 8 位對應網路遮罩的 0,所以最後的數字是可變動的主機號

這就是為什麼同一個網路裡的所有設備,IP 都是 192.168.1.xxx,只有最後一個數字不同!

第4步:計算網路號和主機號

網路號的計算:
把主機號部分全部設為0:

原始IP:  11000000.10101000.00000001.01100100
網路號:  11000000.10101000.00000001.00000000
轉十進制:192      .168      .1        .0

所以網路號是:192.168.1.0

主機號的計算:
只看主機號部分:

主機號部分:01100100
轉十進制:  64 + 32 + 4 = 100

所以主機號是:100

第5步:計算整個網路的範圍

因為主機號部分有8個位元,可以表示的範圍是:

最小值:00000000 = 0
最大值:11111111 = 255

但是有兩個特殊的位址不能給主機使用:

  • 網路位址192.168.1.0(主機號全為0)→ 代表整個網路
  • 廣播位址192.168.1.255(主機號全為1)→ 用來廣播給所有主機

所以實際可用的主機IP範圍是:

起始:192.168.1.1   (00000001)
結束:192.168.1.254 (11111110)
總共:254個可用IP

CIDR 表示法:簡化版網路遮罩

現在我們已經理解了網路遮罩的工作原理,但你可能會發現一個問題:每次都要寫 255.255.255.0 這麼長的數字,實在太麻煩了!

想像一下,如果你要設定很多網路設備,每次都要輸入:

IP: 192.168.1.100
網路遮罩: 255.255.255.0

這樣很容易出錯,而且很浪費時間。

所以網路工程師發明了一個簡化的寫法,叫做 CIDR 表示法:

192.168.1.100/24

看起來是不是簡潔多了?

CIDR 到底是什麼意思?

CIDR 的全名是 Classless Inter-Domain Routing(無類別域間路由),但你不用記住這個長名字。重點是那個斜線後面的數字。

/24 的意思是:前 24 個位元是網路號

為什麼是 24?讓我們來算算看

還記得我們剛才學到的網路遮罩 255.255.255.0 嗎?讓我們把它轉成二進制:

255.255.255.0 轉成二進制:

255 = 11111111 (8個1)
255 = 11111111 (8個1)  
255 = 11111111 (8個1)
0   = 00000000 (8個0)

完整結果:11111111.11111111.11111111.00000000

現在數數看有多少個 1:

11111111.11111111.11111111.00000000
↑8個1    ↑8個1    ↑8個1    ↑8個0

總共:8 + 8 + 8 = 24個1

所以 /24 就是表示「前面有 24 個 1」!

其他常見的 CIDR 範例

讓我們看看其他常見的網路遮罩對應的 CIDR:

範例 1:255.255.0.0 對應多少?

255.255.0.0 = 11111111.11111111.00000000.00000000
              ↑8個1    ↑8個1    ↑8個0    ↑8個0

總共:8 + 8 = 16個1
所以是:/16

範例 2:255.0.0.0 對應多少?

255.0.0.0 = 11111111.00000000.00000000.00000000
            ↑8個1    ↑8個0    ↑8個0    ↑8個0

總共:8個1
所以是:/8

範例 3:255.255.255.255 對應多少?

255.255.255.255 = 11111111.11111111.11111111.11111111
                  ↑8個1    ↑8個1    ↑8個1    ↑8個1

總共:8 + 8 + 8 + 8 = 32個1
所以是:/32

CIDR 的快速對照表

CIDR/32
網路號位元數32
主機號位元數0
可用IP數1個
CIDR/24
網路號位元數24
主機號位元數8
可用IP數254個
CIDR/16
網路號位元數16
主機號位元數16
可用IP數65,534個
CIDR/8
網路號位元數8
主機號位元數24
可用IP數16,777,214個

為什麼 CIDR 這麼受歡迎?

  1. 簡潔/24255.255.255.0 短很多
  2. 直觀:直接告訴你有多少位元是網路號
  3. 標準:全世界的網路設備都支援這種寫法
  4. 計算方便:知道數字就能快速算出網路大小

現在你知道了,當你看到 192.168.1.0/24 時,你就能立刻知道:

  • 這是一個網路範圍(不是單一設備)
  • 前 24 位是網路號,後 8 位是主機號
  • 這個網路可以容納 254 台設備

第四步:不同大小的網路

常見的網路大小

網路遮罩255.255.255.255
網路號位元32
主機號位元0
可用IP數1個
比喻一戶人家
網路遮罩255.255.255.0
網路號位元24
主機號位元8
可用IP數254個
比喻一條街
網路遮罩255.255.0.0
網路號位元16
主機號位元16
可用IP數65,534個
比喻一個社區
網路遮罩255.0.0.0
網路號位元8
主機號位元24
可用IP數16,777,214個
比喻一個城市

子網路劃分實例

假設你有一個 /24 網路:192.168.1.0/24(254個IP),但你想分成4個小網路給不同部門:

原始網路

192.168.1.0/24 = 11000000.10101000.00000001.00000000/24
可用範圍:192.168.1.1 ~ 192.168.1.254

劃分成4個子網路:使用 /26(26 個網路位元 + 6 個主機位元 = 每個子網 64 個 IP)

部門A:192.168.1.0/26   (192.168.1.1   ~ 192.168.1.62)
部門B:192.168.1.64/26  (192.168.1.65  ~ 192.168.1.126)  
部門C:192.168.1.128/26 (192.168.1.129 ~ 192.168.1.190)
部門D:192.168.1.192/26 (192.168.1.193 ~ 192.168.1.254)

第五步:實際應用場景

家用網路

你家的路由器通常設定是這樣:

路由器IP:192.168.1.1/24
網路範圍:192.168.1.0/24
可分配IP:192.168.1.2 ~ 192.168.1.254

當你的手機、電腦連上WiFi時,路由器會自動分配一個在這個範圍內的IP給你。

公司網路

公司總部:10.0.0.0/16
├── 管理部門:10.0.1.0/24
├── 開發部門:10.0.2.0/24
├── 銷售部門:10.0.3.0/24
└── 訪客網路:10.0.100.0/24

雲端平台(AWS)

VPC:10.0.0.0/16
├── 公開子網路:10.0.1.0/24    (可以連接網際網路)
├── 私有子網路:10.0.2.0/24    (只能內部通訊)
└── 資料庫子網路:10.0.3.0/24  (最安全,只有應用伺服器可以存取)

第六步:為什麼大家都能用 192.168.x.x?

終於回到最開始的問題!為什麼全世界這麼多人的路由器都能用 192.168.1.1

私有IP vs 公有IP

IP位址分成兩種:

私有IP(只能在內網使用):

  • 10.0.0.0 ~ 10.255.255.255 (/8)
  • 172.16.0.0 ~ 172.31.255.255 (/12)
  • 192.168.0.0 ~ 192.168.255.255 (/16)

公有IP(全球唯一):

  • 除了上述範圍之外的所有IP

NAT技術:內外網轉換

你家的網路架構其實是這樣:

你的電腦 (192.168.1.100) 
    
家用路由器 (對內:192.168.1.1,對外:114.114.114.114)
      
網際網路

當你上網時:

  1. 你的電腦傳送資料給路由器(使用私有IP)
  2. 路由器把來源IP改成自己的公有IP,轉發到網際網路
  3. 回傳時路由器再把目的IP改回你的私有IP

這就是 NAT(網路位址轉換)

所以全世界可以有無數個 192.168.1.1,但每個都只在自己的小網路裡,不會衝突。

總結:網路運作的完整圖像

現在你知道了網路運作的完整機制:

  1. IP位址:就像門牌地址,分成網路號和主機號
  2. 網路遮罩/CIDR:決定網路的大小和範圍
  3. 路由器:負責不同網路之間的轉發
  4. 私有IP:讓每個家庭/公司都能重複使用相同的IP段
  5. NAT:讓私有網路能連接到公有網際網路

一句話總結

網路就像郵政系統,IP位址是地址,路由器是郵局,網路遮罩決定郵遞區號的範圍,而CIDR就是這套地址系統的簡化表示法。

掌握了這些概念,你就能理解為什麼:

  • AWS要你設定VPC CIDR
  • 公司網路要規劃IP段
  • 防火牆規則要設定允許的網段
  • 家裡的設備都能正常上網

網路其實沒有想像中複雜,就是一套設計精巧的地址和轉發系統!