在網(wǎng)上收集點(diǎn)資料
子網(wǎng)掩碼:
IP地址是以網(wǎng)絡(luò)號和主機(jī)號來標(biāo)示網(wǎng)絡(luò)上的主機(jī)的,我們把網(wǎng)絡(luò)號相同的主機(jī)稱之為本地網(wǎng)絡(luò),網(wǎng)絡(luò)號不相同的主機(jī)稱之為遠(yuǎn)程網(wǎng)絡(luò)主機(jī),本地網(wǎng)絡(luò)中的主機(jī)可以直接相互通信;遠(yuǎn)程網(wǎng)絡(luò)中的主機(jī)要相互通信必須通過本地網(wǎng)關(guān)(Gateway)來傳遞轉(zhuǎn)發(fā)數(shù)據(jù)。
1、子網(wǎng)掩碼的概念及作用
①、子網(wǎng)掩碼(Subnet Mask)又叫網(wǎng)絡(luò)掩碼、地址掩碼,必須結(jié)合IP地址一起對應(yīng)使用。
②、只有通過子網(wǎng)掩碼,才能表明一臺主機(jī)所在的子網(wǎng)與其他子網(wǎng)的關(guān)系,使網(wǎng)絡(luò)正常工作。
③、子網(wǎng)掩碼和IP地址做“與”運(yùn)算,分離出IP地址中的網(wǎng)絡(luò)地址和主機(jī)地址,用于判斷該IP地址是在本地網(wǎng)絡(luò)上,還是在遠(yuǎn)程網(wǎng)絡(luò)網(wǎng)上。
④、子網(wǎng)掩碼還用于將網(wǎng)絡(luò)進(jìn)一步劃分為若干子網(wǎng),以避免主機(jī)過多而擁堵或過少而IP浪費(fèi)。
2、子網(wǎng)掩碼的組成
①、同IP地址一樣,子網(wǎng)掩碼是由長度為32位二進(jìn)制數(shù)組成的一個地址。
②、子網(wǎng)掩碼32位與IP地址32位相對應(yīng),IP地址如果某位是網(wǎng)絡(luò)地址,則子網(wǎng)掩碼為1,否則為0。
③、舉個栗子:如:11111111.11111111.11111111.00000000
注:左邊連續(xù)的1的個數(shù)代表網(wǎng)絡(luò)號的長度,(使用時必須是連續(xù)的,理論上也可以不連續(xù)),右邊連續(xù)的0的個數(shù)代表主機(jī)號的長度。
3、子網(wǎng)掩碼的表示方法
①、點(diǎn)分十進(jìn)制表示法
二進(jìn)制轉(zhuǎn)換十進(jìn)制,每8位用點(diǎn)號隔開
例如:子網(wǎng)掩碼二進(jìn)制11111111.11111111.11111111.00000000,表示為255.255.255.0
②、CIDR斜線記法
IP地址/n
例1:192.168.1.100/24,其子網(wǎng)掩碼表示為255.255.255.0,二進(jìn)制表示為11111111.11111111.11111111.00000000
例2:172.16.198.12/20,其子網(wǎng)掩碼表示為255.255.240.0,二進(jìn)制表示為11111111.11111111.11110000.00000000
不難發(fā)現(xiàn),例1中共有24個1,例2中共有20個1,所以n是這么來的。運(yùn)營商ISP常用這樣的方法給客戶分配IP地址。
注:n為1到32的數(shù)字,表示子網(wǎng)掩碼中網(wǎng)絡(luò)號的長度,通過n的個數(shù)確定子網(wǎng)的主機(jī)數(shù)=2^(32-n)-2(-2的原因:主機(jī)位全為0時表示本網(wǎng)絡(luò)的網(wǎng)絡(luò)地址,主機(jī)位全為1時表示本網(wǎng)絡(luò)的廣播地址,這是兩個特殊地址)。
3、為什么要使用子網(wǎng)掩碼?
前面說道,子網(wǎng)掩碼可以分離出IP地址中的網(wǎng)絡(luò)地址和主機(jī)地址,那為什么要分離呢?因為兩臺主機(jī)要通信,首先要判斷是否處于同一網(wǎng)段,即網(wǎng)絡(luò)地址是否相同。如果相同,那么可以把數(shù)據(jù)包直接發(fā)送到目標(biāo)主機(jī),否則就需要路由網(wǎng)關(guān)將數(shù)據(jù)包轉(zhuǎn)發(fā)送到目的地。
可以這么簡單的理解:A主機(jī)要與B主機(jī)通信,A和B各自的IP地址與A主機(jī)的子網(wǎng)掩碼進(jìn)行And與運(yùn)算,看得出的結(jié)果:
1、結(jié)果如果相同,則說明這兩臺主機(jī)是處于同一個網(wǎng)段,這樣A可以通過ARP廣播發(fā)現(xiàn)B的MAC地址,B也可以發(fā)現(xiàn)A的MAC地址來實現(xiàn)正常通信。
2、如果結(jié)果不同,ARP廣播會在本地網(wǎng)關(guān)終結(jié),這時候A會把發(fā)給B的數(shù)據(jù)包先發(fā)給本地網(wǎng)關(guān),網(wǎng)關(guān)再根據(jù)B主機(jī)的IP地址來查詢路由表,再將數(shù)據(jù)包繼續(xù)傳遞轉(zhuǎn)發(fā),最終送達(dá)到目的地B。
計算機(jī)的網(wǎng)關(guān)(Gateway)就是到其他網(wǎng)段的出口,也就是路由器接口IP地址。路由器接口使用的IP地址可以是本網(wǎng)段中任何一個地址,不過通常使用該網(wǎng)段的第一個可用的地址或最后一個可用的地址,這是為了盡可能避免和本網(wǎng)段中的主機(jī)地址沖突。

4、子網(wǎng)掩碼的分類
①、缺省子網(wǎng)掩碼
也叫默認(rèn)子網(wǎng)掩碼,即未劃分子網(wǎng),對應(yīng)的網(wǎng)絡(luò)號的位都置 1 ,主機(jī)號都置 0 。
未做子網(wǎng)劃分的IP地址:網(wǎng)絡(luò)號+主機(jī)號
A類網(wǎng)絡(luò)缺省子網(wǎng)掩碼: 255.0.0.0,用CIDR表示為/8
B類網(wǎng)絡(luò)缺省子網(wǎng)掩碼: 255.255.0.0,用CIDR表示為/16
C類網(wǎng)絡(luò)缺省子網(wǎng)掩碼: 255.255.255.0,用CIDR表示為/24
②、自定義子網(wǎng)掩碼
將一個網(wǎng)絡(luò)劃分子網(wǎng)后,把原本的主機(jī)號位置的一部分給了子網(wǎng)號,余下的才是給了子網(wǎng)的主機(jī)號。其形式如下:
做子網(wǎng)劃分后的IP地址:網(wǎng)絡(luò)號+子網(wǎng)號+子網(wǎng)主機(jī)號
舉個栗子:
如:192.168.1.100/25,其子網(wǎng)掩碼表示:255.255.255.128
意思就是將192.168.1.0這個網(wǎng)段的主機(jī)位的最高1位劃分為了子網(wǎng)。關(guān)于子網(wǎng)劃分將在下篇文章講到,這里不在闡述。
5、子網(wǎng)掩碼和IP地址的關(guān)系
子網(wǎng)掩碼是用來判斷任意兩臺主機(jī)的IP地址是否屬于同一網(wǎng)絡(luò)的依據(jù),就是拿雙方主機(jī)的IP地址和自己主機(jī)的子網(wǎng)掩碼做與運(yùn)算,如結(jié)果為同一網(wǎng)絡(luò),就可以直接通信。
And按位與運(yùn)算:
與運(yùn)算是計算機(jī)中一種基本的邏輯運(yùn)算方式,符號表示為&,也可以表示為 and。
參加運(yùn)算的兩個數(shù)據(jù),按二進(jìn)制位進(jìn)行“與”運(yùn)算。
運(yùn)算規(guī)則:0&0=0;0&1=0;1&0=0;1&1=1;
即:兩位同時為“1”,結(jié)果才為“1”,否則為0
如何根據(jù)IP地址和子網(wǎng)掩碼,計算網(wǎng)絡(luò)地址:
①、將IP地址與子網(wǎng)掩碼轉(zhuǎn)換成二進(jìn)制數(shù)。
②、將二進(jìn)制形式的 IP 地址與子網(wǎng)掩碼做“與”運(yùn)算。
③、將得出的結(jié)果轉(zhuǎn)化為十進(jìn)制,便得到網(wǎng)絡(luò)地址。
如下圖:
網(wǎng)絡(luò)地址計算小技巧:IP地址和子網(wǎng)掩碼做與運(yùn)算,把IP地址的主機(jī)位直接歸0,就快速得到網(wǎng)絡(luò)地址。所以只要一看到IP地址和子網(wǎng)掩碼,就能馬上確認(rèn)網(wǎng)絡(luò)地址。
二、CIDR與VLSM
理解和掌握了子網(wǎng)掩碼這部分知識后,這里要補(bǔ)充下CIDR和VLSM,這對于我們下篇講述的子網(wǎng)劃分,簡直了就是放大招??!
1、有類和無類網(wǎng)絡(luò),超網(wǎng)和子網(wǎng)
,我們先了解這幾個概念,對于CIDR和VLSM以及子網(wǎng)劃分都是很有用的。
有類網(wǎng)絡(luò):也叫主類網(wǎng)絡(luò)或標(biāo)準(zhǔn)網(wǎng)絡(luò),就是指把IP地址能歸結(jié)到的A類、B類、C類IP,使用的是標(biāo)準(zhǔn)的默認(rèn)子網(wǎng)掩碼。
無類網(wǎng)絡(luò):相對于有類網(wǎng)絡(luò),無類網(wǎng)絡(luò)IP地址的掩碼是變長的。在有類網(wǎng)絡(luò)的基礎(chǔ)上,拿出一部分主機(jī)ID作為子網(wǎng)ID。
超網(wǎng):把多個小網(wǎng)絡(luò)組合成一個大網(wǎng)絡(luò),稱為超網(wǎng)(SuperNetting),也可以說子網(wǎng)掩碼長度小于相對應(yīng)的有類網(wǎng)絡(luò)的叫超網(wǎng)。
子網(wǎng):有類網(wǎng)絡(luò)劃分成更小后的網(wǎng)絡(luò),稱為子網(wǎng)(Subnet),也可以說子網(wǎng)掩碼長度大于相對應(yīng)的有類網(wǎng)絡(luò)的叫子網(wǎng)。
2、CIDR無類別域間路由
CIDR(Classless Inter-Domain Routing,無類別域間路由)本質(zhì)是消除了傳統(tǒng)的A類、B類和C類地址以及劃分子網(wǎng)的概念,將多個地址塊聚合在一起生成一個更大的網(wǎng)絡(luò),從而包含更多的主機(jī)。
CIDR采用8-30位可變網(wǎng)絡(luò)ID(最大可用的只能為30位,即保留2位給主機(jī)位),而不是A、B、C類網(wǎng)絡(luò)ID所用的固定的8、16和24位。
CIDR表示方法:IP地址/n,n表示IP地址中的前n位代表網(wǎng)絡(luò)部分(n個二進(jìn)制數(shù)1),其余(32-n)位代表主機(jī)部分。這種方法稱為“斜線記法”,它又稱為CIDR記法。
舉個栗子:子網(wǎng)掩碼255.255.255.192,用CIDR表示是多少呢?
①、首先確認(rèn)的是這是個C類網(wǎng)絡(luò)地址(C類的默認(rèn)子網(wǎng)掩碼為255.255.255.0)
②、前面三個字節(jié)都是255,轉(zhuǎn)換成二進(jìn)制都為1,即11111111.11111111.11111111,即24位1。
③、后面一個字節(jié)是192,轉(zhuǎn)換成二進(jìn)制為11000000,即1占用了2位。
④、子網(wǎng)掩碼共占用了26位1,所以用CIDR表示為/26。
⑤、如果網(wǎng)絡(luò)地址為192.168.10.0,再加上CIDR,最后表示為192.168.10.0/26。
CIDR支持路由聚合,能夠?qū)⒙酚杀碇械脑S多路由條目合并為成更少的數(shù)目,因此可以限制路由器中路由表的增大,減少路由通告,減輕路由器的負(fù)擔(dān)。
3、VLSM可變長子網(wǎng)掩碼
VLSM(Variable Length Subnet Mask,可變長子網(wǎng)掩碼)規(guī)定了在一個有類(A、B、C類)網(wǎng)絡(luò)內(nèi)包含多個子網(wǎng)掩碼的能力,以及對一個子網(wǎng)的再進(jìn)行子網(wǎng)劃分的能力。
每一個IP地址都包含了2部分:網(wǎng)絡(luò)號和主機(jī)號。在有類網(wǎng)絡(luò)中,32bit的IP地址被分為4段,每段8bit來表示。這使得作為網(wǎng)絡(luò)號的前綴必須是8位,16位或者24位。當(dāng)網(wǎng)絡(luò)號是24位的時候,主機(jī)號只有8位,也就是說,可分配的最小的地址塊是256個(2^8=256,而實際可分配的主機(jī)地址還要減去兩個,一個是網(wǎng)絡(luò)地址,一個是廣播地址,最后為254個),這個數(shù)量對于大多數(shù)企業(yè)來說是不夠的。
而比這個大一點(diǎn)的IP地址塊是網(wǎng)絡(luò)號為16位的時候,這個時候可分配的地址塊是65536(2^16=65536),這個數(shù)量對于大多數(shù)公司又太多了。這導(dǎo)致無論公司選擇哪種類型的網(wǎng)絡(luò),都可能對IP地址造成大量的浪費(fèi)。
IP地址如果只使用有類(A、B、C類)來劃分,會造成大量的浪費(fèi)或者不夠用。VLSM的誕生有效的解決了這個問題,可以在有類網(wǎng)絡(luò)的基礎(chǔ)上,通過對IP地址的主機(jī)號進(jìn)行再劃分,把一部分劃入網(wǎng)絡(luò)號,就能劃分各種類型大小的網(wǎng)絡(luò)了。網(wǎng)絡(luò)號也不再僅局限在8、16和24位這幾個數(shù),而是靈活變化的大小了.
4、CIDR與VLSM的區(qū)別
在使用CIDR聚合地址時,將原來有類IP地址中的網(wǎng)絡(luò)位劃出一部分作為主機(jī)位使用。
在使用VLSM劃分子網(wǎng)時,將原來有類IP地址中的主機(jī)位按照需要劃出一部分作為網(wǎng)絡(luò)位使用。
CIDR:子網(wǎng)掩碼往左邊移,掩碼netmask縮短了。
VLSM:子網(wǎng)掩碼往右邊移,掩碼netmask增長了。
CIDR是把幾個有類網(wǎng)絡(luò)合成一個大的網(wǎng)絡(luò)(超網(wǎng)),用于路由地址聚合。
VLSM是把一個有類網(wǎng)絡(luò)分成幾個小型網(wǎng)絡(luò)(子網(wǎng)),用于更高效劃分子網(wǎng)。
CIDR與VLSM總結(jié):
在某種程度上來說,CIDR和VLSM它們之間可以看做是逆過程。
CIDR是把幾個小網(wǎng)絡(luò)聚合成一個大網(wǎng)絡(luò)來做表示,而VLSM則是把一個大網(wǎng)絡(luò)繼續(xù)細(xì)分為幾個小網(wǎng)絡(luò)進(jìn)行IP地址分配。
CIDR能讓路由器的路由條目得到有效的減少,從而減少路由通告,降低路由器負(fù)擔(dān),而VLSM則是充分利用IP進(jìn)行地址分配來解決IP地址不被浪費(fèi)的問題,節(jié)約IP地址空間,更為有效的使用。
所以在這里總結(jié)一下:
ipv4有32位,由網(wǎng)絡(luò)號+主機(jī)號構(gòu)成。
子網(wǎng)掩碼的作用:
1.判斷兩ip地址是否在同一網(wǎng)段。是判斷ip地址的網(wǎng)段的必要元素。
2.如果想為ip劃分子網(wǎng),需向ip地址的主機(jī)部分借位,借幾位,子網(wǎng)掩碼也相應(yīng)的向右移動幾位,這樣子可以緩解C類地址2^8-2=254個主機(jī)數(shù)較少,B類地址2^16-2=65534個主機(jī)數(shù)又過多的尷尬場面(減去的2的情況是本網(wǎng)絡(luò)的網(wǎng)絡(luò)地址,全為0的情況,和本網(wǎng)絡(luò)的廣播地址全為1的情況。)。
網(wǎng)關(guān)的作用:計算機(jī)的網(wǎng)關(guān)(Gateway)就是到其他網(wǎng)段的出口,也就是路由器接口IP地址。路由器接口使用的IP地址可以是本網(wǎng)段中任何一個地址,不過通常使用該網(wǎng)段的第一個可用的地址或最后一個可用的地址,這是為了盡可能避免和本網(wǎng)段中的主機(jī)地址沖突。