什么是子網(wǎng)掩碼?
子網(wǎng)掩碼(Subnet Mask)是一種用于指明一個(gè)IP地址的哪些位標(biāo)識(shí)的是主機(jī)所在的子網(wǎng),以及哪些位標(biāo)識(shí)的是主機(jī)的位掩碼。
去找公司運(yùn)維問(wèn)出口ip,得到答復(fù)說(shuō):XX.XX.XX.128/25 這個(gè)網(wǎng)段一百多個(gè)ip都是我們的ip內(nèi)心:???100+的ip?這個(gè)25代表什么?應(yīng)該是誤把255打成25了吧!恩,對(duì)的,應(yīng)該是想說(shuō)XX.XX.XX.128到XX.XX.XX.255這差不多有100多個(gè)的!!是問(wèn)了問(wèn)這個(gè)25是什么,運(yùn)維大哥回答說(shuō)這是子網(wǎng)掩碼。?????
我們可以將IP地址比作一個(gè)人的住址,其中包含了省、市、區(qū)和具體的門牌號(hào)信息。子網(wǎng)掩碼的作用就像是一個(gè)過(guò)濾器,它可以幫助計(jì)算機(jī)確定一個(gè)IP地址是否與本地網(wǎng)絡(luò)在同一個(gè)“市區(qū)”內(nèi)。
以IPv4地址為例,其子網(wǎng)掩碼通常是一個(gè)32位的數(shù)字,其中前一部分為連續(xù)的1,后一部分為連續(xù)的0。例如,常見(jiàn)的子網(wǎng)掩碼有255.255.255.0、255.255.0.0、255.0.0.0等。其中,連續(xù)的1部分表示網(wǎng)絡(luò)地址,連續(xù)的0部分表示主機(jī)地址。
當(dāng)計(jì)算機(jī)需要發(fā)送數(shù)據(jù)到另一個(gè)IP地址時(shí),它會(huì)將目標(biāo)IP地址和子網(wǎng)掩碼進(jìn)行按位與運(yùn)算。如果結(jié)果與自己所在的網(wǎng)絡(luò)地址相同,則說(shuō)明目標(biāo)IP地址在同一個(gè)本地網(wǎng)絡(luò)內(nèi);否則,說(shuō)明目標(biāo)IP地址在不同的網(wǎng)絡(luò)中,需要將數(shù)據(jù)發(fā)送到默認(rèn)網(wǎng)關(guān)進(jìn)行轉(zhuǎn)發(fā)。
子網(wǎng)掩碼不能單獨(dú)存在,必須結(jié)合IP地址一起使用。它的作用是將某個(gè)IP地址劃分成網(wǎng)絡(luò)地址和主機(jī)地址兩部分。子網(wǎng)掩碼是一個(gè)32位地址,用于屏蔽IP地址的一部分以區(qū)別網(wǎng)絡(luò)標(biāo)識(shí)和主機(jī)標(biāo)識(shí),并說(shuō)明該IP地址是在局域網(wǎng)上,還是在廣域網(wǎng)上。
在TCP/IP協(xié)議中,SUBNET MASK子網(wǎng)掩碼)的作用是用來(lái)區(qū)分網(wǎng)絡(luò)上的主機(jī)是否在同一網(wǎng)絡(luò)取段內(nèi)。在大型網(wǎng)絡(luò)中,CLASS A的SUBNET MASK為255.0.0.0,CLASS B的SUBNET MASK為255.255.0.0,CLASS C的SUBNET MASK為255.255.255.0。
假設(shè)我們有一個(gè)192.168.1.1的IP地址,我們知道它的子網(wǎng)掩碼是255.255.255.0。這意味著前三個(gè)八位組(24位)是網(wǎng)絡(luò)部分,最后一個(gè)八位組(8位)是主機(jī)部分。因此,這個(gè)IP地址的網(wǎng)絡(luò)部分是192.168.1,主機(jī)部分是1。
如果我們有一個(gè)192.168.1.2的IP地址,它的子網(wǎng)掩碼也是255.255.255.0。這意味著它也在同一個(gè)網(wǎng)絡(luò)段上,因?yàn)樗鼈兊木W(wǎng)絡(luò)部分(前三個(gè)八位組)相同。但是,這兩個(gè)IP地址的主機(jī)部分是不同的,因此它們指向網(wǎng)絡(luò)上的不同主機(jī)。
舉幾個(gè)例子,可以加深理解子網(wǎng)掩碼的用途。
例子1:假設(shè)有一個(gè)IP地址為192.168.1.100,它的子網(wǎng)掩碼為255.255.255.0。將這兩個(gè)數(shù)值進(jìn)行“與”運(yùn)算后,得到的結(jié)果是192.168.1.0,這就是該IP地址所屬的網(wǎng)絡(luò)地址。通過(guò)這種方式,可以將一個(gè)IP地址劃分成若干個(gè)子網(wǎng),以便于網(wǎng)絡(luò)管理員進(jìn)行管理和控制。
例子2:假設(shè)一個(gè)網(wǎng)絡(luò)中需要容納100臺(tái)主機(jī),使用子網(wǎng)掩碼255.255.255.0可以將該網(wǎng)絡(luò)劃分成256個(gè)子網(wǎng),每個(gè)子網(wǎng)最多包含254臺(tái)主機(jī)。這樣就可以更好地管理和控制網(wǎng)絡(luò),提高網(wǎng)絡(luò)的性能和安全性。
例子3:如果一個(gè)IP地址的子網(wǎng)掩碼為255.0.0.0,說(shuō)明它是A類IP地址。如果是255.255.0.0,則說(shuō)明它是B類IP地址。如果是255.255.255.0,則說(shuō)明它是C類IP地址。這些分類是依據(jù)子網(wǎng)掩碼來(lái)進(jìn)行的,而不同類別的IP地址擁有不同的網(wǎng)絡(luò)標(biāo)識(shí)和主機(jī)標(biāo)識(shí)。
主機(jī)地址和網(wǎng)絡(luò)地址
網(wǎng)絡(luò)地址: 可以簡(jiǎn)單理解我們平時(shí)常說(shuō)的網(wǎng)段 主機(jī)地址: 是在這個(gè)網(wǎng)段中不同設(shè)備的地址
子網(wǎng)掩碼
子網(wǎng)掩碼的作用:將 IP 地址劃分成網(wǎng)絡(luò)地址和主機(jī)地址兩部分。
子網(wǎng)掩碼是一個(gè)網(wǎng)絡(luò)掩碼,地址掩碼,是用來(lái)指明 IP 地址的哪些標(biāo)識(shí)是主機(jī)所在的子網(wǎng),以及哪些標(biāo)識(shí)是主機(jī)的位掩碼,子網(wǎng)掩碼不能單獨(dú)存在,必須和 IP 結(jié)合使用。
A類的默認(rèn)子網(wǎng)掩碼 255.0.0.0
B類的默認(rèn)子網(wǎng)掩碼 255.255.0.0
C類的默認(rèn)子網(wǎng)掩碼 255.255.255.0
子網(wǎng)掩碼的計(jì)算方式
子網(wǎng)掩碼的位數(shù)決定可能的子網(wǎng)數(shù)目和子網(wǎng)的主機(jī)數(shù)目。
根據(jù)子網(wǎng)數(shù)
利用子網(wǎng)數(shù)來(lái)計(jì)算:在求子網(wǎng)掩碼之前必須先搞清楚要?jiǎng)澐值淖泳W(wǎng)數(shù)目,以及每個(gè)子網(wǎng)內(nèi)的所需主機(jī)數(shù)目。
將子網(wǎng)數(shù)目轉(zhuǎn)化為二進(jìn)制來(lái)表示 2.取得該二進(jìn)制的位數(shù),為 N 3. 取得該IP地址的類子網(wǎng)掩碼,將其主機(jī)地址部分的前N位置1 即得出該IP地址劃分子網(wǎng)的子網(wǎng)掩碼。
如欲將B類IP地址168.195.0.0劃分成27個(gè)子網(wǎng):
- 27=11011
- 該二進(jìn)制為五位數(shù),N = 5
- 將B類地址的子網(wǎng)掩碼255.255.0.0的主機(jī)地址前5位置1(B類地址的主機(jī)位包括后兩個(gè)字節(jié),所以這里要把第三個(gè)字節(jié)的前5位置1),得到 255.255.248.0
根據(jù)主機(jī)數(shù)
利用主機(jī)數(shù)來(lái)計(jì)算:
- 將主機(jī)數(shù)目轉(zhuǎn)化為二進(jìn)制來(lái)表示
- 如果主機(jī)數(shù)小于或等于254(注意去掉保留的兩個(gè)IP地址),則取得該主機(jī)的二進(jìn)制位數(shù),為 N,這里肯定N<8。如果大于254,則 N>8,這就是說(shuō)主機(jī)地址將占據(jù)不止8位。
- 使用255.255.255.255來(lái)將該類IP地址的主機(jī)地址位數(shù)全部置1,然后從后向前的將N位全部置為 0,即為子網(wǎng)掩碼值。
如欲將B類IP地址168.195.0.0劃分成若干子網(wǎng),每個(gè)子網(wǎng)內(nèi)有主機(jī)700臺(tái):
700=1010111100
該二進(jìn)制為十位數(shù),N = 10
將該B類地址的子網(wǎng)掩碼255.255.0.0的主機(jī)地址全部置1,得到255.255.255.255
然后再?gòu)暮笙蚯皩⒑?0位置0,即為:11111111.11111111.11111100.00000000,即255.255.252.0。這就是劃分成主機(jī)為700臺(tái)的B類IP地址168.195.0.0的子網(wǎng)掩碼。
如何根據(jù)子網(wǎng)掩碼計(jì)算網(wǎng)絡(luò)地址和主機(jī)標(biāo)識(shí),子網(wǎng)掩碼與IP地址一樣是32位地址,然后將IP地址與子網(wǎng)掩碼進(jìn)行與運(yùn)算即可得到網(wǎng)絡(luò)地址
舉個(gè)例子:
IP地址為192.168.10.2,子網(wǎng)掩碼為255.255.255.240。
先將十進(jìn)制轉(zhuǎn)換成二進(jìn)制:
IP地址:11000000 10101000 00001010 00000010
子網(wǎng)掩碼:11111111 11111111 11111111 11110000
進(jìn)行與運(yùn)算:--------------------------
11000000 10101000 00001010 00000000
則可得其網(wǎng)絡(luò)標(biāo)識(shí)為192.168.10.0,主機(jī)標(biāo)識(shí)為2。
XX.XX.XX.128/25
回到開頭的,已經(jīng)說(shuō)過(guò)了子網(wǎng)掩碼也是32位的地址,那么開頭的25怎么轉(zhuǎn)化呢?
25的意思是網(wǎng)絡(luò)號(hào)為25,就代表連續(xù)的25個(gè)1,然后剩下的用0補(bǔ)齊,即11111111 11111111 11111111 10000000:
- 主機(jī)號(hào):主機(jī)號(hào)+網(wǎng)絡(luò)號(hào)=32,32-25=7
- 網(wǎng)絡(luò)地址:當(dāng)7位主機(jī)號(hào)全為0,也就是XX.XX.XX.128
- 廣播地址:當(dāng)7位主機(jī)號(hào)全為1,也就是XX.XX.XX.255
- 可用地址數(shù)量:7位主機(jī)號(hào)有2 ^ 7 種結(jié)果,但是要去掉網(wǎng)絡(luò)地址和廣播地址,即:2^7-2=126(這個(gè)也就是運(yùn)維所說(shuō)的一百多個(gè)ip)
總之,子網(wǎng)掩碼是一種非常重要的概念,它用于區(qū)分網(wǎng)絡(luò)上的主機(jī)是否在同一網(wǎng)絡(luò)段上。這在構(gòu)建和維護(hù)大型網(wǎng)絡(luò)時(shí)非常有用,因?yàn)樗梢詭椭W(wǎng)絡(luò)管理員更有效地管理和跟蹤網(wǎng)絡(luò)上的主機(jī)和設(shè)備。