码迷,mamicode.com
首页 > 其他好文 > 详细

网络号与主机号的区分与计算(转)

时间:2016-08-22 12:05:56      阅读:302      评论:0      收藏:0      [点我收藏+]

标签:

当前使用的IP地址有4个字节(32bit)组成,即IPV4编码方式。每个IP地址包括两部分:网络号和主机号。当分配给主机号的二进制位越多,则能标识的主机数就越多,相应地能标识的网络数就越少,反之同理。

  IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。
  A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,A类地址的第一位总是0,B类地址的前两位总是10,C类地址的前三位总是110。
  给出一个IP地址,我们可以通过子网掩码确定这个IP地址的网络号和主机号。
  子网掩码的作用就是将某个IP地址划分成网络地址和主机地址两部分。
例如
有一个C类地址为: 192.9.200.13 
其缺省的子网掩码为: 255.255.255.0 

则它的网络号和主机号可按如下方法得到:

① IP地址 192.9.200.13
转换为二进制11000000 00001001 11001000 00001101

② 子网掩码255.255.255.0
转换为二进制11111111 11111111 11111111 00000000

将两个二进制数做按位与(&)运算后得出的结果即为网络部分
11000000 00001001 11001000 00001101 
& 11111111 11111111 11111111 00000000
-------------------------------------------------------------
11000000 00001001 11001000 00000000
= 192 . 9 . 200 . 0
即网络号为192.9.200.0

将子网掩码取反再与IP地址按位与(&)后得到的结果即为主机部分
11000000 00001001 11001000 00001101 
&  00000000 00000000 00000000 11111111 --- >已将掩码取反
------------------------------------------------------------
00000000 00000000 00000000 00001101 
= 0 . 0 . 0 . 13
即主机号为13(或者0.0.0.13)。

 


 


已知192.168.1.133、255.255.255.0,这个子网掩码是C类地址的默认的子网掩码,在使用这个掩码时,这个IP地址并没有划分子网,将其转换为8位二进制数,其中的1所的对应的部分就是网络号,而0所对应的部分就是主机号。根据计算方法,192.168.1.0就是网络号(代表当前网络),0.0.0.133就是主机号。同时根据定义,主机号位全为一的地址为此网段的广播地址可知,此时的广播地址为192.168.1.255。此种默认情况是最常见的。

下面看下将网络划分子网后的情况,如:已知192.168.1.133、255.255.255.192.判断网络号,主机号和广播地址。

我们来看掩码255.255.255.192,将其转换成二进制后和255.255.255.0对比可发现,前掩码的前24位没有变化,只是在原来表示主机号的部分头两位变成了1。

 技术分享

我们把IP地址中的前24位(192.168.1)不看,因为前24位对应掩码没有变化它们始终表示网络号。

按照子网掩码的定义,

子网掩码1所对应的位为网络号位

而0所对应的位为主机号位

如图中深蓝色部分所示,主机号中的两位被用来表示网络号了,这就是子网号。(二进制一位用0或1表示,那么占用了两位就有2*2=4种表示,这里占用了2位,也就是说我们将原有的192.168.1.0这个网络分成了四份,即4个子网)这四段的网络号分别是00000000、01000000、10000000、11000000,现在我们将它们转换成10进制就分别是0、64、128、192,现在把前24位加进来。

这四段网络分别是192.168.1.0 (~192.168.1.63)

192.168.1.64 (~192.168.1.127)

192.168.1.128 (~192.168.1.191)

192.168.1.192 (~192.168.1.255)

现在我们来看广播地址,既然我们把一个网段分成了四份,它就应该有4个广播地址。 广播地址的定义是主机号位全为1的地址就是广播地址。所以这四个网段的广播地址末八位就是00111111、01111111、10111111、11111111,转换成10进制分别为63、127、191、255。加上原来的网络号位,广播地址就是

192.168.1.63

192.168.1.127

192.168.1.191

192.168.1.255

四个网段中刨除网络地址和广播地址中间的部分就是可用的主机IP地址了。

通过以上分析方法可知192.168.1.133这个IP地址的网络号是192.168.1.128,其主机号是0.0.0.5,广播地址是192.168.1.191。



根据以上分析和计算方法,子网划分建议按以下步骤和实例计算子网掩码。


  1.将要划分的子网数目转换为2的m次方。如要分8个子网,8=23。


  2.取上述要划分子网数的2m的幂m。如23,即m=3。


  3.将上一步确定的幂m按高序占用主机地址m位后转换为十进制。


  4.如m为3 则是11100000,转换为十进制为224,即为最终确定的子网掩码。如果是C类网,则子网掩码为255.255.255.224;如果是B类网,则子网掩码为                  255.255.224.0;如果是A类网,则子网掩码为255.224.0.0。在这里,子网个数n与占用主机地址位数m有如下等式成立:2m=n。


根据这些原则,将一个C类网络分成4个子网。若我们用的网络号为192.9.200.0,则该C类网内的主机IP地址就是192.9.200.1~192.9.200.254
(因为全“0”和全“1”的主机地址有特殊含义,不作为有效的IP地址)


 

例:学校新建5个机房,每个房间有30台机器,如果给定一C类网络地址:192.168.1.0,问如何将其划分为5个子网,子网掩码该如何设置?

答:23 =8(大于5的最小的2的整幂次数),取23的幂,即3,即占用了主机号中的高3位即为11100000,转换为十进制为224,所以该地址为C类地址的子网掩码应该设置为255.255.255.224。各机房IP和子网掩码配置如下(已经去掉广播地址和主机地址):

机房号 子网掩码 IP地址范围

机房1 255.255.255.224 192.168.1.1~192.168.1.30

机房2 255.255.255.224 192.168.1.33~192.168.1.62

机房3 255.255.255.224 192.168.1.65~192.168.1.94

机房4 255.255.255.224 192.168.1.97~192.168.1.126

机房5 255.255.255.224 192.168.1.129~192.168.1.158

ps:网络号占了3位,那么就是把主机号分成了有8段:即(00000000、00100000、01000000、01100000、10000000、10100000、11000000、11100000)转换成十进制:

192.168.1.0 (~192.168.1.31)机房1 192.168.1.0 不作有效ip(一般用作网关),从192.168.1.1开始,选30个ip号,后面一致

192.168.1.32(~192.168.1.63)机房2

192.168.1.64(~192.168.1.95)机房3

192.168.1.96(~192.168.1.127)机房4

192.168.1.128(~192.168.1.159)机房5

192.168.1.160(~192.168.1.191)

192.168.1.192(~192.168.1.223)

192.168.1.224(~192.168.1.225)

可能会有疑问,为什么不从192.168.1.32开始,而是从192.168.1.33开始,我的理解是,可以从32开始,但是一般第一位都作为子网的网关,因为这里设定为30个ip地址,按照子网的划分规则,划分为8个子网后,每个子网除去一个广播地址与一个网关后,正好有30。所以这个网关可以自由选择,一般网关地址是子网网段的第一个ip或者倒数第二个ip。


本文章转自ZBK的随笔(http://www.cnblogs.com/gylei/archive/2012/12/17/2822480.html),另添加自己的一些理解。

 

网络号与主机号的区分与计算(转)

标签:

原文地址:http://www.cnblogs.com/gdayq/p/5794845.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!