Home 世界杯开幕战 IPv4 幾位元?從根本瞭解這個網路世界的基石

IPv4 幾位元?從根本瞭解這個網路世界的基石

IPv4 幾位元?從根本瞭解這個網路世界的基石

你或許也遇過類似的情境吧?當家裡的網路有點不穩,或是想設定些比較進階的功能,總會聽到「IP位址」這個詞,然後可能看到一串像是「192.168.1.100」這樣的數字。這時候,好奇心是不是會驅使你思考:「欸,這個IP位址到底是怎麼組成的啊?它總共有多少個『位元』呢?」

內容目錄

ToggleIPv4 幾位元?從根本瞭解這個網路世界的基石32 位元的秘密:IPv4 位址的組成與運作從傳統分類到彈性分配:子網路遮罩與 CIDR 的演進網路位址轉換 (NAT):IPv4 枯竭的救星私有 IP 位址:不公開的內部身份證IPv4 位址枯竭的現實與因應IPv6:網路的未來與無限可能常見問題與專業解答什麼是子網路遮罩?它跟 IPv4 位址有什麼關係?私有 IP 位址和公有 IP 位址有什麼不同?為什麼需要私有 IP?為什麼我的手機或電腦每次連上網,IP 位址好像都會變?這正常嗎?IPv4 地址真的「用完」了嗎?那為什麼我們還能上網?什麼是廣播位址和網路位址?

好啦,別再猜了!直接告訴你答案:我們日常所使用的 IPv4 位址,是由 32 個位元 (bits) 所組成的。 對於網路世界來說,這 32 個位元可說是最核心的基礎,它決定了我們今天所有網路通訊的運作方式,也影響了你我上網的方方面面呢!

32 位元的秘密:IPv4 位址的組成與運作

說到這 32 個位元,大家可能會覺得有點抽象,畢竟我們平常看到的都是點分十進位的數字嘛,哪來的 0 和 1 啊?其實啊,這就是電腦世界跟我們人類世界的轉換魔法啦!

在數位世界裡,所有的資訊都是由 0 和 1 這兩種狀態來表示的,這就是所謂的「位元」(bit)。一個位元只能表示兩種狀態 (0 或 1),兩個位元可以表示四種狀態 (00, 01, 10, 11),以此類推。所以,當我們說 IPv4 位址是 32 位元時,就代表它是一個由 32 個 0 或 1 排列組合而成的二進位數字。

這 32 個位元通常會被分成四組,每組 8 個位元,也就是一個「八位元組」(octet)。為什麼是 8 個位元呢?因為 8 個位元可以表示 2 的 8 次方,也就是 256 種不同的狀態 (從 0 到 255)。這也就是為什麼我們常見的 IPv4 位址,像是「192.168.1.100」,每個數字都不會超過 255 的原因喔!

舉個例子,如果我們把「192.168.1.1」這個 IP 位址拆開來看,在電腦的世界裡,它其實長這樣:

192 = 11000000 (二進位)

168 = 10101000 (二進位)

1 = 00000001 (二進位)

1 = 00000001 (二進位)

把這四組二進位數字串在一起,就是完整的 32 個位元了!是不是很有趣啊?

32 位元帶來的 IP 位址總數與其困境

既然一個 IPv4 位址是由 32 個位元組成的,那麼它總共能產生多少個不同的 IP 位址呢?很簡單,就是 2 的 32 次方。這個數字大約是 4,294,967,296 個,也就是差不多 43 億個 IP 位址!在早期網際網路發展的初期,大家可能覺得「哇,這麼多!根本用不完吧?」

然而,隨著網際網路的普及,智慧型手機、平板、物聯網設備等等如雨後春筍般出現,全球連網設備的數量呈現爆炸式成長,這 43 億個 IP 位址很快就顯得不夠用了,這就是所謂的「IPv4 位址枯竭」問題。這問題可不是開玩笑的,它直接影響了網路的擴張與創新。

從傳統分類到彈性分配:子網路遮罩與 CIDR 的演進

早期,IPv4 位址的分配方式是採取「分類定址」(Classful Addressing) 的概念,也就是把 IP 位址分成 A、B、C、D、E 五種類別,不同類別的 IP 位址,網路位址和主機位址的切割方式是固定的。這種方式雖然簡單,但卻造成了巨大的 IP 位址浪費。

分類定址 (Classful Addressing) 的IP位址分法

以前的 IPv4 分類其實是很有意思的喔!它把整個 32 位元的 IP 位址空間,依照第一個八位元組 (就是點分十進位的第一個數字) 的範圍,區分成好幾種類別:

A 類位址: 第一個數字範圍是 1 到 126。這種位址的網路部分只有第一個八位元組,而後面三個八位元組都留給主機。這代表一個 A 類網路可以容納非常多的主機 (約 1600 萬個),但網路本身的數量卻很少。大公司或研究機構才會拿到這種位址喔!

B 類位址: 第一個數字範圍是 128 到 191。它的前兩個八位元組是網路部分,後兩個是主機部分。這提供了中等數量的主機 (約 6 萬多個) 和網路。

C 類位址: 第一個數字範圍是 192 到 223。它的前三個八位元組是網路部分,只有最後一個八位元組是主機部分。這種位址適合小型網路,因為一個 C 類網路只能有 254 個主機。

D 類位址: 第一個數字範圍是 224 到 239。這類位址是用於多點傳送 (Multicast) 的,不像 A、B、C 類那樣直接分配給單一設備。

E 類位址: 第一個數字範圍是 240 到 255。這類位址保留用於實驗或未來使用,一般是不會用到的。

這傳統的分類方式,雖然讓 IP 位址的規劃變得簡單,但問題也隨之而來。你想想看,如果一個組織只需要 500 個 IP 位址,但根據分類定址,它只能拿到一個 B 類位址 (可以容納 6 萬多個主機) 或幾個 C 類位址 (每個只能容納 254 個)。無論哪種方式,都會造成大量的 IP 位址閒置與浪費。這對於原本就有限的 32 位元位址空間來說,簡直就是雪上加霜啊!

子網路遮罩 (Subnet Mask) 的登場

為了解決這個問題,同時更彈性地使用 32 位元的 IP 位址,子網路遮罩 (Subnet Mask) 就應運而生了。它就像是一個「模具」,跟 IP 位址一起搭配使用,用來區分 IP 位址中哪些部分是「網路位址」,哪些部分是「主機位址」。

子網路遮罩也是 32 位元,它由一連串的 1 和一連串的 0 組成。1 的部分對應到 IP 位址中的網路位址,0 的部分則對應到主機位址。舉例來說,我們常見的「255.255.255.0」這個子網路遮罩,轉換成二進位就是「11111111.11111111.11111111.00000000」。這表示前 24 個位元是網路位址,後 8 個位元是主機位址。

有了子網路遮罩,網路管理員就可以根據實際需求,將一個大的網路切割成多個小的子網路,這樣就能更有效地分配和管理 IP 位址,減少浪費。這就是所謂的「子網路劃分」(Subnetting)。

無類別域間路由 (CIDR) 的革新

子網路遮罩的出現,確實讓 IPv4 位址的利用率提高不少,但它還是建立在分類定址的基礎上。直到 1990 年代初期,為了解決日益嚴重的 IPv4 位址枯竭和路由表膨脹問題,無類別域間路由 (Classless Inter-Domain Routing, CIDR) 才正式登場,徹底改變了 IP 位址的分配和路由方式。

CIDR 放棄了傳統的 A、B、C 類位址概念,改用一個斜線「/」後面跟著一個數字來表示網路位址的長度。這個數字就是「網路首碼長度」(Network Prefix Length),它直接指明了 IP 位址中,從左邊算起有多少個位元是屬於網路部分。例如:

「192.168.1.0/24」:代表前 24 個位元是網路位址,後 8 個位元是主機位址。這跟傳統的 C 類網路類似,但它現在只是一個「前綴」,不再綁死在類別上。

「10.0.0.0/8」:代表前 8 個位元是網路位址,後 24 個位元是主機位址。

「172.16.0.0/16」:代表前 16 個位元是網路位址,後 16 個位元是主機位址。

CIDR 的最大好處就是彈性。網路管理員可以根據實際需求,精確地劃分網路大小,不管是需要 10 個 IP 還是 10 萬個 IP,都可以透過調整網路首碼長度來實現,大大提升了 IPv4 位址的利用效率。我記得以前在規劃企業網路的時候,如果沒有 CIDR,很多 IP 位址真的只能白白地空著,現在有了它,能更有效地「客製化」我們的網路空間了。

網路位址轉換 (NAT):IPv4 枯竭的救星

儘管有子網路遮罩和 CIDR 的幫助,但 43 億個 IP 位址在全球數十億連網設備面前,還是遠遠不夠用。這時候,一個非常重要的技術出現了,它就是 網路位址轉換 (Network Address Translation, NAT)。

NAT 技術就像是一個「翻譯官」或是「閘道器」,它允許一個內部網路中的多台設備,共用一個或少數幾個公有 IP 位址來連上網際網路。你家裡的路由器,通常就扮演著這個 NAT 的角色喔!

NAT 的運作原理

我來簡單解釋一下 NAT 是怎麼辦到的。想像一下,你家裡有手機、電腦、平板,甚至智慧電視,都連在你的 Wi-Fi 路由器上。這些設備在內部網路中都會分配到一個「私有 IP 位址」,像是「192.168.1.5」、「192.168.1.6」等等。

當這些設備要上網時,它們的網路封包會先送到路由器。路由器會把這些封包的「來源 IP 位址」從內部的私有 IP,轉換成路由器的「公有 IP 位址」,然後再把封包送到網際網路。當網際網路上的伺服器回傳資料時,資料會先到達你的路由器,路由器再根據自己建立的「轉換對應表」,把資料轉發給正確的內部設備。

這個轉換對應表會記錄哪些內部 IP 和埠號,對應到哪個外部 IP 和埠號的連線。所以,雖然外面看起來只有一個公有 IP 在跟外部連線,但路由器在內部巧妙地管理著所有設備的通訊,讓大家都能順暢上網。

這種「多個內部 IP 共用一個外部 IP」的機制,大大延緩了 IPv4 位址的枯竭速度。如果沒有 NAT,現在網路上的設備數量大概會是目前的一小部分吧?我們很多網路服務甚至根本無法提供給這麼多用戶,因為根本沒有足夠的公有 IP 可以分配給大家。

從我的經驗來看,NAT 真的就像是 IPv4 枯竭問題的「緩衝器」和「續命丹」。雖然它讓一些點對點的應用變得比較複雜,也增加了網路偵錯的難度 (因為外部服務看不到你真正的私有 IP),但它的貢獻絕對是功不可沒的。

私有 IP 位址:不公開的內部身份證

在談到 NAT 時,我們提到了「私有 IP 位址」。這也是一個跟 IPv4 32 位元設計息息相關的重要概念喔!

為了讓 NAT 能夠順利運作,同時也為了滿足內部網路的大量 IP 需求,網際網路工程任務組 (IETF) 特別保留了三個區塊的 IPv4 位址,作為「私有 IP 位址」使用。這些位址是:

10.0.0.0 到 10.255.255.255 (也就是 10.0.0.0/8)

172.16.0.0 到 172.31.255.255 (也就是 172.16.0.0/12)

192.168.0.0 到 192.168.255.255 (也就是 192.168.0.0/16)

這些私有 IP 位址只能在區域網路 (LAN) 內部使用,它們是不能直接在網際網路 (Internet) 上被路由的。這意味著,如果你看到你家的電腦 IP 位址是 192.168.1.X,那是你家區域網路裡的「身份證」,當你發送資料到外部網路時,你的路由器會幫你轉換成一個公有 IP。

私有 IP 位址的設計非常巧妙,它允許全球數以億計的家庭和企業網路都能獨立使用這些位址空間,而不會發生衝突。這就像是每棟大樓裡都有自己的門牌號碼,這些門牌號碼在自己的大樓裡是唯一的,但跟其他大樓的門牌號碼是沒有關係的,也不會互相混淆。

IPv4 位址枯竭的現實與因應

儘管有 CIDR 和 NAT 等技術的輔助,但 IPv4 位址的枯竭仍是個不可逆的趨勢。全球各地的區域網路註冊管理機構 (RIRs),像是負責亞太地區的 APNIC,早在多年前就已經發出警告,並陸續宣布其手頭的 IPv4 位址已經分配完畢或僅剩極少量。這代表著,現在要申請全新的公有 IPv4 位址,變得越來越困難,甚至需要透過二手市場購買,價格也水漲船高。

這對很多新創公司、或是需要擴展網路服務的企業來說,都是一個不小的挑戰。沒有足夠的公有 IP,就難以提供直接的網路服務,這也促使了大家必須認真考慮並積極部署下一代網際網路協定:IPv6。

IPv6:網路的未來與無限可能

說到這裡,你可能會想:「那 IPv4 位址用完了怎麼辦?網際網路會不會有一天就停擺了?」別擔心,聰明的工程師們早就為此做好了準備!這就是 IPv6。

相較於 IPv4 的 32 位元,IPv6 採用了驚人的 128 位元來表示位址。128 位元是什麼概念呢?它能提供的 IP 位址數量是 2 的 128 次方,這是一個天文數字般的龐大數量!

如果用比較好理解的方式來說,這個數量大到足以讓地球上的每一粒沙子,甚至每一個原子,都能擁有一個獨特的 IP 位址,而且還綽綽有餘!所以,IPv6 徹底解決了 IP 位址枯竭的問題,為未來的物聯網、5G、人工智慧等技術的發展,提供了無限的連接可能性。

當然,IPv6 的部署是一個漫長而複雜的過程,因為它涉及到全球數十億的設備、路由器、伺服器等等都需要升級或支援。這是一個漸進式的轉換,IPv4 和 IPv6 在未來很長一段時間內都將會並存。但了解 IPv4 為什麼是 32 位元,它的限制在哪裡,以及這些限制是如何被克服的,對於我們理解網路的演進,絕對是個非常重要的基礎。

常見問題與專業解答

聊了這麼多 IPv4 位址的位元數和相關知識,我知道大家可能還會有更多疑問。沒關係,我整理了一些常見的問題,希望能幫助你更深入地理解這個網路世界的基石!

什麼是子網路遮罩?它跟 IPv4 位址有什麼關係?

子網路遮罩(Subnet Mask),它其實是一個跟 IP 位址形影不離的好搭檔。你可以把它想像成一個「濾光鏡」或是「模具」,它跟 32 位元的 IPv4 位址疊合在一起,唯一的目的就是要幫我們清楚區分出一個 IP 位址裡面的哪一部分是屬於「網路位址」,哪一部分是屬於「主機位址」。

在二進位表示中,子網路遮罩是由一連串的「1」和一連串的「0」所構成的。從左邊數過來,連續的「1」代表的是網路位址部分,而後面連續的「0」則代表主機位址部分。比方說,我們最常見的子網路遮罩「255.255.255.0」,轉換成二進位就是「11111111.11111111.11111111.00000000」。這裡有 24 個 1,就代表這個 IP 位址的前 24 個位元是網路位址,後 8 個位元則是主機位址。透過這個區分,網路設備就能判斷一個資料包是要發送到同一個網路裡的其他主機,還是要透過路由器發送到另一個不同的網路。

私有 IP 位址和公有 IP 位址有什麼不同?為什麼需要私有 IP?

這個問題真的超常見的!簡單來說,公有 IP 位址 (Public IP Address) 就像是你在網際網路上的「門牌號碼」,它是全球唯一、可以在網際網路上被直接路由的。當你連上 Google、Facebook 等網站時,你的連線就是透過一個公有 IP 位址來與這些網站的伺服器溝通的。

而 私有 IP 位址 (Private IP Address) 則像是你家、辦公室或學校內部網路的「門牌號碼」。它只能在各自的區域網路內部使用,是無法直接在網際網路上被存取到的。這就好比你家裡的客廳、臥室都有各自的房間號碼,但這些號碼在外面是沒有意義的,只有在你們家裡面才有用。

為什麼需要私有 IP 呢?這主要是為了緩解 IPv4 位址枯竭的壓力,同時也增加了內部網路的安全性。你想想看,如果全球所有設備都必須使用唯一的公有 IP,那 43 億個 IP 根本不夠用。有了私有 IP,數十億台設備就可以在各自的區域網路內重複使用這些位址,然後再透過路由器上的 NAT 技術,共用一個或少數幾個公有 IP 來上網。這樣一來,既解決了 IP 位址不夠用的問題,也讓你的內部網路多了一層保護,外部的惡意攻擊比較難直接探測到你內部的設備。

為什麼我的手機或電腦每次連上網,IP 位址好像都會變?這正常嗎?

太正常啦!這就是所謂的「動態 IP 位址」的功勞,它是由一個叫做 DHCP (Dynamic Host Configuration Protocol) 的協定來管理的。大多數的家用網路、公共 Wi-Fi 或是手機行動數據,都會使用 DHCP 來自動分配 IP 位址給連接的設備。

當你的手機或電腦連上網路時,它會向網路中的 DHCP 伺服器發出請求,要求分配一個 IP 位址。DHCP 伺服器就會從它預設的 IP 位址池中,挑一個目前可用的 IP 位址給你使用,同時還會提供子網路遮罩、預設閘道 (通常是路由器的 IP) 和 DNS 伺服器等資訊。這個 IP 位址通常會有一個租用期限,當租用期滿後,你的設備會再次向 DHCP 伺服器續租或重新申請一個新的 IP 位址。這也是為什麼你的 IP 位址有時候會變動的原因。

這種動態分配的方式非常方便,它省去了手動設定 IP 的麻煩,而且可以有效率地重複利用有限的 IP 位址。只有在特定需求下,例如架設伺服器、網路攝影機或某些網路印表機時,我們才會考慮設定一個「固定 IP 位址」,確保這些設備的網路位置不會變動,方便遠端存取。

IPv4 地址真的「用完」了嗎?那為什麼我們還能上網?

這個問題問得很好,也是很多人心中的疑問!技術上來說,全球主要的 IPv4 位址分配機構(RIRs)手上的「全新」IPv4 位址的確已經分配殆盡了。這就像一家商店的商品賣完了,不再有新的庫存補進來一樣。

但我們之所以還能順暢上網,主要是得益於前面提到的幾項關鍵技術:

網路位址轉換 (NAT): 這是最大的功臣!它允許一個單一的公有 IPv4 位址,承載數十甚至數百個內部設備的網路流量。就像一棟大樓共用一個對外的總機號碼一樣,所有內部的分機通話都透過這個總機號碼對外連繫。這極大地延緩了公有 IPv4 位址的消耗速度。

無類別域間路由 (CIDR): 透過更精細、彈性的 IP 位址分配方式,CIDR 大幅減少了 IP 位址的浪費。以前一個組織可能需要領取一大塊 IP 區塊,即使只用到其中一小部分,現在透過 CIDR,就能只拿到剛剛好的數量。

IPv4 位址的「二手市場」: 隨著全新 IP 位址的枯竭,一些早期分配到大量 IPv4 位址的機構或公司,會將自己閒置的 IP 位址區塊轉售給有需要的企業。這形成了一個 IP 位址的買賣市場。

IPv6 的逐步部署: 雖然進度相對緩慢,但全球範圍內,IPv6 的部署正在逐步進行中。很多大型網站、電信業者、網路服務提供商都已經開始支援 IPv6,這也分擔了一部分網路流量,減輕了 IPv4 的壓力。

所以,並非網路就此停擺,而是我們採用了許多「變通」的方法來繼續維護 IPv4 的運作,同時也加速往 IPv6 這個新世代網路協定邁進。

什麼是廣播位址和網路位址?

在一個子網路裡面,除了我們一般分配給設備的 IP 位址之外,還有兩個特殊且非常重要的位址,它們就是「網路位址」和「廣播位址」。它們雖然不能直接分配給單一設備使用,但在網路通訊中扮演著關鍵角色。

網路位址 (Network Address): 這是一個子網路的「代表號」或「識別碼」。它指的是該子網路中,主機位元部分全部為 0 的 IP 位址。舉例來說,如果一個網路是 192.168.1.0/24,那麼它的網路位址就是 192.168.1.0。這個位址代表了整個 192.168.1.x 這個網段。網路設備會利用這個網路位址來識別數據包應該傳送到哪個網段,或是判斷兩個 IP 位址是否在同一個子網路內。

廣播位址 (Broadcast Address): 這是一個子網路的「全體通知號」。它指的是該子網路中,主機位元部分全部為 1 的 IP 位址。繼續以 192.168.1.0/24 這個網段為例,它的廣播位址就是 192.168.1.255。當一個設備想要發送訊息給這個子網路內的所有其他設備時,它就會將數據包傳送到這個廣播位址。所有屬於這個網段的設備在收到發送到廣播位址的數據包時,都會接收並處理它。這在某些網路發現或組態協定中非常有用,像是 DHCP 協定初期,客戶端就是發送廣播請求來尋找 DHCP 伺服器喔。

這兩個特殊位址的設計,再次證明了 IPv4 32 位元結構的精妙與完整性,它們是網路協定能夠有效運作不可或缺的一環。

總的來說,IPv4 位址的 32 位元結構,是整個現代網際網路的基石,它雖然有著數量上的限制,但也因此催生了許多創新技術,讓我們得以繼續享受網路帶來的便利。深入了解這些底層的運作原理,絕對能讓你對網路世界有更全面的認識,甚至在未來遇到網路問題時,也能更有頭緒去「偵錯」喔!

相關文章