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