掩码是什么

下面主要介绍IP地址的概念及其子网掩码的计算。 目前使用的IPv4协议强行为IP地址定义了一些保留地址,即:“网络地址”和“广播地址”。所谓‘网络地址’,是指‘主机号’全为‘0’的…

下面主要介绍IP地址的概念及其子网掩码的计算。
目前使用的IPv4协议强行为IP地址定义了一些保留地址,即:“网络地址”和“广播地址”。所谓‘网络地址’,是指‘主机号’全为‘0’的IP地址,如:125 . 0 . 0 . 0(A类地址);而‘广播地址’是指‘主机号’都是‘255’时的IP地址,比如:125 . 255 . 255 . 255(A类地址)。
子网掩码用于识别两个IP地址是否属于同一个子网。它也是一组32位长的二进制值,每一位上的值代表不同的含义。如果:为‘1’,则表示该位为网络位;如果为“0”,则表示该位是主机位。和IP地址一样,人们也用(点分十进制)来表示子网掩码,比如:255.255.0.0。如果用相同的子网掩码计算两个IP地址,得到相同的结果,则意味着这两个IP地址在同一个子网中。也就是说,使用这两个IP地址的两台计算机就像是同一个组织中的不同部门。虽然他们的角色、功能甚至地理位置可能不同,但都在同一个网络中。
子网掩码计算方法自从各种类型的网络投入各种应用后,网络以令人难以置信的速度扩张,目前使用的IPv4也逐渐暴露出它的弊端,就是:网络号占用太多,而主机号太少。目前,最常用的解决方案之一是将一个更高级别的IP地址分成几个子网,然后为不同规模的用户提供不同的子网。使用这种方法时,为了有效提高IP地址的利用率,主要是将IP地址中的‘主机号’的高阶部分取出作为子网号,从通常的‘网络号’边界扩展或压缩子网掩码,创建一定数量的某类IP地址的子网。当然,创建的子网越多,每个子网中可用的主机地址就越少。
要计算一个IP地址的子网掩码,可以在以下两种情况下考虑:
在1:的情况下,不需要将IP地址划分为子网。一般来说,计算这个IP地址的子网掩码很简单,可以根据它的定义来写。比如一个:的IP地址是12.26.43.0,不需要划分子网。从定义上我们可以知道它是A类地址,它的子网掩码应该是255 . 0 . 0 . 0;如果这个IP地址是B类地址,则其子网掩码应为255 . 255 . 0 . 0;如果是C类地址,则其子网掩码为255.255.255.0。其他类比。
场景2:要划分子网的IP地址。在这种情况下,如何方便快捷地划分一个IP地址,并准确计算每个子网的掩码就非常重要了。现在我介绍两个方便的方法:当然,在找到子网掩码之前,我们必须知道要划分的子网数量以及每个子网所需的主机数量。
方法1 :使用子网数量来计算。
首先,子网数量从十进制转换为二进制。然后,统计‘1’得到的二进制数的位数,设置为n;最后,找到这个IP地址对应的地址类别的子网掩码。然后设置子网掩码的主机地址部分(即‘主机号’)的前N位全部,从而得到将IP地址划分为子网的子网掩码。
例如,需要将B类IP地址167.194.0.0划分为28个子网:
(28)10=(11100)2;如果这个二进制的位数是5,那么N=5;这个IP地址是一个B类地址,B类地址的子网掩码是255.255.0.0,B类地址的主机地址是最后2位(即0-255.1-254)。然后将子网掩码255.255.0.0中主机地址的前五位全部设置为255.255.248.0,这组值就是分成28个子网的B类IP地址167.194.0.0的子网掩码。
方法2 :使用主机数量来计算。
首先,主机数量从十进制数转换为二进制数。然后,如果主机数小于等于254(注意:要去掉两个保留的IP地址),统计从‘1’得到的二进制数的位数,设置为n;如果主机数量大于254,N8,即主机地址将超过8位;最后,用255.255.255.255将这类IP地址的所有主机地址位设置为1,然后按照“从后到前”的顺序将所有N位设置为0,得到的值就是子网掩码值。
例如,需要将B类IP地址167.194.0.0划分为几个子网,每个子网有500台主机
(500)10=(111110100)2;如果这个二进制的位数是9,那么N=9;设置子网掩码255的所有主机地址。B类地址的255.0.0设为1,得到255.255.255.255。然后从后到前,把后9设置为0,就可以得到:1111111111111111.0000000,也就是255.254.0。这组值是乙类IP地址167.194.0.0的子网掩码,分为500台主机。
子网掩码的主要功能是告诉网络设备,特定IP地址的哪一部分包含网络地址和子网地址,哪一部分是主机地址。网络的路由设备只要识别出目的地址的网络号和子网号,就可以做出路由寻址决策。IP地址的主机部分不参与路由器的路由寻址操作,仅用于唯一标识网段中网络设备的接口。
如果网络系统中只使用了A、B、C三个主类地址,而这三个主类地址没有划分子网或进行总结,网络设备可以根据IP地址第一个字节的数值范围来判断它属于哪一个主类网络A、B、C,然后在不借助子网掩码的情况下确定IP地址的网络部分和主机部分。但是,为了将系统划分为三个主要网络A、B和C,或者使用无类域间路由(CIDR)来总结网段,它也可以用于IP地址网络和子网部分与主机部分作正确的区分,就必须依赖于子网掩码的帮助。
  子网掩码使用与IP相同的编址格式,子网掩码为1的部分对应于IP地址的网络与子网部分,子网掩码为0的部分对应于IP地址的主机部分。将子网掩码和IP地址作”与”操作后,IP地址的主机部分将被丢弃,剩余的是网络地址和子网地址。例如,一个IP分组的目的IP地址为:10.2.2.1,若子网掩码为:255.255.255.0,与之作”与”运算得:10.2.2.0,则网络设备认为该IP地址的网络号与子网号为:10.2.2.0。
  中断掩码:
  中断掩码是指在汇编语言中进行中断前,需要对相应的中断状态字进行授权允许或屏蔽相关中断的操作。即读OCW1进行命令字的写入。OCW1要写入奇入口地址,顺序为M7~M0,若Mi=1:屏蔽由IRi引入的中断请求;若Mi=0:允许IRi端中断的引入。
  子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。
  最为简单的理解就是两台计算机各自的IP地址与子网掩码进行AND运算后,如果得出的结果是相同的,则说明这两台计算机是处于同一个子网络上的,可以进行直接的通讯。就这么简单。
  以下进行演示:
  **********************************************************
  运算演示之一:
  I P 地址 16. 73.129.233
  子网掩码 255.255.128.0
  AND运算
  ———————————————————-
  转化为二进制进行运算:
  I P 地址 00010000.01001001.10000001.11101001
  子网掩码 11111111.11111111.11111000.00000000
  AND运算
  ———————————————————-
  00010000.01001001.10000000.00000000
  转化为十进制后为:
  ———————————————————-
  16 . 73 . 128 . 0
  **********************************************************
  运算演示之二:
  I P 地址 16. 73.129.1
  子网掩码 255.255.128.0
  AND运算
  ———————————————————-
  转化为二进制进行运算:
  I P 地址 00010000.01001001.10000001.00000001
  子网掩码 11111111.11111111.10000000.00000000
  AND运算
  ———————————————————-
  00010000.01001001.10000000.00000000
  转化为十进制后为:
  ———————————————————-
  16 . 73 . 128 . 0
  **********************************************************
  运算演示之三:
  I P 地址 16. 73.143.255
  子网掩码 255.255.128.0
  AND运算
  ———————————————————-
  转化为二进制进行运算:
  I P 地址 00010000.01001001.10001111.11111111
  子网掩码 11111111.11111111.10000000.00000000
  AND运算
  ———————————————————-
  00010000.01001001.10000000.00000000
  转化为十进制后为:
  ———————————————————-
  16 . 73 . 128 . 0
  通过以上对三组计算机IP地址与子网掩码的AND运算后,我们可以看到
  它运算结果是一样的。均为16.73.128.0
  所以计算机就会把这三台计算机视为是同一子网络,然后进行通讯的。
  这也就是我单位网络网络运行的现状。
  引:但是究竟有多少了IP地址可以用呢?
  答:由以上我们也可以看出,我们单位的计算机网络用户是由我们所分配
  的子网掩码所决定的。通过对255.255.128.0的分析。可得出:
  前两位IP码由分配下来的数字就只能固定为16.73
  重要的是后两个IP码的确定。
  1、十进制128=二进制1000 0000
  2、IP码要和子网掩码进行AND运算
  3、
  I P 地址 00010000.01001001.1*******.********
  子网掩码 11111111.11111111.10000000.00000000
  AND运算
  ———————————————————-
  00010000.01001001.10000000.00000000
  转化为十进制后为:
  ———————————————————-
  16 . 73 . 128 . 0
  4、可知我们单位可用的IP地址为:
  00010000.01001001.10000000.00000000
  到
  00010000.01001001.11111111.11111111
  5、转化为十进制:
  16.73.128.0 到 16.73.255.255
  6、0和255通常作为网络的内部特殊用途。通常不使用。
  7、于是最后的结果如下:我们单位所有可用的IP地址为:
  16.73.128.1-16.73.128.254
  16.73.129.1-16.73.129.254
  16.73.130.1-16.73.130.254
  16.73.131.1-16.73.131.254
  . . . . . . . . . . . . .
  16.73.139.1-16.73.139.254
  16.73.140.1-16.73.140.254
  16.73.141.1-16.73.141.254
  16.73.142.1-16.73.142.254
  16.73.143.1-16.73.143.254
  . . . . . . . . . . . . .
  16.73.254.1-16.73.254.254
  16.73.255.1-16.73.255.254
  8、总数为(255-128+1)*(254-1+1)=128 * 254=32512
  9、测试研究的结果是否正确
  (1)、设定IP地址为16.73.128.1
  Ping 16.73.129.233通过测试
  访问可以显示出主页
  (2)、设定IP地址为16.73.255.254
  Ping 16.73.129.233通过测试
  访问可以显示出主页
  10、结论
  以上的实例分析结果表明其原理的正确性。
  **************************************************************************
  实战演练之一:
  Q:如何设置子网掩码,让168.168.1.0一到168.168.1.15成为一个独立的子网络?
  A:255.255.255.240
  因为240的二进制1111 0000与二进制0000 0000 进行 AND 运算后的结果都等于0
  所以可以采用子网掩码255.255.255.240进行配置网络。
  实战演练之二:
  在局域网运行平台下,若要让不同机器能够彼此互相连通,IP地址最简单的设置方法是:
  IP地址的前三位码相同,最后一位码相异,然后子网掩码采用255.255.255.0即可。
  例如:我们单位原有的IP地址码197.2.2.1-197.2.2.254和子网掩码255.255.255.0

作者: 每日画报

为您推荐

返回顶部