zoukankan      html  css  js  c++  java
  • 002-IP地址及分类以及子网掩码

    一、概述

      IP地址是一个4段2进制码组成的,每一段二进制码有8位,共32位二进制数。占用4个字节。

      IP地址是指互联网协议地址(Internet Protocol Address,又译为网际协议地址),是IP Address的缩写。IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

    二、IP地址分类

      IP地址位数=网络位数+主机位数=32位。

        

      A类地址以0开头,第一个字节作为网络号,地址范围为:0.0.0.0~127.255.255.255;(modified @2016.05.31)

      B类地址以10开头,前两个字节作为网络号,地址范围是:128.0.0.0~191.255.255.255;

      C类地址以110开头,前三个字节作为网络号,地址范围是:192.0.0.0~223.255.255.255。

      D类地址以1110开头,地址范围是224.0.0.0~239.255.255.255,D类地址作为组播地址(一对多的通信);

      E类地址以1111开头,地址范围是240.0.0.0~255.255.255.255,E类地址为保留地址,供以后使用。

      注:只有A,B,C有网络号和主机号之分,D类地址和E类地址没有划分网络号和主机号。

    2.1、0.0.0.0

      常用于寻找自己的IP地址,例如在我们的RARP,BOOTP和DHCP协议中,若某个未知IP地址的无盘机想要知道自己的IP地址,它就以255.255.255.255为目的地址,向本地范围(具体而言是被各个路由器屏蔽的范围内)的服务器发送IP请求分组。

    2.2、255.255.255.255

      该IP地址指的是受限的广播地址。受限广播地址与一般广播地址(直接广播地址)的区别在于,受限广播地址只能用于本地网络,路由器不会转发以受限广播地址为目的地址的分组;一般广播地址既可在本地广播,也可跨网段广播。例如:主机192.168.1.1/30上的直接广播数据包后,另外一个网段192.168.1.5/30也能收到该数据报;若发送受限广播数据报,则不能收到。

      注:一般的广播地址(直接广播地址)能够通过某些路由器(当然不是所有的路由器),而受限的广播地址不能通过路由器。

    2.3、回环地址

      127.0.0.0/8被用作回环地址,回环地址表示本机的地址,常用于对本机的测试,用的最多的是127.0.0.1。

    2.4、A、B、C类私有地址

      私有地址(private address)也叫专用地址,它们不会在全球使用,只具有本地意义。

      A类私有地址:10.0.0.0/8,范围是:10.0.0.0~10.255.255.255

      B类私有地址:172.16.0.0/12,范围是:172.16.0.0~172.31.255.255

      C类私有地址:192.168.0.0/16,范围是:192.168.0.0~192.168.255.255

    三、子网掩码及网络划分

    3.1、什么是子网掩码?

      子网掩码是标志两个IP地址是否同属于一个子网的,也是32位二进制地址,其每一个为1代表该位是网络位,为0代表主机位。它和IP地址一样也是使用点式十进制来表示的。如果两个IP地址在子网掩码的按位与的计算下所得结果相同,即表明它们共属于同一子网中。

      子网掩码:它是一种用来指明一个IP地址的哪些位标识的是主机所在的子网,以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。(通俗来讲它的作用就是:区分IP地址中的网络号和主机号;)

      在计算子网掩码时,我们要注意IP地址中的保留地址,即“ 0”地址和广播地址,它们是指主机地址或网络地址全为“ 0”或“ 1”时的IP地址,它们代表着本网络地址和广播地址,一般是不能被计算在内的。

    3.2、默认子网掩码

    IP地址位数=网络位数+主机位数=32位。子网掩码的位数就是网络的位数。

      A类网络的网络位数是8位,子网掩码就是11111111.00000000.00000000.00000000,换算成二进制表示为255.0.0.0。

      B类网络的网络位数是16位,子网掩码就是11111111.11111111.00000000.00000000,换算成十进制表示为255.255.0.0。

      C类网络的网络位数是24位,子网掩码就是11111111.11111111.11111111.00000000,换算成十进制表示为255.255.255.0。

    概述

      A类网络加长子网掩码到16位就把一个A类网络划分为256个B类网络同样大小的网络,再加长到24位就又把每个B类大小的子网划分为256个C类网络大小的子网。就是这个道理。一个大的网络,通过把子网掩码加长,使网络位多了,也就是网络数目多了,子网就多了。 当然你也可以不划分为256个子网,而划分为128个,64个,32个,16个,8个,4个,2个。

      一个B类网络的默认子网掩码为255.255.0.0,你如果想把它划分为2个子网,网络位数就成立17位,也就是说子网掩码就变成了255.255.128.0;想划分为16个子网,因为16是2的4次方,所以网络位数加4变成了20位,也就是说子网掩码加长,成了20位,就是255.255.240.0。依此类推。

      一个C类网络的默认子网掩码为24位的,那么主机位=32-24=8位,2的8次方等于256,所以一个C类网络的IP地址数量(包括网络地址和广播地址)为256个。

      但是你仍然可以通过加长子网掩码的手段,把一个C类子网划分为更多的子网。划分的子网数必定是2的n次方个,每个子网的IP数量必定是2的(8- n)次方个。

      子网掩码加长1位,划分2个子网;加长2位,划分4个子网,加长6位,划分2的6次方个,也就是64个子网。

      子网掩码的1的个数表示网络位的个数,简单地来说,网络位是不属于你控制的,是上级主管给你的,给你多少就是多少。但是主机位是你可以控制的,你可以把它缩短,把缩短出来的位数加到网络位中,这样网络位就长了,子网数就多了,相应地每个子网的IP数量就少了。

    3.3、子网掩码计算公式

      IP地址位数=32

      网络位+主机位=32

      子网掩码加长n位,则在当前子网基础上划分为2的n次方个子网。每个子网的IP地址数量=2^(32-划分前子网掩码位数-n)

      简单来说,子网掩码就是网络地址的位数。

      一个IP地址一共有32位,其中靠前的某些位表示网络地址,后面的某些位表示主机位。

      网络位数+主机位数=IP地址位数=32

      知道了这个道理,计算子网掩码的方法就是:已知子网内IP数的多少,求出主机位的位数,用32减去主机位数就等于网络位数,也就是子网掩码。

    3.4、如何根据子网划分的目标计算子网掩码

    示例一、C类网络默认子网掩码

      一个C类网络,包括256个主机位置,256是2 的8次方,所以主机位是8,那么网络位就是32-8=24,也就是说子网掩码是24位,用二进制表示就是11111111.11111111.11111111.00000000,换算成十进制就是255.255.255.0

    3.4.1、已知子网数,求主机数

    示例一、一个C类IP地址段划分成4个子网  

      222.30.251.0 C类地址 ,默认掩码255.255.255.0
      11111111.11111111.11111111.00000000 255.255.255.0
      ------------------------------------**************
      网络位+主机位
      划分4个子网, 2的2次方=4 ,网络位向主机位借位2位【其实也就是两个位能确定四个00、01、10、11】
      11111111.11111111.11111111.11000000 255.255.255.192 新掩码
      --
      借位
      主机位还有6位, 则每个子网可容纳IP=2的6次方=64个 , 除掉网络地址和广播地址,每个子网可分配IP64-2=62个

    3.4.2、已知主机数,求子网络数

      首先你算一下主机数更接近于2 的几次方,那么主机位数就是几位。32减去主机位就是网络位。

    示例一、一个C类网络划分的子网,每个网络主机IP数是32,

      32是2的5次方,所以主机位是5,那么网络位就是32-5=27,也就是说子网掩码是27位,用二进制表示就是11111111.11111111.11111111.11100000,换算成十进制就是255.255.255.224

    示例二、一个B类网络划分的子网,每个网络主机IP数是1024

      1024是2的10次方,所以主机位是10,那么网络位就是32-10=22,也就是说子网掩码是22位,用二进制表示就是11111111.11111111.11111100.00000000,换算成十进制就是255.255.252.0 

    示例三、一个C类IP地址192.168.0.0。假如你想划分2个子网,一个里面有100台电脑,另一个有50台电脑。

      100大于2的6次方,小于2的7次方,所以主机位数取7位。那么网络位数就是32-7=25位。25位的子网掩码11111111.11111111.11111111.10000000换算成10进制的就是255.255.255.128,这就是第一个子网的子网掩码,网络号为192.168.0.0/25,网络地址192.168.0.0,主机地址192.168.0.1~192.168.0.126,广播地址192.168.0.127

      50大于2的5次方,小于2的6次方,所以主机位数取6位。那么网络位数就是32-6=26位。26位的子网掩码11111111.11111111.11111111.11000000换算成10进制的就是255.255.255.192,这就是第二个子网的子网掩码,网络号为192.168.0.128/26,网络地址192.168.0.128,主机地址192.168.0.129~192.168.0.190,广播地址192.168.0.191

  • 相关阅读:
    微信小程序
    svn
    当滑动条滑动到某一位置触发js
    css固定页面
    css三级菜单
    h5时钟
    DOM节点
    应用r.js来优化你的前端
    浅谈javascript中的作用域
    javascript 中的 arguments,callee.caller,apply,call 区别
  • 原文地址:https://www.cnblogs.com/bjlhx/p/8864604.html
Copyright © 2011-2022 走看看