iT邦幫忙

2024 iThome 鐵人賽

DAY 21
0
Software Development

微服務奇兵:30天Quarkus特訓營系列 第 21

開發概念建置:CIDR表示格式(重要)

  • 分享至 

  • xImage
  •  

在後續會開始漫談雲端的部分,在使用雲端網絡設計和管理需要對IP地址進行嚴格控制,以確保資源的正確連接和通信。此時會需要使用CIRD(「無類別域間路由」(Classless Inter-Domain Routing)) 分配和路由IP地址。如果對這東西沒掌握度的話在GCP使用上沒配置好很容易遇到衝突問題,所以針對這個做個較透徹明確小記錄。

IPv4、IPv6

相信各位對於IP應該再熟悉不過了,不過對於它的格式定義,如果不是特別做網管的人或是會常遇到需要做IP配置的需求,大部分的AP工程師會忽略。所以稍微對於這部分做一個整理。

IPv4

IPv4 是目前最常見的網際網路協定,在IETF(Internet Engineering Task Force)於1981年9月發布的 RFC 791 中被描述最初的目的是讓全球的電腦彼此連接。

它的地址由32位二進位數字組成,通常被分為4個「八位元組」或「位元組」,每個位元組由一個點分開,而每個位元組可以表示為0到255之間的數字。所以,IPv4地址的格式是:X.X.X.X,其中每個X都是0到255之間的數字。例如:192.149.252.76 (如下圖)。

https://ithelp.ithome.com.tw/upload/images/20240922/20115895OSptI46qLY.png

RFC 791 由 美國國防部的 ARPANET 計劃制定,目的是讓不同的電腦網路之間可以互相溝通。

Internet Assigned Numbers Authority(IANA,網際網路數字分配局)是負責管理全球網際網路資源的機構。IANA 的主要職責包括:

  1. IP位址分配:負責全球IP位址的分配,特別是IPv4和IPv6位址,並將這些位址空間分配給各區域的註冊機構(RIRs),如亞太地區網際網路註冊機構(APNIC)等。
  2. 域名系統(DNS)管理:IANA負責管理DNS的根域,包括根域名伺服器的維護,並確保網域名稱與IP位址的對應。
  3. 協定編號管理:IANA負責維護和管理各種網際網路協定中的數值標識符,如端口號(Port Numbers)、協定號碼(Protocol Numbers)等,確保不同協定和應用程序可以正確地運行。

IPv6

上述提到,IPv4 用 32 位 來表示一個地址(像 192.168.1.1),最多可以支持約 43 億個 IP 地址。最初,這個數量看起來很大,因為當時的網路還沒有普及。

隨著網路和設備越來越多,尤其是像手機、物聯網設備的出現,IPv4 的地址已經漸漸不足。到了 1990 年代,就開始出現所謂的「IPv4 地址枯竭」問題,全球唯一的 IP 地址池(IANA)也快要用光了。為了解決這個問題,技術人員開始研發下一代的網路協定,也就是 IPv6。

IPv6地址由128位二進位數字組成,通常被分為8組,每組是4個十六進位數字,組與組之間由冒號分開。這意味著每一組可以表示為0000到FFFF之間的數字。所以,IPv6地址的格式是:X:X:X:X:X:X:X:X,其中每個X都是0000到FFFF之間的數字。例如:3ffe:1900:fe21:4545:: (當 IPv6 地址裡有連續的「0」組,可以用 :: 來省略不寫)。

https://ithelp.ithome.com.tw/upload/images/20240922/20115895u4NcShVJ1d.png

SubMask(位址遮罩)

IP 配置通常都會有一個與之對應的位址遮罩,用於識別 IP 地址中的網路部分和主機部分。位址遮罩和 IP 地址一起使用,可以更有效地路由數據到正確的設備或目的地。

IP 地址的結構

一個 IP 地址包含兩個主要組成部分:網路地址和主機地址。

  1. 網路部分:標識 IP 地址所屬的網路。
  2. 主機部分:標識網路中的具體設備(例如電腦、手機)。

位址遮罩是用來區分這兩個部分的,通過將 IP 地址中的某些位指定為網路地址,其餘的位作為主機地址。這樣,路由器或網路設備可以知道某個 IP 地址屬於哪個網路,以及這個網路中的哪台主機。

SubMask 的範例

假設我們有一個 IP 地址:192.168.1.5,並且它的位址遮罩是 255.255.255.0

  • 網路地址是:192.168.1,表示該 IP 地址所屬的網路。
  • 主機地址是:.5,表示該網路中的某台具體設備。

位址遮罩 255.255.255.0 指示前 24 位(前三組數字)是網路地址,最後 8 位(第四組數字)是主機地址。

二進位表示

為了更清楚,將位址遮罩 255.255.255.0 轉換為二進位:

  • 255 轉換為二進位是:11111111
  • 所以,整個位址遮罩是:11111111.11111111.11111111.00000000

這表明前 24 位都是「網路部分」,而最後 8 位是「主機部分」。

IPv4 的位址遮罩

IPv4 使用具體的 子網遮罩,如上述提到的 255.255.255.0。用來定義子網的大小。子網遮罩告訴你哪些位是網路部分(以 1 表示),哪些位是主機部分(以 0 表示)。

IPv6 的位址遮罩

IPv6 地址比較長,因此一般只用一個 / 後面的數字來表示子網範圍,而不使用具體的位址遮罩。
例如,2001:db8::/64 表示該網路的前 64 位是固定的網路位(後續會提到CIDR),剩下的部分是主機地址。

IPv4IPv6 確實是 地址格式的規範,定義了如何表示和使用 IP 地址。而 SubMask(位址遮罩)則是與這些地址格式搭配使用的,用於網路中的實際應用,如劃分子網和區分網路部分與主機部分。

CIDR表示格式

CIDR(無類別域間路由,Classless Inter-Domain Routing)用於表示 IP 地址和位址遮罩的一種方式,可以使 IP 地址的分配更為靈活,更好地適應實際需求。簡單來說他是一個IP分配的表示,會表示一個子網區域的分配。可以讓你快速地了解網路中有多少可用的 IP 地址。

格式解說

假設你的 IP 地址是 36.225.74.34,你的位址遮罩就會決定你的 CIDR 記號。例如:

  • 如果你的位址遮罩是 255.255.255.0,則你的 CIDR 表示法為 36.225.74.0/24。
  • 如果你的位址遮罩是 255.255.255.128,則你的 CIDR 表示法為 36.225.74.0/25。

"/24" 表示的是位址遮罩中的 "1" 的數量,表示前 24 位是網路地址的一部分,最後的 8 位是主機地址的一部分。在主機地址部分就是你的子網域範圍,而你有8bit可以配置,範圍包含了從 "36.225.74.0" 到 "36.225.74.255" 之間的所有 IP 地址,總共有 256 個 IP 地址。

須注意的是,在這 256 個地址中,"36.225.74.0" 通常被用作網路地址,而 "36.225.74.255" 通常被用作廣播地址,這兩個地址通常不會分配給主機。因此,實際可用的 IP 地址將是 "36.225.74.1" 到 "36.225.74.254"。

網路地址(Network Address):這是用於標識特定子網的地址。它是該子網中的第一個地址,用於在網路中路由和描述網路的位置。網路地址通常不會分配給任何特定的主機作為其 IP 地址。

廣播地址(Broadcast Address):這是子網中的最後一個地址,用於向該子網中的所有設備發送信息。當一個訊息被發送到廣播地址時,該訊息將被傳送到該子網的所有主機。同樣的,廣播地址也不會分配給任何特定的主機作為其 IP 地址。

以此類推"/25”意味著位址遮罩中有25個1,你的 IP 範圍(IP Range)或者說是子網(Subnet)將會是 "36.225.74.0" 到 "36.225.74.127"。換句話說,這個子網包含了從 "36.225.74.0" 到 "36.225.74.127" 之間的所有 IP 地址,總共有 128 個 IP 地址。

每個子網的大小必須是 2 的 n 次方,而且範圍必須從某個特定的數字開始。

不同子網區段配置

接下來我們做個小練習,將 36.225.74.036.225.74.255 的地址範圍劃分為兩個不同的子網,具體如下:

第一種劃分方式

  1. 子網一: 36.225.74.036.225.74.127
  2. 子網二: 36.225.74.12836.225.74.255

CIDR 表示法如下:

  • 子網一: 36.225.74.0/25

    • 範圍: 36.225.74.036.225.74.127
    • 網路地址: 36.225.74.0
    • 廣播地址: 36.225.74.127
    • 可用 IP 地址範圍: 36.225.74.136.225.74.126
  • 子網二: 36.225.74.128/25

    • 範圍: 36.225.74.12836.225.74.255
    • 網路地址: 36.225.74.128
    • 廣播地址: 36.225.74.255
    • 可用 IP 地址範圍: 36.225.74.12936.225.74.254

這樣可以將 36.225.74.036.225.74.255 的地址空間劃分為兩個相等大小的子網,每個子網擁有 128 個 IP 地址。

第二種劃分方式

  1. 子網一: 36.225.74.036.225.74.63
  2. 子網二: 36.225.74.6436.225.74.255

由於 36.225.74.6436.225.74.255 的範圍無法直接表示為一個子網(要遵守2的n次方),因此需要再進一步拆分:

CIDR 表示法如下:

  • 子網一: 36.225.74.0/26

    • 範圍: 36.225.74.036.225.74.63
    • 網路地址: 36.225.74.0
    • 廣播地址: 36.225.74.63
    • 可用 IP 地址範圍: 36.225.74.136.225.74.62
  • 子網二:

    這個範圍需要再劃分為兩個子網:

    • 子網二-1: 36.225.74.64/26

      • 範圍: 36.225.74.6436.225.74.127
      • 網路地址: 36.225.74.64
      • 廣播地址: 36.225.74.127
      • 可用 IP 地址範圍: 36.225.74.6536.225.74.126
    • 子網二-2: 36.225.74.128/25

      • 範圍: 36.225.74.12836.225.74.255
      • 網路地址: 36.225.74.128
      • 廣播地址: 36.225.74.255
      • 可用 IP 地址範圍: 36.225.74.12936.225.74.254

上一篇
開發概念建置-Quarkus 響應式架構解析與寫法
下一篇
開發概念建置-單體服務到微服務架構
系列文
微服務奇兵:30天Quarkus特訓營25
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言