IP地址是分配給IP網(wǎng)絡(luò)中每臺機器的數(shù)字標識符,它指出了設(shè)備在網(wǎng)絡(luò)中的具體位置。
IP地址是軟件地址,而不是硬件地址。硬件地址被硬編碼到網(wǎng)絡(luò)接口卡(NIC)中,用于在本地網(wǎng)絡(luò)中尋找主機。IP地址讓一個網(wǎng)絡(luò)中的主機能夠與另一個網(wǎng)絡(luò)中的主機通信,而不管這些主機所屬的LAN是什么類型的。
IP術(shù)語
比特一個比特相當于一位,其取值為1或0。
字節(jié)1 B為7或8位,這取決于是否使用奇偶校驗。在本章余下的篇幅中,我們都假定1B為8位。
八位組(Octet) 由8位組成,是普通的8位二進制數(shù)。
網(wǎng)絡(luò)地址在路由選擇中, 使用它將分組發(fā)送到遠程網(wǎng)絡(luò),如10.0.0.0、172.16.0.0和 192.168.0.0。
廣播地址應用程序和主機用于將信息發(fā)送給網(wǎng)絡(luò)中所有節(jié)點的地址,這樣的例子包括:255.255.255.255,表示所有網(wǎng)絡(luò)中的所有節(jié)點:172.16.255.255, 表示網(wǎng)絡(luò)172.16.0.0 中的所有子網(wǎng)和主機; 0.255.255.25, 表示網(wǎng)絡(luò)10.0.0.0中的所有子網(wǎng)和主機。
層次型IP編址方案
IP地址長32位,這些位被劃分成4組(稱為字節(jié)或八位組),每組8位。我們可使用下面3種方法描述IP地址:
點分十進制表示,如172.16.30.56。
二進制:如10101100.000000.00011110.00111000。
十六進制,如AC.10.1E.38。
上述示例表示的是同一個IP地址。討論IP編址時,十六進制表示沒有點分十進制和二進制那樣常用,但某些程序確實以十六進制形式存儲IP地址, Windows注冊表就將機器的IP地址存儲為十六進制。
32位的IP地址是一種結(jié)構(gòu)化(層次型)地址,而不是平面或非層次型地址。雖然這兩種編址方案都可使用,但對于選擇層次型編址方案我們有充分的理由。這種方案的優(yōu)點在于,它可處理大量的地址,具體地說是43億(在32位的地址空間中,每位都有0或1這兩種可能的取值,因此支持232個地址,即4294 967296個)。平面編址方案的缺點與路由選擇相關(guān),這也是沒有將其用于IP編址的原因。如果每個地址都是唯一的,因特網(wǎng)上的路由器將需要存儲所有機器的地址,這使得幾乎無法進行高效的路由選擇,即使只使用部分可能的地址亦如此。
對于這種問題,解決方案是使用包含2層或3層的層次型編址方案,即地址由網(wǎng)絡(luò)部分和主機部分組成,或者由網(wǎng)絡(luò)部分、子網(wǎng)部分和主機部分組成。
使用2層或3層的編址方案時,IP地址類似于電話號碼:第-部分是區(qū)號, 指定了一個非常大的區(qū)域;第二部分是前綴,將范圍縮小到本地呼叫區(qū)域;最后一部分是用戶號碼,將范圍縮小到具體的連接。IP地址使用類似的分層結(jié)構(gòu):與平面編址將全部32位視為一個唯一的標識符不同, 它將其一部分作為網(wǎng)絡(luò)地址,另一部分作為子網(wǎng)和主機部分或節(jié)點地址。
下面討論IP網(wǎng)絡(luò)編址以及各種可用于給網(wǎng)絡(luò)編址的地址類型。
1網(wǎng)絡(luò)地址
網(wǎng)絡(luò)地址(也叫網(wǎng)絡(luò)號)唯- -地標識網(wǎng)絡(luò)。在同-一個網(wǎng)絡(luò)中,所有機器的IP地址都包含相同的網(wǎng)絡(luò)地址。例如,在IP地址172.16.30.56中,172.16 為網(wǎng)絡(luò)地址。網(wǎng)絡(luò)中的每臺機器都有節(jié)點地址,節(jié)點地址唯-地標識了 機器。這部分IP地址必須是唯一的, 因為它標識特定的機器(個體)而不是網(wǎng)絡(luò)(群體)。這一編號也稱主機地址。在IP 地址172.16.30.56中,30.56 為節(jié)點地址。
設(shè)計因特網(wǎng)的人決定根據(jù)網(wǎng)絡(luò)規(guī)模創(chuàng)建網(wǎng)絡(luò)類型。對于少量包含大量節(jié)點的網(wǎng)絡(luò),他們創(chuàng)建了A類網(wǎng)絡(luò);對于另一種極端情況的網(wǎng)絡(luò),他們創(chuàng)建了C類網(wǎng)絡(luò),用來指示大量只包含少量節(jié)點的網(wǎng)絡(luò);介于超大型和超小型網(wǎng)絡(luò)之間的是B類網(wǎng)絡(luò)。
網(wǎng)絡(luò)的類型決定了IP 地址將如何劃分成網(wǎng)絡(luò)部分和節(jié)點部分。圖3-13總結(jié)了這3類網(wǎng)絡(luò)。
為確保高效的路由選擇,設(shè)計因特網(wǎng)的人對每種網(wǎng)絡(luò)地址的前幾位做了限制。例如,由于路由器知道A類網(wǎng)絡(luò)地址總是以0打頭,因此只需閱讀地址的第一位,從而提高轉(zhuǎn)發(fā)分組的速度。編址方案在此指出了A類、B類和C類地址的差別。在接下來的幾節(jié)中,我將首先講述這種差別,然后介紹D類和E類地址。(只有A類、B類和C類地址可用于給網(wǎng)絡(luò)中的主機編址。)
(1) A類網(wǎng)絡(luò)地址范圍
IP編址方案設(shè)計師指出,A類網(wǎng)絡(luò)地址的第一個字節(jié)的第一位必須為0,這意昧著A類地址第一個字節(jié)的取值為0~ 127。請看下面的網(wǎng)絡(luò)地址:
0xxxxxxx
如果將余下的7位都設(shè)置為0,然后將它們都設(shè)置為1,我們便可獲得A類網(wǎng)絡(luò)地址的范圍:
00000000 = 0
01111111 = 127
因此,A類網(wǎng)絡(luò)地址第-一個字節(jié)的取值范圍為0~ 127 (但0和127不是有效的A類網(wǎng)絡(luò)地址號。稍后我將介紹保留地址)。
(2) B類網(wǎng)絡(luò)地址范圍
RFC規(guī)定,B類網(wǎng)絡(luò)地址的第一個字節(jié)的第一位必須為1,且第二位必須為0。如果將余下的6位全部設(shè)置為0,再將它們?nèi)吭O(shè)置為1,便可獲得B類網(wǎng)絡(luò)地址的范圍:
10000000 = 128
10111111 = 191
正如你看到的,B類網(wǎng)絡(luò)地址第一個字節(jié)的取值為128~ 191。
(3) C類網(wǎng)絡(luò)地址范圍
RFC規(guī)定,C類網(wǎng)絡(luò)地址的第一個字節(jié)的前兩位必須為1,而第三位必須為0。我們可按前面的方法將二進制轉(zhuǎn)換為十進制,以找出C類網(wǎng)絡(luò)地址的范圍:
11000000 = 192
11011111 = 223
因此,如果IP地址以192 ~ 223打頭,我們就可判定它是C類IP地址。
(4) D類和E類網(wǎng)絡(luò)地址范圍
第一個字節(jié)為224~ 255的地址被保留用于D類和E類網(wǎng)絡(luò)。D類(224~ 239 )用作組播地址,而E類(240~255)用于科學用途。
(5) 具有特殊用途的地址
有些IP地址被保留用于特殊目的,網(wǎng)絡(luò)管理員不能將它們分配給節(jié)點。表3-4列出了一些特殊地址以及將其用于特殊目的的原因。
A類地址
在A類地址中,第一個字節(jié)為網(wǎng)絡(luò)地址,余下的3B為節(jié)點地址。A類地址的格式如下:
network. node 。 node. node
例如,在IP地址49.22.102.70中,49為網(wǎng)絡(luò)地址,22.102.70 為節(jié)點地址。在該網(wǎng)絡(luò)中,每臺機器的網(wǎng)絡(luò)地址都為49。
A類網(wǎng)絡(luò)地址長1 B,其中第一位被保留,余下的7位可用于編址。因此,最多可以有128個A類網(wǎng)絡(luò)。為什么呢?因為在這7位中,每位的可能取值都為0或1,因此可表示27 ( 128 )個網(wǎng)絡(luò)。讓問題更復雜的是,全0網(wǎng)絡(luò)地址( 0000 00)被保留用于指定默認路由(參閱表3-4)。另外,地址127被保留用于診斷,你也不能使用,這意味著你只能使用編號1~ 126指定A類網(wǎng)絡(luò)地址。也就是說,實際可以使用的A類網(wǎng)絡(luò)地址數(shù)為128-2= 126。
注意:IP地址127.0.0.1用于測試一個節(jié)點上的IP棧,不能用作主機地址。然而,該環(huán)回地址為運行在同一臺設(shè)備上的TCP/IP 應用程序和服務(wù)之間的通信提供了一種快捷方法。
每個A類地址都有3B ( 24位)用于表示機器的節(jié)點地址。這意味著有2*( 16777216種組合),因此每個A類網(wǎng)絡(luò)可使用的節(jié)點地址數(shù)為16 777 216。由于全0和全1的節(jié)點地址被保留,A類網(wǎng)絡(luò)實際可包含的最大節(jié)點數(shù)為24-2= 16 777214。無論如何,這在一個網(wǎng)段都是一個很大的主機數(shù)目。
A類網(wǎng)絡(luò)的合法主機ID:
下面的示例演示了如何確定A類網(wǎng)絡(luò)的合法主機ID。
所有主機位都為0時,得到的是網(wǎng)絡(luò)地址: 10.0.0.0。
所有主機位都為1時,得到的是廣播地址: 10.255.255.255。
合法的主機ID為網(wǎng)絡(luò)地址和廣播地址之間的地址: 10.0.0.1~ 10.255.255.254。注意, 0和255不是合法的主機ID。確定合法的主機地址時,只需記住一點: 主機位不能都為零,也不能都為1。
B類地址
在B類地址中,前2 B為網(wǎng)絡(luò)地址,余下的2B為節(jié)點地址,其格式如下:
network 。 network.node. node
例如,在IP地址172.16.30.56 中,網(wǎng)絡(luò)地址為172.16,節(jié)點地址為30.56。
在網(wǎng)絡(luò)地址為2B (每字節(jié)8位)的情況下,有2的16平方種不同的組合,但設(shè)計因特網(wǎng)的人規(guī)定,所有B類網(wǎng)絡(luò)地址都必須以二進制數(shù)10開頭,只留下14位供我們使用,因此有16 384 (2的14次方)個不同的B類網(wǎng)絡(luò)地址。
B類地址用2 B表示節(jié)點地址,因此每個B類網(wǎng)絡(luò)有2的6次方-2 (兩個保留的地址,即全為1和全為0的地址),即65 534個節(jié)點地址。
B類網(wǎng)絡(luò)的合法主機ID:
下面的示例演示了如何確定B類網(wǎng)絡(luò)的合法主機ID。
所有主機位都為0時,得到的是網(wǎng)絡(luò)地址: 172.16.0.0。
所有主機位都為1時,得到的是廣播地址: 172.16.255.255。
合法的主機ID為網(wǎng)絡(luò)地址和廣播地址之間的地址: 172.16.0.1~ 172.16.255.254。
C類地址
C類地址的前3個字節(jié)為網(wǎng)絡(luò)部分,余下的一-個字節(jié)表示節(jié)點地址,其格式如下:
network. network 。 network 。 node
在IP地址192.168.100.102中,網(wǎng)絡(luò)地址為192.168.100,節(jié)點地址為102。
在C類網(wǎng)絡(luò)地址中,前3位總是為二進制110。計算C類網(wǎng)絡(luò)數(shù)的方法如下: 3B為24位,減去3個保留位后為21位,因此有2的21次方(2 097 152)個C類網(wǎng)絡(luò)。
每個C類網(wǎng)絡(luò)都1 B用作節(jié)點地址,因此每個C類網(wǎng)絡(luò)有2的8次方- 2 (兩個保留的地址,即全為1和全為0的地址),即254個節(jié)點地址。
C類網(wǎng)絡(luò)的合法主機ID:
下面的示例演示了如何確定C類網(wǎng)絡(luò)的合法主機ID。
所有主機位都為零時,得到的是網(wǎng)絡(luò)地址: 192. 168.100.0。
所有主機位都為1時,得到的是廣播地址: 192.168.100.255。
合法的主機ID為網(wǎng)絡(luò)地址和廣播地址之間的地址: 192.168.100.1 ~ 192.168.100.254。
評論
查看更多