关于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. OpenStack H版与 Ceph 整合的现状

    转自:https://www.ustack.com/blog/openstack_and_ceph/ Contents 1 Ceph与Nova整合 2 Ceph与Cinder整合 3 相关Patch ...

  2. 去掉Arraylist集合中的重复元素

    package cn.collection; import java.util.ArrayList; import java.util.Iterator; import java.util.Scann ...

  3. Python3.6.0安装

    1.安装 具体详情请参考下图: 双击安装包:   勾选“add  python 3.6 to PATH”这样可以自动生成环境变量,选择“Customize installation”自定义安装. 2. ...

  4. 20165210 Java第九周学习总结

    20165210 Java第九周学习总结 教材学习内容 - 第十三章学习总结 URL类: URL的构造方法: try { URL url = new URL("http://www.goog ...

  5. php-fpm 和 mysql 之间的关系

    我们都知道,php是不能直接操作 mysql的,他需要通过扩展提供接口调用,php的mysql扩展也好几个,只支持面向过程的mysql,既支持面向过程也支持面向对象的mysqli,只支持面向对象的PD ...

  6. npm install -d

    nodejs Error: Cannot find module 'xxx'错误 解决方案: 确定package.json里有添加相应的依赖配置 使用npm install -d 可以自动配置pack ...

  7. java文本文件读写

    java的IO系统中读写文件使用的是Reader和Writer两个抽象类,Reader中的read()和close()方法是抽象方法,Writer中的write().flush()和close()方法 ...

  8. 日志分隔工具Cronolog

    注:本文转载自 https://blog.csdn.net/weixin_38860565/article/details/81633234 Cronolog 分割 Tomcat8 Catalina. ...

  9. UITableView常见用法以及注意细节

    UITableView用途广泛,而且多样化,其中有一些不太常用,用到的话需要去查资料,今天边用边记录下来 *第一发:UITableViewCell 分割线 1. 分割线样式 [self.tableVi ...

  10. SqlServer 用户和权限操作

    use [master] GO --创建用户,Test,密码Test CREATE LOGIN [TestUser] WITH PASSWORD=N'Test', DEFAULT_DATABASE=[ ...