【討論】上課聽不懂的問題(子網域切割)



贊助商連結


頁 : [1] 2

Joe680830
2006-04-17, 09:11 AM
小弟在上網路課程,聽到老師講子網域切割的部份,
老師介紹子網域切割說要借最後一個byte來使用,
這些小弟都還算了解,他並且借了2個bit來切成4個網域,
但當老師講到全零及全壹網域時,遇到了一些疑問,
老師說當所借的bit都是0或都是1時,這2個網域是不能用的,
也就是說切出來的4個網域只有2個是能用的,因為所借的bit是0及1

想請問大家有聽過這種說法嗎?如果是真的,為甚麼不能用呢?
那如果只要切2個網域(也就是借1個bit來用,不就都不能使用?)
小弟問過老師,他說規定就是這樣=..=害我很無言
煩請幫我解答一下這個觀念上的問題,謝謝!!

贊助商連結


Joe680830
2006-04-17, 12:35 PM
例如
192.168.1."00"000000~192.168.1."00"111111整段不能用
192.168.1."01"000000~192.168.1."01"111111可以用
192.168.1."10"000000~192.168.1."10"111111可以用
192.168.1."11"000000~192.168.1."11"111111整段不能用

上面是老師舉的例子," "裡的是所借用的bit,只要是全0及全1,網域就不能用!?
我想知道老師說的是正確的嗎?如果是,想切2段網域則必需借用到2bit?

darcychan2003
2006-04-17, 04:36 PM
例如:168.95.0.0的企業想切割8個子網


切割後Subnet ID(3Bit)加上Network ID(16Bit)共有19Bit,可視為新的Network ID

而Host ID則減少為13bit,故可使用的Host剩下2^13=8192

※依Classful(RFC 950)規定Subnet ID全為0或1有特別用途,故不可使用

若Router及主機均支援RFC 1812,則在Classless環境中,可使用Subnet ID全為0或1的網段

轉自~
http://www.nkps.tp.edu.tw/bweb/information/imformation/SysDoc/TCPIP/IP.htm

Joe680830
2006-04-17, 04:55 PM
謝謝大大的解答,意思就是說依規定是不能使用的,
但如果設備支援的話,是沒問題的囉!

如果只想切2段網域的話192.168.1.0/25也是ok的囉~

darcychan2003
2006-04-17, 05:02 PM
我看的書跟網上的資料都是這樣寫

實際的機器沒有操作過

只要網路環境中route跟host有技援Classless ip(RFC 1812)位置

subnet全為1或0的就可以使用

Joe680830
2006-04-17, 05:10 PM
真的非常謝謝,解決了困擾小弟3天的問題!

因小弟也是從從實務方面再去上課的,實務上沒遇到這個問題,
一直以為老師講錯!^^"

linux_xp
2006-04-17, 07:40 PM
樓主的老師說錯了, subnet 一次是借一個 bit,不是一個 byte
(註:1byte = 8bit ,FF=255=11111111,不是 11 )

Class C 子網路切割 - 速算法:
http://www.pczone.com.tw/showthread.php?t=105128

Host ID 不能全為 0 ,也不能全為 1
因為:
全為 0 就是網段本身,例如:192.168.0.0
全為 1 就是廣播位置,例如:192.168.0.255

Network ID 不能全為 0,也不能全為 1
因為:
全為 0,例如 0.0.0.x ,是不合法的網段
全為 1,例如 255.255.255.x,也是不合法的網段

何為 Class ABCDE?
IP v4 換算成 2進位後,會有 32 bit
開頭 0 為 Class A (十進位 1 開始 ~ 126)
開頭 10 為 Class B (十進位 128 開始)
開頭 110 為 Class C (十進位 192 開始)
開頭 1110 為 Class D (十進位 224 開始)
開頭 11110 為 Class E (十進位 240 開始 ~ 247)

Class D 用於多點傳送 (Multicast)
Class E 為實驗用途
兩者皆不可能出現在真實 IP

127.0.0.0/8 是特殊區段,代表本機 loopback
它不屬於 Class ABCDE任何一段

三個 private IP (私人IP) 保留區段:
10.0.0.0/8 (A級)
172.16.0.0/20 (B級)
192.168.0.0/16 (C級)

-----------------------------------------------------------------------------------

192.168.1.0/25 是否可行? ~YES

Network ID 借一位,分割為兩個子網路
Host ID 佔 7位,2的7次方為 128,每個子網路有 128個 IP
但可用只有 128 -2 = 126 個 IP

兩個網段為:
192.168.1.0/255.255.255.128,廣播位置 192.168.1.128
192.168.1.129/25,廣播位置 192.168.1.255

什麼情況下的子網路切割,是不可行的?

192.168.1.0/31
切割為 128 網段,每個網段 2 個 IP
一個網段本身,一個廣播位置,等於沒有可用 IP
這種情況就是完全不可行的,可切割,但沒有可用 IP....

基本上,每切一次,原則上就會損失兩個 IP
若加上預設閘道,實際上是損失三個 IP
切愈多網段,損失愈多 IP
當損失太嚴重時,就是不合理的切割法

例如中華電信的固 8 IP,子網掩碼為 /29
實際可用 IP 只有 5 個
一個 Class C 網段,切割為 32 網段,共損失 32x3= 96 個真實 IP
這種損失已經是極限了

後來又有所謂的 CIDR (Classless Inter-Domain Routing)
就是不切割了
現在 ISP 的固定 IP ,都是屬於這種

附帶一提:子網路切割的用意,是為了減少封包碰撞

darcychan2003
2006-04-17, 09:16 PM
有二個地方討論一下:)

三個 private IP (私人IP) 保留區段:
10.0.0.0/8 ~10.255.255.255(A級)
172.16.0.0/12 ~172.31.255.255(B級)
192.168.0.0/16 ~192.168.255.255(C級)

不過192.168.X.Y 大部份人都還是用/24 沒那麼多電腦啦XD


兩個網段為:
192.168.1.0/255.255.255.127 ,廣播位置 192.168.1.127
192.168.1.128/25,廣播位置 192.168.1.255 才對

打太快筆誤了:)

rushoun
2006-04-17, 09:25 PM
這裡也有個連結,可以參考。樓主您是否有修過邏輯概論?如果沒修過
,可能需要學一下喔,會比較容易理解。
有些東西老師上課時會說這是規定,其實應該要跟學生說明規定的原因
比較好,不然會知其然不知其所以然。規定的東西,其實都是有理論基
礎的,不是沒來由的規定。
像網路遮罩(SUBMASK),就是一種邏輯的AND運算,不了解AND的邏
輯運算,接下來就很難懂了。
http://www.study-area.org/network/networkfr1.htm

Joe680830
2006-04-18, 12:32 AM
可能小弟的表達能力比較不好,上課老師舉的例子是:
例如:企業為避免封包碰撞,可將網域切為4段,底下最後1byte寫為2進位值
192.168.1."00"000000~192.168.1."00"111111則整網段不能用
192.168.1."01"000000~192.168.1."01"111111則可以用
192.168.1."10"000000~192.168.1."10"111111則可以用
192.168.1."11"000000~192.168.1."11"111111則整網段不能用

" "表示subnet ID,為所借用最後1byte的前2bit,
廣播位址及網路位址是指host ID小弟也清楚,每切1網段會損失2個host ID無法使用,
但老師的意思是當所借用的" "subnet ID裡,2進位值為00及11(全0及全1)時,
這整段網域是無法使用的,也就是說,(以下這句話老師用強調的語氣講的)
借2個bit切4段網域只有2網段可用,借3個bit切8段網域,只有6網段可用!
(這也是小弟主要的疑問)

到底老師所講的是正確的嗎?darcychan2003所連結提的文章也說到:
"subnet ID"全為0及1有特殊用途!?(也沒提特殊用途為何及為甚麼=..=")
並不是"host ID"(也就不是網路及廣播位址)
若是,那麼只借1bit來切2段,不就為全0及全1(都不能用!?)
希望大家幫忙解答小弟這個觀念的問題!^^"感激不盡!!