1. 程式人生 > >網路號,IP,子網掩碼之間的關係

網路號,IP,子網掩碼之間的關係

網路號=IP乘以子網掩碼

IP、子網掩碼、網路號之間的關係、區分和運算
IP地址總共是32位二進位制數表示,每8位為一節,總共4節。日常使用中每節用一個十進位制表示(0-255)。每個IP地址都是由網路號+主機號組成,前面N位表示網路號,後面32-N位表示主機號。到底前面幾位表示網路號就是由子網掩碼來區分,在子網掩碼中用1和0來分別網路號位和主機號位,其中是1的表示是網路位,0表示主機位,前面說的IP中前面的N位表示網路號,後面的32-N位才是主機號,所以子網掩碼總是前面一段全是1,後面一段全是0。我們的IP範圍就是主機號範圍。所有主機號中的最後一個主機號為廣播地址。
比如一個IP地址:192.168.0.1/24,這是我們常見的一個C類地址,用二進位制表示就是 IP:11000000 10101000 00000000 00000001 子:11111111 11111111 11111111 00000000
這就是說這個IP中,前24位表示網路號,後面8位表示主機號。也就是說我們IP取值範圍就是最後的8位從0000000-11111111之間,用十進位制表示也就是0-255之間,在地址中0不能作為IP地址使用,他是網路號的專用,也就是說我們的取值範圍是在1-255之間,其中1是閘道器地址(實際中我們組建區域網的時候不一定用1作閘道器這是另一回事),255是廣播地址,也就是說實際能使用的只有253個IP,即192.168.0.2-192.168.0.254。
那什麼是網路號呢?說得直接一點就是這個區域網在網路上的IP。我們知道每一臺計算機在網路上都有一個IP地址,這個IP地址就是這臺計算機在網路上的一個編號,那麼網路號也就是這個區域網在網際網路上的IP地址編號。網路號的計算方法是把IP地址與子網掩碼作“與”運算,所謂的與運算,就相當於我們並時所說的乘運算,當兩個同為1時其結果為1,如果其中有一個是0則結果是0。在上面的例子中前面的24位是網路號那麼這個區域網在網路中的編號就是192.168.0.0,現在知道為什麼0始終不能用為IP地址了吧。如果兩臺機的網路號不一樣,表示這兩臺機不在同一個區域網中。比如有如下兩個IP:192.168.0.115/24,192.168.5.115/24,用二進位制表示就是:
IP1: 11000000 10101000 00000000 01110011 子網: 11111111 11111111 11111111 00000000 網路號: 11000000 10101000 00000000 00000000 十進位制表示網路號:192.168.0.0
IP2: 11000000 10101000 00000101 01110011 子網: 11111111 11111111 11111111 00000000 網路號: 11000000 10101000 00000001 00000000 十進位制表示網路號:192.168.5.0 兩個IP的網路號不一樣,表示這兩個IP不在同一個區域網中。
又比如我網咖從電信公司分到一組IP:89.153.43.225/29,那麼換成二進位制就是
IP:01011001 10011001 00101011 11100001 子:11111111 11111111 11111111 11111000 可以清楚的看出這組IP在網路上的網路號是前面的29位,用十進位制表示就是89.153.43.224,這組IP的主機號就是最後的三位,我們說過主機號範圍就是IP範圍。我網咖從電信公司分得的IP範圍用二進位制表示就是: IP1:01011001 10011001 00101011 11100000 IP2:01011001 10011001 00101011 11100001 IP3:01011001 10011001 00101011 11100010 IP4:01011001 10011001 00101011 11100011 IP5:01011001 10011001 00101011 11100100 IP6:01011001 10011001 00101011 11100101 IP7:01011001 10011001 00101011 11100110 IP8:01011001 10011001 00101011 11100111
我們說過0只能用來表示網路號,不能用於IP,所以上面的8個IP中,只有IP2-IP8是合法的,用十進位制表示就是89.153.43.225-231,其中89.153.43.225是閘道器,89.153.43.231是廣播地址,實際可用IP是89.153.43.226-230,因為這一組IP的網路號同為89.153.43.224,

那麼已知IP地址以及它的子網掩碼,如何知道其網路地址,主機號,廣播地址以及可用的主機地址呢?
首先將IP地址和子網掩碼用二進位制表示,那麼
網路地址=IP地址 and 子網掩碼(and表示”與”操作) ;
主機號=IP地址 and 子網掩碼的反碼;
廣播地址=將網路號右邊表示主機部分的二進位制變1;
可用的主機地址:網路號+1————-廣播地址-1。
舉例:
172.16.2.10/255.255.255.0
首先我們可以知道它是B類地址.
將172.16.2.10用二進位制表示:10101100 00010000 00000010 00001010

255.255.255.0用二進位制表示:11111111 11111111 11111111 00000000

“與”操作 10101100 00010000 00000010 00000000
網路地址: 172 . 16 . 2 . 0
將網路地址右邊表示主機部分的二進位制變1,即
10101100 00010000 00000010 11111111
廣播地址: 172 . 16 . 2 . 255
可用主機地址為: 172.16.2.1——172.16.2.254

192.168.100.5/255.255.255.0
首先我們可以知道它是C類地址.
255.255.255.0 11111111 11111111 11111111 00000000

192.168.100.5 11000000 10101000 01100100 00000101

“與”操作 11000000 10101000 01100100 00000000
網路地址: 192 . 168 . 100 . 0
廣播地址:
11000000 10101000 01100100 11111111
192 . 168 . 100 . 255
可用主機地址為:192.168.100.1——192.168.100.254