Chinaunix首页 | 论坛 | 博客
  • 博客访问: 203305
  • 博文数量: 87
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 798
  • 用 户 组: 普通用户
  • 注册时间: 2015-01-14 14:54
文章分类

全部博文(87)

文章存档

2015年(87)

我的朋友

分类: C/C++

2015-07-21 11:22:29

知道IP地址和子网掩码后可以算出: 
    1、 网络地址 
    2、 广播地址 
    3、 地址范围 
    4、 本网有几台主机 
    例1:下面例子IP地址为192·168·100·5 子网掩码是255·255·255·0。算出网络地址、广播地址、地址范围、主机数。


    一)分步骤计算 

    1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址。 虚线前为网络地址,虚线后为主机地址 

    2)IP地址和子网掩码进行与运算,结果是网络地址 

    3) 将上面的网络地址中的网络地址部分不变,主机地址变为全1,结果就是广播地址。

 

    4) 地址范围就是含在本网段内的所有主机 

    网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出 
    地址范围是: 网络地址+1 至 广播地址-1
    本例的网络范围是:192·168·100·1 至 192·168·100·254
    也就是说下面的地址都是一个网段的。 
    192·168·100·1、192·168·100·2 。。。 192·168·100·20 。。。 192·168·100·111 。。。 192·168·100·254

 

5) 主机的数量 

    主机的数量=2二进制的主机位数-2

    减2是因为主机不包括网络地址和广播地址。本例二进制的主机位数是8位。 

    主机的数量=28-2=254

二)总体计算 

    我们把上边的例子合起来计算一下过程如下: 

    例2: IP地址为128·36·199·3 子网掩码是255·255·240·0。算出网络地址、广播地址、地址范围、主机数。 

    1) 将IP地址和子网掩码换算为二进制,子网掩码连续全1的是网络地址,后面的是主机地址, 虚线前为网络地址,虚线后为主机地址 
    2)IP地址和子网掩码进行与运算,结果是网络地址 

    3)将运算结果中的网络地址不变,主机地址变为1,结果就是广播地址。

    4) 地址范围就是含在本网段内的所有主机 

    网络地址+1即为第一个主机地址,广播地址-1即为最后一个主机地址,由此可以看出

    地址范围是: 网络地址+1 至 广播地址-1

    本例的网络范围是:128·36·192·1 至 128·36·207·254

    5) 主机的数量 

    主机的数量=2二进制位数的主机-2

    主机的数量=212-2=4094

    减2是因为主机不包括网络地址和广播地址。 

    从上面两个例子可以看出不管子网掩码是标准的还是特殊的,计算网络地址、广播地址、地址数时只要把地址换算成二进制,然后从子网掩码处分清楚连续1以前的是网络地址,后是主机地址进行相应计算即可。

 

三)例子

第一例:

我的主机IP是:10.100.253.69
网段的掩码是:255.255.255.248

这种情况下广播包的IP应该是多少?

 

以主机IP=10.100.253.69   子网掩码=255.255.255.248为例,子网掩码转换成2进制为11111111.11111111.11111111.11111000,它表明在最后一个8位中前面5位被用作网络位,后面3位是主机位;而IP地址转换成2进制(省去前面24位,只写出最后8位)为01000101,所以根据子网掩码可以判断该IP地址所处的网段以及该子网的网络地址及广播地址,判断方法是把子网掩码的最后8位(11111000)和IP地址最后8位(01000101)做与(&)操作这样得出该子网的网络地址为01000000(完整的地址为10.100.253.64),广播地址就是把主机位(最后3位)全部换成1(01000111),完整的地址10.100.253.71。所以最后的结论是网络地址为10.100.253.64,广播地址为10.100.253.71。

第二例:

 

一个公司有10个部门,要求给每个部门划分不同的网段,但是都在192.168.1.0这个大网内,并且每个部门要容纳20台计算机。请为这个公司选择子网掩码。
  选项:A)255.255.255.192
  选项:B)255.255.255.224
  选项:C)255.255.255.240
  选项:D)不能实现
   分析:首先看关键数据,10个部门共要10个网段的子网,也就是说采用的子网掩码要支持10个有效的子网,而且还要求每个子网容纳100个有效的主机地址。
   根据2的N次方减2的公式,10介于2的3次方和2的4次方之间,因此应该从主机位借4位来作为子网位,二进制就是11111111.11111111.11111111.11110000,即255.255.255.240。有些人就毫不犹豫地选择了255.255.255.240地子网掩码。
  但是真的就这样计算结束了吗?其实不然。我们知道,C类地址主机位本来就只有8位,现在已经借去4位,剩下4位,因此每个子网能够允许的主机数量为2的4次方减2,即14台计算机。而题目要求每个子网容纳主机20台,看来是无法达到目的。同样如果我们先从主机数量着手计算,应该采用255.255.255.224的子网掩码,但是这个掩码只能允许有6个有效的子网,因此同样无法满足10个子网的要求。因此计算这种题目千万要多留一个心眼,否则一不留神就被欺骗了!

 

阅读(2200) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~