国际规定:把所有的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. [React] React Fundamentals: Accessing Child Properties

    When you're building your React components, you'll probably want to access child properties of the m ...

  2. 【点滴积累】通过特性(Attribute)为枚举添加更多的信息

    转:http://www.cnblogs.com/IPrograming/archive/2013/05/26/Enum_DescriptionAttribute.html [点滴积累]通过特性(At ...

  3. vector中的resize与 reserve

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

  4. 移动Web开发图片自适应两种常见情况解决方案

    本文主要说的是Web中图片根据手机屏幕大小自适应居中显示,图片自适应两种常见情况解决方案.开始吧 在做配合手机客户端的Web wap页面时,发现文章对图片显示的需求有两种特别重要的情况,一是对于图集, ...

  5. 读写应用程序数据-CoreData

    coreData数据最终的存储类型可以是:SQLite数据库.XML.二进制.内存里.自定义的数据类型. 和SQLite区别:只能取出整个实体记录,然后分解,之后才能得到实体的某个属性. 1.创建工程 ...

  6. webstorm 如何修改背景颜色

    http://www.cnblogs.com/zxyun/p/4744744.html 见文章底部有图文说明 15个必须知道的chrome开发者技巧(GIF):http://www.wtoutiao. ...

  7. mysql中 的 ENGINE = innodb; 是什么意思?

    存储引擎是innodb.nnoDB 是 MySQL 上第一个提供外键约束的数据存储引擎,除了提供事务处理外,InnoDB 还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户 ...

  8. SQLServer获取最后插入的ID值SCOPE_IDENTITY、IDENT_CURRENT 和 @@IDENTITY的比较

    IDENT_CURRENT 返回为任何会话和任何作用域中的特定表最后生成的标识值.IDENT_CURRENT 不受作用域和会话的限制,而受限于指定的表. @@IDENTITY 返回为当前会话的所有作用 ...

  9. Chrome资源加载被Cancel的问题

    好个表久没写文章了. 做为一个砖业的砖工只能天天搬砖做些没有营养没有技术难度的活儿. 最近折腾个网站.发现一个很奇怪的问题- 各种图片的请求被取消了状态为Canceled. 顿时Chrome变成一个更 ...

  10. MVC LINQ中用封装的TSQL通用更新方法

    把TSQL拿出来,做了一个封装,适用的所有表,更新有两种,普通更新和记数更新 看代码:这两个方法是写在DAL里的数据操作基类里的,只有它的子类可以用它,所以用protected做为限制 /// < ...