|
楼主 |
发表于 2003-8-8 09:30:21
|
显示全部楼层
最初由 wangguoqin1001 发表
两者都是可以的。
对于tcp/ip协议,我所看到的最通俗易懂的解释方式是这样的。
你把ip地址和子网掩码都写成二进制的。像你原来的是
ip addr. 11000000 00011110 00101000 00000000
netmask 11111111 11111111 11111111 00000000
你把两者做和运算,得到:
network 11000000 00011110 00101000 00000000
无论ip addr.的第四段如何改变,得到的结果中的第四段永远是00000000。这样的结果称为子网,代表的是你网络的标识。
而从 11000000 00011110 00101000 00000001 到 11000000 00011110 00101000 11111110 则是你这个子网中可以分配给机器的ip add。用它们和netmask做或运算,除去前面一定为0的段,得到诸如: 00000001 到 11111110 的地址,则是你主机的标识。而对于主机标识为 00000000 的代表子网, 11111111 代表广播,都不可以作为网络内一台主机的标识。
对于你/24的描述,其实只是子网掩码的另一种表示方法,等同于11111111 11111111 11111111 00000000,表示子网掩码中开头24位是1,后面都是0。对于B类和C类的描述,其实没有多大意义,B类即/16,C类即/24。其实这些你可能都懂,多废话了。
现在回来看你的情况。如果划分为192.30.40.0/25和192.30.40.128/25,则其中192.30.40.0和192.30.40.128为两个子网的标识,192.30.40.127和192.30.40.255为两个子网的广播标识,其余从192.30.40.1到192.30.40.126以及从192.30.40.129到192.30.40.254都是可用的主机标识。所谓的全0和全1都是指做了或运算以后的位数。
最后解释一下和运算和或运算。(这些你应该知道)
1和1为1,1和0为0,0和1为0,0和0为0。
1或1为1,1或0为1,0或1为1,0或0为0。
(不知道我有没有把“和”和“或”搞错)
如果还没说清楚的话请再次提问。
我的设想也是这样,如果按我的意见,我是这么说的:
192.30.40.0 network address of 192.30.40.0/25
valued ip address is between 192.30.40.1-192.30.40.126 2^7-2
192.30.40.127 broadcast address of 192.30.40.0/25
192.30.40.128 network address of 192.30.40.128/25
valued ip address is between 192.30.40.129-192.30.40.254 2^7-2
192.30.40.255 broadcast address of 192.30.40.128/25
现在的问题是,在C类的192.30.40中划个网络id为 0 的子网是不是合法? |
|