计算机网络-IP类型判断
第一个类别为A类,最后一个类别为E类,前边三个类别(A类、B类和C类)被用来标识工作站、路由器、交换机以及其他设备,而最后两个类别(D类和E类)被保留做特殊用途。
一个IP地址由32个比特位构成,这就意味着它有四个字节长,IP地址的第一个八位位组(或者说前八个比特、第一个字节)就足于决定该IP地址究竟属于那个类别。同时,根据IP地址归属的这个类别的属性我们就能决定IP地址的那个部分代表网络ID,那个部分代表主机ID。
所有的A类网络都有一个总共7比特的网络ID部分(第8位恒为0)和24个比特的主机ID部分,现在我们需要做的所有事情就是计算这7位比特将含有多少中可能性:2的7次方为128,所以A类地址可以包含128个大型网络,同时对于主机ID来说,2的24次方为16,777,216,所以每个A类网络中可以包含16,777,216个主机,但是这16,777,216个主机地址中有两个不能使用,一个用来作为该网络地址,另外一个用来作为该网络内的广播地址(查看本页末尾部分的表格)。这也是我们在计算某个网络中的“合法”主机数目总是减去2的原因,所以,如果我问你在一个A类网络中最多可以有多少个“合法”主机时,你应该回答16,777,214而不是16,777,216。
当我们申请其它的两个类别(B类地址和C类地址)的地址的时候,情形和申请A类地址相同,唯一不同的是,由于不同类别中用来标识网络和标识主机的地址值域不一样,造成每类地址所涵盖的网络数目以及每个网络中的最大主机数目个数不一样。
B类网络中有14个比特位用来表示网络ID(第15位、第16位被分别设置成0和1而不能改变)和16个比特位来表示主机ID,这意味着可以拥有达到“2的14次方等于16,384”个B类网络,每个B类网络中还可以拥有“2的16次方等于65,536”个主机,当然了,这其中包括两个不能用主机ID,因为他们被分别用来标识整个网络和网络中的广播地址(查看本页末尾部分的表格)。所以,如果我问你在一个B类网络中最多可以有多少个“合法”主机时,你应该回答65,534而不是65,536。
C类网络中有21个比特位用来表示网络ID(第22位、第23位、第24位被分别设置成0、1和1而不能改变)和8个比特位来表示主机ID,这意味着可以拥有达到“2的21次方等于2,097,152”个C类网络,每个C类网络中还可以拥有“2的8次方等于256”个主机,当然了,这其中包括两个不能用主机ID,因为他们被分别用来标识整个网络和网络中的广播地址(查看本页末尾部分的表格)。所以,如果我问你在一个C类网络中最多可以有多少个“合法”主机时,你应该回答254而不是256。
现在,即使我们拥有三个类别的IP地址可以使用,这儿仍需要保留部分IP地址以备特殊使用,这并不意味着你不能将他们赋给一个工作站,但是,如果你真的将一个保留地址赋给了你的工作站,它将使你的网络出现问题。基于此,我们要避免使用这些IP地址。
IP地址 特殊作用
网络地址 0.0.0.0 用来引用一个缺省路由器,该路由器能简化被IP协议使用的路由表。
网络地址 127.0.0.0 为环回程序预留,地址127.0.0.1常用来引用本机地址,如果使用这个地址,应用程序将可能将远程的该地址识别成本机地址。
将所有主机ID部分置0的地址(标识网络的地址,例如192.168.0.0)
该地址用来引用该网络本身,例如192.168.0.0可以用来标识192.168.地址段的网络,这种表示方式经常用在路由表中。
将所有主机ID部分置1的地址(子网广播地址,例如192.168.255.255)
这些IP地址都是广播地址不能使用,例如:125.255.255.255(A类地址)190.30.255.255(B类)203.31.218.255(C类),参看“多播&广播”部分以获取更多信息
将所有比特位都置1的地址(网络广播地址,255.255.255.255)
这是一个绝对不能使用的地址,不管它拥有那种IP类别的地址
计算机网络-IP类型判断的更多相关文章
- C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义
类型判断符号: C#:object a; if(a is int) { } 用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 inst ...
- 【跟着子迟品 underscore】常用类型判断以及一些有用的工具方法
Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...
- js框架设计1.4类型判断
这篇司徒大神介绍了很多js的 不靠谱类型判断.篇幅也是第一篇中最常的 ,经阅读后,以后一定要用框架的自带的类型判断,万万不可随便乱用js原生判断.
- Object.prototype.toString.call()进行类型判断
为什么类型判断用到Object.prototype.toString.call()进行类型判断,而不用typeof()呢? 然后翻了一下资料: Typeof 在使用 ]));/));));//[obj ...
- 17.C#类型判断和重载决策(九章9.4)
今天来结束第九章,聊下我们经常忽略,但是编译器会帮我们完成的"类型判断和重载决策",理解编译器如何帮我们完成,相信在写代码时会更明确,避免一些编译出错,排查的问题,让我们开发更给力 ...
- php变量的判空和类型判断
(1)var_dump(); 判断一个变量是否已经声明并且赋值,并且打印类型和值 <?php $a; var_dump($a);//输出null <?php var_dump($a);// ...
- [改善Java代码]在equals中使用getClass进行类型判断
建议47: 在equals中使用getClass进行类型判断 本节我们继续讨论覆写equals的问题.这次我们编写一个员工Employee类继承Person类,这很正常,员工也是人嘛,而且在JEE中J ...
- JavaScript 类型判断 —— typeof 以及 instanceof 中的陷阱
JavaScript中基本类型包含Undefined.Null.Boolean.Number.String以及Object引用类型.基本类型可以通过typeof来进行检测,对象类型可以通过instan ...
- Underscore.js 常用类型判断以及一些有用的工具方法
1. 常用类型判断以及一些有用的工具方法 underscore.js 中一些 JavaScript 常用类型检查方法,以及一些工具类的判断方法. 首先我们先来谈一谈数组类型的判断.先贴出我自己封装好的 ...
随机推荐
- clientTarget与用户代理别名
将特定用户代理的别名添加到用户代理别名的内部集合中. 来自 <https://msdn.microsoft.com/zh-cn/library/6379d90d(v=vs.110).aspx&g ...
- 有问题得就分享(此实现不是 Windows 平台 FIPS 验证的加密算法的一部分)
今天呢,我写完了MD5加密算法的代码,可是我正高兴的想运行时,按了F5.突然了个这样的窗体 我当时就纳闷了,怎么回事? 代码又没有错,这是乍回事! 于是呢上网查了看看:可以这样解决的 在window中 ...
- zookeeper集群
0,Zookeeper基本原理 ZooKeeper集群由一组Server节点组成,这一组Server节点中存在一个角色为Leader的节点,其他节点都为Follower.当客户端Client连接到Zo ...
- Eclipse如何发布web项目
目录结构: // contents structure [-] 需要的环境 下载和配置JDK 下载和配置Tomcat 下载Eclipse Eclipse 4.4.0 发布Web步骤 创建server ...
- jquery自定义对话框alert、confirm和prompt
jQuery Alert Dialogs,又一个基于jQuery的提示框插件,主要包括Alert.Confirm.prompt这三种,还有一个高级范例,可以在提示框内嵌入HTML语言,可以自定义风格样 ...
- SharePoint 2013 入门教程之创建及修改母版页
在SharePoint 2013中,微软提供了根据HTML页面转换Master页的方法,并支持单项同步,但是这样的更新,并不完善,会使一些功能造成丢失,所以,了解Master结构的人,尽量直接去修改M ...
- SharePoint 2013 状态机工作流之UpdateItemActivity
没什么可说的,一个Activity的使用介绍,其他类似的Activity也可以参考这个使用. 1.添加ApplyActivation和UpdateItemActivity,在onWorkflowAct ...
- 统计和分析系统性能【IO CPU 内存】的工具集合
统计和分析系统性能[IO CPU 内存]的工具集合 blktrace http://www.oschina.net/p/blktrace 获取磁盘写入的信息 root@demo:~/install/p ...
- 【Swift】UILabel 设置内边距
前言 对应一个曾经开发 Android 的人来说,没有这些基础属性简直令人发指,还是表喷这个,认真写代码 - - # 声明 欢迎转载,但请保留文章原始出处:) 博客园:http://www.cnblo ...
- IOS 杂笔-16 (-(void)scrollViewDidEndScrollingAnimation:方法使用注意)
今天在写项目的时候,遇到了一件令人抓狂的事情. 正如标题所示,被这个方法弄的团团转. -(void)scrollViewDidEndScrollingAnimation:是协议里的方法. 意味当动画结 ...