红联Linux门户
Linux帮助

IP地址范围详解

发布时间:2011-10-10 15:30:10来源:红联作者:我来迟了
笔者前些天参加一次笔试;其中有问道A、B、C、D、类IP地址的范围。当时没多想就写了一个大概,可等我仔细一研究,发现自己错了。现将其范围重新计算一下,希望自己记住,也希望能通过我的方法让大家记住。

首先,明白两条最基本的规则:
1、网络号、主机号不可能全为1或者全为0
2、网络号、主机号分开计算。
好了有了这两条基本的规则,在加上A、B、C类IP地址的头部,就可以确定各类IP地址的范围了。

A类IP地址:
网络号占用一个字节(8bit),且网络号的第一位为0;主机号占用三个字节(24bit);
00000000 . 00000000 . 00000000 . 00000000
现在用上面的两条规则看看A类IP的范围。网络号、主机号不能全0也不能全部为1,首先这个网络 号全部为1是不可能的了,因为第1bit就已经固定为0了。那么网络号肯定就是从 00000001开始的,也就是1;一直到126。主机号不能全部为0 就是 00000000 00000000 00000001 就是0.0.1 。到最大就是不能全部为1 11111111 11111111 11111110 就是255.255.254
所以A类IP地址的范围为 1.0.0.1 ----- 126.255.255.254
B类IP地址:
网络号占用两个字节(16bit),且网络号的头两位固定为10;主机号占用两个字节(16bit)
10000000 . 00000000 . 00000000 . 00000000
网络号不能为全0 10000000 . 00000001 就是128.1 到 10111111 . 11111111 就是191.255 ;主机号 00000000 . 00000001 就是0.1 到 11111111 . 11111110 就是255.254
所以B类IP地址的范围为128.1.0.1 ---- 191.255.255.254

C类IP地址:
网络号占用三个字节(24bit),且网络号的头三位为110;主机号占用一位(8bit)。
11000000 . 00000000 . 00000000 . 00000000
网络号最小为 11000000 . 00000000 . 00000001 就是192.0.1 ;主机号最小为 00000001 就是 1。网络号最大为11011111 . 11111111 . 11111110 就是 223.255.254 ; 主机号最大为 11111110 就是254
所以C类IP地址的范围为 192.0.1.1 ---- 223.255.255.254



注:在谢希仁的《计算机网络》(第五版)电子工业出版社。滴114页到115也上对于这个有比较详细的阐述。这里只是柔和了自己的理解;也想尝试找到对应的RFC文档;但是没找到...

原博文地址:http://blog.chinaunix.net/space.php?uid=26281173&do=blog&id=2942264
文章评论

共有 3 条评论

  1. martin0010 于 2011-10-27 11:31:25发表:

    》

  2. congsong1319 于 2011-10-12 23:01:23发表:

    楼主正解

  3. tioced 于 2011-10-10 16:28:39发表:

    哎,看不太懂