IP地址和子網(wǎng)掩碼的計(jì)算(IP地址子網(wǎng)掩碼的計(jì)算)
連接在網(wǎng)絡(luò)中的每一個(gè)設(shè)備都需要唯一的IP地址,但是由于我們目前主流在使用的IPv4版本的IP 地址其實(shí)是不夠現(xiàn)在的互聯(lián)網(wǎng)使用者分的,所以IP地址被分為了公網(wǎng)IP地址和私網(wǎng)IP地址,并且使用了NAT技術(shù)來緩解IP不夠的問題,有寫,有興趣的可以點(diǎn)擊閱讀。在IP地址和子網(wǎng)掩碼中簡(jiǎn)單了說了WINDOWS系統(tǒng)怎么查看IP地址并且談到了用子網(wǎng)掩碼來判斷兩個(gè)IP地址是不是同一網(wǎng)段來決定數(shù)據(jù)的轉(zhuǎn)發(fā)。
私有IP地址段
IP地址是由32位的二進(jìn)制表示的有層次的地址,也就是32個(gè)0和1中間用英文的句號(hào)分隔,每8位一組一共四組,但顯示一堆的0和1并不容易閱讀,于是我們使用了最常用的10進(jìn)制來表示IP地址,由于8位二進(jìn)制數(shù)最大的十進(jìn)制是二的8次方等于256,于是每組最大的數(shù)就是255(從0開始表示0到255剛好是256個(gè)數(shù))所以IP地址最大的取值是255.255.255.255。每個(gè)組可以有256個(gè)IP地址。比如我們常用的192.168.1.*,最后的*號(hào)就可以取值0到255,IP地址配合子網(wǎng)掩碼來決定自己哪些是網(wǎng)絡(luò)位,哪些是主機(jī)位,網(wǎng)絡(luò)號(hào)一致的就是同一網(wǎng)段也可以說是同一組,主機(jī)位決定整個(gè)組里可以容納多少個(gè)主機(jī)。
默人網(wǎng)絡(luò)號(hào)
子網(wǎng)掩碼也是四組用點(diǎn)分隔和IP地址很像,但是他有明確的特征那就是二進(jìn)制下他的1總是從左邊開始連續(xù)的,無一例外,對(duì)應(yīng)于子網(wǎng)掩碼二進(jìn)制下的1的就是網(wǎng)絡(luò)位,0的就是主機(jī)位。比如192.168.1.1的默認(rèn)子網(wǎng)掩碼是255.255.255.0轉(zhuǎn)換成二進(jìn)制就是11111111.11111111.11111111.00000000,根據(jù)子網(wǎng)掩碼左邊連續(xù)1的特點(diǎn),255.0.0.255決不是一個(gè)正確的子網(wǎng)掩碼。計(jì)算的方式就是把IP地址和子網(wǎng)掩碼都轉(zhuǎn)換成二進(jìn)制,然后做與運(yùn)算,1和1得1,0和0得0,1和0或0和1得0,得到的結(jié)果一樣就是同一網(wǎng)段,不同就不是。比如192.168.1.1和192.168.1.200在默認(rèn)的子網(wǎng)掩碼255.255.255.0下是不是同一組?
255.255.255.0
從以上圖看到計(jì)算結(jié)果是一樣的,對(duì)應(yīng)于255.255.255的是網(wǎng)絡(luò)位,對(duì)應(yīng)于0的則是主機(jī)位。如果我們改變子網(wǎng)掩碼,那么192.168.1.1和192.168.1.200還是一組的嗎?比如子網(wǎng)掩碼是255.255.255.128。讓我們用以上的方式計(jì)算,可以看到結(jié)果并不一樣,它可以把一個(gè)大的地址塊劃分成小的地址塊,這就是子網(wǎng)掩碼的作用,子網(wǎng)掩碼可以加長(zhǎng)1的數(shù)量也可以減少1的數(shù)量,所以如果想讓192.168.1.1和192.168.2.1在同一個(gè)網(wǎng)段內(nèi),可以通過減少子網(wǎng)掩碼二進(jìn)制1的數(shù)量比如255.255.0.0。自己可以算下他們的結(jié)果是不是一樣的。
255.255.255.128
在圖片中計(jì)算出的192.168.1.0就是網(wǎng)段號(hào),也可以理解成組號(hào)或者微信群,里面有成員,那么有多少個(gè)成員呢?顯然不同的子網(wǎng)掩碼不同,對(duì)于默認(rèn)的255.255.255.0來說那就是256,但對(duì)于我們改變后的255.255.255.128來說就是128個(gè),因?yàn)樽畲笕≈凳?56,減去128得128。那就是128個(gè)成員,兩個(gè)組。他們192.168.1.0到192.168.1.127和192.168.1.128到192.168.1.255。所以255.255.255.192的子網(wǎng)掩碼就是256-192=64。每組64個(gè)成員一共4組。192.168.1.0到192.168.1.63,192.168.1.64到192.168.1.127,192.168.1.128到192.168.1.191,192.168.1.192到192.168.1.255。
IP和子網(wǎng)絡(luò)掩碼
你會(huì)發(fā)現(xiàn)IP地址通常從1開始,其實(shí)二進(jìn)制下的主機(jī)位全0代表著網(wǎng)段號(hào),主機(jī)位全1代表著廣播號(hào),所以一組里最前面和最后面的都不會(huì)分配給主機(jī)使用。如果你在WINDOWS系統(tǒng)中給網(wǎng)卡指定IP地址寫了192.168.1.0和255.255.255.0是會(huì)報(bào)錯(cuò)的。因?yàn)樗闹鳈C(jī)位是最后一組全0,所以是網(wǎng)段號(hào)不能分配給主機(jī),同樣192.168.1.255子網(wǎng)掩碼是255.255.255.0也不能分配給主機(jī),因?yàn)槭菑V播號(hào)。那192.168.1.128和子網(wǎng)掩碼255.255.255.128可以分配給電腦不?
IP地址
是同一組的成員就直接通訊,如果不是同一組的成員那么就需要網(wǎng)關(guān)來向外轉(zhuǎn)發(fā)。所以在電腦中當(dāng)你要訪問一個(gè)IP地址時(shí),那么首先會(huì)經(jīng)過計(jì)算,如果和網(wǎng)卡所有的IP地址的結(jié)果一致那就意味著在同一網(wǎng)段,直接可以交給交換機(jī)利于二層MAC地址來通訊,如果不同那就需要交給網(wǎng)關(guān)來繼續(xù)向外部轉(zhuǎn)發(fā)。這里所說的網(wǎng)關(guān)其實(shí)也是同一網(wǎng)段的一個(gè)IP地址,很多家用路由器的網(wǎng)關(guān)都是路由器本身的管理地址。和網(wǎng)卡獲取到的IP地址是同一組的可以直接通訊。這樣路由器收到不是同網(wǎng)段的地址就通過WAN口發(fā)送到了互聯(lián)網(wǎng)了。如果是目的IP是同網(wǎng)段的,則會(huì)發(fā)送到對(duì)應(yīng)的LAN口而不會(huì)向WAN發(fā)送。