国际规定:把所有的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. Android 获取本机WIFI及3G网络IP

    获取本机WIFIprivate String getLocalIpAddress() { WifiManager wifiManager = (WifiManager) getSystemServic ...

  2. 我家用的网络IP地址给定,MAC绑定,我买了个无线路由器,请问怎么设定能让我的电脑和手机都能上网

    我家用的网络IP地址给定,MAC绑定,我买了个无线路由器,请问怎么设定能让我的电脑和手机都能上网   房东给的IP地址是:192.168.1.5 255.255.255.0 192.168.1.1 2 ...

  3. PHP获取真实的网络IP

    function get_client_ip() { $ip = $_SERVER['REMOTE_ADDR']; if (isset($_SERVER['HTTP_CLIENT_IP']) & ...

  4. js获取本机的网络IP地址

    JavaScript是一门脚本语言,是不能操作文件,读取本地信息的,所以想要获取IP,还需要借助后端技术.方法如下: //获取本机的网络ip地址 function jsonpCallback(res) ...

  5. netcore 获取本地网络IP地址

    .net framework 下面可以用下面的代码获取到本地网络ip地址.netcore下面这个代码也依然可以用 System.Net.Dns.GetHostName() System.Net.Dns ...

  6. JAVA获取客户端请求的当前网络ip地址(附:Nginx反向代理后获取客户端请求的真实IP)

    1. JAVA获取客户端请求的当前网络ip地址: /** * 获取客户端请求的当前网络ip * @param request * @return */ public static String get ...

  7. 网络IP和网络掩码以及网关的学习

    192.168.10.1/24,192.168.1.1/30是什么意思啊? 表示地址范围你把这些前面的值转换成2进制 就是变成一个32位的地址比如192.168.10.1就变成11000000.101 ...

  8. CentOS工作内容(三)配置网络IP地址

    CentOS工作内容(三)配置网络IP地址 用到的快捷键 tab 自动补齐(有不知道的吗) ctrl+a 移动到当前行的开头(a ahead) ctrl+u 删除(剪切)此处至开始所有内容 vim 末 ...

  9. 本地ip 和 网络ip 解释

    本地IP其实就是私有IP地址10.0.0.0--10.255.255.255172.16.0.0----172.31.255.255192.168.0.0---192.168.255.255 这些都是 ...

随机推荐

  1. Android FM模块学习之二 FM搜索频率流程

    上一篇大概分析了一下FM启动流程,若不了解Fm启动流程的,能够去打开前面的链接先了解FM启动流程,接下来我们简单分析一下FM的搜索频率流程. 在了解源代码之前.我们先看一下流程图: 事实上从图中能够看 ...

  2. 13 引用WINAPI

            [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SetWind ...

  3. 系统调用服务号 linux 2.6.32

    http://www.cnblogs.com/xcywt/p/4998963.html 系统定义符号集中声明在 /usr/src/kernels/linux-2.6.32/include/linux/ ...

  4. vector中的resize与 reserve

    void reserve (size_type n); reserver函数用来给vector预分配存储区大小,即capacity的值 ,但是没有给这段内存进行初始化.reserve 的参数n是推荐预 ...

  5. hdu1250(Java)大数相加的问题

    Hat's Fibonacci Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tota ...

  6. Android读取Manifest文件下Application等节点下的metadata自定义数据

    介绍 Android在 提供了meta-date使用键值对的形式实现自定义配置.一般使用中作为渠道标识.可以用 在<application>,<activity>,<ac ...

  7. 玩转Android之在线视频播放控件Vitamio的使用

    其实Android中自带的MediaPlayer本身就能播放在线视频,MediaPlayer结合SurfaceView播放在线视频也是不错的选择(如果你没有性能或者用户体验上的要求),关于MediaP ...

  8. 使用TabLayout快速实现一个导航栏

    在没有Material Design的年代,要实现一个类似微信主页面的效果,我们有以下几种解决方案: 1.Fragment + ViewPager  +  RadioGroup自定义固定导航条 2.F ...

  9. hibernate简单应用

    Hibernate 第二章 核心API 和CURD实现 核心API介绍 单表操作方法 查询hql语句 1.认识hibernate 核心思想ORM:实现数据库中的文件一一映射为java中的实体类. 使用 ...

  10. jquery操作iframe中的js函数

    关键字:jquery操作iframe中的js函数 1.jquery操作iframe中的元素(2种方式) var tha = $(window.frames["core_content&quo ...