一、網(wǎng)絡(luò)模型介紹
在計(jì)算機(jī)網(wǎng)絡(luò)中有著名的OSI七層協(xié)議體系結(jié)構(gòu),概念清楚,理論完整,但是它既復(fù)雜又不實(shí)用。TCP/IP體系結(jié)構(gòu)則不同,得到了廣泛的應(yīng)用。最終結(jié)合OSI和TCP/IP的優(yōu)點(diǎn),采用了一種只有五層協(xié)議的體系結(jié)構(gòu),本文的講述的IP都是基于五層協(xié)議模型中的網(wǎng)絡(luò)層。
二、分類(lèi)的IP地址
IP地址的表示方法
IP地址就是給英特網(wǎng)上的每個(gè)主機(jī)(路由器)的每個(gè)接口分配一個(gè)在全世界范圍內(nèi)是唯一的32位的標(biāo)識(shí)符。其組成第一個(gè)字段是網(wǎng)絡(luò)號(hào),第二個(gè)字段是主機(jī)號(hào)。一個(gè)主機(jī)號(hào)在前面的網(wǎng)絡(luò)號(hào)所指明的網(wǎng)絡(luò)范圍內(nèi)必須是唯一的,所以一個(gè)IP地址在整個(gè)網(wǎng)絡(luò)中都是唯一的。目前分為A、B、C、D、E 五類(lèi)IP地址。
在A、B、C 三類(lèi)地址中灰色的部分即為網(wǎng)絡(luò)號(hào),網(wǎng)絡(luò)號(hào)的前三位是類(lèi)別位,分別是0,10,110。也就是說(shuō)我們可以憑借這個(gè)類(lèi)別位置來(lái)判斷網(wǎng)絡(luò)類(lèi)別。
32位的總長(zhǎng)度,由于A、B、C 三類(lèi)網(wǎng)絡(luò)號(hào)的長(zhǎng)度的不同,導(dǎo)致A、B、C 類(lèi)地址的主機(jī)號(hào)字段的字節(jié)數(shù)分別為3、2、1(一個(gè)字節(jié)8位)。
D 類(lèi)地址的網(wǎng)絡(luò)號(hào)為1110,用于多播(一對(duì)多通訊)。
E 類(lèi)地址的網(wǎng)絡(luò)號(hào)為1111,保留以后使用。
因此我們一般使用的就是ABC三類(lèi)網(wǎng)絡(luò)地址,IP地址是32位的二進(jìn)制代碼,為了提高可讀性,把32位的IP地址中的每8位用等效的十進(jìn)制表示出來(lái)(點(diǎn)分十進(jìn)制),于是我們?nèi)粘I钪谐R?jiàn)的IP地址就出現(xiàn)了。例如:IP地址,128.11.3.31,轉(zhuǎn)化為二進(jìn)制為 100000000 00001011 00000011 00011111 ,可以看出類(lèi)別位為 10,可以判斷為一個(gè)B類(lèi)地址。
三、常用IP地址的指派范圍
1. 網(wǎng)絡(luò)號(hào)指派范圍
(1) A類(lèi)地址網(wǎng)絡(luò)號(hào)占用一個(gè)字節(jié),但是由于有一位是類(lèi)別位,只有7位可供使用,但是由于規(guī)定,網(wǎng)絡(luò)字段全0是個(gè)保留字段表示本網(wǎng)絡(luò),而127(01111111)是另外一個(gè)保留字段,作為本地軟件的環(huán)回測(cè)試。
我們常見(jiàn)的127.0.0.1表示本機(jī),原因也是出自這里。
所以A類(lèi)地址可以指派的網(wǎng)絡(luò)號(hào)個(gè)數(shù)為(27-2)。
(2) B類(lèi)網(wǎng)絡(luò)地址網(wǎng)絡(luò)號(hào)有兩個(gè)字節(jié),前兩位為10已經(jīng)固定,只剩下14位可用,由于這14位無(wú)論怎么取值都不會(huì)使得網(wǎng)絡(luò)號(hào)為全0或者全1,單實(shí)際上規(guī)定,規(guī)定B類(lèi)最小網(wǎng)絡(luò)地址為128.1.0.0。
因此B類(lèi)地址可指派的網(wǎng)絡(luò)號(hào)個(gè)數(shù)為(214-1)。
(3) C類(lèi)地址有3個(gè)字節(jié)的網(wǎng)絡(luò)字段號(hào),前三位固定110,只有剩下21位可用,同樣C類(lèi)地址可指派的最小網(wǎng)絡(luò)地址也是192.0.1.0。
因此C類(lèi)地址可指派的網(wǎng)絡(luò)號(hào)個(gè)數(shù)為(221-1)。
2. 主機(jī)號(hào)指派范圍
由于主機(jī)號(hào)有規(guī)定,全0的主機(jī)號(hào)代表IP地址是“本主機(jī)”所連接到的單個(gè)網(wǎng)絡(luò)地址(例,一主機(jī)地址為5.6.7.8,則該主機(jī)所在的網(wǎng)絡(luò)地址為5.0.0.0),而全1則表示“所有的”,即表示該網(wǎng)絡(luò)上的所有主機(jī)。
A類(lèi)地址的主機(jī)號(hào)是由三個(gè)字節(jié),24位組成,所以每一個(gè)A類(lèi)網(wǎng)絡(luò)中可分配的主機(jī)個(gè)數(shù)為(224-2)。
B類(lèi)地址的主機(jī)號(hào)是由兩個(gè)字節(jié),16位組成,所以每一個(gè)B類(lèi)網(wǎng)絡(luò)中可分配的主機(jī)個(gè)數(shù)為(216-2)。
C類(lèi)地址的主機(jī)號(hào)是由一個(gè)字節(jié),8位組成,所以每一個(gè)C類(lèi)網(wǎng)絡(luò)中可分配的主機(jī)個(gè)數(shù)為(28-2)。
3. 總結(jié)IP指派范圍
綜上網(wǎng)絡(luò)號(hào)和主機(jī)號(hào)的指派描述可知,IP地址空間共有232個(gè)地址。
所有A類(lèi)地址共有(27-2)??(224-2)個(gè),大約231,占50%;
所有B類(lèi)地址共有(214-1)??(216-2)個(gè),大約230,占25%;
所有C類(lèi)地址共有(221-1)??(28-2)個(gè),大約229,占12.5%;
所以可以這樣來(lái)表示一個(gè)A類(lèi)IP地址 n.x.y.zn.x.y.z,若1≤n≤1261≤n≤126,0≤x,y,z≤2550≤x,y,z≤255,其中 x,y,zx,y,z不同時(shí)為0也不能同時(shí)為255.
所以可以這樣來(lái)表示一個(gè)B類(lèi)IP地址 n.m.x.yn.m.x.y,若128≤n≤191128≤n≤191,0≤m≤2550≤m≤255,0≤x,y≤2550≤x,y≤255,其中 I. 當(dāng)n=128n=128時(shí),m≠0m≠0; II. x,yx,y不同時(shí)為0也不能同時(shí)為255;
所以可以這樣來(lái)表示一個(gè)C類(lèi)IP地址 n.m.k.xn.m.k.x,若192≤n≤223192≤n≤223,0≤m,k≤2550≤m,k≤255,1≤x≤2541≤x≤254,其中 當(dāng)n=192n=192時(shí),k≠0k≠0.
4. IP地址和硬件地址
從層次角度來(lái)看,硬件地址是數(shù)據(jù)鏈路層和物理層使用的地址(常稱作MAC地址),而IP地址是網(wǎng)絡(luò)層和以上各層使用的地址,是一種邏輯地址。在網(wǎng)絡(luò)層我們進(jìn)行數(shù)據(jù)報(bào)文從IP1傳輸?shù)絀P2,無(wú)論我們中間經(jīng)過(guò)多少次轉(zhuǎn)發(fā),從網(wǎng)絡(luò)層來(lái)看,源地址始終是IP1,目的地址始終是IP2。但是從數(shù)據(jù)鏈路層來(lái)看,顯然就不是這樣了,這些是物理地址,很有可能從源節(jié)點(diǎn)經(jīng)過(guò)多次中間節(jié)點(diǎn)的物理地址的轉(zhuǎn)變才能到達(dá)目的節(jié)點(diǎn)。而IP地址和物理地址的之間的轉(zhuǎn)化則需要依靠?jī)蓚€(gè)重要的協(xié)議ARP(地址解析協(xié)議),RARP(逆地址解析協(xié)議)。IP地址通過(guò)ARP轉(zhuǎn)化成物理地址,物理地址可以通過(guò)RARP轉(zhuǎn)化成相應(yīng)的IP地址。
四、子網(wǎng)和超網(wǎng)
簡(jiǎn)單的來(lái)說(shuō)就是如何來(lái)管理一個(gè)IP地址下的多臺(tái)主機(jī)。
1. 子網(wǎng)
現(xiàn)在假設(shè)這樣一個(gè)場(chǎng)景,一個(gè)數(shù)據(jù)報(bào)起目的地址是145.13.3.10(在子網(wǎng) 145.13.3.0中),已經(jīng)到達(dá)路由器R1(145.13.0.0),那么這個(gè)路由器怎么將它轉(zhuǎn)發(fā)到145.13.3.0呢?我們并不知道目的地址是否進(jìn)行了子網(wǎng)的劃分。這就引出了子網(wǎng)掩碼的概念了,子網(wǎng)掩碼也是32位,由一串1和0組成,子網(wǎng)掩碼中的1對(duì)應(yīng)于IP地址中的網(wǎng)絡(luò)號(hào)位置+子網(wǎng)網(wǎng)絡(luò)號(hào)位置,子網(wǎng)掩碼中的0對(duì)應(yīng)與IP地址中現(xiàn)在的主機(jī)號(hào)位置。我們只要將IP地址和子網(wǎng)掩碼進(jìn)行“與”運(yùn)算,如果進(jìn)行子網(wǎng)的劃分,就立刻得出要找的子網(wǎng)的網(wǎng)絡(luò)地址,如果沒(méi)有進(jìn)行子網(wǎng)劃分(有默認(rèn)的子網(wǎng)掩碼),則直接能夠得出該IP地址的網(wǎng)絡(luò)地址出來(lái)。
A類(lèi)地址的默認(rèn)子網(wǎng)掩碼是255.0.0.0
B類(lèi)地址的默認(rèn)子網(wǎng)掩碼是255.255.0.0
C類(lèi)地址的默認(rèn)子網(wǎng)掩碼是255.255.255.0
2. 超網(wǎng)
無(wú)分類(lèi)編址CIDR,使用變長(zhǎng)的子網(wǎng)掩碼,可以進(jìn)一步提高IP地址的資源利用率。有兩個(gè)特點(diǎn):
第一,消除了傳統(tǒng)的ABC類(lèi)地址及劃分子網(wǎng)的概念,CIRD把32位的IP地址劃分成為兩個(gè)部分,網(wǎng)絡(luò)前綴和剩下的部分,表示方法為,在IP地址后面加上“/”,然后寫(xiě)上網(wǎng)絡(luò)前綴所占位數(shù)。
第二,把網(wǎng)絡(luò)前綴相同的IP地址組成一個(gè)CIDR地址塊,例如,IP地址 128.14.35.7/20 用二進(jìn)制表示 100000000 00001110 00100011 00000111,所以我們很容易可以得出這塊地址中最小地址為128.14.32.0,即 100000000 00001110 00100000 00000000,最大地址為128.14.47.255,即 100000000 00001110 00101111 11111111.
為了更加方便進(jìn)行路由選擇,CIDR使用32位的地址掩碼,1的個(gè)數(shù)就是網(wǎng)絡(luò)前綴的長(zhǎng)度,如上面所舉例中的/20的地址塊的地址掩碼是 11111111 11111111 11110000 00000000因此可以看出,網(wǎng)絡(luò)前綴越短,其地址塊所包含的地址就越多,這樣可以根據(jù)實(shí)際情況更加有效的分配IPv4的地址空間。
評(píng)論
查看更多