這些規定都是當初老美定的啦
----------------------------
網路使用的 IPv4 的位址為 32 bits,基本以 8 bits 為一段:AAA.BBB.CCC.DDD
每一段的數值範圍是 0~255。
當初規劃的時候將IP位址區分成 5 個 CLASS,以 AAA 的來區分成 5 個主要的 CLASS 網段。
IP位址 = 網路位址 + 主機位址 = AAA.BBB.CCC.DDD
很多書都是說網路位址,也有人稱網域位址,指某一群相同開頭的IP位址
在此我以 網路位址 = 網段位址,來做說明比較好理解,如下
IP位址 = 網段位址 + 主機位址 = AAA.BBB.CCC.DDD
網段位址:決定可用的主機位址數量,指某一群相同開頭的IP位址
主機位址:電腦或網路設備使用的實體位址
CLASS A 網段位址: AAA 共 8 bits
CLASS A 主機位址: BBB.CCC.DDD 共 24 bits
CLASS B 網段位址: AAA.BBB 共 16 bits
CLASS B 主機位址: CCC.DDD 共 16 bits
CLASS C 網段位址: AAA.BBB.CCC 共 24 bits
CLASS C 主機位址: DDD 共 8 bits
語法:
CALL 段 / 範圍 / 幾個 CLASS / 每一個CLASS的IP數-3=可用IP數 / 子網路遮罩 / 用途
CLASS A: 001~126/126/2^24-3=16777216-3=16777213/255.0.0.0/大型網路
CLASS B: 128~191/16,384/2^16-3=65536-3=65533/255.255.0.0/中型網路
CLASS C: 192~223/2,097,152/2^8-3=256-3=253/255.255.255.0/小型或個人網路
CLASS D: 224~239/組撥保留
CLASS E: 240~255/特殊用途保留
其中 A/B/C 為現今 IPv4 中用的範圍,而 D/E 因有特殊的用途被保留
其他尚有不可用的保留 IP 位置
0.0.0.0
127.0.0.1
255.255.255.255
有關私有 IP 的部份,當初設計時在 CLASS A/B/C 中各取用一個範圍的IP址開放成自由使用,
但不可以被路由器路由,稱為不可路由IP,也就是僅限制於LAN中使用不可以連接至網際網路,
若要連接需使用NAT(位址轉換)的方式來進行上網。
私有IP的位址
CLASS A: 10 開頭,只有一個 A,共有 16777216 個,可用 16777213 個 IP
CLASS B: 172.16 ~ 172.31 開頭,有16個 B,每個 B 有 65536 個,可用 65533 個 IP
CLASS C: 192.168 開頭,有256個 C,每個 C 有 256 個,可用 253 個 IP
IPv4 的個規則
主機位址全為 0 者為網路位址(不可用)
主機位址全為 1 者為廣播位址(不可用)
以上兩點要用二進位來看
這裡指的IP位址除了標準 CLASS 外還有包含非標準 CLASS的部份(以子網路遮罩切割的部份)
以準 CLASS B 的 131.127.0.0/16 做為範例:
131.127.0.0/16 為網段位址(網路位址),也有人稱網域位址,只某一群相同開頭的IP位址
語法:
AAAAAAAA.BBBBBBBB.CCCCCCCC.DDDDDDDD
131. 127. 0. 0(十進位)
10000011.01111111.00000000.00000000(二進位)
前面的兩個為IP的網路位址,如此代表整個網路段
語法:
AAAAAAAA.BBBBBBBB.CCCCCCCC.DDDDDDDD
131. 127. 255. 255(十進位)
10000011.01111111.11111111.11111111(二進位)
131.127.1.1/16 為廣播位址,向全體的電腦喊話的位址
因此可用的位址從 131.127.0.1 ~ 131.127.255.254 為止。
子網路遮罩的功能:
1.用將一段分配到的網路位址範圍,再做進一步的將其分割成更小的子網路而用。
2.封包的選擇子網路時,路由判斷用的,如橋接器、交換器、路由器等,傳送IP封包時用
來判斷要往哪一個子網路的傳送的依據。
3.子網路遮罩的值越大,所分個的子網路越多,廣播風暴的範圍也被分割成數小塊 =
子網路數量,進而控制廣播風暴的範圍。
子網路遮罩:必須是由左至右的連續為 1 的二進位值。
那 /16 是代表子網路遮罩 = 255.255.0.0 的意思,
也就是以二進位來看由左 → 右,連續為 1 的數量,16 表示為 16 個 1。
語法:
/16 如下
AAAAAAAA.BBBBBBBB.CCCCCCCC.DDDDDDDD
11111111.11111111.00000000.00000000(二進位)
255. 255. 0. 0(十進位)
那跟切割網段有何關係呢? 有阿,
以這個準 CLASS B 131.127.0.0/16 的網段來說,我們私下使用時要分成 4 個子網段
只要修改 "子網路遮罩" 就能達到效果了。
如下
131.127.0.0/16 --> 131.127.0.0/18
語法:
/16 如下
AAAAAAAA.BBBBBBBB.CCCCCCCC.DDDDDDDD
255. 255. 0. 0(十進位)
11111111.11111111.00000000.00000000(二進位)
/18 如下
AAAAAAAA.BBBBBBBB.CCCCCCCC.DDDDDDDD
255. 255. 192. 0(十進位)
11111111.11111111.11000000.00000000(二進位)
得到的分割如下:
00 段 : 第1個子網段
網段位址: 131.127.0.0
廣播位址: 131.127.63.255
可用位址: 131.127.0.1 ~ 131.127.63.254
01 段 : 第2個子網段
網段位址: 131.127.64.0
廣播位址: 131.127.127.255
可用位址: 131.127.64.1 ~ 131.127.127.254
10 段 : 第3個子網段
網段位址: 131.127.128.0
廣播位址: 131.127.191.255
可用位址: 131.127.128.1 ~ 131.127.191.254
11 段 : 第4個子網段
網段位址: 131.127.192.0
廣播位址: 131.127.255.255
可用位址: 131.127.192.1 ~ 131.127.255.254
這樣子就有四個網段可用了,不過每段的可用網路可是從原先的IP切下來的
會增加 網段IP、廣播IP,反而讓可用的IP變少。
如何判斷兩個 IP 位址是否為同一個網段呢? 這也是靠子網路遮罩
再藉由這個範例好了 131.127.0.0/16
有兩個位址分別為 131.127.63.233 跟 131.127.64.233
用大家都一樣的 子網路遮罩運算看看使否結果相同,是的話就是在同一個網段。
如何算,用 AND,把 IP位址 跟 子網路遮罩 AND 所得的結果其實就是網段位址。
做 AND 運算最好用二進位值來做,比較好做
語法:
131.127.063.223(10進位) = 10000011.01111111.00111111.11011111(2進位)
255.255.000.000(10進位) = 10000011.01111111.00000000.00000000(2進位) and
------------------------------------------------------------------------
131.127.000.000(10進位) = 10000011.01111111.00000000.00000000(2進位)
剛剛好是 131.127.0.0 的網段位址
語法:
131.127.064.223(10進位) = 10000011.01111111.01000000.11011111(2進位)
255.255.000.000(10進位) = 10000011.01111111.00000000.00000000(2進位) and
------------------------------------------------------------------------
131.127.000.000(10進位) = 10000011.01111111.00000000.00000000(2進位)
剛剛好是 131.127.0.0 的網段位址
兩個計算結果都是 131.127.0.0 所以是同一個網段
若是以在分割的子網路 131.127.0.0/18 ,來對位址分別為 131.127.63.233 跟 131.127.64.233 做運算檢驗吧
語法:
131.127.063.223(10進位) = 10000011.01111111.00111111.11011111(2進位)
255.255.000.000(10進位) = 10000011.01111111.11000000.00000000(2進位) and
------------------------------------------------------------------------
131.127.000.000(10進位) = 10000011.01111111.00000000.00000000(2進位)
剛剛好是 131.127.0.0 的網段位址
語法:
131.127.064.223(10進位) = 10000011.01111111.01000000.11011111(2進位)
255.255.192.000(10進位) = 10000011.01111111.11000000.00000000(2進位) and
------------------------------------------------------------------------
131.127.064.000(10進位) = 10000011.01111111.01000000.00000000(2進位)
剛剛好是 131.127.63.0 的網段位址
結果分別得到 131.127.0.0 與 131.127.63.0 兩個網段位址,分別在兩的子網路中
小常識: 中華電信給我 8 個IP,實際上只有 5 個可用,會什麼ㄌ
因為由上述的介紹得知有有兩個被 "網段位址" 與 "廣播位址" 用掉了ㄚ
那要 6 個阿為何是 5 的呢,因為阿有一的位址被所謂的 "閘道器" 用的了
所以是 "網段位址" + "廣播位址" + "閘道器位址" 共有 3 個被站用掉了,
所以剩 5 個。
因此IP總數要減個 -3 = 真實可用的 IP 數的原因了。
閘道器:是指一個網段中,要相連或橋接到另一個網段的設備,如: 橋接器、IP分享器、路由器、AP等
設備。可以用電腦+軟體達到。那閘道器亦會佔用一個 IP 位址,稱 "閘道器位址"。
DNS 就如上述
詳細的部份自己找書來看吧