前言
??上文介紹了IP數(shù)據(jù)報格式,其中IP數(shù)據(jù)報的首部固定部分有一個版本字段表示IP協(xié)議的版本,目前應用最廣泛的是IPv4地址和IPv6地址。本文主要介紹IPv4地址。
本文內容

1 IP編址的歷史階段
??(1) 分類的IP地址,這是最基本的編址方法。
??(2) 子網(wǎng)的劃分。
??(3) 構成超網(wǎng)(無分類編址方法)
??分類的IP地址是本文介紹的內容。
2 IP地址
??IP地址是32個比特(IPv4)編號標識主機、路由器的接口。一個IP地址在互聯(lián)網(wǎng)中范圍內是唯一的,類比身份證號。
??分類的IP地址就是將IP地址劃分成若干個固定類,其中A類,B類和C類都是由兩個固定長度的字段組成:
網(wǎng)絡號(net-id):它標志主機(或路由器)所連接的到的網(wǎng)絡。
主機號(host-id):它標志該主機,一臺主機號在它所在的網(wǎng)絡號的范圍中是唯一的。
??所以,IP地址可以表示為:{<網(wǎng)絡號>,<主機號>}
??在介紹分類之前,先介紹下IP地址的表示,在機器中存放的IP地址是連續(xù)的二進制代碼,但是為了提高可讀性,通常把32位對應的IP地址每8位插入一個空格,再為了便于書寫,將二進制代碼用十進制數(shù)字表示,并且在這些數(shù)字中間加上一個點,這叫做點分十進制記法。

3 分類的IP地址
??分類的IP地址分為:A類、B類、C類、D類和E類。

??其中A類、B類和C類IP地址是由網(wǎng)絡號和主機號兩個字段組成。
(1) A類地址網(wǎng)絡號長度為1個字節(jié),并且第1位固定為0。IP地址范圍:0.0.0.0~127.255.255.255。
(2) B類地址網(wǎng)絡號長度為2個字節(jié),并且第1位固定為10。IP地址范圍:128.0.0.0~191.255.255.255。
(3) C類地址網(wǎng)絡號長度為3個字節(jié),并且第1位固定為110。IP地址范圍:192.0.0.0~223.255.255.255。
(4) D類地址前4位是1110,該類地址用于多播(一對多通信)。IP地址范圍:224.0.0.0~239.255.255.255。多播后面再說。
(5) E類地址的前4位是1111,該類地址保留以后用。IP地址范圍:240.0.0.0~255.255.255.255。
??從IP地址的結構看,IP地址不僅僅指明一臺主機,還指明了主機所連接的網(wǎng)絡。網(wǎng)絡地址即可以使用IP地址中網(wǎng)絡號字段的值表示,也可以用主機號為全0的網(wǎng)絡IP地址。如下圖所示,對于IP地址為222.1.1.1的主機,其網(wǎng)絡地址可以表示為222.2.1.1.0。
??下圖畫出了三個局域網(wǎng)通過三個路由器互連構成的一個互聯(lián)網(wǎng)。

??子網(wǎng):具有相同網(wǎng)絡號的所有主機構成的集合。如上圖中所有IP地址為222.1.1.1~222.1.1.3的所有主機構成了子網(wǎng)2。
(1) 在一個局域網(wǎng)中的主機或路由器的IP地址中的網(wǎng)絡號必須是一樣的。
(2) 路由器總是具有2個或2個以上的IP地址,這是因為一個路由器至少連接到兩個網(wǎng)絡,即路由器的每個接口都對應一個IP地址。這里可以將路由器理解為兩條路的交叉口,路交叉口至少有兩個路牌。
(3) 當兩個路由器直接相連時,在連線兩端既可以分配IP地址也可以分配,如果分配了IP地址,如下圖這樣的,那么這段線就構成了一種只包含一段線路的特殊網(wǎng)絡。如果沒有分配IP地址,對于這種僅由一段連線構成的特殊網(wǎng)絡叫做無編號網(wǎng)絡或無名網(wǎng)絡。現(xiàn)在為了節(jié)省IP地址資源,常常不分配。
4 特殊的IP地址
??上面介紹了IP地址的分類,但不是所有的IP地址都可以分配給主機使用,其中有一些IP地址一般是不使用,這些地址只能在特定的情況下使用。

??(1) 網(wǎng)絡號全是0,主機號也全是0,即0.0.0.0,網(wǎng)絡號字段為全0的IP地址是保留地址,意思是“本網(wǎng)絡”,即主機所在的局域網(wǎng)(子網(wǎng)),主機號全是0表示本主機,即在主機所在網(wǎng)路內表示主機自身。舉個例子,如果一臺主機的不明確自己的IP地址,但是還要利用IP協(xié)議發(fā)送分組時,其就用0.0.0.0表示自己的源IP地址,所以它也只能作為源地址不能作為目的地址。
??(2) 網(wǎng)絡號全是0,主機號是特定值,它表示的是本網(wǎng)絡內某個特定主機,它只能作為目的地址,不能作為源地址,其網(wǎng)絡號默認和發(fā)送的主機的網(wǎng)絡號相同。
??(3) 網(wǎng)絡號全是1,主機號全是1,即255.255.255.255,表示本網(wǎng)的廣播地址,只能在本網(wǎng)(發(fā)送廣播分組的源主機所在的IP子網(wǎng))中廣播時作為目的地址使用,并且只能在本網(wǎng)絡中傳播。顯然它可以作為目的地址而不能作為源地址。
??(4) 網(wǎng)絡號為特定值,主機號為0,網(wǎng)絡地址,表示一個網(wǎng)絡,既不能作為源地址也不能作為目的地址。
??(5) 網(wǎng)絡號為特定值,主機號全為1,表示直接廣播地址,對特定網(wǎng)絡上的所有主機進行廣播。
它與255.255.255.255的區(qū)別就是:如果需要廣播的網(wǎng)絡就是發(fā)送廣播的源主機所在的網(wǎng)絡直接使用255.255.255.255即可,但是如果要發(fā)起廣播的源主機所在網(wǎng)絡和需要廣播的網(wǎng)絡不是同一個,那么就需要使用直接廣播地址。
例如,對于一個網(wǎng)絡中的一個主機,網(wǎng)絡地址為222.1.1.0,網(wǎng)絡中由一臺主機,其IP地址為222.1.1.1,如果它想給本網(wǎng)絡中所有主機廣播一個分組,那么目的地址的IP地址可以直接使用255.255.255.255。如果該主機想給網(wǎng)絡地址為222.1.2.0網(wǎng)絡中所有的主機廣播一個分組,那么就必須使用直接廣播地址,即目的地址必須為222.1.2.0。
??(6) 網(wǎng)絡號為127,主機號為任意的非全為0或非為1的數(shù),它稱為環(huán)回地址,用于作為本地軟件環(huán)回測試本主機進程之間的通信。若主機發(fā)送一個目的地址環(huán)回地址(如127.0.0.1)的IP數(shù)據(jù)報,則本機中的協(xié)議軟件就處理數(shù)據(jù)報中的數(shù)據(jù),而不會將據(jù)報發(fā)送到任何網(wǎng)絡。另外如果要通信的地址就是本機的話也可以使用該地址。的它既可以作為源地址也可以作為目的地址。
5 私有(專用)IP地址
??除了上面的特殊IP地址外,A、B、C三類地址里還保留了一部分地址空間作為私有地址,這些地址只用于內部網(wǎng)絡(如學校的校園網(wǎng)、公司的內部網(wǎng)),在公共互聯(lián)網(wǎng)上這部分地址是無效的。私有IP地址在公共互連網(wǎng)上直接通信是行不通,如果要實現(xiàn)在公共互連網(wǎng)上通信,就需要NAT技術,見下一篇。
私有IP地址在公共網(wǎng)絡上是為什么是無效的:如果要將一個數(shù)據(jù)發(fā)送到一個私有地址,因為這些網(wǎng)絡IP地址是私有的,在全世界可能有很多地方的私有網(wǎng)絡都有這樣的IP地址,所有公共互連網(wǎng)并不知道要把這個數(shù)據(jù)送到哪里去,所有互連網(wǎng)會將數(shù)據(jù)給丟失。
??其中A類保留了1個網(wǎng)段、B類保留了16個網(wǎng)段、C類保留了256個網(wǎng)段,各網(wǎng)段的地址范圍如下圖所示
(1) A類:10網(wǎng)段
(2) B類:172.16~172.31網(wǎng)段
(3) C類:192.168.0~192.168.255網(wǎng)段

??私有IP地址是非常有意義的,由于在所有的私有網(wǎng)絡或內部網(wǎng)絡都可以使用它們,因此它們可以被重用。正是因為這些私有地址再加上NAT技術,使得現(xiàn)在的IPv4網(wǎng)絡即使它的地址空間已經被分配殆盡了,整個互連網(wǎng)還可以正常運行沒有任何問題。
6 三類IP地址可以指派的范圍

(1) A類網(wǎng)絡的最大可指派網(wǎng)絡數(shù)是27-2,A類網(wǎng)絡號占8位,其中第1位固定,所以共有27個網(wǎng)絡號,但是網(wǎng)絡號全為0,是特殊IP地址,不能分配給主機,同時網(wǎng)絡號為127的是環(huán)回地址,也不能分配給主機使用。主機號占24位,其中全為0的是特殊IP地址,表示本主機,全為1的是廣播地址,也是特殊地址,不能分配給主機。
(2) B類網(wǎng)絡最大可以指派的網(wǎng)絡數(shù)是214-1,B類網(wǎng)絡號占16位,其中前兩位固定位為(1,0),所以不存在全為0或全為1的情況,但是實際上網(wǎng)絡號為128.0是不指派的,即網(wǎng)絡號位除了前2位固定位之外其余的14位都是0,所以需要減1。主機數(shù)減2與A類一樣。
(3) C類網(wǎng)絡最大指派的網(wǎng)絡數(shù)是221-1,C類網(wǎng)絡號占24位,其中前三位固定位為(1,1,0),所以也不存在全為0或全為1的情況,同樣192.0.0也是不指派的,即網(wǎng)絡號除了前3位固定位之外其余21位都是0,所以也需要減1。主機數(shù)減2與A類一樣。
6 小結
