National Central University
Uedu Main Site
Explore Uedu
Student Console
Register as Member/Login
Research Informed Consent Center
Survey Center
Educational Big Data Challenge
Claim or create a course
Try an AI Scenario Task
Support & Messages
Uptime Data

UeduGPTs

--

Jupyters

3

Local AI

--

Uedu Code

--

中央大學 AQI 80 24°C PM2.5 21
AI Reply Desktop Notifications

Show a desktop notification when the AI TA finishes replying

Chat Message Notifications

Notify me when classmates post messages in the forum

Sound notification

Play an alert sound whenever there is a new notification

Unit 29

區域網路、廣域網路、路由器與交換器

網路怎麼連起來:設備與位址
Interaction 25 minute(s)

Learning Objectives

  • 分辨區域網路(LAN)、廣域網路(WAN)與網際網路,認識常見的網路拓樸
  • 說明乙太網路與 Wi-Fi 的角色,以及交換器如何用 MAC 位址表轉送訊框
  • 用 IP 位址與子網路遮罩判斷兩台電腦是否在同一個網段
  • 說明預設閘道、路由器、DHCP 與 NAT 各自解決什麼問題

這一課要回答的問題

打開手機的 Wi-Fi 設定,常會看到一串像 192.168.1.23 的「IP 位址」,還有「子網路遮罩」「路由器」幾個欄位。 同一個宿舍網路裡的兩台筆電可以直接互傳檔案;可是只要「預設閘道」填錯一個數字,就連不上任何網站。

這一課回答幾個問題:

  • 一間教室裡的電腦,和遠在另一個國家的伺服器,是怎麼連在一起的?
  • 交換器和路由器長得很像,差別在哪裡?
  • 電腦怎麼知道對方「就在旁邊」可以直接送,還是要交給路由器轉送?
  • 家裡只有一個對外的位址,為什麼手機、電腦、電視可以同時上網?

區域網路、廣域網路與網際網路

依涵蓋的範圍,網路大致分成:

名稱 範圍 例子 主要設備
區域網路(LAN,Local Area Network) 一個房間、一層樓、一棟建築 宿舍、電腦教室、家裡的 Wi-Fi 交換器、無線基地台
廣域網路(WAN,Wide Area Network) 城市、國家、跨國 學校之間的學術網路、電信業者的骨幹 路由器、光纖線路
網際網路(Internet) 全世界 許多組織的網路互相連接而成的「網路的網路」 路由器

網際網路的前身之一是美國的 ARPANET:1969 年 10 月 29 日,加州大學洛杉磯分校(UCLA)的電腦第一次透過它把訊息送到史丹佛研究院(SRI), 到 1969 年 12 月已經有 4 個節點。今天的網際網路就是由無數個區域網路,經過路由器與廣域網路連起來的。

網路拓樸(topology)是設備之間連線的形狀:

拓樸 樣子 特性
匯流排(bus) 所有設備接在同一條線上 早期乙太網路用同軸電纜這樣接;線斷了整段都不通
環狀(ring) 設備連成一圈 訊號沿著環傳遞
星狀(star) 每台設備各拉一條線到中央的交換器 今天的有線區域網路幾乎都是這樣;一條線壞了只影響一台
網狀(mesh) 設備之間有多條路徑 網際網路的骨幹:一條路斷了還能繞路

乙太網路與 Wi-Fi:區域網路最常用的兩種技術。

  • 乙太網路(Ethernet):用網路線連接。1973 年由 Robert Metcalfe 等人在全錄(Xerox)帕羅奧圖研究中心發展,1983 年通過成為 IEEE 802.3 標準。
  • Wi-Fi:用無線電波連接,標準是 IEEE 802.11(第一版在 1997 年發布),後來不斷推出更快的版本。

不論有線或無線,資料都切成一個一個的訊框(frame)傳送,每個訊框都寫著來源與目的 MAC 位址。

MAC 位址與交換器

每張網路卡(有線或無線)都有一個 MAC 位址(Media Access Control address),長度 48 位元,寫成 6 組十六進位數字:

3c:22:fb:7a:10:5e     (示意)
└──┬───┘
  前 3 個位元組通常是製造商的代碼,後 3 個位元組由製造商編號

MAC 位址在出廠時就寫在網路卡上(作業系統可以改用別的值,例如手機為了隱私會在不同 Wi-Fi 使用隨機的 MAC 位址)。 它的用途是:在同一個區域網路裡,找到某一台設備。

交換器(switch)是區域網路的中心,每個埠接一台設備。它不需要事先設定,而是邊轉送邊學習:

  1. 訊框從某個埠進來,交換器記下「這個來源 MAC 在這個埠」,寫進 MAC 位址表。
  2. 查目的 MAC:表裡有,就只從那個埠送出;表裡沒有,就從其他所有埠送出(稱為泛洪,flooding)。
  3. 目的 MAC 是 ff:ff:ff:ff:ff:ff 的訊框是廣播,一定送到所有埠。

早期的集線器(hub)不管目的地,每個訊框都送到所有埠,同一時間只能有一台在說話。交換器只送到需要的埠,多組設備可以同時傳送。

互動練習:交換器怎麼學會位址

選來源與目的電腦,按「送出訊框」,看圓點走過哪些線、右邊的 MAC 位址表多了什麼。先讓 A 送給 C(交換器還不認得 C),再讓 C 回覆 A,比較兩次交換器從幾個埠送出;接著送一個廣播訊框,最後讓位址表學會全部 4 台電腦,並回答下方的問題。「清空位址表」模擬交換器重新開機。

IP 位址與子網路遮罩

MAC 位址只在同一個區域網路裡有用。要跨越網路找到對方,靠的是 IP 位址。 IPv4 位址長度 32 位元,寫成 4 個 0~255 的十進位數字,例如 192.168.1.10。

一個 IP 位址分成兩部分:

  • 網路部分:這台電腦在哪一個網路(像門牌的「路名」)
  • 主機部分:這個網路裡的哪一台(像「門牌號碼」)

哪幾個位元算網路部分,由子網路遮罩(subnet mask)決定:遮罩是 1 的位元屬於網路部分,是 0 的屬於主機部分。

IP 位址   192.168.1.10   = 11000000.10101000.00000001.00001010
遮罩      255.255.255.0  = 11111111.11111111.11111111.00000000
AND 之後  192.168.1.0    = 11000000.10101000.00000001.00000000   ← 網路位址

遮罩也常寫成「斜線後面接 1 的個數」:255.255.255.0 就是 /24,所以這個網路寫成 192.168.1.0/24, 可以放 2⁸ = 256 個位址(扣掉網路位址 .0 與廣播位址 .255,實際可給電腦用的是 254 個)。

判斷同網段的方法:把自己的 IP 和對方的 IP 都和自己的遮罩做 AND(逐位元「兩個都是 1 才是 1」),得到的網路位址相同,就在同一個網段。

有些位址範圍有特別用途:

範圍 用途
10.0.0.0/8、172.16.0.0/12、192.168.0.0/16 私有位址(RFC 1918):只在組織或家庭內部使用,不能直接出現在網際網路上
192.0.2.0/24、198.51.100.0/24、203.0.113.0/24 保留給文件與教材當範例(RFC 5737),本課的「網際網路」位址都用這些
127.0.0.1 本機自己(loopback)

用程式判斷是不是同一個網段

這段程式做的就是電腦每次送封包前的判斷。IP 位址拆成 4 段,每段和遮罩的同一段做 &(位元 AND)。遮罩是 255 的段原封不動保留,是 0 的段變成 0。看上方的格子:192.168.1.20 算出來的網路位址和自己相同,192.168.2.20 第 3 段不同,所以要交給預設閘道。

預設閘道、路由器、ARP、DHCP 與 NAT

同網段:電腦先在區域網路裡廣播一個 ARP(Address Resolution Protocol)詢問:「誰是 192.168.1.20?請告訴我你的 MAC。」 對方回覆自己的 MAC 位址後,電腦把訊框的目的 MAC 填上去,經交換器直接送到。

不同網段:電腦把封包交給預設閘道(default gateway),也就是同一個區域網路裡那台路由器的位址。 這時訊框的目的 MAC 是路由器的 MAC,但封包裡的目的 IP 仍然是最終的目的地。所以預設閘道一定要在自己的網段裡; 填了別的網段的位址,電腦根本無法把訊框交給它。

路由器(router)連接兩個以上的網路,每個介面各有一個 IP 位址。它收到封包後查路由表:

目的網段            送出介面
192.168.1.0/24     e0(接區域網路 1)
192.168.2.0/24     e1(接區域網路 2)
0.0.0.0/0          wan(預設路由:其他所有位址都往網際網路送)
設備 看哪一種位址 工作範圍
交換器 MAC 位址 同一個區域網路之內
路由器 IP 位址 網路與網路之間

DHCP(Dynamic Host Configuration Protocol,RFC 2131)讓電腦一連上網路就自動拿到 IP 位址、遮罩、預設閘道與 DNS 伺服器, 不用手動設定。過程是四個訊息:Discover(有沒有 DHCP 伺服器?)、Offer(這個位址給你用)、Request(我要用這個)、Ack(確認)。 家用路由器通常就內建 DHCP 伺服器。

NAT(Network Address Translation,網路位址轉譯):IPv4 位址只有 2³² 個(約 43 億個),不夠分給每一台設備。 負責全球位址分配的 IANA 在 2011 年 2 月把最後幾個大區塊分配給各區域的位址管理機構。 因此家裡與校園內部普遍使用私有位址,連到網際網路時,由路由器把來源位址換成自己對外的公開位址, 並在 NAT 表記下「哪一個內部位址與埠號對應哪一個對外埠號」,回應回來時再換回去。這樣一個公開位址就能讓很多台裝置同時上網。

互動練習:同網段、跨網段與連上網際網路

兩個區域網路各有一台交換器,透過中間的路由器相連,路由器的 wan 介面接到網際網路。選來源與目的按「送出」,左邊會一步一步說明 AND 的計算、ARP、路由表與 NAT;模擬會等對方回覆,來回都通才算連上。依任務先試 A→B、A→C、B→Web 伺服器,回答 NAT 的問題,最後找出電腦 D 為什麼連不出去:可以在右邊「電腦的網路設定」選 D 手動修改後按「套用設定」,或按「用 DHCP 自動取得」。

想一想:交換器與 MAC 位址

1.

一台剛開機的交換器(MAC 位址表是空的),收到電腦 A 送給電腦 C 的訊框,會怎麼做?

2.

關於 MAC 位址與 IP 位址,哪一個說法正確?

第 1 次作答

想一想:IP 位址、遮罩與閘道

1.

你的電腦 IP 是 192.168.10.37,遮罩 255.255.255.0。下列哪一個位址和你在同一個網段?

2.

下面的程式模仿電腦計算網路位址(遮罩 255.255.255.192,也就是 /26),會印出什麼?

ip = [192, 168, 1, 70]
mask = [255, 255, 255, 192]
print([ip[i] & mask[i] for i in range(4)])
3.

一台筆電可以印到同一間教室的印表機,但打不開任何網站,連用 IP 位址也連不到外面。它的設定是:IP 192.168.5.23、遮罩 255.255.255.0、預設閘道 192.168.50.1。最可能的原因是?

4.

家裡有 5 台裝置透過同一台路由器上網。它們同時連到同一個網站時,網站伺服器看到的來源 IP 位址是?

第 1 次作答

重點整理

  • 區域網路涵蓋一棟建築以內,廣域網路跨城市與國家,網際網路是許多網路互相連接而成;今天的有線區域網路多是以交換器為中心的星狀拓樸。
  • 乙太網路(IEEE 802.3)用網路線、Wi-Fi(IEEE 802.11)用無線電波,資料都以訊框傳送,訊框上有來源與目的 MAC 位址(48 位元)。
  • 交換器從來源 MAC 學習位址表;認得目的 MAC 只從一個埠送出,不認得或廣播就送到所有埠。
  • IPv4 位址 32 位元,子網路遮罩劃分網路部分與主機部分;IP 和遮罩做 AND 得到網路位址,相同就是同網段。
  • 同網段用 ARP 問到 MAC 後直接送;不同網段交給預設閘道,閘道必須在自己的網段裡。路由器依 IP 位址查路由表,在網路之間轉送。
  • DHCP 自動分配 IP、遮罩、閘道;NAT 讓使用私有位址的多台裝置共用一個公開位址上網。

下一課看封包本身:資料怎麼一層一層包上 TCP、IP、乙太網路的標頭,TCP 怎麼確保資料完整送到。

這一課完成了!
Next lesson:協定分層與 TCP/IP
你目前沒有登入,學習進度只存在這個瀏覽器。 Login 後,進度會跟著帳號,換電腦也看得到。