|
|
Internet 中所謂的「IP 位址(IP Address)」,就像現實生活中每戶人家都要擁有唯一的地址一樣,傳送者可以根據 IP 位址進行辨識,將資料傳送到唯一目的地位址完成通訊。世界各地的 IP 位址必須具有一致性,才不會導致辨識上的混亂,故必須依循共同的規範才能達成。 ; d, N) s2 V1 x' R
目前我們所使用的 IP 位址為第四版 IP 位址,一般稱為 IPv4 位址。為滿足使用上的需求,又陸陸續續發展 IPv5、IPv6,IPv5 是提供給 Stream Protocol 實驗協定使用,而 IPv6 則是 IPv4 的擴充,為因應位址數量不敷使用的問題,在標頭格式也提供動態欄位設定。
' a* |: Z3 P9 S" |; }
, p+ G9 E& ]0 |1 P7 DIPv4 位址是由 32 位元所組成,一般以 8 位元為單位(octet)將 32 位元分成四部份,彼此間以 "." 做區隔,例如 "100100011.00001110.01001000.00011100",此即為「加點二進位表示法(dotted binary notation)」,由於二進位表示法太長不易記憶,故通常使用十進位來表示,上述的二進位 IP 位址即可表示成 "163.14.75.28",此即為「加點十進位表示法(dotted decimal notation)」。由於每一部份均由 8 位元所組成,故每個十進位值均介於 0 ~ 255 之間。 + E( i+ K8 k! P+ Z
0 p9 R/ h4 N% Z/ g6 h: u$ @
IP 位址主要分為兩部份:網路位元(Network bits)和主機位元(Host bits)。網路位元主要是用來辨識其 IP 位址是屬於哪一個網路系統;而主機位元則是用來辨識其 IP 位址在其所屬的網路系統中是屬於哪一台電腦主機。 6 p( h Z: t. x# \& c9 a1 W
, ]# S( t- P' o
IP 位址 = 網路位元 + 主機位元
! y4 [- r2 U" N& j5 ^- {& c8 B9 l) v. A" }5 c( P# ]/ X) i) ~
IPv4 將位址分成 A、B、C、D、E 五類,分別用來表示不同的網路位址種類,各類的位址型態可從左邊固定的位元進行判斷。以下為各類 IP 位址的格式,其中沒有框的位元為固定位元,用以判別位址是屬於哪一類,N 代表網路位元,H 代表主機位元,而 M 和 R 則分別代表 D 類的多點傳送位元(Muticast bits)和 E 類的保留位元(Reserved bits)。類別 A、B、C IP 位址是最常使用的,而類別 D、E IP位址則是提供特殊用途。
( V5 N/ _9 V$ P
1 G' _8 m7 ~- p6 n9 y8 D; M 類別 A IP 位址:0NNNNNNN.HHHHHHHH.HHHHHHHH.HHHHHHHH
) n) ? {! T6 c( W6 s" r/ Q 類別 B IP 位址:10NNNNNN.NNNNNNNN.HHHHHHHH.HHHHHHHH 4 x6 k& T6 M' {
類別 C IP 位址:110NNNNN.NNNNNNNN.NNNNNNNN.HHHHHHHH
3 ~( O/ J+ T8 W0 G4 f" d 類別 D IP 位址:1110MMMM.MMMMMMMM.MMMMMMMM.MMMMMMMM
0 K9 H% [' F7 X1 J. x 類別 E IP 位址:1111RRRR.RRRRRRRR.RRRRRRRR.RRRRRRRR
0 q, X; U% j* C+ i( `: a& X0 S- Z% @/ n1 e) ]+ G
N:網路位元 H:主機位元 M:群播位元 R:保留位元
5 w6 @, S+ D; L$ x# O2 ]9 d+ w9 J, ]
! _- y5 e1 s/ P8 S& `0 A在類別 A、B、C(有網路位元和主機位元)IP 位址中,各含有兩個特殊位址不做主機位址使用。一為將 IP 位址中所有主機位元均設為 "0",即為「網域位址(Domain Address)」,用來判斷 IP 位址之所屬網域;另將所有主機位元值均設為 "1",即為「廣播位址(Broadcast Address)」,用來對所屬網域之所有主機進行廣播。以下將分別對各類型的IP位址設定做詳細的說明。 5 {" L! p& k8 {) Z0 N: Y% Q2 M
' M$ a. P' U- i
; S8 ^. w }* T, z) [2 @類別 A IP 位址
) u2 Y6 j% c6 p3 B3 N# C
2 y' n/ J9 J3 e* l" Q" o類別 A IP 位址的最左邊位元固定為 "0",後接 7 個網路位元及 24 個主機位元。由於有 7 個網路位元 "0NNNNNNN",故可提供 2^7 = 128 個網路系統,該位元組的十進位則介於 0 ~ 127 之間,其中 0 和 127 兩個網域做特殊用途使用。 9 {7 M3 J9 P% ^, ?9 b* H/ U
. k8 F2 ]6 g+ M" p' u# R- s除了 "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 位址不足的現象。
7 x! W+ w, v' r+ K; Q; j( b: W: \" i" e# `' F
由上述可知,原本 128 個網路系統,扣掉 0、10、127 三個特殊網域,故實際上可用的網域為 1 ~ 9、11 ~ 126 共 125 個網域。 $ B( s f8 [0 y% Z! l- [
9 H$ J+ F) \3 Q( d類別 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 個。 9 d' T& p! ?! \# p1 p
7 {* F: n+ H% t+ ^, d K: M
從上述得知類別 A IP 位址可提供 125 個網域,而各網域可用( 2^24 - 2)個主機位址,故A類位址共可提供約 125 × 16,777,214 = 2,097,151,750 個 IP 位址。類別 A IP 位址已分配給早期參與 Internet 的組織機構使用,所以現在沒有空的類別 A IP 位址以供申請。
8 a# D0 H" S3 w1 F0 `( _3 ^( ]8 r" X% [4 Y2 R) x5 r) Z
類別 A IP 位址保留 "127.0.0.1" 用來進行「迴路回測(Loopback Testing)」,主要是透過本身主機將訊息送回本身主機,以檢查主機的 TCP / IP 的設定是否正確,所使用的指令為 "ping 127.0.0.1",若 TCP / IP 設定不完整會出現錯誤訊息。
N* E7 o0 I8 T0 d
, y# g, L3 Q; O# G4 g$ j1 d0 U$ v1 E" Y7 _/ w1 A
類別 B IP 位址
6 x+ q: m) K. Q1 {! {5 w" B2 k$ ^3 J) v6 U7 U( h
類別 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 個網路系統(網域)。
) X& Z! G5 a, t9 S% L" z( M9 q& g
. o( I+ a* \& Y& Y類別 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 位址以供申請。
; N* X* G4 r$ k. x0 |* f1 S0 `7 d/ @: } h H% f
由上述可知,類別 B IP 位址可提供 2^14 個網域,而各網域可用 65,534 個主機位址,故類別 B IP 位址共可提供約 16,376 × 65,534 = 1,073,184,784 個 IP 位址。 9 r' u% _1 ?) t' v
. @# {" T5 Z7 K5 @5 Z
2 i' R/ e7 x) X類別 C IP 位址 7 M( C U5 C; q. i: p. Z
) X R0 i" S& q! Z8 @+ A類別 C IP 位址的最左邊三個位元固定為 "110",後接 21 個網路位元及 8 個主機位元。IP 位址左邊第一個網路位元組 "110NNNNN" 可提供 2^5 = 32 個組合,該位元組的十進位值介於 192 ~ 223 之間,而第二、三個網路位元組 "NNNNNNNN" 則分別可提供 2^8 = 256 個組合,十進位值介於 0 ~ 255 之間,此三個網路位元組可提供 2^21 = 2,097,152 個網路系統(網域)。
, X( {4 P+ o3 t4 g/ ^0 v
3 X/ S. j7 ^# S) I2 s8 [類別 C IP 位址的 8 個主機位元則提供 2^8 = 256 個主機位址,該主機位元組的十進位值介於 0 ~ 255 之間,同樣將所有主機位元設為 "0",十進位表示法 "N.N.N.0" 為網域位址;將所有主機位元設為 "1",十進位表示法 "N.N.N.255" 為廣播位址。故 256 個主機位址扣掉網域位址和廣播位址,實際上可用主機位址有 254 個。
b. K [* ?5 k& j$ r, u f' y) \9 P8 \7 `- a9 B/ S
另外,類別 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 位址。
0 P" i+ Q6 K0 q/ ]" d, y6 `4 e6 W& R/ P$ r+ L' f
& w# P9 X5 A$ |3 q/ |% V8 d
類別 D IP 位址
6 V, T6 {3 m' w% |* R
. u, G& S6 C" I/ T4 d) l類別 D IP 位址的最左邊四個位元固定為 "1110",後接 28 個群播設定位元。IP 位址的左邊第一群播位元組 "1110MMMM" 可提供 2^4 個組合,十進位介於 224 ~ 239 之間,其他三個群播位元組則分別提供 2^8 個組合,十進位值介於 0 ~ 255 之間,故類別 D IP 位址共可提供 2^28 = 268,435,456 個群播 IP 位址。多點傳送操作並沒有區分網路位元與主機位元。 0 d: w* z Z* x2 b5 s
. b( s0 { {% l0 {7 \: Q+ D8 N所謂「多點傳送(Muticasting)」,或稱「群播」,是指一電腦主機可透過「多點傳送路由器(MRouter;Muticasting Router)」同時對多部主機傳送相同的資料。使用單點傳送(1 對 1)將相同資料送到三台主機,需要傳送三次才能完成;而多點傳送(1 對多)只需傳送一次即可,故多點傳送可以降低在網路上的資訊傳送量。欲進行多點傳送的群組必須擁有一個類別 D IP 位址方可彼此連繫。
. x+ @1 \3 g+ N" F! O" s5 Y" j: a \$ y4 _+ i3 S5 K
在類別 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)則是保留給管理用途。
+ M, R# [7 p: z" V+ M% ^6 h' {+ |9 h! u6 T T, C
Microsoft 支援類別 D IP 位址,作為應用程式多點傳送資料至 Internet 上可多點傳送的主機。
& y) c: s4 A! M: i. ^2 n( J6 t' D: Z2 C L: g0 o% |
: A X6 p6 i) T3 c6 m% _
類別 E IP 位址
0 e- O. X1 B N1 _4 i: x+ [+ X- F i$ Q8 y' l: v
類別 E IP 位址最左邊四個位元固定為 "1111",後接 28 個保留位元。IP 位址的左邊第一個保留位元組 "1111RRRR" 之十進位值介 240 ~ 255 之間,類別 E IP 位址和類別 D IP 位址一樣,沒有網路位元和主機位元,共可提供 2^28 = 268,435,456 個 IP 位址。類別 E IP 位址是保留給實驗網路所使用。
6 F! A/ I0 f% u' k2 r$ f& S4 G6 C7 V2 z3 X% @+ g. V
' G5 g5 `' u% B網路 ID 指南 ) n5 f4 J0 a( O$ O! c
8 Q+ I3 `+ p2 a) l- M8 M1 J
網路 ID 識別位於相同實體網路上的 TCP/IP 主機。位在相同實體網路上的所有主機都必須指派相同的網路 ID,和其它主機通訊。指派網路 ID 時,請遵循以下指南:
9 ^) B) x; E) m% U' Y7 D7 f+ ?, G& A: B
0 w. ^ i8 ?% a) C4 `* S
網路位址必須是 IP internet 中的唯一值。如果您計劃以直接路由連線至公用 Internet,網路 ID 必須是 Internet 上的唯一值。如果您不打算連線至公用 Internet,區域網路 ID 必須是您的私有 internet 上的唯一值。
2 ?: |+ s+ f4 M9 L4 n7 X/ @- \: C; j: I
網路 ID 不可以數字 127 開頭。類別 A 位址中的數字 127 保留給內部反向迴圈功能使用。 ; K4 \5 h$ Z( K% g4 H
/ R/ B9 C, M e
網路 ID 中的所有位元不可設定為 1。網路 ID 中的全部 1 保留作為 IP 廣播位址使用。
/ G: ~) h' Z- x4 ? g+ m7 w1 n9 E2 C# \4 J$ D% h# C/ Y* k" X
網路 ID 中的所有位元不可設定為 0。網路 ID 中的全部 0 是用來表示區域網路上的指定主機,且不會被尋徑。
+ v0 f4 P& V& s1 L8 n" K, E( @5 x, R% B* g$ U* m' w
網路 ID 類別範圍
8 l5 L. x# J8 c s; e, A' ?( m3 y0 I7 V G" i$ w) h$ U
位址類別 第一個網路 ID 最後一個網路 ID
% H N# f1 \6 P8 H1 @& V ───────────────────────
. U: p5 w1 m. e 類別 A 1.0.0.0 126.0.0.0 6 r3 Z+ ~+ M6 T) H4 |0 s
類別 B 128.0.0.0 191.255.0.0
q* }- G" R7 V5 l# y( A 類別 C 192.0.0.0 223.255.255.0
: a' L" I- l( c; s# p- L8 `
9 o" l; L: q. s; [
4 s1 M) r5 x/ m) J) v9 d主機 ID 指南 + }# j. C2 `) w5 @. t
! z( U5 F' X/ C+ j
主機 ID 識別網路中的 TCP/IP 主機。 IP 網路 ID 與 IP 主機 ID 的結合即代表 IP 位址。指派主機 ID 時,請遵循以下指南:
8 F/ r8 f. Z6 E- b6 \+ C4 H, g& k
/ C" v3 W! U; @; I& O9 c9 k3 }7 h主機 ID 必須是網路 ID 中的唯一值。
3 ]# P+ B* w5 H* w/ m$ w9 q9 D# Y: ~) y% M6 Z. d' T4 k2 X
主機 ID 中的所有位元不可設定為 1,因為此主機 ID 保留作為廣播位址,傳送封包至網路上的所有主機。 ; ?9 K* Z5 g$ d8 |; T, z- b
K! e/ L5 z( S# G主機 ID 中的所有位元不可設定為 0,因為此主機 ID 保留用來表示 IP 網路 ID 。 # i# j O& S' E' R) c3 r) t
+ F# f5 s& O; w4 w; v5 @/ P 主機 ID 類別範圍
7 N: {& m5 W4 `; F; [8 ~/ D2 _$ w8 ?2 u, g/ p3 R
位址類別 第一個主機 ID 最後一個主機 ID 7 b; u3 G8 p U
──────────────────────── + Q6 k% Z' K9 q+ w
類別 A w.0.0.1 w.255.255.254 ' x3 }. b; N6 `
類別 B w.x.0.1 w.x.255.254
3 P/ }8 e9 s+ C 類別 C w.x.y.1 w.x.y.254 # y0 | V% ~+ R$ t2 M
9 U1 H( y: j& T$ K6 }& _6 N) k! ~
/ d/ X+ {5 e/ h$ {7 R) D r
虛擬 IP 位址指南
6 T! [' S2 ]6 j- @5 {3 o, }' B) c* j: Z$ g
依據RFC1918:Address Allocation for Private Internets(原為RFC1597),有三個區段的 IP 是作為 Private IP 使用: & T+ }: s ^6 w9 C
+ |. x' h- p7 |0 j5 _- h% H3 u
位址類別 第一個主機 ID 最後一個主機 ID 1 G: [7 i+ r2 G9 R0 \1 E2 P% V
────────────────────────
: P- n5 N& F# H 類別 A 10.0.0.1 10.255.255.254 1 y* a. B4 P$ L+ t5 F
類別 B 172.16.0.1 172.31.255.254
! W- M+ t& u4 k- V+ @& a 類別 C 192.168.0.1 192.168.255.254 / G0 r# Q" |, p+ E
4 {( |% Q4 u+ S5 h/ B7 K0 Z# Y& l8 F7 L當使用以上的 IP 位址的時候是有所限制的(此部份引自 Albert_Lu):
7 E5 l+ r( k$ x+ _, K+ C* W
( d$ e* D* p5 a" V
+ z+ `7 S$ `* _: p虛擬 IP 位址的路由資訊不能對外散播。 4 s. M% P* j9 A i, [
% T0 f0 O( {; A2 t+ [: T' l6 j
使用虛擬 IP 位址作為來源或目的地址的封包,不能透過 Internet 來轉送。
2 v. S0 L- a+ _) U
* @8 S( V ^7 F. a關於虛擬 IP 位址的參考紀錄(如 DNS),只能限於內部網路使用。 1 `- `2 l- |* t4 a1 Y7 P$ y
: u7 S# S( p- ]& D% Z M! M由於有以上的限制,當我們使用這些虛擬 IP 位址來設定網路的時候,就無需擔心會和其它也使用相同位址的網路衝突了。 9 E( N7 w* ^: ]# W3 m8 t, O9 X
|
|