IP地址分类以及C类IP地址的子网划分

国际规定:把所有的IP地址划分为 A,B,C,D,E

  A类地址:范围从0-127,0是保留的并且表示所有IP地址,而127也是保留的地址,并且是用于测试环回用的。因此A类地址的范围其实是从1-126之间。

  如:10.0.0.1,第一段号码为网络号码,剩下的三段号码为本地计算机的号码。转换为2进制来说,一个A类IP地址由1字节的网络地址和3字节主机地址组成,网络地址的最高位必须是"0", 地址范围从0.0.0.1 到126.0.0.0。可用的A类网络有126个,每个网络能容纳1亿多个主机(2的24次方的主机数目)。

  以子网掩码来进行区别:255.0.0.0.

  B类地址:范围从128-191,如172.168.1.1,第一和第二段号码为网络号码,剩下的2段号码为本地计算机的号码。转换为2进制来说,一个B类IP地址由2个字节的网络地址和2个字节的主机地址组成,网络地址的最高位必须是"10",地址范围从128.0.0.0到191.255.255.255。可用的B类网络有16382个,每个网络能容纳6万多个主机 。

  以子网掩码来进行区别:255.255.0.0

  C类地址:范围从192-223,如192.168.1.1,第一,第二,第三段号码为网络号码,剩下的最后一段号码为本地计算机的号码。转换为2进制来说,一个C类IP地址由3字节的网络地址和1字节的主机地址组成,网络地址的最高位必须是"110"。范围从192.0.0.0到223.255.255.255。C类网络可达209万余个,每个网络能容纳254个主机。

  以子网掩码来进行区别: 255.255.255.0

  D类地址:范围从224-239,D类IP地址第一个字节以"1110"开始,它是一个专门保留的地址。它并不指向特定的网络,目前这一类地址被用在多点广播(Multicast)中。多点广播地址用来一次寻址一组计算机,它标识共享同一协议的一组计算机。

  E类地址:范围从240-254,以"11110"开始,为将来使用保留。 全零("0.0.0.0")地址对应于当前主机。全"1"的IP地址("255.255.255.255")是当前子网的广播地址。

  在日常网络环境中,基本是都在使用B,C两大类地址,而ADE这3类地址都不打可能被使用到。

  从上述描述中,就可以看到有很多朋友会犯的一个错误,就是把192开头的IP地址设置成B类地址,虽然说在局域网中的网络通讯并不会受到影响,但事实上是不规范的一种划分行为。

  子网掩码的简单叙述:子网掩码是一个32位地址,用于屏蔽IP地址的一部分以区别网络标识和主机标识,并说明该IP地址是在局域网上,还是在远程网上。

  以上述IP地址为例来说明一下,比如一个C类IP 地址 192.168.0.1,子网掩码为255.255.255.0(转换2进制,255在2进制表示8个1,也就是全部占满).这杨的写法表示,这个C类IP地址的网络号码为192.168.0 而起主机地址为1.

在这么多网络IP中,国际规定有一部分IP地址是用于我们的局域网使用,也就是属于私网IP,不在公网中使用的,他们的范围是:

 10.0.0.0~10.255.255.255

  172.16.0.0~172.31.255.255

  192.168.0.0~192.168.255.255

接下来,我们再讨论一下,子网划分的问题。

  假如给你一个C类的IP地址段:192.168.0.1-192.168.0.254,其中192.168.0 这个属于网络号码,而1-254表示这个网段中最大能容纳254台电脑主机。我们现在要做的就是把这254台主机再次划分一下,将它们区分开来。

  192.168.0.1-192.168.0.254默认使用的子网掩码为255.255.255.0,其中的0在2进制中表示,8个0.因此有8个位置没有被网络号码给占用,2的8次方就是表示有256个地址,去掉一个头(网络地址)和一个尾(主机地址),表示有254个电脑主机地址,因此我们想要对这254来划分的话,就是占用最后8个0中的某几位。

  假如占用第一个0.那么2进制表示的子网掩码为11111111.11111111.11111111.10000000.转换为10进制就为255.255.255.128,那么这时电脑主机应该为多少?其实很简单,就是2的7次方了(不再是原来的2的8次方了),2的7次方=128,因此假如子网掩码为255.255.255.128的话,这个C类地址可以被区分为2个网络,每个网络中最多有128台主机。 192.168.0.1-192.168.0.127为一个,192.168.0.128-192.168.0.255为第二个。

  再举个例子,假如还是C类地址,其IP范围为192.168.0.1-192.168.0.254,假如子网掩码255.255.255.192(也就是最后8为主机位,被占用了2位,2进制表示为11111111.11111111.11111111.11000000),那么这个网段的电脑主机数目就是2的6次方=64台,总共有2的2次方=4个网段。第一个网段为192.168.0.1-192.168.0.63,第二个网段为192.168.0.64-192.168.0.127,第三个网段为192.168.0.127-192.168.0.191,第四个网段为192.168.0.192-192.168.0.254。

  从这2个例子中,我们可以总结出一个规律,就是主机被占用了N位数,那么就有2的N次方个网络,也就有2 的8-N次方的主机数目了。

  最后来简单叙述一下B类地址的子网划分方法

  假如有一个B类地址网段,172.16.0.0-172.168.255.255 子网掩码为255.255.0.0,现在需要将这个网段进行子网划分。

  不划分子网,那么就只有一个网络,这个网络里面包含2的16次方,也就有6万多个主机

  因此,假如需要子网划分,网络地址就需要向主机地址借位。

  例子一 第一步先把 172.16.0.0 255.255.0.0 转换为二进制来看,

  10101100 00010000 00000000 00000000 128+32+8+4=172 16

  11111111 11111111 00000000 00000000 255.255.0.0

  假如网络地址问主机地址借了2位的话,那么子网掩码就是

  11111111 11111111 11000000 00000000

  255.255.192.0

  因为借了2位,所以就有2的2次方,就划分了4个网络,每个网络就有2的14次方的主机地址

  172.16.0.1 -172.16.63.254

  172.16.64.1-172.16.127.254

  172.16.128.1-172.16.191.254

  172.16.192.1-172.16.254.254

  例子二

假如B类地址172.16.0.0-172.16.255.255 255.255.0.0 需要划分更小的子网的,网络地址向主机地址总共借用10位数的话,从二进制来看

  十进制 172.16.0.0 255.255.0.0

  二进制 10101100 00010000 00000000 00000000 128+32+8+4=172 16

  11111111 11111111 00000000 00000000

  借用10位数后

  用二进制表示的子网掩码就为 11111111.11111111.11111111.11000000

  用十进制表示的话就为 255.255.255.192

  那么 总共有 2的10次方个网络数目,每个网络中有2的6次方个地址,

  用十进制来表示这么多地址的话,应该如下(因为有2的10次方,太多了,没法一个一个的写出来)

  前面6个, 172.16.0.1-172.16.0.63

  172.16.0.64-172.16.0.127

  172.16.0.128-172.16.0.191

  172.16.0.192-172.16.0.254

  172.16.1.1---172.16.1.63

  172.16.1.64-172.16.1.127

  最后6个,

  172.16.254.128-172.16.254.191

  172.16.254.192-172.16.254.255

  172.16.255.1---172.16.255.63

  172.16.255.64-172.16.255.127

  172.16.255.128-172.16.255.191

  172.16.255.192-172.16.255.255

  从这2个例子中可以看出,划分B类子网地址,其实和划分C类子网地址是一样的,只不过划分C类的时候,是将第四段地址划分,而划分B类的时候,可以划分第三段,也可以划分第四段而已。

Ip 讲解的更多相关文章

  1. 网络知识学习2---(IP地址、子网掩码)(学习还不深入,待完善)

    紧接着:网络知识学习1 1.IP地址    IP包头的结构如图 A.B.C网络类别的IP地址范围(图表) A.B.C不同的分配网络数和主机的方式(A是前8个IP地址代表网络,后24个代表主机:B是16 ...

  2. 我推荐的一些iOS开发书单

    文/叶孤城___(简书作者)原文链接:http://www.jianshu.com/p/2fa080673842著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 上次发了一下比较不错的i ...

  3. 汲取营养的blog专栏

    网路上博客专栏是学习提升.思考深化的好途径,目前发现的博客价值高的平台: (1)EETOP www.eetop.cn (2)CSND www.csdn.net (3)cnblog www.cnblog ...

  4. ZooKeeper分布式专题与Dubbo微服务入门

    第1章 分布式系统概念与ZooKeeper简介对分布式系统以及ZooKeeper进行简介,使得大家对其有大致的了解1-1 zookeeper简介1-2 什么是分布式系统1-3 分布式系统的瓶颈以及zk ...

  5. 基于tcpdump实例讲解TCP/IP协议

    前言 虽然网络编程的socket大家很多都会操作,但是很多还是不熟悉socket编程中,底层TCP/IP协议的交互过程,本文会一个简单的客户端程序和服务端程序的交互过程,使用tcpdump抓包,实例讲 ...

  6. 网络编程懒人入门(九):通俗讲解,有了IP地址,为何还要用MAC地址?

    1.前言 标题虽然是为了解释有了 IP 地址,为什么还要用 MAC 地址,但是本文的重点在于理解为什么要有 IP 这样的东西.本文对读者的定位是知道 MAC 地址是什么,IP 地址是什么. (本文同步 ...

  7. 第三百二十九节,web爬虫讲解2—urllib库爬虫—ip代理—用户代理和ip代理结合应用

    第三百二十九节,web爬虫讲解2—urllib库爬虫—ip代理 使用IP代理 ProxyHandler()格式化IP,第一个参数,请求目标可能是http或者https,对应设置build_opener ...

  8. 18 网络编程-TCP/IP各层介绍(5层模型讲解)

    1.TCP/IP五层协议讲解 物理层--数据链路层--网络层--传输层--应用层 我们将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议 就 ...

  9. 网络编程-TCP/IP各层介绍(5层模型讲解)

    1.TCP/IP五层协议讲解 物理层--数据链路层--网络层--传输层--应用层 我们将应用层,表示层,会话层并作应用层,从tcp/ip五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议 就 ...

随机推荐

  1. redhat 安装配置samba实现win共享linux主机目录

    [转]http://blog.chinaunix.net/uid-26642180-id-3135941.html redhat 安装配置samba实现win共享linux主机目录 2012-03-1 ...

  2. read/sysread区别

    use warnings; use strict; my $readbuff; my $sysreadbuff; ); print "read get:$readbuff\n"; ...

  3. 用两个栈实现队列,剑指offer P59

    public class QueueByStack { private Stack<Integer> stack1; private Stack<Integer> stack2 ...

  4. Managed Switch: Confs

    shortcuts: c-w: delete word before c-a: move to first char c-y: delete everything after cursor c-z: ...

  5. jfinal获取服务器的IP和端口

    String serverIp = getRequest().getServerName(); Integer serverPort = getRequest().getServerPort();

  6. 如何优化 App 的启动时间

    http://www.cocoachina.com/ios/20161102/17931.html App 运行理论 main() 执行前发生的事 Mach-O 格式 虚拟内存基础 Mach-O 二进 ...

  7. C#隐藏(new)方法和重写(override)方法

    在基类调用的时候 隐藏方法还是调用基类的方法 而重写方法调用的就是子类的中的方法 同时,当子类中的方法与父类或者所实现的接口中的扩展方法冲突时,那么此时相当于一个隐藏方法 基类调用或者接口调用的时候使 ...

  8. save-dev和save的区别

    果你经常用NPM安装依赖包,会注意到安装包时的指令会分--save-dev和--save两种,有什么区别呢?   在项目中我们通常会有一个package.json的配置文件,用来保存项目的相关配置信息 ...

  9. 安装webstrom,免激活长久使用

    1.在jetbrain官网下载最新版webstrom, 2.安装webstrom,不建议安装在c盘 3.安装时选择试用三十天 接下来就很重要: 首先将系统时间改到未来的某天,或者你未来写不动代码的一天 ...

  10. phpQuery 无法解析 html 结构

    有时候解析一段 HTML 代码时 phpQuery 无法解析原因: 可能是缺少类似下面的 meta 信息,在带解析的字符串任意位置添上即可 : <meta http-equiv="Co ...