Network 版 (精华区)

发信人: reeyoung (Ree Young), 信区: Network
标  题: Re: winroute的包过滤好像真的不支持变长子网掩码
发信站: 哈工大紫丁香 (2003年03月08日20:10:39 星期六), 站内信件


理论方面的,我上面推荐的几篇文章里面有了,我举个例子吧:

1. 202.112.0.0/255.248.0.0,它的范围为什么是202.112.0.1 - 202.119.255.254
呢?

网络号202.112.0.0换算成二进制是:
11001010.01110000.00000000.00000000 

而子网掩码255.248.0.0的二进制是:
11111111.11111000.00000000.00000000

二者进行“与”运算,结果是当然是202.112.0.0。

确定一个IP是否属于202.112.0.0/255.248.0.0这个网络,只要把这个IP与子网掩码
255.248.0.0进行“与”运算,结果如果与网络号相同,就说明该IP属于该网络。

因此,从11001010.01110开始,后面的0、1可以任意组合,都是属于这个网络的。

它的最小值是:
11001010.01110000.00000000.00000001 202.112.0.1 (因为全0是网络ID)

它的最大值是:
11001010.01110111.11111111.11111110 202.119.255.254 (全1是广播地址)

2. 210.46.xxx.xxx是包括在210.32.0.0/255.240.0.0范围之内的,后者的范围
是210.32.0.0 - 210.47.255.255。算法如下:

网络号210.32.0.0的二进制值是:
11010010.00100000.00000000.00000000

子网掩码255.240.0.0的二进制值是:
11111111.11110000.00000000.00000000

因此,这个网络包括的主机IP范围是:
11010010.00100000.00000000.00000001 210.32.0.1 

11010010.00101111.11111111.11111110 210.47.255.254

正因为子网掩码总是多个连续的1(二进制),我们也用210.32.0.0/12这种格式来表示
网络,12表示连续12个1(掩码的位)。

子网的划分计算,基本上只涉及“与”运算,由于是按“位(bit)”计算的,转换成
二进制,就比较容易了。

【 在 libq (听雨) 的大作中提到: 】
: 这个算法你知道吗,能不能简单的讲一下
: 我刚才看了一下,网段范围的起始值是给出IP和子网掩码“与”运算得出的,而终止值就
: 有些麻烦,好像各段的算法不一样,有“异或”“取反”加在里面,有些猜不明白
: 【 在 reeyoung (Ree Young) 的大作中提到: 】
: : 哦,还是实践重要啊。


--
┏━┓
┃忠┃其实,灌水是很辛苦地:自己灌着辛苦,别人看着辛苦,版主删着也辛苦。
┃告┃为了光大BBS,我们不辞辛苦。
┗━┛

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 218.10.128.43]
※ 修改:·reeyoung 於 03月09日00:33:25 修改本文·[FROM: 218.8.43.177]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.594毫秒