第一个类别为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类型判断的更多相关文章

  1. C#与Java对比学习:类型判断、类与接口继承、代码规范与编码习惯、常量定义

    类型判断符号: C#:object a;  if(a is int) { }  用 is 符号判断 Java:object a; if(a instanceof Integer) { } 用 inst ...

  2. 【跟着子迟品 underscore】常用类型判断以及一些有用的工具方法

    Why underscore 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对 ...

  3. js框架设计1.4类型判断

    这篇司徒大神介绍了很多js的 不靠谱类型判断.篇幅也是第一篇中最常的 ,经阅读后,以后一定要用框架的自带的类型判断,万万不可随便乱用js原生判断.

  4. Object.prototype.toString.call()进行类型判断

    为什么类型判断用到Object.prototype.toString.call()进行类型判断,而不用typeof()呢? 然后翻了一下资料: Typeof 在使用 ]));/));));//[obj ...

  5. 17.C#类型判断和重载决策(九章9.4)

    今天来结束第九章,聊下我们经常忽略,但是编译器会帮我们完成的"类型判断和重载决策",理解编译器如何帮我们完成,相信在写代码时会更明确,避免一些编译出错,排查的问题,让我们开发更给力 ...

  6. php变量的判空和类型判断

    (1)var_dump(); 判断一个变量是否已经声明并且赋值,并且打印类型和值 <?php $a; var_dump($a);//输出null <?php var_dump($a);// ...

  7. [改善Java代码]在equals中使用getClass进行类型判断

    建议47: 在equals中使用getClass进行类型判断 本节我们继续讨论覆写equals的问题.这次我们编写一个员工Employee类继承Person类,这很正常,员工也是人嘛,而且在JEE中J ...

  8. JavaScript 类型判断 —— typeof 以及 instanceof 中的陷阱

    JavaScript中基本类型包含Undefined.Null.Boolean.Number.String以及Object引用类型.基本类型可以通过typeof来进行检测,对象类型可以通过instan ...

  9. Underscore.js 常用类型判断以及一些有用的工具方法

    1. 常用类型判断以及一些有用的工具方法 underscore.js 中一些 JavaScript 常用类型检查方法,以及一些工具类的判断方法. 首先我们先来谈一谈数组类型的判断.先贴出我自己封装好的 ...

随机推荐

  1. jquery仿搜狐投票动画代码

    体验效果:http://hovertree.com/texiao/jquery/21/ 这是一款基于jquery实现的仿搜狐投票动画特效源码,运行该源码可见VS图标首先出现在中间位置,紧接着随着投票比 ...

  2. 50个新的汉化Demo!纯前端 Wijmo 放大招

    Wijmo 是为企业应用程序开发而推出的一系列包含 HTML5 和 JavaScript 的开发控件,包含 Wijmo 5 . Wijmo 3 及面向企业级应用的控件金融图表.FlexSheet 和 ...

  3. Java基本概念(2)J2EE里面的2是什么意思

    J2EE里面的2是什么意思 J2SE,J2SE,J2ME中2的含义要追溯要1998年.1998年Java 1.2版本发布,1999年发布Java 1.2的标准版,企业版,微型版三个版本,为了区分这三个 ...

  4. 从零开始学Python07作业思路:模拟人生小游戏

    标签(空格分隔): 从零开始学Python 一,作业说明 模拟人生: 1 定义三个人物,屌丝John,美女Liz,高富帅Peter. John和Liz大学时是恋人,毕业工作后,Liz傍上了Peter, ...

  5. php中return的用法实例分析

    本文实例讲述了php中return的用法.分享给大家供大家参考.具体分析如下: 首先,它的意思就是返回;return()是语言结构而不是函数,仅在参数包含表达式时才需要用括号将其括起来.当返回一个变量 ...

  6. 让T4脱离VS生成代码

    让T4脱离VS生成代码 最近项目快结束:空闲时间相对多一点:为了以后工作方便点:索性研究了VS的T4: 写个代码生成器:以后可以通过代码生成器调用项目里面的Dll直接生成代码或者xml: 应用以下两个 ...

  7. Css动画总结

    transform: transition: animation:

  8. css水平垂直居中(绝对定位居中)

    使用绝对定位有个限制就是父集必须设置一个固定的高度. 首先HTML <div id="box"> <div class="child"> ...

  9. 原生JS:严格模式详解

    严格模式 本文参考MDN做的详细整理,方便大家参考[MDN](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript) 设计目的 设立”严格模式 ...

  10. 拯救你的文档 – 【DevOps敏捷开发动手实验】开源文档发布

    今天上海的天气真是不错,风和日丽.再次来到微软上海紫竹研发中心,心情很是愉快,喜欢这里的大草坪,喜欢这里的工程气氛,更喜欢今天来陪我的小伙伴们. 这次动手实验培训与以往最大的不同就是采用了开源文档的方 ...