计算机网络 — IPv4、子网掩码、CIDR
文章目錄
- IPv4
- 子網掩碼
- CIDR
- CIDR計算
- CIDR子網劃分
IPv4
IP地址由四段組成,每個字段是一個字節,8位,最大值是255。
每個IP地址都有一個網絡部分,用于識別接口使用的IP地址在哪個網絡中可被發現;以及一個主機地址,用于識別由網絡部分給出的網絡中的特定主機。
IPv4的地址長度為32位,共4個字節,但實際中我們用點分十進制記法。
IP地址根據網絡號和主機號來分,分為A、B、C三類及特殊地址D、E。 全0和全1的都保留不用。
A類:(1.0.0.0-126.0.0.0)(默認子網掩碼:255.0.0.0或 0xFF000000)第一個字節為網絡號,后三個字節為主機號。該類IP地址的最前面為“0”,所以地址的網絡號取值于1~126之間。一般用于大型網絡。
B類:(128.0.0.0-191.255.0.0)(默認子網掩碼:255.255.0.0或0xFFFF0000)前兩個字節為網絡號,后兩個字節為主機號。該類IP地址的最前面為“10”,所以地址的網絡號取值于128~191之間。一般用于中等規模網絡。
C類:(192.0.0.0-223.255.255.0)(子網掩碼:255.255.255.0或 0xFFFFFF00)前三個字節為網絡號,最后一個字節為主機號。該類IP地址的最前面為“110”,所以地址的網絡號取值于192~223之間。一般用于小型網絡。
D類:是多播地址。該類IP地址的最前面為“1110”,所以地址的網絡號取值于224~239之間。一般用于多路廣播用戶[1] 。
E類:是保留地址。該類IP地址的最前面為“1111”,所以地址的網絡號取值于240~255之間。
在IP地址3種主要類型里,各保留了3個區域作為私有地址,其地址范圍如下:
A類地址:10.0.0.0~10.255.255.255
B類地址:172.16.0.0~172.31.255.255
C類地址:192.168.0.0~192.168.255.255
子網掩碼
子網掩碼是由一臺主機或路由器使用的分配位,以確定如何從一臺主機對應 IP 地址中獲得網絡和子網的信息。
它的主要作用有兩個,一是用于屏蔽IP地址的一部分以區別網絡標識和主機標識,并說明該IP地址是在局域網上,還是在遠程網上。二是用于將一個大的IP網絡劃分為若干小的子網絡。
子網掩碼與IP地址相同,也是32位,也分為網絡段和主機段,而且它的網絡段都是1,主機段都是0。
一個IP地址可以與一個子網掩碼使用按位與操作,以形成用于路由的地址的網絡/子網標識符(前綴)。在下面列子中,IPv4地址 128.32.1.14 使用長度位24的掩碼得到前綴 128.32.1.0/24
地址 10000000 00100000 00000001 00001110 128.32.1.14 掩碼 11111111 11111111 11111111 00000000 255.255.255.0(/24) 結果 10000000 00100000 00000001 00000000 128.32.1.0對于簡單的IP地址來說,所有同一個網絡下的主機IP都有相同的網絡段;而對于子網掩碼,所有同一物理網絡下的主機都屬于相同的子網,這些子網又可能屬于同一個主網絡,這就使得不同物理網絡下的主機可能擁有相同的網絡號。
以一個B類地址128.96.34.15為例。現在假設它的子網掩碼是11111111 11111111 11111111 100000000,即255.255.255.128,將它與128.96.34.15按位與,得到128.96.34.0,這就可以獲知自己所在的子網號。
考慮如下兩個主機:
H1:所在子網128.96.34.0,子網掩碼255.255.255.128,IP是128.96.34.15
H2:所在子網128.96.34.128,子網掩碼255.255.255.128,IP是128.96.34.139
如果H1要發東西給H2,那么H1要將H2的地址與自己的子網掩碼按位與,發現結果是128.96.32.128,而自己所在子網是129.96.32.0,這說明H1與H2不在同一子網中,因此H1將數據包發送給路由器,由路由器轉發給H2.
CIDR
CIDR的全稱是Classless Interdomain Routing,即無類別域間路由。
CIDR在一定程度上解決了路由表項目過多過大的問題。CIDR之所以稱為無分類編址,就是因為CIDR完全放棄了之前的分類IP地址表示法,它真正消除了傳統的A類、B類、C類地址以及劃分子網的概念,它使用如下的IP地址表示法:
{<網絡前綴>, <主機號>} / 網絡前綴所占位數
CIDR僅將IP地址劃分為網絡前綴和主機號兩個部分,可以說又回到了二級IP地址的表示,不過大家要注意,最后面用“/”斜線分隔,在其后寫上了網絡前綴所占的位數,這樣就不需要告知路由器地址掩碼,僅需要通過網絡前綴所占的位數就可以得到地址掩碼,為了統一,CIDR中的地址掩碼依然稱為子網掩碼。
CIDR計算
CIDR表示法給出任何一個IP地址,就相當于給出了一個CIDR地址塊,這是由連續的IP地址組成的,所以CIDR表示法構成了超網,實現了路由聚合,即從一個IP地址就可以得知一個CIDR地址塊。
例如:已知一個IP地址是:128.14.35.7/20
轉換成二進制 128.14.35.7/20 = 10000000 00001110 00100011 00000111
即前20位是網絡前綴,后12位是主機號,那么我們通過令主機號分別為全0和全1就可以得到一個CIDR地址塊的最小地址和最大地址,即
最小地址是:128.14.32.0 = 10000000 00001110 00100000 00000000
最大地址是:128.14.47.255 = 10000000 00001110 00101111 11111111
子網掩碼是:255.255.240.0 = 11111111 11111111 11110000 00000000
因此就可以看出來,這個CIDR地址塊可以指派(47-32+1)*256=4096個地址,這里沒有把全0和全1除外。
CIDR子網劃分
在CIDR表示法中也可以進行進一步的子網劃分。
例如:將128.14.35.0/20劃分四個子網
轉換成二進制 128.14.35.0/20 = 10000000 00001110 00100011 00000000
從主機位借走兩位:
10000000 00001110 00100011 00000000 = 128.14.35.0/22
10000000 00001110 00100111 00000000 = 128.14.39.0/22
10000000 00001110 00101011 00000000 = 128.14.43.0/22
10000000 00001110 00101111 00000000 = 128.14.47.0/22
總結
以上是生活随笔為你收集整理的计算机网络 — IPv4、子网掩码、CIDR的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 求积分方法及积分知识点-----专升本
- 下一篇: 计算机模式识别科学家年薪,年薪可达80万