|
|
Internet 中所謂的「IP 位址(IP Address)」,就像現實生活中每戶人家都要擁有唯一的地址一樣,傳送者可以根據 IP 位址進行辨識,將資料傳送到唯一目的地位址完成通訊。世界各地的 IP 位址必須具有一致性,才不會導致辨識上的混亂,故必須依循共同的規範才能達成。
1 m; b" j, Z K9 K目前我們所使用的 IP 位址為第四版 IP 位址,一般稱為 IPv4 位址。為滿足使用上的需求,又陸陸續續發展 IPv5、IPv6,IPv5 是提供給 Stream Protocol 實驗協定使用,而 IPv6 則是 IPv4 的擴充,為因應位址數量不敷使用的問題,在標頭格式也提供動態欄位設定。
) h$ G/ y9 O2 Y6 \; O- B0 p( J7 B2 ?6 i# Y9 f
IPv4 位址是由 32 位元所組成,一般以 8 位元為單位(octet)將 32 位元分成四部份,彼此間以 "." 做區隔,例如 "100100011.00001110.01001000.00011100",此即為「加點二進位表示法(dotted binary notation)」,由於二進位表示法太長不易記憶,故通常使用十進位來表示,上述的二進位 IP 位址即可表示成 "163.14.75.28",此即為「加點十進位表示法(dotted decimal notation)」。由於每一部份均由 8 位元所組成,故每個十進位值均介於 0 ~ 255 之間。
+ \ b" U9 k6 l, A5 S7 @0 ^* k' s* U* G6 s5 Y4 R
IP 位址主要分為兩部份:網路位元(Network bits)和主機位元(Host bits)。網路位元主要是用來辨識其 IP 位址是屬於哪一個網路系統;而主機位元則是用來辨識其 IP 位址在其所屬的網路系統中是屬於哪一台電腦主機。
0 {& {8 r& d# e) X3 h( @7 @, {/ o: ?3 Q8 x+ z/ D
IP 位址 = 網路位元 + 主機位元
. X, j L0 L) d- F5 k8 f
/ v) v7 w5 p5 D" b) _IPv4 將位址分成 A、B、C、D、E 五類,分別用來表示不同的網路位址種類,各類的位址型態可從左邊固定的位元進行判斷。以下為各類 IP 位址的格式,其中沒有框的位元為固定位元,用以判別位址是屬於哪一類,N 代表網路位元,H 代表主機位元,而 M 和 R 則分別代表 D 類的多點傳送位元(Muticast bits)和 E 類的保留位元(Reserved bits)。類別 A、B、C IP 位址是最常使用的,而類別 D、E IP位址則是提供特殊用途。
: n- s2 W6 U) e9 _3 B2 H, j- \( H+ b7 M( K3 h
類別 A IP 位址:0NNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH 8 W+ S5 h& e+ o* B+ z
類別 B IP 位址:10NNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH
/ M+ v. ?) A4 V3 s2 s |' T 類別 C IP 位址:110NNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH
; ]. A3 K' d% p* c+ i8 o) W( M7 o0 S 類別 D IP 位址:1110MMMM.MMMMMMMM.MMMMMMMM.MMMMMMMM
3 ?3 Y' U) e' S- s2 H( w+ B8 D; W* a 類別 E IP 位址:1111RRRR.RRRRRRRR.RRRRRRRR.RRRRRRRR
3 A+ P; i8 x/ E* g- m8 S/ c3 ]. l2 i. s" z0 T" f: |! l# Q. d
N:網路位元 H:主機位元 M:群播位元 R:保留位元 6 ?& X2 m% s* b0 l5 c9 I4 i
! B/ [3 s% E+ K5 f3 M0 T
在類別 A、B、C(有網路位元和主機位元)IP 位址中,各含有兩個特殊位址不做主機位址使用。一為將 IP 位址中所有主機位元均設為 "0",即為「網域位址(Domain Address)」,用來判斷 IP 位址之所屬網域;另將所有主機位元值均設為 "1",即為「廣播位址(Broadcast Address)」,用來對所屬網域之所有主機進行廣播。以下將分別對各類型的IP位址設定做詳細的說明。
3 y6 U9 ?$ N( Q# ?* b2 H S7 w% L
* V; H) o# D* U) B; V3 W' n
5 p4 D3 q6 V: W- i7 Y類別 A IP 位址 5 j' \! D7 ], q5 J& G6 V: M. v0 Z
: F2 G$ N$ k7 V2 m; X( s
類別 A IP 位址的最左邊位元固定為 "0",後接 7 個網路位元及 24 個主機位元。由於有 7 個網路位元 "0NNNNNNN",故可提供 2^7 = 128 個網路系統,該位元組的十進位則介於 0 ~ 127 之間,其中 0 和 127 兩個網域做特殊用途使用。 4 M# _) e7 h( o+ K- x9 s- `5 p
8 W& z; h7 p- p: _7 j
除了 "0.0.0.0" 和 "127.0.0.0" 兩個網域外,類別 A IP 位址另外保留網域 "10.0.0.0",提供給企業內網路(Intranet)IP 位址設定。由於 Intranet 彼此間獨立的網路架構,故分別使用 "10.0.0.0" 網域並不會互相衝突。若 Intranet 要與外部的 Internet 連繫,必須透過「網路位址轉譯(Network Address Translation,NAT)」路由器提供一個可辨識使用的 IP 位址與外界溝通。由於各個 Intranet 均可提供以 "10.0.0.0" 為網域的所有主機位址,故可改善 IP 位址不足的現象。 " r% f; G+ i" ?* s
, q. n$ l+ O' G* C u Y由上述可知,原本 128 個網路系統,扣掉 0、10、127 三個特殊網域,故實際上可用的網域為 1 ~ 9、11 ~ 126 共 125 個網域。 . B7 \7 ~+ N2 ?- X! s" `. K: I
7 O9 c% g7 x1 E2 w ^
類別 A IP 位址的 24 個主機位元則可提供 2^24 個主機位址,各位元組的十進位值介於 0 ~ 255 之間,其中將所有主機位元設為 "0",用十進位將 IP 位址表示成 "N.0.0.0" 為網域位址;將所有主機位元設為 "1", 用十進位將 IP 位址表示成 "N.255.255.255" 為廣播位址。故個主機位址扣掉網域位址和廣播位址,實際上可用的主機位址為 2^24 -2 = 16,777,214 個。 1 E( ~! e% v5 a& V: z c- X
7 _; I9 A8 w: F9 F+ N3 _0 d從上述得知類別 A IP 位址可提供 125 個網域,而各網域可用( 2^24 - 2)個主機位址,故A類位址共可提供約 125 × 16,777,214 = 2,097,151,750 個 IP 位址。類別 A IP 位址已分配給早期參與 Internet 的組織機構使用,所以現在沒有空的類別 A IP 位址以供申請。 $ j. s2 e, s+ w" ~4 r8 M' Q u/ O
/ K7 S# u3 T" X% n) m" J/ M- P類別 A IP 位址保留 "127.0.0.1" 用來進行「迴路回測(Loopback Testing)」,主要是透過本身主機將訊息送回本身主機,以檢查主機的 TCP / IP 的設定是否正確,所使用的指令為 "ping 127.0.0.1",若 TCP / IP 設定不完整會出現錯誤訊息。
$ ^+ |0 D: }* z% b2 K8 w+ s
: n# I6 s' L7 `# E7 Y8 Z1 `3 c9 v0 O3 t* A
類別 B IP 位址 + N, A1 m; d. {/ z/ y. v8 @
: i' d# Z" L ~% P" _ _類別 B IP 位址的最左邊兩個位元固定為 "10",後接 14 個網路位元及 16 個主機位元。IP 位址的左邊第一個網路位元組 "10NNNNNN" 可提供 2^6 個組合,該位元組的十進位值介於 128 ~ 191 之間,而第二個網路位元組 "NNNNNNNN" 則可提供 2^8 個組合,十進位值介於 0 ~ 255 之間﹔另外,類別 B IP 位址保留 "172.16.0.0 ~ 172.31.255.255" 網域作為企業內網路(Intranet)使用。由此二個網路位元組即可提供 2^14 -8 = 16,376 個網路系統(網域)。 & d8 a" Q/ m9 ]. F. T
; {/ Z% [0 J. Z9 e ~' |& h6 L) m
類別 B IP 位址的 16 個主機位元則可提供 2^16 個主機位址,各位元組的十進位值介於 0 ~ 255 之間,同樣將所有主機位元設為 "0",十進位 IP 位址表示法 "N.N.0.0" 為網域位址;將所有主機位址設為 "1",十進位 IP 位址表示法 "N.N.255.255" 為廣播位址。故個主機位址扣掉網域位址和廣播位址,實際上可用的主機位址有 2^16 - 2 = 65,534 個。類別 B IP 位址也已發送完畢,所以現在沒有空的類別 B IP 位址以供申請。 3 K" I7 P2 V$ Z [/ @7 T- |
- F) {0 ^' M: l6 Y由上述可知,類別 B IP 位址可提供 2^14 個網域,而各網域可用 65,534 個主機位址,故類別 B IP 位址共可提供約 16,376 × 65,534 = 1,073,184,784 個 IP 位址。 0 I7 R+ h7 a$ D4 N
- r1 W2 C6 ^' z" c, v1 X( z# }. W; U; j' f
類別 C IP 位址
& [8 `& c$ C3 L+ Y5 e" j- U
/ K. p/ a( {) U1 Y" a) @類別 C IP 位址的最左邊三個位元固定為 "110",後接 21 個網路位元及 8 個主機位元。IP 位址左邊第一個網路位元組 "110NNNNN" 可提供 2^5 = 32 個組合,該位元組的十進位值介於 192 ~ 223 之間,而第二、三個網路位元組 "NNNNNNNN" 則分別可提供 2^8 = 256 個組合,十進位值介於 0 ~ 255 之間,此三個網路位元組可提供 2^21 = 2,097,152 個網路系統(網域)。
) E8 w; t7 N3 T, E0 R* d3 r
+ c8 Q4 ]8 ]/ @( V4 w: D; X類別 C IP 位址的 8 個主機位元則提供 2^8 = 256 個主機位址,該主機位元組的十進位值介於 0 ~ 255 之間,同樣將所有主機位元設為 "0",十進位表示法 "N.N.N.0" 為網域位址;將所有主機位元設為 "1",十進位表示法 "N.N.N.255" 為廣播位址。故 256 個主機位址扣掉網域位址和廣播位址,實際上可用主機位址有 254 個。 " ?- L5 M. |7 X8 S
5 H- z: W. @6 O+ L. A6 ^另外,類別 C IP 位址保留 "192.168.0.0" 網域作為企業內網路(Intranet)使用。由此可知 C 類位址可提供 2,097,152 - 1 = 2,097,151 個網域,而各網域可用 254 個主機位址,故C類位址共可提供約 2,097,151 × 254 = 532,676,354 個 IP 位址。
6 Z7 H8 J' K9 _/ B
3 b+ F1 z l% w1 }8 U) G" |# H5 y0 q' C
類別 D IP 位址
% m ] B% @* p2 H$ C7 N& @. H3 f; i* P8 r( R* M
類別 D IP 位址的最左邊四個位元固定為 "1110",後接 28 個群播設定位元。IP 位址的左邊第一群播位元組 "1110MMMM" 可提供 2^4 個組合,十進位介於 224 ~ 239 之間,其他三個群播位元組則分別提供 2^8 個組合,十進位值介於 0 ~ 255 之間,故類別 D IP 位址共可提供 2^28 = 268,435,456 個群播 IP 位址。多點傳送操作並沒有區分網路位元與主機位元。
* g$ v9 i) k1 P& H7 K' m s+ h9 [# p0 }
所謂「多點傳送(Muticasting)」,或稱「群播」,是指一電腦主機可透過「多點傳送路由器(MRouter;Muticasting Router)」同時對多部主機傳送相同的資料。使用單點傳送(1 對 1)將相同資料送到三台主機,需要傳送三次才能完成;而多點傳送(1 對多)只需傳送一次即可,故多點傳送可以降低在網路上的資訊傳送量。欲進行多點傳送的群組必須擁有一個類別 D IP 位址方可彼此連繫。
' P# f" _7 Z! z! k, O; ~, a2 z/ z) f7 ]$ y
在類別 D IP 位址中,224.0.0.0 ~ 224.0.0.255(224.0.0.0/24)是保留給區域子網路(local subnet)之用,其封包不會被路由器傳送出去,不論其 TTL 為何﹔而 IP 位址在 224.0.1.0 ~ 238.255.255.255 是為多點傳送正常使用﹔IP 位址在 239.0.0.0 ~ 239.255.255.255(239.0.0.0/8)則是保留給管理用途。 ; e3 \! n7 r: R9 O/ I0 s
2 W6 K1 }4 S$ y; d+ QMicrosoft 支援類別 D IP 位址,作為應用程式多點傳送資料至 Internet 上可多點傳送的主機。
6 s* @/ t5 w* O4 X! ]+ Q. A0 m% p+ f; m* K. I
" n9 m' I7 j! q; u9 D類別 E IP 位址
3 P) g- C" Y0 ?) C! H
- I8 N* L& ?) \. Q# R6 x8 H類別 E IP 位址最左邊四個位元固定為 "1111",後接 28 個保留位元。IP 位址的左邊第一個保留位元組 "1111RRRR" 之十進位值介 240 ~ 255 之間,類別 E IP 位址和類別 D IP 位址一樣,沒有網路位元和主機位元,共可提供 2^28 = 268,435,456 個 IP 位址。類別 E IP 位址是保留給實驗網路所使用。
% w) d$ }3 G [ |" L6 J$ V
P# i/ d+ N! ^1 p! Z( Z# h
3 I7 b' j# x* l: d! Y2 I網路 ID 指南 ; {9 ?, O4 _- Y% j
X! j9 ?& b% ]8 W8 i C
網路 ID 識別位於相同實體網路上的 TCP/IP 主機。位在相同實體網路上的所有主機都必須指派相同的網路 ID,和其它主機通訊。指派網路 ID 時,請遵循以下指南: - z3 r ~( u) x& l( b
6 P& u/ p& E: T! Z; _( E
5 |# a. _! L2 l! g6 z; O: e. i網路位址必須是 IP internet 中的唯一值。如果您計劃以直接路由連線至公用 Internet,網路 ID 必須是 Internet 上的唯一值。如果您不打算連線至公用 Internet,區域網路 ID 必須是您的私有 internet 上的唯一值。
( e; _# M3 Y- ]( c& v
* c& e6 `, ^! r1 s- F l網路 ID 不可以數字 127 開頭。類別 A 位址中的數字 127 保留給內部反向迴圈功能使用。
/ ]: J) M; D+ R2 j3 @) J: H2 P! w; F- Y
* K8 \. a- T' d$ X/ D網路 ID 中的所有位元不可設定為 1。網路 ID 中的全部 1 保留作為 IP 廣播位址使用。
& y& u! ~. t: V1 v/ P" B1 i! C h$ O5 B8 }5 j/ _
網路 ID 中的所有位元不可設定為 0。網路 ID 中的全部 0 是用來表示區域網路上的指定主機,且不會被尋徑。
8 X! {# r/ j+ K5 p: ?3 ?3 Q5 m% o
+ b. }, K) B" r: J$ T" x 網路 ID 類別範圍 & v/ s4 x9 H' t, v; I7 y
% l e2 u7 j5 o! u
位址類別 第一個網路 ID 最後一個網路 ID * O1 R9 l6 ?4 F
─────────────────────── + m4 U) k2 E& p* K5 |# n
類別 A 1.0.0.0 126.0.0.0 . s" v; Z' H) j
類別 B 128.0.0.0 191.255.0.0 + H& q! ]# s2 e5 |0 n& C6 R
類別 C 192.0.0.0 223.255.255.0
7 [( p# U, ]! {9 G- k6 y9 b Z( k( p2 f1 _, a, \* ~+ A6 R/ ~4 i& x
4 |. b4 k: s6 u$ l6 l# ^
主機 ID 指南 9 G& h/ B0 f6 l7 t2 ?
" y7 J7 e8 W0 E$ G$ s! y5 h
主機 ID 識別網路中的 TCP/IP 主機。 IP 網路 ID 與 IP 主機 ID 的結合即代表 IP 位址。指派主機 ID 時,請遵循以下指南: ' D3 ^2 }$ O% s
; \0 H: z: f1 j4 f) O2 _1 @8 t
7 }# y& F$ g2 o3 ?; D1 h
主機 ID 必須是網路 ID 中的唯一值。
' {. e! ?' m9 w- b1 c
0 P. b4 e& w6 [. @9 R* s主機 ID 中的所有位元不可設定為 1,因為此主機 ID 保留作為廣播位址,傳送封包至網路上的所有主機。 , u6 H* K* z7 ?8 V
. w8 t1 J8 U: ?8 j! B' s; s
主機 ID 中的所有位元不可設定為 0,因為此主機 ID 保留用來表示 IP 網路 ID 。
0 G4 V1 W2 P1 }9 s2 u( }2 X, C# V
主機 ID 類別範圍 , a9 d% A# R% [6 k
( o: y4 ]7 Q5 N% r# Q 位址類別 第一個主機 ID 最後一個主機 ID 6 y5 P, r7 w* p% x0 i
──────────────────────── + X; K+ i C0 z. [" d' n
類別 A w.0.0.1 w.255.255.254
' x/ X3 w( }7 q( H; W+ ] B+ d 類別 B w.x.0.1 w.x.255.254
% R% C8 O8 Q" g$ o 類別 C w.x.y.1 w.x.y.254 ; i( w9 D" Q& y \7 Z
$ ~ q7 m5 K1 N* @
6 E/ \ d% x4 N; R2 S虛擬 IP 位址指南
: ~1 i9 l3 T2 V1 u1 h% l& \0 h# _! ]5 W7 G. X' o/ x4 Y
依據RFC1918:Address Allocation for Private Internets(原為RFC1597),有三個區段的 IP 是作為 Private IP 使用:
" q/ s* g0 L2 d) b
- j; J; W* D4 d( O- Q* s 位址類別 第一個主機 ID 最後一個主機 ID
; ]8 \) n+ Y2 @4 e ────────────────────────
6 a/ w9 ?* h- E/ m$ h( m* O 類別 A 10.0.0.1 10.255.255.254 5 c5 S: b) Q+ m9 f& k
類別 B 172.16.0.1 172.31.255.254 - ?% M6 B5 ]3 L) P+ a% M: f6 O
類別 C 192.168.0.1 192.168.255.254
* j9 S. w) x% l' A& F. D0 Q
: N+ B+ B) C0 H% B& I5 g2 e/ F當使用以上的 IP 位址的時候是有所限制的(此部份引自 Albert_Lu): 4 y/ X/ H T9 Q0 m3 x& m$ X6 G ]
: n, y: K& \/ m0 C- t
% v9 x F' a6 P6 `/ D虛擬 IP 位址的路由資訊不能對外散播。
$ J* X/ n x5 L& P& h
1 ^5 A& d- U% h7 f/ {( T; e ^使用虛擬 IP 位址作為來源或目的地址的封包,不能透過 Internet 來轉送。
9 U" I2 v5 c6 q* L$ l/ g0 I6 s" P7 P, K
關於虛擬 IP 位址的參考紀錄(如 DNS),只能限於內部網路使用。 ! \& Y7 h t5 i/ k/ w% y
+ a' M7 g% J' _6 ?9 M! ]由於有以上的限制,當我們使用這些虛擬 IP 位址來設定網路的時候,就無需擔心會和其它也使用相同位址的網路衝突了。
5 `5 _- v$ ?" P% e8 c+ C. ^* ^) S |
|