作者 主題: 關於VLSM子網路切割觀念請教  (閱讀 5329 次)

0 會員 與 1 訪客 正在閱讀本文。

willie0220

  • 憂鬱的高中生
  • ***
  • 文章數: 142
    • 檢視個人資料
關於VLSM子網路切割觀念請教
« 於: 2004-09-03 22:35 »
大家好~

小弟最近重讀一次關於ip與netmask

觀念清楚很多

但是突然發現一個以前想都沒想過的問題@@

翻了翻手上的書還有網路上的文件(netman學長的文章也看過了)

也沒有提到這個問題

所以小弟將我的問題po上來...若有觀念不對的地方,敬請指證 :D

---------------------
小弟的問題是關於子網路切割(VLSM)時的一個小細節
---------------------

小弟以192.168.0.0/16這個網段來作VLSM(要切成四個子網路)的時候,用以下的算法:

step 1.  將netmask轉成二進位,並向HOST ID借兩個位元:

               11111111.11111111.11000000.00000000


step 2. 如此一來可切成四個子網路遮罩:

               11111111.11111111.00000000.00000000
           11111111.11111111.01000000.00000000
           11111111.11111111.10000000.00000000
           11111111.11111111.11000000.00000000

step 3. 拿其中一個來算到底每個子網路可用主機位址數目是多少(在此小弟拿最後一個來算),算出可用數目如下:

               11000000.10101000.11000000.00000001
                                        到
               11000000.10101000.11111111.11111110

也就是192.168.192.1到192.168.255.254,共有2的14次方-2=16382組


但是,小弟手邊有本書(作者李x澤),上面寫到
可用的位址應該是64*254=16256

小弟不懂的是,為什麼不能使用192.168.192.255之類尾巴以255作結尾的ip?

怕是書上寫錯,也為了求證,所以也實際拿了兩台電腦互測,將這兩台電腦設成192.168.192.255和192.168.193.255,netmask都設成255.255.192.0發現不能互通。不過尾巴改成254即可。


小弟不懂的是,照二進位以AND/OR的算法所求出的BROADCAST,不是每個子網路只會有一組BROADCAST?那照這樣的算法,為何以255結尾的ip不能實際運作呢?


不知道是不是小弟觀念有錯,有錯的話敬請指證,感謝.... :(

ZMAN

  • 酷!學園 學長們
  • 俺是博士!
  • *****
  • 文章數: 6245
  • 性別: 男
    • 檢視個人資料
    • 魔力門部落格
關於VLSM子網路切割觀念請教
« 回覆 #1 於: 2004-09-04 12:23 »
書看太多了
回頭去翻你的書 大約是在談ABCD狗咬豬那個範圍重看一遍
除非你公司網路非常龐大否則這些對你一點用都沒有
佈線深似海!
網路高如天!

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17089
    • 檢視個人資料
    • http://www.study-area.org
關於VLSM子網路切割觀念請教
« 回覆 #2 於: 2004-09-04 12:30 »
嗯, 雖然在企業網路上(LAN), 一般不需要算這玩意,
但作為一個網路技術人員, 對 subnetting 的原理搞清楚些, 也是好的.

只是, 上面 step2 就錯了:
你借了 2 bit 作 subnet mask(11), 那就是 26 bit mask,
不會是甚 00 01 10 這些怪 mask .
你應算的是原本的 netID 再加上 subnetID (00, 01, 10, 11), 而不是 mask ...

為何 255 不行? 搞懂 hostID 不能全為 0 也不能全 1 就知道了.

willie0220

  • 憂鬱的高中生
  • ***
  • 文章數: 142
    • 檢視個人資料
關於VLSM子網路切割觀念請教
« 回覆 #3 於: 2004-09-04 16:02 »
等等....=.=///

我發現過去一年來我以為是對的觀念

居然是錯的

真的是太高興啦~~~~~

我先去K一下netman學長文章,等等再來分享~~~ :D

willie0220

  • 憂鬱的高中生
  • ***
  • 文章數: 142
    • 檢視個人資料
關於VLSM子網路切割觀念請教
« 回覆 #4 於: 2004-09-04 16:38 »
重看一次Netman學長文章之後,發現自己以前觀念真的有錯=.=///

不過還是有些許疑問要請教大家

在Netman學長的文章中有這一段:
代碼: [選擇]
然而,我們並不能簡單的將它以十進位的 0.1 到 31.254 這樣表示﹐因為我們在表示一個完整的 IP 必需是 4 個完整的 Octet ,因此我們還得與各個不同的 Sub-net ID 再相加一起才能得出最終的 IP 號碼。例如﹕

在 Sub-net ID 001 之下的主機號碼﹐將會是從
00100000.00000001 到
00111111.11111110 之間﹐
亦即是﹕從 32.1 到 63.254 之間﹐
整個 IP 位址則是﹕從 139.175.32.1 到 139.175.63.254 之間。


小弟先來說說我自己是如何理解的:

netmask 是前19bits,也就是255.255.224.0

所以在Sub-net ID 001之下,Host ID 是後13bits,也就是Netman學長文章說的,是從(紅色部分是Host ID)
00100000.00000001
00111111.11111110 之間

共有2的13次方-2,
因為Host ID不能全為0也不能全為1,也就是以下這兩組是要扣掉的:
00100000.00000000   <---網路本身
00111111.11111111   <---廣播位址
全為0是網路本身,全為1是廣播位址,所以共有8190個主機號碼。

小弟的疑問是,這8190個主機號碼中,應該有包含
00100000.11111111這一組主機號碼吧?為什麼這一組號碼不能使用呢?

Host ID是後13bits,而這組主機號碼並沒有讓Host ID全部變成0或1呀? :roll:

mn921

  • 活潑的大學生
  • ***
  • 文章數: 375
    • 檢視個人資料
關於VLSM子網路切割觀念請教
« 回覆 #5 於: 2004-09-04 16:56 »
插花
書先貢起來,  netman 有個  iptables 的語音影像教學, 找出來, 看一下網路部分
也可以認識一下本尊
再問的時候 就比較好問,  不然還是會被 K 滿頭包

willie0220

  • 憂鬱的高中生
  • ***
  • 文章數: 142
    • 檢視個人資料
關於VLSM子網路切割觀念請教
« 回覆 #6 於: 2004-09-04 17:19 »
本尊我知道阿....

我上過Netman學長的課哩....^_^y不過不夠成材就是了

至於Netman學長iptables教學...我是找不到啦@@"

不過Netman學長的網路概論影片倒是看過了

提這問題也是因為以前沒注意過這個細節

也一直以為以前的觀念是正確的...結果果然發現理解錯誤@@///

在發問之前也有先做過功課(不然怕被罵@@)...這個問題是我手邊的資料都沒有提及,網路上也找不到可以解決我的疑問的資料..

所以才來這裡請教大家的^^也順便藉由討論,看自己是不是有哪裡的盲點,才可以去補強...

請大家多多指教^^

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17089
    • 檢視個人資料
    • http://www.study-area.org
關於VLSM子網路切割觀念請教
« 回覆 #7 於: 2004-09-04 17:30 »
引述: "willie0220"
小弟的疑問是,這8190個主機號碼中,應該有包含
00100000.11111111這一組主機號碼吧?為什麼這一組號碼不能使用呢?

對啊, 若你確定 netmask 設對了, 以上 IP 是可用的.

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17089
    • 檢視個人資料
    • http://www.study-area.org
關於VLSM子網路切割觀念請教
« 回覆 #8 於: 2004-09-04 17:31 »
引述: "mn921"
不然還是會被 K 滿頭包

哈哈, 還好啦, 我現在很少 K 人了...  ^_^

willie0220

  • 憂鬱的高中生
  • ***
  • 文章數: 142
    • 檢視個人資料
關於VLSM子網路切割觀念請教
« 回覆 #9 於: 2004-09-04 17:35 »
嗯?那我沒理解錯誤囉?

真奇怪...等等再來試一次看看 :roll:

感謝學長們的幫助

繼續K書去~~ :P

cm

  • 可愛的小學生
  • *
  • 文章數: 5
    • 檢視個人資料
關於VLSM子網路切割觀念請教
« 回覆 #10 於: 2004-09-19 03:22 »
印象中主要是因為早期的設備並不支援VLSM,所以當使用
192.168.x.x 的網段時,這些設備還是用 Class C 的方式
來看你用 VLSM 分割過的網路位址。

因此所有 192.168.x.0 及 192.168.x.255 的 IP 會無法使
用。

記得 Cisco router 中好像有指令來作切換。至於有支援
VLSM的設備應該就沒有這個問題才對。

sitediy

  • 活潑的大學生
  • ***
  • 文章數: 426
    • 檢視個人資料
關於VLSM子網路切割觀念請教
« 回覆 #11 於: 2004-09-19 14:59 »
引述: "cm"
印象中主要是因為早期的設備並不支援VLSM,所以當使用
192.168.x.x 的網段時,這些設備還是用 Class C 的方式
來看你用 VLSM 分割過的網路位址。

因此所有 192.168.x.0 及 192.168.x.255 的 IP 會無法使
用。

記得 Cisco router 中好像有指令來作切換。至於有支援
VLSM的設備應該就沒有這個問題才對。


你說的應個是這個指令吧
ip subnet-zero

Deadboy

  • 可愛的小學生
  • *
  • 文章數: 21
    • 檢視個人資料
關於VLSM子網路切割觀念請教
« 回覆 #12 於: 2004-09-20 23:29 »
這個問題其實很簡單..
你把192.168.0.0/16再借兩位..其實就是192.168.0.0/18對吧
但是你所用的是192.x.x.x 192本身是C Class 所以它本來就是192.x.x.x /24
所以你用192.168.0.0/18是無意義的
除非你是用B Class 那才是有意義的..
如何分別A B C Class呢..
在這再一次提醒大家..
IP是由32個BIT組成..這個大家都知道吧..
所以就是00000000.00000000.00000000.00000000到11111111.11111111.11111111.11111111
而當第一個 BIT 為 0 則為Class A
而當第一個 BIT 為 1 而第二個為 0 則為Class B
而Class C就是第一、二個 BIT 為 1 第三個 BIT 為 0
所以你用Class C的IP去做Class B的借位..當然就借不到囉..
如果你用Class B來做的話..那就不會有問題啦..

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17089
    • 檢視個人資料
    • http://www.study-area.org
關於VLSM子網路切割觀念請教
« 回覆 #13 於: 2004-09-21 00:19 »
引述: "Deadboy"
所以你用192.168.0.0/18是無意義的
除非你是用B Class 那才是有意義的..

嗯, 不怎麼認同...
這裡談的的 VLSM, 已經是 Classless 的了.
因此, 請將 class 忘記吧...

jacky529

  • 憂鬱的高中生
  • ***
  • 文章數: 158
    • 檢視個人資料
關於VLSM子網路切割觀念請教
« 回覆 #14 於: 2004-09-22 05:46 »
會用到正統子網切割法的機會應該很少吧.除非你是在 isp 公司.或網路設備的公司上班...要不然就是你在 router 或 switch 上面要設 Access-list 的規則..就要用到正統的算法..

例如..我在 router 上面要限制 192.168.0.1-192.168.0.100/24可上網..其它的 ip 都不可上網..

若你不會子網切割.就無法做到...


access-list 1 permit 192.168.1.0 0.0.0.63
access-list 1 permit 192.168.1.64 0.0.0.31
access-list 1 permit 192.168.1.96 0.0.0.3
access-list 1 permit 192.168.1.100 0.0.0.0
access-list 1 deny any