//獲取廣播地址
//在udp接收廣播時(shí),如果有多塊網(wǎng)卡,會(huì)重復(fù)收包,
//所以u(píng)dp發(fā)送廣播時(shí),最好指定直接的廣播地址,不要用受限的廣播地址255.255.255.255
unsigned int GetSubNetAddress(unsigned int ip,unsigned int netmask)
{
/*
IPv4廣播地址的定義是網(wǎng)絡(luò)地址(子網(wǎng)地址)與網(wǎng)絡(luò)掩碼邏輯“非”之間的邏輯“或”。
例如一個(gè)地址為:197.8.43.211,
其子網(wǎng)掩碼為255.255.255.240,
則其網(wǎng)絡(luò)地址為兩者的二進(jìn)制邏輯 "與 ",即197.8.43.208
網(wǎng)絡(luò)掩碼的邏輯 "非 "為0.0.0.15,與網(wǎng)絡(luò)號(hào)碼197.8.43.208 二進(jìn)制邏輯 "或"的結(jié)果為
197.8.43.223,即該子網(wǎng)的廣播地址.
IP有兩種廣播地址.
你的
直接廣播地址:GetSubNetAddress
受限廣播地址:255.255.255.255
*/
return (~netmask) | (ip&netmask);
}
《豬八戒夜戰(zhàn)子網(wǎng)》
從培訓(xùn)中心出來,八戒悶悶不樂,低頭不語,回到住處后也一聲不吭的倒頭便睡,悟空和沙僧不明就里,莫名其妙。沙僧更是納悶:“自從上網(wǎng)絡(luò)培訓(xùn)班取經(jīng)以來,二師兄總是喜笑顏開,外了討好漂亮的女班任更是一反常態(tài)地用功學(xué)習(xí),今天到底是哪里不開心了呢?”悟空一擺手:“莫管他,呆子肯定是想回高老莊了”。
入夜時(shí)分,八戒悄悄地起來,到外屋點(diǎn)起燈,把《網(wǎng)絡(luò)基礎(chǔ)培訓(xùn)》教材打開,雙手托腮,認(rèn)真地看了起來:
“IP地址共32位,每8位為一個(gè)八位組,其中的第1個(gè)八位組決定了該地址的分類”
“為什么要用IP地址來表示網(wǎng)絡(luò)主機(jī)呢,用網(wǎng)卡的MAC地址不是也可以嗎”八戒心中剛剛涌起這個(gè)疑問便立刻想起了課堂上田中老師的話:“同一物理網(wǎng)絡(luò)上的主機(jī)只有在它們相互知道對(duì)方的MAC地址的基礎(chǔ)上才能通信,但是因?yàn)楸镜鼐W(wǎng)卡的MAC地址和不同的網(wǎng)絡(luò)類型有很大的關(guān)系,以太網(wǎng),令牌環(huán)網(wǎng),FDDI等等,為了使主機(jī)的網(wǎng)絡(luò)地址與計(jì)算機(jī)硬件能夠相對(duì)獨(dú)立出來,以增強(qiáng)網(wǎng)絡(luò)的路由選擇能力,IP地址就在一定程度上代替了網(wǎng)卡的MAC地址”
原來如此!八戒暗暗點(diǎn)頭,怪不得無論是安裝windows還是linux,總是把TCP/IP協(xié)議自己安上,看來IP地址是我們上網(wǎng)的身份證呀!八戒接著向下看:
“IP地址有兩部分組成:網(wǎng)絡(luò)地址和主機(jī)地址,分配給兩者的位數(shù)隨地址類型的不同而變化,見下表:
地址類型 |
第一個(gè)八位組的模式 |
第一個(gè)八位組的取值范圍 |
有效網(wǎng)絡(luò)號(hào) |
網(wǎng)絡(luò)地址的總的個(gè)數(shù) |
每個(gè)網(wǎng)絡(luò)內(nèi)的主機(jī)個(gè)數(shù) |
A類 |
0xxxxxxx |
1-126 |
1.0.0.0-126.0.0.0 |
126 |
2^24-2 |
B類 |
10xxxxxx |
128-191 |
128.1.0.0-191.254.0.0 |
2^16-2 |
2^16-2 |
C類 |
110xxxxx |
192-223 |
192.0.1.0-223.255.254.0 |
2^21-2 |
254 |
D類 |
1110xxxx |
224-239 |
|
|
|
E類 |
1111xxxx |
240-254 |
|
|
|
這個(gè)表有什么用呢?也許只是告訴我們看到一個(gè)IP地址的第一個(gè)反應(yīng)是知道它是屬于哪一類的吧。八戒安慰著自己,又看到了下一個(gè)表格:保留地址,這個(gè)我可明白,八戒心想,有一些IP地址在實(shí)際運(yùn)作中被保留起來代表一些特定的事物,往往不能用來表示某一臺(tái)具體的主機(jī),必須要學(xué)會(huì)看懂這些地址。
保留IP地址 |
用途 |
127.0.0.1 |
本地回環(huán)地址,用于測(cè)試本機(jī)的網(wǎng)絡(luò)配置 |
0.0.0.0 |
在路由器上用來指定缺省路由 |
主機(jī)地址全為0 |
代表某一個(gè)子網(wǎng),而不是具體的主機(jī) |
主機(jī)地址全為1 |
代表某一個(gè)子網(wǎng)的廣播地址 |
看來對(duì)于IP地址而言,概念上也不是很難理解,至少現(xiàn)在看到一個(gè)IP地址地址我知道它的基本信息了。八戒眨了眨豬眼,喝了一杯水,又翻到了下一頁。
“子網(wǎng)化”
看到了這幾個(gè)字,八戒的眉頭開始皺了起來,今天課堂上,女老師用了三個(gè)小時(shí),費(fèi)盡口舌給大家講的就是這個(gè)問題,子網(wǎng)到底如何計(jì)算?八戒可是越聽越迷糊,等做題時(shí)看到200.16.10.0的時(shí)候頭都疼了,老師講解的10道例題一個(gè)也沒弄懂,確實(shí)郁悶之極,但八戒轉(zhuǎn)念一想:這是我上培訓(xùn)班遇到的第一個(gè)難題,難道我堂堂天蓬元帥會(huì)被幾個(gè)數(shù)字難道嗎?我一定能搞定的!八戒又睜大豬眼看了起來,不想有決心是一回事,看明白又是另外一回事。半個(gè)時(shí)辰下來,八戒看的頭暈?zāi)X脹,眼冒金星,不由得氣極敗壞,甩掉書本,便欲發(fā)作……
就在這個(gè)時(shí)候,一片笑聲從后面?zhèn)鱽?,八戒一回頭,原來是悟空和沙僧,正在每人手持一串葡萄,邊吃邊看自己的窘態(tài)呢。八戒有點(diǎn)臉紅,又有點(diǎn)不忿:看我這么辛苦,也不來幫忙,你們還是我的好兄弟呢?悟空卻不理這個(gè)話茬,反而直接向八戒發(fā)問:
"為什么要?jiǎng)澐肿泳W(wǎng)?子網(wǎng)劃分有什么意義?"
"這個(gè)..."一個(gè)問題就把八戒問住了,是啊,子網(wǎng)劃分有什么用處呢?我還真不知道.悟空又接著說:"不正確了解子網(wǎng)的概念,不明白劃分子網(wǎng)的道理就機(jī)械地去做題,把子網(wǎng)計(jì)算當(dāng)作單純的算術(shù)題.能不糊涂嗎?差之毫厘,謬之千里也"一句話點(diǎn)醒夢(mèng)中人!八戒仔細(xì)一想,還真是這個(gè)道理,吃掉了沙僧手里的葡萄,八戒漸漸地靜下心來,開始向悟空虛心請(qǐng)教:"大師兄能不能給我講講呢?""其實(shí)也很簡(jiǎn)單"悟空回答道.
目前IP地址采用分類編址的缺點(diǎn)日益明顯,最突出的問題就是IP地址不夠用!確切的講是B類地址不夠用.因?yàn)椋令惖刂房商峁┑闹鳈C(jī)地址數(shù)十分巨大,雖然其網(wǎng)絡(luò)地址較少,但畢竟用得不是很多.C類地址可提供更多的網(wǎng)絡(luò)地址數(shù),但由于每個(gè)網(wǎng)絡(luò)可以提供的主機(jī)地址數(shù)太少(254),往往不能滿足需要.所以B類地址把大量的注冊(cè)申請(qǐng),造成地址資源緊張.比如,某個(gè)機(jī)構(gòu)需要1000個(gè)IP地址,去申請(qǐng)B類地址,那么無論對(duì)IP地址,還是對(duì)這個(gè)機(jī)構(gòu),都是一種浪費(fèi).因此,我們必須對(duì)現(xiàn)有的IP地址進(jìn)行合理的子網(wǎng)化.用書上的話說:就是(1)可以擴(kuò)展網(wǎng)絡(luò)。通過增加路由器、創(chuàng)建子網(wǎng)來擴(kuò)展網(wǎng)絡(luò),以連接更多的計(jì)算機(jī)。(2)減少CPU的負(fù)載和占用貸款。一個(gè)網(wǎng)絡(luò)內(nèi)計(jì)算機(jī)越多,占用資源越多,發(fā)的廣播越多,CPU處理這些廣播所用資源越多。(3)便于管理,通過將大的網(wǎng)絡(luò)劃分稱幾個(gè)小的子網(wǎng)可以在某個(gè)子網(wǎng)內(nèi)的硬件出現(xiàn)故障后不會(huì)影響整個(gè)網(wǎng)絡(luò),通過管理手段提高了網(wǎng)絡(luò)的安全性,而且可以在不同的子網(wǎng)內(nèi)使用不同的介質(zhì),好處多多"
"這么說,子網(wǎng)掩碼就是這個(gè)作用了?"
"對(duì),子網(wǎng)化就是通過從原先用于分配主機(jī)地址的位數(shù)中分出一部分位數(shù)來形成子網(wǎng)地址,減少了子網(wǎng)內(nèi)主機(jī)地址的數(shù)目,但是多出了一些新的子網(wǎng),而子網(wǎng)掩碼的作用就是用于從IP地址中提取出整個(gè)網(wǎng)絡(luò)地址部分(包括主網(wǎng)地址和子網(wǎng)地址).讓我們知道這臺(tái)主機(jī)到底處于哪一個(gè)子網(wǎng)中"
"既然如此,沒有子網(wǎng)掩碼的IP地址就不能算是一個(gè)真正有用的IP地址了,對(duì)吧?"八戒問道。
“是的,具體說來,我們要用IP地址和子網(wǎng)掩碼作二進(jìn)制的“與”運(yùn)算,其結(jié)果就是這個(gè)IP的網(wǎng)絡(luò)地址,舉個(gè)例子吧”
IP地址: 11.16.10.1 子網(wǎng)掩碼:255.0.0.0
先分別變成二進(jìn)制
00001011.00010000.00001010.00000001
11111111.00000000.00000000.00000000
這兩行進(jìn)行了&運(yùn)算的結(jié)果 00001011.00000000.00000000.00000000 這就是11.16.10.1的網(wǎng)絡(luò)地址
八戒仔細(xì)的想了一下,好像明白了,又好像不明白.沙僧看出了這一點(diǎn),"二師兄,老師說過了,多看一些例子就能理解了,我們必須先理論,后實(shí)踐,再理論,再實(shí)踐,多次反復(fù)才能進(jìn)步"
悟空插嘴道"沙師弟,你給八戒講一講例題吧"
沙僧拿出一枝筆,邊寫邊說:
“你首先要理解"全0全1原則",就是在主網(wǎng)地址,子網(wǎng)地址,主機(jī)地址中,全0全1的地址不可用.在做IP計(jì)算時(shí)必須要注意這一點(diǎn),然后就可以動(dòng)手了,我們先考慮C類地址的子網(wǎng)化計(jì)算方法”
對(duì)于任意一個(gè)C類地址和子網(wǎng)掩碼,不妨設(shè)有X位用于子網(wǎng)化,剩余M位用于主機(jī)分配,我們有5個(gè)問題要問:
1, 確定該地址的類型,先定出主網(wǎng)地址和缺省子網(wǎng)掩碼
2, 用出分配給子網(wǎng)的位數(shù)能產(chǎn)生多少個(gè)有效子網(wǎng)?
答案:2^X-2
3, 每個(gè)子網(wǎng)能提供多少個(gè)有效主機(jī)地址?
答案:2^M-2
4, 列出每個(gè)有效的子網(wǎng)?
答案:子網(wǎng)掩碼從右到左,找到的一個(gè)非全0的組(設(shè)其為P)轉(zhuǎn)換成十進(jìn)制后去減256,得數(shù)就是第一個(gè)有效子網(wǎng)號(hào), 第二個(gè)有效子網(wǎng)號(hào)=第一個(gè)有效子網(wǎng)號(hào)X2,依此類推,最后一個(gè)有效子網(wǎng)=P-第一個(gè)有效子網(wǎng)
5, 每個(gè)有效的子網(wǎng)的廣播地址?
本子網(wǎng)的廣播地址=相鄰的下一個(gè)子網(wǎng)地址-1
6, 每個(gè)子網(wǎng)內(nèi)有效的主機(jī)地址是什么?
本子網(wǎng)的第一個(gè)有效地址=本子網(wǎng)地址+1
例題1:IP:200.16.10.0,掩碼:255.255.255.252
我們按照上面的6步來
1, C類地址,缺省子網(wǎng)掩碼255.255.255.0
2, 252變?yōu)槎M(jìn)制11111100,用了6位劃子網(wǎng),則有62個(gè)子網(wǎng)
3, M=2,每個(gè)子網(wǎng)提供倆主機(jī)(少了點(diǎn))
4, 256-252=4.則第一個(gè)子網(wǎng):200.16.10.4 余下類推
5, 第一個(gè)子網(wǎng)的廣播地址=200.16.10.7
6, 第一個(gè)子網(wǎng)的第一個(gè)有效地址=200.16.10.5
例題2:IP:200.16.10.0,掩碼:255.255.255.224
我們按照上面的6步來
1, C類地址,缺省子網(wǎng)掩碼255.255.255.0
2, 224變?yōu)槎M(jìn)制11100000,用了3位劃子網(wǎng),則有6個(gè)子網(wǎng)
3, M=5,每個(gè)子網(wǎng)提供30主機(jī)
4, 256-224=32,則第一個(gè)子網(wǎng):200.16.10.32余下類推
5, 第一個(gè)子網(wǎng)的廣播地址=200.16.10.63
6, 第一個(gè)子網(wǎng)的第一個(gè)有效地址=200.16.10.33
例題3:IP:200.16.10.0,掩碼:255.255.255.240
1, C類地址,缺省子網(wǎng)掩碼255.255.255.0
2, 240變?yōu)槎M(jìn)制11110000,用了4位劃子網(wǎng),則有14個(gè)子網(wǎng)
3, M=4,每個(gè)子網(wǎng)提供14個(gè)主機(jī)
4, 256-240=16,則第一個(gè)子網(wǎng):200.16.10.16余下類推
5, 第一個(gè)子網(wǎng)的廣播地址=200.16.10.31
6, 第一個(gè)子網(wǎng)的第一個(gè)有效地址=200.16.10.17
第一個(gè)子網(wǎng)的最后一個(gè)有效地址=200.16.10.30
例題4:IP:200.16.10.0,掩碼:255.255.255.248
1, C類地址,缺省子網(wǎng)掩碼255.255.255.0
2, 248變?yōu)槎M(jìn)制11111000,用了5位劃子網(wǎng),則有30個(gè)子網(wǎng)
3, M=3,每個(gè)子網(wǎng)提供6個(gè)主機(jī)
4, 256-248=8,則第一個(gè)子網(wǎng):200.16.10.8余下類
5, 第一個(gè)子網(wǎng)的廣播地址=200.16.10.15
6, 第一個(gè)子網(wǎng)的第一個(gè)有效地址=200.16.10.8
第一個(gè)子網(wǎng)的最后一個(gè)有效地址=200.16.10.14
“這樣看來,對(duì)于一個(gè)C類地址來說,當(dāng)子網(wǎng)掩碼為255.255.255.240時(shí),所能提供的主機(jī)地址數(shù)目是最多的,對(duì)吧?"八戒已經(jīng)在作總結(jié)了."C類地址的計(jì)算還是很容易麼,因?yàn)槟軌蚪栌脕韯澐肿泳W(wǎng)的位數(shù)就這么幾個(gè).
位數(shù) 掩碼 子網(wǎng) 主機(jī)
2 255.255.255.192 2 62
3 255.255.255.224 6 30
4 255.255.255.240 14 14
5 255.255.255.248 30 6
6 255.255.255.252 62 2
到了現(xiàn)在,八戒終于明白一些了,不由得想自己來試驗(yàn)一下,悟空卻裝作不知道,說"既然八戒已經(jīng)學(xué)會(huì)C類地址的計(jì)算.給他一個(gè)題目做做吧."說完,悟空就在紙上寫了這樣一個(gè)題目.IP:199.141.27.0.子網(wǎng)掩碼255.255.255.240 請(qǐng)你選出下列地址中的有效的主機(jī)地址?
A. 199.141.27.33
B. 199.141.27.112
C. 199.141.27.119
D. 199.141.27.126
E. 199.141.27.175
F. 199.141.27.208
八戒不慌不忙,開始計(jì)算, 240轉(zhuǎn)換為二進(jìn)制是11110000,用了4位劃分子網(wǎng),則有效的子網(wǎng)數(shù)目2^4-2=14個(gè).256-240=16,第一個(gè)有效的子網(wǎng)段199.141.27.16,第二個(gè)199.141.27.32,依此類推出所有網(wǎng)段:
199.141.27.16
199.141.27.32
199.141.27.48
199.141.27.64
199.141.27.80
199.141.27.96
199.141.27.112
199.141.27.128
199.141.27.144
199.141.27.160
199.141.27.176
199.141.27.192
199.141.27.208
199.141.27.224
真的是14個(gè)耶.八戒心中暗喜.經(jīng)過對(duì)比和篩選,八戒發(fā)現(xiàn):B是一個(gè)網(wǎng)段地址,E是199.141.27.176的廣播地址,F(xiàn)也是網(wǎng)段地址,只有A,C,D才是有效的主機(jī)地址."二師兄果然厲害,一下子就作對(duì)了?。⑸成芍缘馁潎@道.
“不忙,C類地址很容易的,B類的就不容易了,因?yàn)椋妙悆H有一個(gè)八位組參與子網(wǎng)劃分,而B類的選擇要大得多,最多可以中14未參與劃分子網(wǎng),計(jì)算起來要注意.下面給出幾個(gè)B類地址計(jì)算的例題,看看上面的5個(gè)問題是否還適用?
”
例題1:IP:172.16.0.0 子網(wǎng)掩碼:255.255.192.0
1, B類地址,缺省子網(wǎng)掩碼:255.255.0.0
2, 192變成二進(jìn)制11000000,用了2位,則有2個(gè)有效子網(wǎng)
3, 14位用于主機(jī)地址,則每個(gè)子網(wǎng)的主機(jī)數(shù)(2^14-2)個(gè)
4, 256-192=64,則第一個(gè)子網(wǎng)172.16.64.0
5, 第一個(gè)子網(wǎng)的廣播地址=172.16.127.255
6, 第一個(gè)子網(wǎng)的第一個(gè)有效地址=172.16.64.1
第一個(gè)子網(wǎng)的最后一個(gè)有效地址=172.16.127.254
"好像有一點(diǎn)不同吧",悟空笑道.
"確實(shí)如此,就是網(wǎng)絡(luò)地址跨越兩個(gè)八位組需要注意,其他的一樣"八戒道:"讓我自己來看下一道題吧
例題2:IP:172.16.0.0 子網(wǎng)掩碼:255.255.254.0
1, B類地址,缺省子網(wǎng)掩碼:255.255.0.0
2, 254變成二進(jìn)制11111110,用了7位,則有126個(gè)子網(wǎng)
3, 9位用于主機(jī)地址,則每個(gè)子網(wǎng)的主機(jī)數(shù)(2^9-2)個(gè)
4, 256-254=2,則第一個(gè)子網(wǎng)172.16.2.0
5, 第一個(gè)子網(wǎng)的廣播地址=172.16.3.255
6, 第一個(gè)子網(wǎng)的第一個(gè)有效地址=172.16.2.1
第一個(gè)子網(wǎng)的最后一個(gè)有效地址=172.16.3.254
例題3:IP:172.16.0.0 子網(wǎng)掩碼:255.255.255.0"
1, B類地址,缺省子網(wǎng)掩碼:255.255.0.0
2, 255變成二進(jìn)制11111111,用了8位,則有254個(gè)子網(wǎng)
3, 8位用于主機(jī)地址,則每個(gè)子網(wǎng)的主機(jī)數(shù)(2^8-2)個(gè)
4, 256-255=1,則第一個(gè)子網(wǎng)172.16.1.0
5, 第一個(gè)子網(wǎng)的廣播地址=172.16.1.255
6, 第一個(gè)子網(wǎng)的第一個(gè)有效地址=172.16.1.1
第一個(gè)子網(wǎng)的最后一個(gè)有效地址=172.16.1.254
例題4:IP:172.16.0.0 子網(wǎng)掩碼:255.255.255.128
1, B類地址,缺省子網(wǎng)掩碼:255.255.0.0
2, 255.128變成二進(jìn)制11111111.10000000,用了9位,則有510個(gè)子網(wǎng)
3, 7位用于主機(jī)地址,則每個(gè)子網(wǎng)的主機(jī)數(shù)126個(gè)
4, 因?yàn)楸绢}要涉及兩個(gè)八位組,所以要分別計(jì)算,
對(duì)于第四個(gè)八位組,可能的子網(wǎng)有256-128=128.0;
對(duì)于第三個(gè)八位組,可能的子網(wǎng)有256-255=1,2,.....我們要對(duì)這兩個(gè)結(jié)果進(jìn)行排列組合,結(jié)論正好是510個(gè)子網(wǎng),
第一個(gè)子網(wǎng)應(yīng)該是172.16.0.128
第一個(gè)子網(wǎng)應(yīng)該是172.16.1.0
5, 第一個(gè)子網(wǎng)的廣播地址=172.16.0.255
6, 第一個(gè)子網(wǎng)的第一個(gè)有效地址=172.16.0.129
第一個(gè)子網(wǎng)的最后一個(gè)有效地址=172.16.0254
這最后一道例題看起來很復(fù)雜,八戒開始有一點(diǎn)糊涂,不明白子網(wǎng)的地址是如何計(jì)算來的,但是當(dāng)八戒用二進(jìn)制把子網(wǎng)掩碼列出來時(shí),再加上“全0全1原則”的運(yùn)用,我們的老豬終于把這道題弄明白了。但當(dāng)他高興地抬起頭來發(fā)出點(diǎn)感慨的時(shí)候,發(fā)現(xiàn)悟空和沙僧竟然不知道什么時(shí)候溜走了,更加令人奇怪的是,當(dāng)八戒進(jìn)到內(nèi)室,竟然發(fā)現(xiàn)悟空和沙僧都睡得很熟的樣子,好像從來沒有起來過,而桌子上的葡萄還和昨天晚上擺放的一模一樣,半點(diǎn)有沒有動(dòng)過……
《最傳統(tǒng)的子網(wǎng)計(jì)算方法》
第二天的課程還是有關(guān)子網(wǎng)的計(jì)算,黑板上寫著題目“傳統(tǒng)的子網(wǎng)計(jì)算方法”漂亮的女老師用教鞭敲了敲黑板,開始說道:
“在這里的“傳統(tǒng)”兩個(gè)字只是表明這里的計(jì)算方法來自于思科出版的官方教材,之所以我們要把這種方法單獨(dú)介紹一下,是因?yàn)檫@種教學(xué)方法相對(duì)來說更有循序漸進(jìn),有淺入深的味道。如果我們是一個(gè)從來接觸過IP計(jì)算的初學(xué)者,用這種方法學(xué)習(xí)非常有效。因此,如果大家上次課沒有聽明白,可以結(jié)合本節(jié)理解一下。
我們的教材里面把IP計(jì)算分成了五個(gè)板塊,用一種類似考試答題的形式一步一步地闡述IP計(jì)算。
1,給出IP地址和子網(wǎng)掩碼,求所在子網(wǎng)號(hào)
2,給出IP地址和子網(wǎng)掩碼,求所在子網(wǎng)的廣播地址
3,給出IP地址和子網(wǎng)掩碼,求子網(wǎng)的有效主機(jī)地址
4,給出網(wǎng)絡(luò)號(hào)和子網(wǎng)掩碼,求有效的子網(wǎng)
5,給出網(wǎng)絡(luò)號(hào)和子網(wǎng)掩碼,求子網(wǎng)數(shù)目和主機(jī)數(shù)目”
"好像和上節(jié)課差不多"八戒小聲嘟囔道
"在每一個(gè)板塊中,又分別用十進(jìn)制和二進(jìn)制作了IP計(jì)算的舉例,下面我們就開始學(xué)習(xí),因?yàn)榇蠹覍?duì)十進(jìn)制和二進(jìn)制之間的轉(zhuǎn)換已經(jīng)比較熟悉了,我們只看十進(jìn)制的例子:"
來自各界的學(xué)生們開始正襟危坐,集中精神聽講,魔家四兄弟也把牌收了起來,拿出印有“菊花會(huì)員專用”字樣的筆記本準(zhǔn)備做筆記。
1, 給出IP地址和子網(wǎng)掩碼,求所在子網(wǎng)號(hào)
第一種情況,無子網(wǎng)掩碼,計(jì)算步驟如下:
Step 1 十進(jìn)制寫下IP地址
Step 2 根據(jù)網(wǎng)絡(luò)類型,抄寫網(wǎng)絡(luò)地址
Step 3 剩下的部分補(bǔ)0
第二種情況,簡(jiǎn)單的子網(wǎng)掩碼,計(jì)算步驟如下:
Step 1 十進(jìn)制寫下IP地址
Step 2 根據(jù)子網(wǎng)掩碼,抄寫網(wǎng)絡(luò)地址
Step 3 剩下的部分補(bǔ)0
第三種情況,復(fù)雜的子網(wǎng)掩碼,計(jì)算步驟如下:
Step 1 十進(jìn)制寫下IP地址
Step 2 十進(jìn)制寫下子網(wǎng)掩碼
Step 3 檢查子網(wǎng)掩碼,如果有數(shù)值介于0和255之間的八位組,這就是復(fù)雜的子網(wǎng)掩碼,該八位組被認(rèn)為是“關(guān)鍵組“其他的三個(gè)八位組被認(rèn)為是“無義組”,在這里寫下“關(guān)鍵組的”位置(1-4)
Step 4 用256減去關(guān)鍵組的值,寫出得數(shù),我們稱之“倍數(shù)”
Step 5 把所有關(guān)鍵組左邊的無義組照抄
Step 6 把所有關(guān)鍵組左邊的無義組填入0
Step 7 找到原始的IP地址中的關(guān)鍵組,計(jì)算每一個(gè)“倍數(shù)”的整數(shù)倍數(shù)的值,(0倍,1倍,2倍,…)找到這些值中和關(guān)鍵組的數(shù)值最相近的數(shù)(這個(gè)值必須小于關(guān)鍵組的值)。寫在剩余的空白處
“這就是給出IP地址和子網(wǎng)掩碼,求所在子網(wǎng)號(hào)的計(jì)算方法,前兩種情況很簡(jiǎn)單,我們考試中常遇到的是第三種情況。步驟雖然很多,
但熟練了就能很快的完成,下面接著看”
2,給出IP地址和子網(wǎng)掩碼,求子網(wǎng)的廣播地址
第一種情況,無子網(wǎng)掩碼或者簡(jiǎn)單子網(wǎng)掩碼,計(jì)算步驟如下:
Step 1 十進(jìn)制寫下IP地址
Step 2 根據(jù)網(wǎng)絡(luò)類型,照抄網(wǎng)絡(luò)地址
Step 3 剩余的部分補(bǔ)0
第二種情況,復(fù)雜的子網(wǎng)掩碼,計(jì)算步驟如下:
Step 1 十進(jìn)制寫下IP地址.
Step 2 十進(jìn)制寫下子網(wǎng)掩碼
Step 3 檢查子網(wǎng)掩碼,如果有數(shù)值介于0和255之間的八位組,這就是復(fù)雜的子網(wǎng)掩碼,該八位組被認(rèn)為是“關(guān)鍵組“其他的三個(gè)八位組被認(rèn)為是“無義組”,在這里寫下“關(guān)鍵組的”位置(1-4)
Step 4 用256減去關(guān)鍵組的值,寫出得數(shù),我們稱之“倍數(shù)”
Step 5 把所有關(guān)鍵組左邊的無義組照抄
Step 6 把所有關(guān)鍵組左邊的無義組填入255
Step 7 找到原始的IP地址中的關(guān)鍵組,計(jì)算每一個(gè)“倍數(shù)”的整數(shù)倍數(shù)的值,(0倍,1倍,2倍,…)找到這些值中比關(guān)鍵組的數(shù)值剛剛大一點(diǎn)的數(shù)。把這個(gè)數(shù)減去1寫在剩余的空白處
“請(qǐng)大家注意區(qū)別計(jì)算子網(wǎng)地址和廣播地址之間的不同之處,下面再看:”
3,給出IP地址和子網(wǎng)掩碼,求子網(wǎng)的有效主機(jī)地址
“如果上面兩個(gè)問題搞明白了,這個(gè)問題就很容易理解了,有效的主機(jī)地址自然是子網(wǎng)地址+1和廣播地址-1之間的地址了,看圖就可以了”
4,給出網(wǎng)絡(luò)號(hào)和子網(wǎng)掩碼,求有效的子網(wǎng)數(shù)目
“這個(gè)問題上節(jié)課講過了,八戒能否復(fù)述一下?”田中老師問
“這有何難?子網(wǎng)掩碼從右到左,找到的一個(gè)非全0的組(設(shè)其為P)轉(zhuǎn)換成十進(jìn)制后去減256,得數(shù)就是第一個(gè)有效子網(wǎng)號(hào), 第二個(gè)有效子網(wǎng)號(hào)=第一個(gè)有效子網(wǎng)號(hào)X2,依此類推,最后一個(gè)有效子網(wǎng)=P-第一個(gè)有效子網(wǎng)。”豬八戒把昨天夜里學(xué)到的東西拿了出來。
“你能給大家舉兩個(gè)例子嗎?”
“當(dāng)然可以,請(qǐng)同學(xué)們看圖:基本方法都是一樣的,首先找到子網(wǎng)掩碼中到底用了幾位劃分子網(wǎng),計(jì)算出子網(wǎng)的數(shù)目之后,用256減
去關(guān)鍵組的數(shù)值第一個(gè)有效子網(wǎng)號(hào),然后按倍數(shù)遞增就行了”
“看來八戒同學(xué)對(duì)子網(wǎng)計(jì)算已經(jīng)完全理解了。第五個(gè)問題你也來回答好嗎?老師笑瞇瞇地對(duì)八戒說:
5,給出網(wǎng)絡(luò)號(hào)和子網(wǎng)掩碼,求子網(wǎng)數(shù)目和主機(jī)數(shù)目”
“這個(gè)問題最簡(jiǎn)單了”,八戒說道(底下的同學(xué)都伸長(zhǎng)了耳朵)“假設(shè)在主機(jī)地址中用了X位劃分子網(wǎng),則有效的子網(wǎng)數(shù)目應(yīng)該是2^M-2。每個(gè)有效的子網(wǎng)數(shù)目就是(主機(jī)地址位數(shù)-X)^2-2。”八戒很得意的樣子
沙僧和悟空在下面領(lǐng)著同學(xué)們熱烈鼓掌。
“下面我做一下總結(jié)”田中老師說道:“通過這兩天的學(xué)習(xí),大家對(duì)于子網(wǎng)劃分方面的計(jì)算有了一個(gè)初步的認(rèn)識(shí),學(xué)到了一些基礎(chǔ)知識(shí),事實(shí)上劃分子網(wǎng)的方法很多,我們每個(gè)人可以選擇自己喜歡的方法,但一定要明白子網(wǎng)劃分的作用,理解了概念才能深入地學(xué)習(xí),否則以后面對(duì)真正的,包括許多不同種網(wǎng)絡(luò)設(shè)備的環(huán)境,才能做到心中有數(shù)!明天我給大家介紹一些比較深入的子網(wǎng)概念,現(xiàn)在下課。”
今天放學(xué)后的八戒和昨天判若兩人,高高興興的哼著“the answer is blowing in the wind”步履輕松地和師兄師弟向宿舍走去!
《有關(guān)子網(wǎng)的進(jìn)一步學(xué)習(xí)》
田中老師今天穿了一件純白色的絨衣,裙子外面是一件天藍(lán)色的外套,這使的站在講臺(tái)上的她顯得格外亭亭玉立!而站在她身邊的那個(gè)豬嘴大耳的男學(xué)生也是一副很開心的樣子,因?yàn)樘镏欣蠋焺倓偙頁P(yáng)了他,對(duì)于八戒同學(xué)“自己”總結(jié)出來的“IP知識(shí)一句話”表示了贊賞,并且一條條地念給了大家來聽:
IP地址不能在沒有相關(guān)的子網(wǎng)掩碼的情況下存在。子網(wǎng)掩碼定義了構(gòu)成I P地址的3 2位中的多少位用于定義網(wǎng)絡(luò),或
者網(wǎng)絡(luò)和相關(guān)的子網(wǎng)。
你可以通過借用主機(jī)地址位,而進(jìn)一步將一個(gè)網(wǎng)絡(luò)劃分為子網(wǎng),并用它們表示你的網(wǎng)絡(luò)的一部分。
在一個(gè)劃分了子網(wǎng)的網(wǎng)絡(luò)中,每個(gè)地址包括一個(gè)網(wǎng)絡(luò)地址,一個(gè)子網(wǎng)部分和主機(jī)地址。
在選擇子網(wǎng)時(shí),最主要的考慮就是你需要支持多少個(gè)子網(wǎng)。
一旦確定了合適的子網(wǎng)掩碼,下一個(gè)挑戰(zhàn)是確定每個(gè)子網(wǎng)的地址和每個(gè)子網(wǎng)上允許的主機(jī)地址范圍。
無論何時(shí),你為子網(wǎng)使用多于8位位組,則你將面對(duì)穿越8位位組邊界的問題。
八戒回到座位上之后,把筆記本偷偷地還給了悟空,然后開始一起聽講
“同學(xué)們,前兩節(jié)課我們?cè)敿?xì)的學(xué)習(xí)了有關(guān)子網(wǎng)的相關(guān)知識(shí),今天來學(xué)習(xí)一些比較深入的知識(shí)”
“當(dāng)一個(gè)子網(wǎng)掩碼確定后,通常情況下該子網(wǎng)掩碼在整個(gè)網(wǎng)絡(luò)中就是固定的了,但由于在許多情況下,每個(gè)子網(wǎng)所包括的主機(jī)數(shù)目不一定相同。這種不變的子網(wǎng)掩碼可能會(huì)出一些問題,比如說,在通常使用點(diǎn)對(duì)點(diǎn)連接方式的廣域網(wǎng)里面,在一個(gè)由兩個(gè)路由器之間用串口直接相連組成的子網(wǎng)A里,用255.255.255.252是最合適的。畢竟只需要兩個(gè)地址就夠了。但是這也意味著本網(wǎng)絡(luò)內(nèi)的其他子網(wǎng)也只能存在兩個(gè)主機(jī)!這是不現(xiàn)實(shí)的。如果我們考慮使用子網(wǎng)掩碼255.255.255.192,確實(shí)可以大大提高每個(gè)子網(wǎng)內(nèi)的有效主機(jī)數(shù)目(62個(gè))。但對(duì)于子網(wǎng)A來說,有60個(gè)地址被浪費(fèi)了,我們進(jìn)行子網(wǎng)化的目的就在于對(duì)網(wǎng)絡(luò)地址的充分利用。那么能不能對(duì)一個(gè)劃分出來的子網(wǎng)進(jìn)行進(jìn)一步的劃分呢?也就是說,分割出“子網(wǎng)里面的子網(wǎng)”。答案就是我們今天要學(xué)習(xí)的第一個(gè)概念“可變長(zhǎng)子網(wǎng)掩碼”英文縮寫為VLSM.,讓我們舉例說明,
現(xiàn)在對(duì)一個(gè)B類地址子網(wǎng)化:
172.16.0.0/16,先用255.255.255.0子網(wǎng)化一下,結(jié)果如下
172.16.1.0/24 172.16.2.0/24 …… 172.16.254.0/24 (254個(gè))
下面我們?cè)賹?duì)這里面的第一個(gè)子網(wǎng)172.16.1.0/24用255.255.255.224子網(wǎng)化一下,結(jié)果如下
172.16.1.32/27 172.16.1.64/27 …… 172.16.1.192/27 (6個(gè))
下面我們?cè)賹?duì)這里面的第一個(gè)子網(wǎng)172.16.1.32/27用255.255.255.252子網(wǎng)化一下,結(jié)果如下
172.16.1.36/30 172.16.1.40/30 …… 172.16.1.56/30 (6個(gè))
從這個(gè)例子中可以看到,為了實(shí)現(xiàn)可變長(zhǎng)子網(wǎng)掩碼,首先使用一個(gè)合法的子網(wǎng)掩碼將網(wǎng)絡(luò)分割,接著再將第一級(jí)子網(wǎng)用一個(gè)更長(zhǎng)的子網(wǎng)掩碼進(jìn)行進(jìn)一步分割,最初的子網(wǎng)可以被不同的子網(wǎng)掩碼分割,這就是“可變長(zhǎng)”的概念。大家明白了嗎?
聽了田中老師的話,同學(xué)們反應(yīng)不一,孫悟空,二郎神等一點(diǎn)就透,不用多說,八戒和沙僧則在紙上畫出了許許多多的0和1,一番歸納也得出了自己的結(jié)論。而摩家四兄弟不等老師提問,就一個(gè)個(gè)站了起來.
魔里海:“可變長(zhǎng)子網(wǎng)掩碼的作用就是劃分子網(wǎng)的子網(wǎng)”;
魔里紅:“不同的子網(wǎng)可以用不同的子網(wǎng)掩碼”;
魔里青:“不會(huì)浪費(fèi)IP地址”;
魔里獸:“Good idea!”;
田中老師接著說:
下面的概念也是一種用來解決網(wǎng)絡(luò)地址不夠用的方法,我們稱之為“超網(wǎng)”
假設(shè)一個(gè)機(jī)構(gòu)需要1000個(gè)地址,那么如果申請(qǐng)一個(gè)B類地址,就會(huì)有許多地址被浪費(fèi),因?yàn)槲覀冇貌涣诉@6萬多個(gè)地址,但是如果去申請(qǐng)一個(gè)C類地址又不夠用,這種情況下,超網(wǎng)的概念給出了這樣的解決方法:首先分配給該機(jī)構(gòu)4個(gè)連續(xù)的C類地址,如
200.16.16.0
200.16.17.0
200.16.18.0
200.16.19.0
如果我們采用C類地址默認(rèn)的子網(wǎng)掩碼255.255.255.0那么這就是4個(gè)獨(dú)立的網(wǎng)段。但是如果我們用255.255.252.0作子網(wǎng)掩碼,那么這4個(gè)網(wǎng)段就“合并”到了一起。完全可以當(dāng)作一個(gè)網(wǎng)段來用!可見,超網(wǎng)在解決網(wǎng)絡(luò)地址不夠用的問題方面還是用一定作用的。
為了讓大家更好地理解超網(wǎng)“合多為一”的功能,我們來看下圖
如果ISP用戶們的地址是從198.0.0.0到198.255.255.0,那么考慮一下那些和ISP相連的路由器中路由表的容量?這些路由器會(huì)不會(huì)為每一個(gè)ISP的用戶建立一條單獨(dú)的路由呢?根據(jù)我們的知識(shí),答案當(dāng)然是會(huì),但是這些路由會(huì)占用多少空間呢?2^16個(gè)!確實(shí)太多。如果我們使用了超網(wǎng)。情況就會(huì)變得簡(jiǎn)單易懂:用198.0.0.0/8來代替所有以198開頭的路由就行了。路由表變小了!換句話說。在CIDR中,地址根據(jù)網(wǎng)絡(luò)拓?fù)鋪矸峙?。連續(xù)的一組網(wǎng)絡(luò)地址可以被分配給一個(gè)服務(wù)提供商,使整組地址作為一個(gè)網(wǎng)絡(luò)地址。在我們的這個(gè)例子中:一個(gè)服務(wù)提供商被分配以256個(gè)C類地址,假設(shè)是從213.79.0.0到213.79.255.0,服務(wù)提供商給每個(gè)用戶分配一個(gè)C類地址,但服務(wù)提供商外部的路由表只通過一個(gè)表項(xiàng)--掩碼為255.255.0.0的網(wǎng)絡(luò)213.79.0.0就可以分辨出這些路由,節(jié)省了許多空間。
這種方法明顯減少了路由表的增長(zhǎng),CIDR RFC的作者估計(jì),如果90%的服務(wù)提供商使用了CIDR,路由表將以每3年54%的速度增長(zhǎng),而如果沒有使用CIDR,則增長(zhǎng)速度為776%。如果可以重新組織現(xiàn)有的地址,則因特網(wǎng)骨干上的路由器廣播的路由數(shù)量將大大減少。但這實(shí)際是不可行的,因?yàn)閷砭薮蟮墓芾碡?fù)擔(dān)。目前看來,王連網(wǎng)上的CIDR功不可沒!
田中老師開始總結(jié):同學(xué)們:
我們看到了,無論是可變長(zhǎng)子網(wǎng)掩碼,還是超網(wǎng),其目的都是更有效地使用現(xiàn)有的網(wǎng)絡(luò)資源。就是在這些方法的有效作用下,我們的互聯(lián)網(wǎng)目前正在一天天地發(fā)展。有許許多多的新技術(shù)不斷出現(xiàn),我們每一個(gè)人都要充分利用現(xiàn)有的資源,多多學(xué)習(xí),將來才有可能在機(jī)會(huì)到來的時(shí)候…..
“混上一碗飯吃!”八戒大聲的插嘴道
底下靜悄悄的,沒有一個(gè)同學(xué)發(fā)笑….
“第一期的培訓(xùn)就到此為止,希望我們下次再見“田中老師面無表情,走出了教室…