关于A类,B类,C类IP地址的网段和主机数的计算方法

IP地址是一个32位的二进制数,由四个八位字段组成。每个IP地址包括两部分:一部分为网络标识(网络号),一部分为主机标识(主机号)。

A类地址前8位为网络标识,后24位为主机标识,网段与主机数的计算方法如下:

A类网段计算:

根据规定,A类地址的网络标识必须以“0”开头。那么其网段数应该为0XXXXXXX.YYYYYYYY.YYYYYYYY.YYYYYYYY即后面有七位数字,因为是二进制数,所以网段数应该为:

27,即2的7次幂个网段,等于128,即网段应该是0—127之间。而网络空间计算都必须“减2”,这是因为要扣除两个保留地址:二进制数里全是“0”和全是“1”的要保留。“0”做为网络号,“1”做为广播号。所以A类地址的网段为1—126.

所以网段数为27-2=126.

A类主机数计算:

因为后面24位是主机标识,所以主机数应该是224,即2的24次幂

224=412=166=2563=16777216,扣除两个保留地址后,主机最大数应该是16777214个。

综上所述,A类IP地址范围应该是:1.0.0.1~126.255.255.254

其中红色的为网络标识,绿色为主机标识

B类地址前16位为网络标识,后16位为主机标识,网段与主机数的计算方法如下:

B类网段计算:

根据规定,B类地址的网络标识必须以“10”开头。那么其网段数应该为10XXXXXX.XXXXXXXX.YYYYYYYY.YYYYYYYY即后面有14位数字,因为是二进制数,所以网段数应该为:

214,即2的14次幂个网段,等于16384,扣除两个全“0”,全“1”的保留地址,所以B类网络可以有16382个网段。

而转换成十进制后, IP地址的第一个小数点前的数字应该是多少呢?因为第一段是10XXXXXX,所以应该是26个,即2的6次幂,等于64个。127是被保留网段暂不使用,所以网段应该是从128开始,到128+64-1=191,其中192是保留网段。即十进制IP的第一段数字是在128—191之间。

B类主机数计算:

因为后面16位是主机标识,所以主机数应该是216,即2的16次幂

216=48=164=2562=65536,扣除两个保留地址后,主机最大数应该是65534个。

综上所述,B类IP地址范围应该是:128.0.0.1~191.255.255.254

其中红色的为网络标识,绿色为主机标识

C类地址前24位为网络标识,后8位为主机标识,网段与主机数的计算方法如下:

C类网段计算:

根据规定,C类地址的网络标识必须以“110”开头。那么其网段数应该为110XXXXX.XXXXXXXX.XXXXXXXX.YYYYYYYY即后面有21位数字,因为是二进制数,所以网段数应该为:

221,即2的21次幂个网段,等于2097152,扣除两个全“0”,全“1”的保留地址,所以B类网络可以有2097150个网段。

而转换成十进制后,IP地址的第一个小数点前的数字应该是多少呢?因为第一段是110XXXXX,所以应该是25个,即2的5次幂,等于32个。所以网段应该是从192开始,到192+32-1=223,224作为保留字段。即十进制IP的第一段数字是在192—223之间。

C类主机数计算:

因为后面8位是主机标识,所以主机数应该是28,即2的8次幂

28=44=162=2562,扣除两个保留地址后,主机最大数应该是254个。

综上所述,C类IP地址范围应该是:~223.255.255.254

其中红色的为网络标识,绿色为主机标识。

文章转载地址:http://hi.baidu.com/acalephe/item/6d6e099dfb3b88c8b72531e4

原文有部分文字错误,本文将其改正。

关于A类,B类,C类IP地址的网段和主机数的计算方法的更多相关文章

  1. 通过IP地址和子网掩码计算主机数

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

  2. 网络 IP地址、网段、子网掩码

    IP地址范围,最小:00000000,00000000,00000000,00000000:最大:11111111,11111111,11111111,11111111 即:最小:0.0.0.0 最大 ...

  3. JS获取客户端IP地址、MAC和主机名【转】

    JS获取客户端IP地址.MAC和主机名 引用:JS获取客户端IP地址.MAC和主机名的7个方法汇总 利用搜狐接口 <html> <head> <meta http-equ ...

  4. nginx篇最初级用法之三种虚拟主机基于域名\基于端口\基于IP地址端口的虚拟主机

    在nginx中虚拟主机的类型与apache一样也有三种 1.基于域名的虚拟主机 2.基于端口的虚拟主机 3.基于IP地址端口的虚拟主机 在nginx配置文件中每一个server为一个虚拟主机如果需要多 ...

  5. JS获取客户端IP地址、MAC和主机名七种方法

    一.使用JS获取客户端IP的几个方法方法一(只针对IE且客户端的IE允许AcitiveX运行,通过平台:XP,SERVER03,2000).获取客户端IP代码:<HTML><HEAD ...

  6. Linux下修改主机IP地址、DNS、主机名的三种方法

    使用root用户登录进入linux,打开进去终端 在终端中输入:vi /etc/sysconfig/network-scripts/ifcfg-eth0 (最后的eth0是网卡名,我的是Auto_et ...

  7. JS获取客户端IP地址、MAC和主机名的7个方法汇总

    今天在搞JS(javascript)获取客户端IP的小程序,上网搜了下,好多在现在的系统和浏览器中的都无效,很无奈,在Chrome.FireFox中很少搞到直接利用ActiveX获取IP等的JS脚本. ...

  8. Apache的虚拟主机功能(基于IP地址、基于虚拟主机、基于端口)

    1. 安装Apache服务程序(系统用户,1-199之间) 第一步:在虚拟机软件里选中光盘镜像: 第二步:将光盘设备挂载到/media/cdrom目录 输入:mkdir -p /media/cdrom ...

  9. 113、Java中String类之字符串文本分割IP地址

    01.代码如下: package TIANPAN; /** * 此处为文档注释 * * @author 田攀 微信382477247 */ public class TestDemo { public ...

随机推荐

  1. spring boot 基础篇 -- 定时任务

    在日常项目中,常常会碰到定时监控项目中某个业务的变化,下面是spring boot 集成的定时任务具体配置: @Component public class IndexWarningScheduled ...

  2. ural 2015 Zhenya moves from the dormitory(模拟)

    2015. Zhenya moves from the dormitory Time limit: 1.0 secondMemory limit: 64 MB After moving from hi ...

  3. memset函数用法及注意事项

    头文件 #include<cstring>// or #include<memory.h> ------------------------------------------ ...

  4. 51nod 1672 贪心/队列

    http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1672 1672 区间交 基准时间限制:1 秒 空间限制:131072 K ...

  5. map和reduce 个数的设定 (Hive优化)经典

    一.    控制hive任务中的map数:  1.    通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置 ...

  6. python向数据库插入中文乱码问题

    1.python向数据库插入中文乱码问题 直接手动insert into 中文 不乱码,但是用程序跑起来就乱码. conn =MySQLdb.connect(host="127.0.0.1& ...

  7. 在sql查询中为了提高查询效率,我们常常会采取一些措施对查询语句进行sql优化,下面总结的一些方法,有需要的可以参考参考。

    转载https://www.cnblogs.com/zhang-bo/p/9138151.html 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建 ...

  8. 2016/05 - Mars ISC 面试过程全记录

    一.Mars phone interview 还记得当时我接到Mars phone interview的时候我还和女友在成都玩,真是[好事多磨 x1],猎头通知可能下午会打电话,早早的吃完午饭我就准备 ...

  9. java学习笔记 --- 多线程(1)

    1:要想了解多线程,必须先了解线程,而要想了解线程,必须先了解进程,因为线程是依赖于进程而存在. 2:什么是进程? 通过任务管理器我们就看到了进程的存在. 而通过观察,我们发现只有运行的程序才会出现进 ...

  10. git 远程库 创建私钥

    1.创建SSH Key.在用户主目录下,看看有没有.ssh目录,如果有,再看看这个目录下有没有id_rsa和id_rsa.pub这两个文件,如果已经有了,可直接跳到下一步.如果没有,打开Shell(W ...