淺談家用網路拓樸

Jack Kuo
8 min readAug 8, 2019

--

前言

現在越來越多裝置需要連接到網路,使得家中網路趨近複雜,如果家中是透天厝或是隔間很多,那你肯定會買 WiFi 分享器、路由器等等設備,這些設備大多接上去就可以使用,並且可以順利的連上網。但如果網通設備越來越多,彼此的設定就容易互相干擾,輕則家用裝置無法互相連線,重則無法上網,如果你對網路配置有興趣,那這篇會是很好的入門。

這裏不只會提到家用網路,更摻入一些稍具規模網路會遇到的狀況,希望大家能夠對於網路拓樸有更多認識。

家中網路拓樸

網路拓樸是什麼?根據維基百科說明「網路拓撲,指構成網路的成員間特定的排列方式。」,口語來說就是網路裝置的分佈圖,大部分人家裡會有 WiFi 分享器、電腦、手機,以下是一個家中網路拓樸範例,之後我們講解也都會用這張圖片。

我們由上而下慢慢講解。

網際網路

最上面是網際網路,我們滑的臉書、看的 YouTube 都在裡面,但實在是太過複雜,我們先不講。

網路服務供應商

再來是網路服務供應商(ISP),要知道你的電腦連到 Google,並不是電腦一條線直接接到 Google 的伺服器,中間是經由許多網路設備的轉送才能讓你連線到 Google,要不然你要連 Google 也要連 FB,那不就得插很多條線?而主要負責這方面的事情就是網路服務供應商了,你的裝置會告訴 ISP 說你想要造訪哪個網站,ISP 就會想辦法幫你連上,有點類似以前的電信局,裡面聘請了不少接線生,當然現在都由電腦自動作業哩。

數據機 / 小烏龜

數據機(Modem)俗聲「小烏龜」,這是用來跟 ISP 交換訊號的裝置,ISP 可能會使用電話線、電纜線、光纖等線材連接到數據機,經過訊號處理後,出來的才會是我們一般使用的網路線訊號,這是因為成本、佈線、訊號品質等等考量。說到這就不得不提以前的數據機是很吵雜的,那聲音用過的人肯定都忘不了!

而我們一般使用的網路線其實叫做「雙絞線」,有別於 ISP 拉到你家的電話線、同軸電纜線、光纖等等。

現在 ISP 所說的光纖上網主要分兩種,一種是光纖上網,另一種是光纖到府(FTTH)。前者是從 ISP 到你家有一段是採用光纖傳輸就是了,後者則是肯定全程拉光纖到你家的數據機,穩定度及速度可想而知。

筆者 2017 年有幸進入遠傳台北機房做測試,據說全台遠傳客戶上網都會先連來這邊,裡面可是滿滿的光纖束啊!多到你無法想像的那種。

如果是使用中華電信,那你的數據機中會有一個服務叫做 PPPoE,俗稱的撥號連線,中華電信會給你一組帳號密碼,必須透過這組帳密才能上網。大概十多年前數據機還沒有這項功能,因此都得在個人電腦上面安裝撥號連線程式,每次開機要上網就得先執行那個撥號連線程式才行。時代在進步,現在的數據機都有自動撥號功能了,中華電信的工程人員也會貼心的幫你設定好,因此不需額外傷腦筋。

一次撥號就是拿一組 IP 位址,至於是不是固定的得看電信公司合約,通常來說這組 IP 位址會是 Public IP Address,若統一由家中的小烏龜撥號,那上網的 IP 位址就都會是一樣的,這是因為 NAT 網路的關係,這邊稍微離題了,不喜歡的讀者可以跳過不點開。

什麼是 NAT 網路(可跳過)

交換器

交換器英文是 Switch,主要是用來擴充網路孔讓更多設備上網,可別跟任天堂的 Nintendo Switch 搞混了噎!真的很討厭撞名。

上面提到數據機是 ISP 接到你家的訊號處理設備,因此家裡上網通通需要經過它,但是上面只有四、五個孔,家裏那麼多台裝置要上網怎麼夠?這時候就換交換器上場了,家用交換器通常沒什麼功能,所有的網路孔都長得一樣,因此僅需接上電源插上網路線,基本上有互相連接的裝置就都能互相通訊囉,因此在交換器的其中一個孔接到數據機,另一個孔接上你的裝置,就可以上網啦。

交換器內會記錄哪個孔對應到哪個網卡卡號(MAC Address),因此在交換器這個層級(L2)是不認得 IP 的,一切都靠 MAC Address 去判斷

至於 Swich 跟 Hub 有什麼不同,就請讀者自己上網查詢,畢竟 Hub 已經在市面上看不到了也就沒有講的必要。

在進階一點的交換器,可以設定各種規則以及預防,比如說:

  1. 設定 Uplink Port
  2. 設定 VLAN
  3. 設定 Port 禁/啟用、Port Mirror
  4. QoS
  5. 防止迴圈

其中防止迴圈功能滿重要的,照理來說一個孔就是接一台裝置,但總有人會「拿一條網路線,兩端接上同一台網通設備的不同孔」,這時候封包就會無限的在這個迴圈中繞啊繞,一直繞圈圈,此行為不但拖累效能,嚴重時設備甚至會癱瘓呢!聽學校網路維運的人講說這滿常在宿舍區見到的,主謀還會說「我怕網路孔沒用會有灰塵,所以兩個孔都塞起來了呢!」真是暈倒 ORZ

綁定 Uplink 也是滿重要的,不過我們等下再談。在 NAT 網路(Layer 3)下可以想像成獨立的網路世界,那… 誰來決定 IP 位址呢?大家自己決定,隨機產生一組?可以,這就是自動專用IP尋址(APIPA),但有更有效率的方式,那就是動態主機設定協定(DHCP)。

通常來說我們不會叫他的中文名稱,而是直接叫 DHCP。(我也是撰此文才去查 DHCP 中文是什麼的…

  1. 會有一台設備當作 DHCP Server,專門用來發送 IP 給需要的人。
  2. 會有許多台設備當作 DHCP Client,跟 DHCP Server 要 IP,通常就是你目前電腦、手機裡面的設定。

當然,你可以選擇關閉手上電腦的 DHCP 功能,這時候就得自己設定 IP 位址,不過問題來了,如果自己設定的 IP 跟 DHCP Server 發的衝突了呢?這就跟有兩間房子是同樣住址一樣的道理,不是兩個人都收不到信,就是只有一個人收到信。

那… 為什麼我每次重開機,拿到的 IP 都一樣?這是因為 DHCP Server 會紀錄你的 MAC 位址,也就是網卡卡號,記得這個網卡卡號所對應到的 IP 是多少,因此再次發一樣的 IP 給你。這是記錄在 DHCP Table 中,多久清空一次就得看設定了。(偷偷說,卡號是可以自己設定的)

DHCP Server 通常就是開啟 NAT 功能的那台設備上,在實際環境中,會是你的小烏龜、WiFi 分享器。但其實不一定要是 NAT Server,也可以是這個區網中的其中一台設備,因此我在圖片中用虛線畫了一台 DHCP Server,這東西在家中幾乎不會存在,而是在稍具規模的網路環境中由網管架設。DHCP 協定是當裝置連上區網時,會先問問誰可以給他 IP 位址,此時 DHCP Server 就會跳出來回應他。所以說 DHCP Server 是誰?在哪邊?其實不是很重要,問得到就好。

好了,回到上個問題,為何要綁定 Uplink?你家的 WiFi 分享器會有個網路孔顏色比較特別,跟另外 4、5 個孔顏色不一樣,那就是 WAN 孔,其他的則是 LAN 孔。再次看到上面那張圖,可以看到 WiFi 分享器跟小烏龜中間還有台 Switch,上面接了一台 PC,如果分享器是設定 NAT 模式並且使用 LAN 孔連結 Switch,小烏龜也是,那預設他們都會啟用 DHCP Server,並且說自己是 Gateway,也就是說如果 PC 要連上網際網路,就得將封包送到誰那邊!

慘了,兩個人發 IP,兩個人都說自己是通往天堂的路,可想而知慘不忍睹,而 Uplink Port 就是專指要怎麼通往天堂的那條路,因此不管誰說自己是 Gateway 都無所謂,Switch 會根據所設定的 Uplink 去傳送封包,而不會將你送往地獄讓你無法上網。至於 DHCP Server 有兩台,有可能會造成位址不統一,他們若發的 IP 不同是還好,發到重複的就有人無法上網囉。

家中 WiFi 分享器

WiFi 分享器又俗稱 AP,但跟 AP 模式其實不一樣!

剛才提到的都是有線網路,為了要讓 WiFi 裝置上網,許多人家裡會買 WiFi 分享器,當然時代在進步,現在的小烏龜很多也都有 WiFi 功能啦!電信公司真是人性化呢,為了搶客把小烏龜越做越強。

大部分的 WiFi 分享器在 OSI 上面的定位有點模糊,因為有 AP 模式可以假裝自己是台無線版本的 Swtich,也可以有 NAT 模式將底下的設備跟上面的設備隔開來,這時就彷彿自己又切了一個小圈圈,公寓裡面的公寓,有點像是 Router哩。

注意哦,WiFi 分享器通常會有個網路孔顏色比較特別,跟另外 4、5 個孔顏色不一樣,那就是 WAN 孔,其他的則是 LAN 孔。請務必、務必、務必將較特別的那個 WAN 孔插在往小烏龜的方向,不要插錯邊了,不只自己不能上網,還會害別人無法上網!

至於 WiFi 分享器要怎麼設定比較好?

如果你住在宿舍、公寓等等沒有自己跟電信局簽約,你沒看到小烏龜,只知道牆壁上冒出一個網路孔,這時候建議你最好使用 「NAT 模式」將你的網路跟外面切開來,避免不必要的掃描、攻擊、共享資料或是印表機等等。這時候如果還要另外串其他的網通設備,就建議買 Swtich 或是將第二台 WiFi 分享器設定為 AP 模式。

如果你家自己跟電信局簽約,有拉線到你家,看得到小烏龜,那小烏龜不需要去設定,可以買 Switch 回來擴充網路孔,也可以買 WiFi 分享器來設定成 AP 模式即可。

總結,不論你住在哪,最好只要有一台設定設定為 NAT 模式,其他都設定為 AP 模式會比較好。

--

--

Jack Kuo
Jack Kuo

Written by Jack Kuo

Software Engineer at MediaTek

Responses (1)