天天看點

IP 子網劃分詳解

 子網劃分

  Internet組織機構定義了五種IP位址,用于主機的有A、B、C三類位址。其中A類網絡有126個,每個A類網絡可能有16,777,214台主機,它們處于同一廣播域。而在同一廣播域中有這麼多結點是不可能的,網絡會因為廣播通信而飽和,結果造成16,777,214個位址大部分沒有配置設定出去,形成了浪費。而另一方面,随着互連網應用的不斷擴大,IP位址資源越來越少。為了實作更小的廣播域并更好地利用主機位址中的每一位,可以把基于類的IP網絡進一步分成更小的網絡,每個子網由路由器界定并配置設定一個新的子網網絡位址,子網位址是借用基于類的網絡位址的主機部分建立的。劃分子網後,通過使用掩碼,把子網隐藏起來,使得從外部看網絡沒有變化,這就是子網路遮罩。

  1. 子網路遮罩

  RFC 950定義了子網路遮罩的使用,子網路遮罩是一個32位的2進制數,其對應網絡位址的所有位都置為1,對應于主機位址的所有位都置為0。由此可知,A類網絡的預設的子網路遮罩是255.0.0.0,B類網絡的預設的子網路遮罩是255.255.0.0,C類網絡的預設的子網路遮罩是255.255.255.0。将子網路遮罩和IP位址按位進行邏輯“與”運算,得到IP位址的網絡位址,剩下的部分就是主機位址,進而區分出任意IP位址中的網絡位址和主機位址。子網路遮罩常用點分十進制表示,我們還可以用網絡字首法表示子網路遮罩,即“/<網絡位址位數>”。如138.96.0.0/16表示B類網絡138.96.0.0的子網路遮罩為255.255.0.0。

  子網路遮罩告知路由器,位址的哪一部分是網絡位址,哪一部分是主機位址,使路由器正确判斷任意IP位址是否是本網段的,進而正确地進行路由。例如,有兩台主機,主機一的IP位址為222.21.160.6,子網路遮罩為255.255.255.192,主機二的IP位址為222.21.160.73,子網路遮罩為255.255.255.192。現在主機一要給主機二發送資料,先要判斷兩個主機是否在同一網段。

  主機一

  222.21.160.6即:11011110.00010101.10100000.00000110

  255.255.255.192即:11111111.11111111.11111111.11000000

  按位邏輯與運算結果為: 11011110.00010101.10100000.00000000

  主機二

  222.21.160.73 即:11011110.00010101.10100000.01001001

  按位邏輯與運算結果為:11011110.00010101.10100000.01000000

  兩個結果不同,也就是說,兩台主機不在同一網絡,資料需先發送給預設網關,然後再發送給主機二所在網絡。那麼,假如主機二的子網路遮罩誤設為255.255.255.128,會發生什麼情況呢?

  讓我們将主機二的IP位址與錯誤的子網路遮罩相“與”:

  255.255.255.128即:11111111.11111111.11111111.10000000

  結果為 11011110.00010101.10100000.00000000

  這個結果與主機的網絡位址相同,主機與主機二将被認為處于同一網絡中,資料不再發送給預設網關,而是直接在本網内傳送。由于兩台主機實際并不在同一網絡中,資料包将在本子網内循環,直到逾時并抛棄。資料不能正确到達目的機,導緻網絡傳輸錯誤。

  反過來,如果兩台主機的子網路遮罩原來都是255.255.255.128,誤将主機二的設為255.255.255.192,主機一向主機二發送資料時,由于IP位址與錯誤的子網路遮罩相與,誤認兩台主機處于不同網絡,則會将本來屬于同一子網内的機器之間的通信當作是跨網傳輸,資料包都交給預設網關處理,這樣勢必增加預設網關的負擔,造成網絡效率下降。是以,子網路遮罩不能任意設定,子網路遮罩的設定關系到子網的劃分。

  2. 子網劃分與掩碼的設定

  子網劃分是通過借用IP位址的若幹位主機位來充當子網位址進而将原網絡劃分為若幹子網而實作的。劃分子網時,随着子網位址借用主機位數的增多,子網的數目随之增加,而每個子網中的可用主機數逐漸減少。以C類網絡為例,原有8位主機位,2的8次方即256個主機位址,預設子網路遮罩255.255.255.0。借用1位主機位,産生2個子網,每個子網有126個主機位址;借用2位主機位,産生4個子網,每個子網有62個主機位址……每個網中,第一個IP位址(即主機部分全部為0的IP)和最後一個IP(即主機部分全部為1的IP)不能配置設定給主機使用,是以每個子網的可用IP位址數為總IP位址數量減2;根據子網ID借用的主機位數,我們可以計算出劃分的子網數、掩碼、每個子網主機數,清單如下:

  ① 劃分子網數

  ② 子網位數

  ③ 子網路遮罩(二進制)

  ④ 子網路遮罩(十進制)

  ⑤ 每個子網主機數

  ① 1~2

  ② 1

  ③ 11111111.11111111.11111111.10000000

  ④ 255.255.255.128

  ⑤ 126

  ① 3~4

  ② 2

  ③ 11111111.11111111.11111111.11000000

  ④ 255.255.255.192

  ⑤ 62

  ① 5~8

  ② 3

  ③ 11111111.11111111.11111111.11100000

  ④ 255.255.255.224

  ⑤ 30

  ① 9~16

  ② 4

  ③ 11111111.11111111.11111111.11110000

  ④ 255.255.255.240

  ⑤ 14

  ① 17~32

  ② 5

  ③ 11111111.11111111.11111111.11111000

  ④ 255.255.255.248

  ⑤ 6

  ① 33~64

  ② 6

  ③ 11111111.11111111.11111111.11111100

  ④ 255.255.255.252

  ⑤ 2

  如上表所示的C類網絡中,若子網占用7位主機位時,主機位隻剩一位,無論設為0還是1,都意味着主機位是全0或全1。由于主機位全0表示本網絡,全1留作廣播位址,這時子網實際沒有可用主機位址,是以主機位至少應保留2位。

  從上表可總結出子網劃分的步驟或者說子網路遮罩的計算步驟:

  2.1 确定要劃分的子網數目以及每個子網的主機數目。

  2.2 求出子網數目對應二進制數的位數N及主機數目對應二進制數的位數M。

  2.3 對該IP位址的原子網路遮罩,将其主機位址部分的前N位置 1或後M位置0 即得出該IP位址劃分子網後的子網路遮罩。

  例如,對B類網絡135.41.0.0/16需要劃分為20個能容納200台主機的網絡。因為16<20<32,即:2的4次方<20<2的5次方,是以,子網位隻須占用5位主機位就可劃分成32個子網,可以滿足劃分成20個子網的要求。B類網絡的預設子網路遮罩是255.255.0.0,轉換為二進制為11111111.11111111.00000000.00000000。現在子網又占用了5位主機位,根據子網路遮罩的定義,劃分子網後的子網路遮罩應該為11111111.11111111.11111000.00000000,轉換為十進制應該為255.255.248.0。現在我們再來看一看每個子網的主機數。子網中可用主機位還有11位,2的11次方=2048,去掉主機位全0和全1的情況,還有2046個主機ID可以配置設定,而子網能容納200台主機就能滿足需求,按照上述方式劃分子網,每個子網能容納的主機數目遠大于需求的主機數目,造成了IP位址資源的浪費。為了更有效地利用資源,我們也可以根據子網所需主機數來劃分子網。還以上例來說,128<200<256,即2^7<200<2^8,也就是說,在B類網絡的16位主機位中,保留8位主機位,其它的16-8=8位當成子網位,可以将B類網絡138. 96.0.0劃分成256(2^8)個能容納256-1-1-1=253台(去掉全0全1情況和留給路由器的位址)主機的子網。此時的子網路遮罩為11111111.11111111.11111111.00000000,轉換為十進制為255.255.255.0。

  在上例中,我們分别根據子網數和主機數劃分了子網,得到了兩種不同的結果,都能滿足要求,實際上,子網占用5~8位主機位時所得到的子網都能滿足上述要求,那麼,在實際工作中,應按照什麼原則來決定占用幾位主機位呢?

  在劃分子網時,不僅要考慮目前需要,還應了解将來需要多少子網和主機。對子網路遮罩使用比需要更多的主機位,可以得到更多的子網,節約了IP位址資源,若将來需要更多子網時,不用再重新配置設定IP位址,但每個子網的主機數量有限;反之,子網路遮罩使用較少的主機位,每個子網的主機數量允許有更大的增長,但可用子網數量有限。一般來說,一個網絡中的節點數太多,網絡會因為廣播通信而飽和,是以,網絡中的主機數量的增長是有限的,也就是說,在條件允許的情況下,會将更多的主機位用于子網位。

  綜上所述,子網路遮罩的設定關系到子網的劃分。子網路遮罩設定的不同,所得到的子網不同,每個子網能容納的主機數目不同。若設定錯誤,可能導緻資料傳輸錯誤。

  補充:

  子網劃分(subnetting)的優點:

  1.減少網絡流量

  2.提高網絡性能

  3.簡化管理

  4.易于擴大地理範圍

  How to Creat Subnets

  如何劃分子網?首先要熟記2的幂:2的0次方到9次方的值分别為:1,2,4,8,16,32,64,128,256和512.還有要明白的是:子網劃分是借助于取走主機位,把這個取走的部分作為子網位.是以這個意味劃分越多的子網,主機将越少

  Subnet Masks

  子網路遮罩用于辨識IP位址中哪部分為網絡位址,哪部分為主機位址,有1和0組成,長32位,全為1的位代表網絡号.不是所有的網絡都需要子網,是以就引入1個概念:預設子網路遮罩(default subnet mask).A類IP位址的預設子網路遮罩為255.0.0.0;B類的為255.255.0.0;C類的為255.255.255.0

  Classless Inter-Domain Routing(CIDR)

  CIDR叫做無類域間路由,ISP常用這樣的方法給客戶配置設定位址,ISP提供給客戶1個塊(block size),類似這樣:192.168.10.32/28,這排數字告訴你你的子網路遮罩是多少,/28代表多少位為1,最大/32.但是你必須知道的1點是:不管是A類還是B類還是其他類位址,最大可用的隻能為30/,即保留2位給主機位

  CIDR值:

  1.掩碼255.0.0.0:/8(A類位址預設掩碼)

  2.掩碼255.128.0.0:/9

  3.掩碼255.192.0.0:/10

  4.掩碼255.224.0.0:/11

  5.掩碼255.240.0.0:/12

  6.掩碼255.248.0.0:/13

  7.掩碼255.252.0.0:/14

  8.掩碼255.254.0.0:/15

  9.掩碼255.255.0.0:/16(B類位址預設掩碼)

  10.掩碼255.255.128.0:/17

  11.掩碼255.255.192.0:/18

  12.掩碼255.255.224.0:/19

  13.掩碼255.255.240.0:/20

  14.掩碼255.255.248.0:/21

  15.掩碼255.255.252.0:/22

  16.掩碼255.255.254.0:/23

  17.掩碼255.255.255.0:/24(C類位址預設掩碼)

  18.掩碼255.255.255.128:/25

  19.掩碼255.255.255.192:/26

  20.掩碼255.255.255.224:/27

  21.掩碼255.255.255.240:/28

  22.掩碼255.255.255.248:/29

  23.掩碼255.255.255.252:/30

  Subnetting Class A,B&C Address

  劃分子網的幾個捷徑:

  1.你所選擇的子網路遮罩将會産生多少個子網?:2的x次方-2(x代表掩碼位,即2進制為1的部分,現在的網絡中,已經不需要-2,已經可以全部使用,不過需要加上相應的配置指令,例如CISCO路由器需要加上ip subnet zero指令就可以全部使用了。)

  2.每個子網能有多少主機?: 2的y次方-2(y代表主機位,即2進制為0的部分)

  3.有效子網是?:有效子網号=256-10進制的子網路遮罩(結果叫做block size或base number)

  4.每個子網的廣播位址是?:廣播位址=下個子網号-1

  5.每個子網的有效主機分别是?:忽略子網内全為0和全為1的位址剩下的就是有效主機位址.最後有效1個主機位址=下個子網号-2(即廣播位址-1)

  根據上述捷徑劃分子網的具體執行個體:

  C類位址例子:網絡位址192.168.10.0;子網路遮罩255.255.255.192(/26)

  1.子網數=2*2-2=2

  2.主機數=2的6次方-2=62

  3.有效子網?:block size=256-192=64;是以第一個子網為192.168.10.64,第二個為192.168.10.128

  4.廣播位址:下個子網-1.是以2個子網的廣播位址分别是192.168.10.127和192.168.10.191

  5.有效主機範圍是:第一個子網的主機位址是192.168.10.65到192.168.10.126;第二個是192.168.10.129到192.168.10.190

  B類位址例子1:網絡位址:172.16.0.0;子網路遮罩255.255.192.0(/18)

  2.主機數=2的14次方-2=16382

  3.有效子網?:block size=256-192=64;是以第一個子網為172.16.64.0,最後1個為172.16.128.0

  4.廣播位址:下個子網-1.是以2個子網的廣播位址分别是172.16.127.255和172.16.191.255

  5.有效主機範圍是:第一個子網的主機位址是172.16.64.1到172.16.127.254;第二個是172.16.128.1到172.16.191.254

  B類位址例子2:網絡位址:172.16.0.0;子網路遮罩255.255.255.224(/27)

  1.子網數=2的11次方-2=2046(因為B類位址預設掩碼是255.255.0.0,是以網絡位為8+3=11)

  2.主機數=2的5次方-2=30

  3.有效子網?:block size=256-224=32;是以第一個子網為172.16.0.32, 最後1個為172.16.255.192

  4.廣播位址:下個子網-1.是以第一個子網和最後1個子網的廣播位址分别是172.16.0.63和172.16.255.223

  5.有效主機範圍是:第一個子網的主機位址是172.16.0.33到172.16.0.62;最後1個是172.16.255.193到172.16.255.222

  Variable Length Subnet Masks(VLSM)

  可變長子網路遮罩(VLSM)的作用:節約IP位址空間;減少路由表大小.使用VLSM時,所采用的路由協定必須能夠支援它,這些路由協定包括RIPv2,OSPF,EIGRP和BGP.

繼續閱讀