IPv4 支援三種不同型別的定址模式。單播定址方式、廣播定址方式和組播定址方式。本章節我們來介紹這些定址方式。
單播定址方式
在這種模式下,資料只傳送到一個目標主機。Destination Address 欄位包含目標主機的 32 位 IP 地址。在這裡,客戶端將資料傳送到目標伺服器
廣播定址方式
在這種模式下,資料包被定址到一個網段內的所有主機。Destination Address 欄位包含一個特殊的廣播地址,即255.255.255.255。當主機在網路上看到這個資料包時,它必然會對其進行處理。在這裡,客戶端傳送一個資料包,所有伺服器都接受它
組播定址方式
這種模式是前兩種模式的混合,即傳送的資料包既不是去往單個主機,也不是去往網段上的所有主機。在這個資料包中,目標地址包含一個以 224.xxx 開頭的特殊地址,可以被多個主機接收。
在這裡,伺服器傳送由多個伺服器接收的資料包。每個網路都有一個為代表網路的網路號保留的 IP 地址和一個為廣播地址保留的 IP 地址,它代表該網路中的所有主機。
分層定址方案
IPv4 使用分層定址方案。一個 32 位長的 IP 地址被分成兩個或三個部分,如圖所示
單個 IP 地址可以包含有關網路及其子網以及最終主機的資訊。該方案使 IP 地址能夠分層,其中網路可以有許多子網,而子網又可以有許多主機。
子網掩碼
32 位 IP 地址包含有關主機及其網路的資訊。對二者的區分是非常有必要的。為此,路由器使用子網掩碼,它與 IP 地址中網路地址的長度是一樣的,也是 32 位長。二進位制的 IP 地址與其子網掩碼進行 AND 運算,結果將產生網路地址。例如,假設 IP 地址為 192.168.1.152,子網掩碼為 255.255.255.0,則運算過程如下圖所示
這樣子網掩碼有助於從 IP 地址中提取網路 ID 和主機。現在可以確定 192.168.1.0 是網路編號,而 192.168.1.152 是該網路上的主機。
二進位制表示
位置表示法是從十進位制值轉換二進位制值的最簡單形式。IP 地址是 32 位值,分為 4 個位元組。一個位元組組包含 8 位二進位制位,每個位的值可以由位值“1”在八位組中的位置確定。
位置值由 2 的 (位置 - 1)次冪決定,即 1 在第 6 位的值是 2(6-1) 即 25 ,值為 32。八位位元組是通過將位的位置值相加來確定的。11000000 的值是 128+64 = 192。
可以通過下表的一些例子加深一下理解
128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | 值 |
---|---|---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 2 |
0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 3 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 4 |
0 | 0 | 0 | 0 | 0 | 1 | 0 | 1 | 5 |
0 | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 6 |
0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 7 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 8 |
0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 9 |
0 | 0 | 0 | 0 | 1 | 0 | 1 | 0 | 10 |
0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 16 |
0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 32 |
0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 64 |
1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 128 |
1 | 0 | 1 | 0 | 1 | 0 | 0 | 0 | 168 |
1 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 192 |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 255 |
更多關於IPv4的內容可以參考 跡憶客 IPV4教程
擴充套件閱讀