ipv4依類別分為
classful(分級定址),早期的方法,將ip分為class A,B,C,D,E
classless(不分級定址),使用CIDR技術,新的方法,支援vlsm,discontiguous network
為區分不同規模的網路,將每個完整的32bit的ip分成網路與主機部份,如下表:
class | 2進位開頭 | 範圍 | 網路bit/可用網路 | 主機bit/可用主機 | 其他補充 |
A | 0 | 1-126 | 8/127((2^7)-1) | 24/16,777,216 | 私有ip:10.0.0.0-10.255.255.255 |
B | 10 | 128-191 | 16/16,384(2^14) | 16/65,534 | 私有ip:172.16.0.0-172.31.255.255 |
C | 110 | 192-223 | 24/2,097,152(2^21) | 8/254 | 私有ip:192.168.0.0-192.168.255.255 |
D | 1110 | 224-239 | 特殊用,multicast用(視訊會議) | ||
E | 1111 | 240-255 | 保留範圍,IETF研究網路用 |
ps:
Class A addresses:127*16,777,214= 2,130,706,178
Class B addresses:16384* 65,534 = 1,073,709,056
Class C addresses:2,097,152*254 = 532,676,608
total available addresses=
2,130,706,178 + 1,073,709,056+532,676,608 =
3,737,091,842
CIDR(Classless Inter-Domain Routing,不分級網域間之路由)
由IETF提出
不分等級IP,完全依照mask定義網路
可將多個SUBNET或是NETWORK合起來成為一個supernet
可使用VLSM決定可變長度的netmask來產生許多subnet
搭配拓樸式定址法,客戶可依實際需求取得適當大小位址區塊
mask
用來決定網路位置與主機位置用的參數,如下表:
10進位mask | 2進位mask,預設網路位元為1,主機位元為0 | CIDR值 | 網路bit | 可用主機 | 其他補充 |
255.0.0.0 | 11111111,00000000,00000000,00000000 | /8 | 8 | 16,777,216 | 給class a當預設mask |
255.255.0.0 | 11111111,11111111,00000000,00000000 | /16 | 16 | 65536 | 給class b當預設mask |
255.255.255.0 | 11111111,11111111,11111111,00000000 | /24 | 24 | 256 | 給class c當預設mask |
255.255.255.128 | 11111111,11111111,11111111,10000000 | /25 | 25 | 128 | |
255.255.255.192 | 11111111,11111111,11111111,11000000 | /26 | 26 | 64 | |
255.255.255.224 | 11111111,11111111,11111111,11100000 | /27 | 27 | 32 | |
255.255.255.240 | 11111111,11111111,11111111,11110000 | /28 | 28 | 16 | |
255.255.255.248 | 11111111,11111111,11111111,11111000 | /29 | 29 | 8 | |
255.255.255.252 | 11111111,11111111,11111111,11111100 | /30 | 30 | 4 | 用在點對點的wan鏈路 |
255.255.255.254 | 11111111,11111111,11111111,11111110 | /31 | 31 | 2 | |
255.255.255.255 | 11111111,11111111,11111111,11111111 | /32 | 32 | 1 | 主機自己本身 |
主機數-2=實際可用主機數
ps:mask若為0.0.0.0,在路由表上代表任何主機
RFC3330定義的保留位置
0.0.0.0/8 此位址表示所有任何的意思
在netstat中,表示應用程式將接聽所有的本機介面
Used for broadcast messages to the current (“this”) network,by RFC 1700
100.64.0.0/10, refer RFC 6598
127.0.0.0/8 用做loopback(迴路)測試用
169.254.0.0/16 dhcp程序失敗時,主機預設使用的IP位置
192.0.2.0/24 保留作為文件及示範用途
192.88.99.0/24 用於IPv4和IPv6中繼(RFC3068)
192.18.0.0/15 用於網路設備測試(RFC2544)
refer
https://tools.ietf.org/html/rfc3330
https://en.wikipedia.org/wiki/Reserved_IP_addresses
其他特殊ip位址
網路位元全0+主機位元全0:0.0.0.0,本機,系統啟動用,路由表用它來指定預設路徑,也可解釋為任何網路
網路位元全1+主機位元全1:255.255.255.255,自己的網路廣播位址,也叫做flooded broadcast
網路位元+主機位元全1:特定網路的廣播位址,也叫做directed broadcast
網路位元+主機位元全0:該網路的位址
算ip的網路位址和廣播位址
1將mask轉成2進位
2ip在mask非0部份改填0,重算後=網路位置,就是mask和ip做and運算
3ip在mask非0部份改填1,重算後=廣播位置,就是mask先not後在和ip做or運算
ex:ip=192.128.248.130,mask=255.255.255.240
11111111,11111111,11111111,11110000(255.255.255.240)
11000000.10000000.11111000.10000010(192.128.248.130)
11000000.10000000.11111000.10000000(192.128.248.128)網路位置=ip AND mask
11000000.10000000.11111000.10001111(192.128.248.143)廣播位置=ip OR (not(mask))
……………
subnet(子網路)
從一個網路切割產生
好處:減少網路流量; 彈性分配運用; 簡化管理; 安全考量
subneting(子網路切割)
可將一個NETWORK切成多個SUBNET
方法:向後借bit,會使網路變多,但各網內主機變少
class c最多可向後借6bit建立64個子網路
class b最多可向後借14bit建立16384個子網路
class a最多可向後借22bit建立4194304個子網路
ex:a網要60個ip,b網要30個ip,c網要2個ip,d網要10個ip
用192.168.10.0網路來切割,可切成如下
192.168.10.0/26,區塊大小為64,有62個ip給a網
192.168.10.64/26,區塊大小為64,有62個ip給b網
192.168.10.128/26,區塊大小為64,有62個ip給c網
192.168.10.192/26,區塊大小為64,有62個ip給d網
VLSM(Variable Length Subnet Mask,可變子網路切割) ,RFC1219
這是一種產生不同大小子網的網絡分配機制,可使IP的可用性增加
ex:a網要60個ip,b網要30個ip,c網要2個ip,d網要10個ip
用192.168.10.0網路來切割,可切成如下
192.168.10.0/26,區塊大小為64,有62個ip給a網
192.168.10.64/27,區塊大小為32,有30個ip給b網
192.168.10.96/30,區塊大小為4,有2個ip給c網
192.168.10.100/28,區塊大小為16,有14個ip給d網
還有區塊大小140未分配,可在產生其他子網路
……………………
summariz(總結),也稱route aggregation(路徑聚合)
將多個網路集合成大的網路,也稱為supernet(超網路)
方法:向前借bit,會使網路變少,但各網主機變多
這讓繞送協定能夠以一個位址來宣傳多個網路
目的是為了縮減路由器之路徑表的大小,以節省記憶體,同時縮短ip分析路徑表以找尋扺達遠端網路之路徑時間
籍由在一個宣傳訊息中宣傳許多路徑,而非各別的宣傳每條路徑,可最有效率提供路徑更新,這會節省不少頻寬
ps:isp連到客戶端網域時常用此方法
ex:若路由表有10.1.0.0/24到10.1.3.0/24這4個網路,且都會送到10.10.0.0網路
則這4個網路可summariz成10.1.0.0/22,並從到10.10.0.0網路,路徑就從4筆變成1筆
這同時也表示,10.1.0.0到10.1.3.255的1024個ip,會送到10.10.0.0的網路
ex:若路由表有192.168.144.0/21和192.168.152.0/21這2個網路會被送到s0介面
則這2個網路可summariz成192.168.144.0/20,並送到s0介面,路徑從2筆變成1筆
這同時也表示192.168.144.0到192.168.159.255的ip會被送到s0介面