【問題】切割為兩個等大小的子網路



贊助商連結


頁 : [1] 2

delphinus_hsia
2008-01-11, 10:28 AM
若 A 公司向中華電信申請1個Class C(210.240.223.0)的位址空間,若要切割為兩個大小相等的子網路(Subnet)給 B1及 B2 使用。
請問:
B1(前段)與B2(後段)可使用的IP位址範圍各為何?
各有多少個可用IP位址?
子網路遮罩(Subnet Mask)應該為何?

Please 可以請大大教我嗎?:lovely: :lovely:

贊助商連結


b0913
2008-01-11, 10:40 AM
計算IP和Submask (http://www.ublink.org/products/IPCalc/ubipcalc.exe)

來源網頁: http://www.ublink.org/products/IPCalc/IPCalc.php

delphinus_hsia
2008-01-11, 12:24 PM
感謝大大您提供的解答......
但在下較想知道的是......"算法"(應該說是原理吧)
但還是謝謝您的回覆



計算IP和Submask (http://www.ublink.org/products/IPCalc/ubipcalc.exe)

來源網頁: http://www.ublink.org/products/IPCalc/IPCalc.php

b0913
2008-01-11, 01:22 PM
感謝大大您提供的解答......
但在下較想知道的是......"算法"(應該說是原理吧)
但還是謝謝您的回覆

請參考一下 這2篇吧!
有關subnet的問題 (http://www.pczone.com.tw/thread/29/2939/)



資安論壇 :: 觀看文章 - 如何計算子網路遮罩 (http://forum.icst.org.tw/phpBB2/viewtopic.php?p=40533)

bx2aa
2008-01-11, 01:42 PM
Subnet Mask 和 IP 做了 and 運算, 是拿來判斷是不是相同網路的方法.

例如:
210.240.223.0
255.255.255.0 = 1有24個
11111111.11111111.11111111.00000000 24 個 1

11010010.11110000.11011111.00000000 = 210.240.223.0
11010010.11110000.11011111.00000001 = 210.240.223.1
11010010.11110000.11011111.00000010 = 210.240.223.2
........
11010010.11110000.11011111.11111111 = 210.240.223.255
and
11111111.11111111.11111111.00000000
------------------------------------
11010010.11110000.11011111.00000000

所以從 210.240.223.0 到 210.240.223.255 都是相同 Net-ID 210.240.223.0
===========================================
210.240.223.0
255.255.255.128 = 1有25個
11111111.11111111.11111111.10000000

11010010.11110000.11011111.00000000 = 210.240.223.0
11010010.11110000.11011111.00000001 = 210.240.223.1
11010010.11110000.11011111.00000010 = 210.240.223.2
........
11010010.11110000.11011111.01111111 = 210.240.223.127
and
11111111.11111111.11111111.10000000
------------------------------------------------
11010010.11110000.11011111.00000000 = 210.240.223.0

===========================================
210.240.223.128
255.255.255.128 = 1有25個
11111111.11111111.11111111.10000000
11010010.11110000.11011111.10000000 = 210.240.223.128
11010010.11110000.11011111.10000001 = 210.240.223.129
11010010.11110000.11011111.11111111 = 210.240.223.255
and
11111111.11111111.11111111.10000000
------------------------------------------------
11010010.11110000.11011111.10000000

多一個 1 就把原來的網段切成兩個, 再多一個 1 又可以把兩個網段各自再切為兩個網段
少一個 1 可以把原來的網段變兩倍 .........

這樣解釋應該越來越迷糊吧!

這是在有支援 不區分網域路由CIDR 和 可變長度子網遮罩VLSM 的設備上才有用.

用錯誤的解釋但是可以達到接近解釋的效果
就是 CIDR 是合併多個網段, VLSM 就是把網段劃子網.
RFC-1878 RFC -1517

delphinus_hsia
2008-01-11, 05:54 PM
多一個 1 就把原來的網段切成兩個, 再多一個 1 又可以把兩個網段各自再切為兩個網段
少一個 1 可以把原來的網段變兩倍 .........

這...這這
愈來愈???

linux_xp
2008-01-12, 01:15 AM
IPv4 由 32bit 組成,4組 8bit

Class C 表示前三組 8bit 固定,為 Network ID
最後一組 8bit 可自由變化,為 Host ID

所謂「子網路切割」就是向 Host ID 借位

http://aycu38.webshots.com/image/40877/2000724673492060805_rs.jpg

如上圖,Network ID 為 24 bit (三組,8 x 3 = 24)
子網路遮罩為 /24,十進位為 2555.255.255.0

這個稱作:Class C

http://aycu22.webshots.com/image/39741/2000729566372710384_rs.jpg

如上圖,Network ID 借了 1 位,加上前面的 24 bit,總共為 25 bit,子網路遮罩為 /25

Host ID 就是「網段 IP 數量」,可以看出只剩下 7 位 ( 8 - 1 = 7)

2 的 7 次方 = 128

每個網段 IP 數量為 128


十進位子網路遮罩,速算法:
256 - 128 (每個網段的 IP 數量)= 128,最後一組就是 128
整個為 255.255.255.128

PS.
這是速算法,實際上要用數學邏輯 AND 求解,但沒有人會那樣算
只有電腦才會那樣算,若寫轉換程式時,要把程式寫成用 AND 求解,才是正確的


>> 為甚麼切一半是借 1 位?

因為切一半就是 除以 2,而這個是 二進制的,1位 (1 bit) 就是 2

切 4 等分,除以 4(借 2 位,2 的二次方 = 4)

切 8 等分,除以 8 (借 3位,2 的三次方 = 8),以此類推....

想切幾等分,需要借幾位?~就是計算它是 2 的幾次方


舉例:切 32 等分,要向 Host ID 借幾位?
(如果能回答,表示已經學會了)





解答:32 是 2 的 5 次方,所以是借 5 位

註:這個就是中華電信固定 8 IP 的切法
Host ID 被 Network ID 借去 5 位,剩下 3 位 ( 8 - 5 = 3)
Host ID 剩 3 位,代表網段 IP 數量為 8 (2 的 3 次方 = 8)


這邊可以知道,只能計算 2 的次方

所以切「平均」3 等分(除以3),那是辦不到的
如果要切平均,只能切 2 的次方


A 網段:
----------------------------------------------
NETWORK: 210.240.223.0
NETMASK: 255.255.255.128 (/25)
BROADCAST: 210.240.223.128 (廣播位址)

可用 IP:210.240.223.1 ~ 210.240.223.127 (共 126 個)

網段一定要「扣前扣後」,因為網段本身要一個 IP 來代表,一個 IP 為廣播位址
也就是可用 IP 少兩個

換句話說,每切一個網段,可用 IP 損失兩個,切愈多網段,損失愈多


PS.
實際上,是損失三個 IP,因為還要一個路由器來連接,路由器會佔用 1 IP
但一般不會把路由器佔用的 IP 計算進去

「網段本身」一定是最前面的 IP,「廣播位址」為最後面 IP

「路由器」佔用的 IP 沒有規定,可隨意指定


B 網段:
----------------------------------------------
NETWORK: 210.240.223.129
NETMASK: 255.255.255.128 (/25)
BROADCAST: 210.240.223.255 (廣播位址)

可用 IP:210.240.223.130 ~ 210.240.223.254 (共 126 個)


若對速算有興趣,可參考:
http://www.pczone.com.tw/thread/29/105128/

不過圖片不見了.... :)

bx2aa
2008-01-12, 09:07 PM
A 網段:
----------------------------------------------
NETWORK: 210.240.223.0
NETMASK: 255.255.255.128 (/25)
BROADCAST: 210.240.223.128 (廣播位址)

可用 IP:210.240.223.1 ~ 210.240.223.127 (共 126 個)

B 網段:
----------------------------------------------
NETWORK: 210.240.223.129
NETMASK: 255.255.255.128 (/25)
BROADCAST: 210.240.223.255 (廣播位址)

可用 IP:210.240.223.130 ~ 210.240.223.254 (共 126 個)

1-127 不是 126 個
1-126 127 是廣播(剩餘七位全 1)
129 不會是 NET-ID
128 才是(剩餘七位全 0)

2^借幾位=子網數
2^0=1 不切 1 個 C Class
2^1=2 切為兩個 借 1 位
2^2=4 切為四個 借 2 位
以下類推
2^8=256 切為 256 個 借 8 位
access-list 常用 32 位遮罩

2^2=4 ==> (256/4=64)
0-63 = 64
64-127 = 64
128-191 = 64
192-255 = 64
其餘請如法泡製

delphinus_hsia
2008-01-16, 06:58 PM
1-127 不是 126 個
1-126 127 是廣播(剩餘七位全 1)
129 不會是 NET-ID
128 才是(剩餘七位全 0)

2^借幾位=子網數
2^0=1 不切 1 個 C Class
2^1=2 切為兩個 借 1 位
2^2=4 切為四個 借 2 位
以下類推
2^8=256 切為 256 個 借 8 位
access-list 常用 32 位遮罩

2^2=4 ==> (256/4=64)
0-63 = 64
64-127 = 64
128-191 = 64
192-255 = 64
其餘請如法泡製

看了以上的見解, 在下後來試著解出來,請幫在下看看這樣的算法是否正確

子網路位址借了2Bits, 可形成4個子網路, 但是子網路位址不可全為 0 或 1, 因此可用的子網路就有2個。(4-2=2)
而原先的主機位址有8Bits, 但是子網路位址借用了2Bits, 主機位址只能使用剩下的6Bits。因此,  
每個子網路可以有 26 = 64個可用的主機位址。但主機位址不得全為 0 或 1∴64-2=62
預設的子網路遮罩為:255.255.255.0
(11111111.11111111.11111111.00000000) 24個1
因為子網路位址借用了2Bits,因此24個1+2個1=26個1即為255.255.255.192
(11111111.11111111.11111111.11000000)
最高2個 Bit 已經用來表示子網路,因此這2個 Bit 的最小值是01
  而剩下用來表示主機位址的個6Bit, 其最小值為000001
  合起來就是01000001也就是65

綜二館: IP Q’ty (62) IP位址範圍 (210.240.223.65~126) Subnet Mask (255.255.255.192)

綜三館: IP Q’ty (62) IP位址範圍 (210.240.223.129~190) Subnet Mask ( 255.255.255.192)

請問這樣的算法正確嗎?:lovely:

bx2aa
2008-01-16, 07:54 PM
最高2個 Bit 已經用來表示子網路,因此這2個 Bit 的最小值是01
  而剩下用來表示主機位址的個6Bit, 其最小值為000001
  合起來就是01000001也就是65

綜二館: IP Q’ty (62) IP位址範圍 (210.240.223.65~126) Subnet Mask (255.255.255.192)

綜三館: IP Q’ty (62) IP位址範圍 (210.240.223.129~190) Subnet Mask ( 255.255.255.192)

請問這樣的算法正確嗎?:lovely:
借兩位
共四個子網
00 000000 - 00 111111
01 000000 - 01 111111
10 000000 - 10 111111
11 000000 - 11 111111

綜ㄧ館: IP Q’ty (62) IP位址範圍 (210.240.223.1~62) Subnet Mask (255.255.255.192)

綜二館: IP Q’ty (62) IP位址範圍 (210.240.223.65~126) Subnet Mask (255.255.255.192)

綜三館: IP Q’ty (62) IP位址範圍 (210.240.223.129~190) Subnet Mask ( 255.255.255.192)

綜四館: IP Q’ty (62) IP位址範圍 (210.240.223.193~254) Subnet Mask ( 255.255.255.192)