IP地址之IPv4

一、概述

  IP地址有IPv4和IPv6两个版本,目前我们通常所说的IP地址是指IPv4。

  IP地址由32位的二进制数组合而成,为了方便人类记忆,将二进制转换成4个十进制的数值。

  在这32位数据中分为网络号与主机号两个部分。

二、IP的分级

  IP网段分为五个等级,其定义如下:

  A类:规定前面8位为网络地址,后面的24位为主机地址,并且网络地址必须以0开头。如下所示:

    二进制表示:0xxxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

    十进制表示:0.xx.xx.xx – 127.xx.xx.xx

  B类:规定前面16位为网络地址,后面16位为主机地址,并且网络地址必须以10开对。如下所示:

    二进制表示:10xxxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

    十进制表示:128.xx.xx.xx – 191.xx.xx.xx

  C类:规定前面24位为网络地址,后面8位为主机地址,并且网络地址必须以110开对。如下所示:

    二进制表示:110xxxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

    十进制表示:192.xx.xx.xx – 223.xx.xx.xx

  D类:网络地址必须以1110开对。如下所示:

    二进制表示:1110xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

    十进制表示:224.xx.xx.xx – 239.xx.xx.xx

  E类:网络地址必须以1111开对。如下所示:

    二进制表示:1111xxxx.xxxxxxxx.xxxxxxxx.xxxxxxxx

    十进制表示:240.xx.xx.xx – 255.xx.xx.xx

  常用的只有A、B、C三个等级,D类用于组播,E类是保留网段。

  另外,A类中127.0.0.0这个网段用于测试操作系统,称为环回地址。

三、私有IP

  为了满足企业内部IP地址使用的需求,IPv4规划了三段私有IP地址,这些IP地址不能在公网上使用,只能用于局域网内部。

  A类:10.0.0.0-10.255.255.255

  B类:172.16.0.0-172.31.255.255

  C类:192.168.0.0-192.168.255.255

四、子网掩码

  IP是有等级的,如果我们使用A类的网段,此网段可容纳的主机数量为2^24-2台主机,先不考虑企业是否有这么多台主机,假设真的将这么多台主机接入到一个局域网中,这个网络基本上没有办法正常工作了,因为会有大量的广播包会在网络中传输。

  我们可以将一个大的IP段划分为多个小的IP段还分隔广播域。可以从主机地址中借位来充当网络地址,从而划分出多个子网,这时就要借助于子网掩码了。

  子网掩码也是由32位二进制数组成,其中1代表网络位,0代表主机位。例如:C类地址192.168.0.255其二进制格式为:

  IP:    11000000.10101000.00000000.11111111

  子网掩码:11111111.11111111.11111111.00000000

  将其转换成十进制数为:255.255.255.0

  上例中的192.168.0.255这个IP地址的主机位全部为1,这种主机位全部为1的IP地址称做广播地址,与其对应的是主机为全部为0的IP址(192.168.0.0),称做网络地址。

  每个网络段中都有一个主机地址和一个网络地址,这两个地址是不可以使用的,所有每个网段可用IP是数量是2^n-2,n表示主机位数。

五、子网划分

  了解了子网掩码的概念后,就可以进行子网划分了。前面介绍了子网划分其实就是向主机位借位划分多个网络的过程。

  以192.168.0.0/255.255.255.0这个网段为例,将它划分成2个子网的方法如下:

  2个子网其含义是子网掩码要向主机位借的位数只需要有两种变化即可,即2^n=2,可以得到n=1,这个n就是借位的数量。由此可知,子网划分的数量都是能2的n次方计算的。

  192.168.0.0  => 11000000.10101000.00000000.00000000  

  255.255.255.0 => 11111111.11111111.11111111.00000000

  由上面的计算结果可知,需要向主机位借一位,借位顺序为由左至右,第一个子网为:

  11000000.10101000.00000000.00000000 => 192.168.0.0

  11111111.11111111.11111111.10000000 => 255.255.255.128

  第二个子网为:

  11000000.10101000.00000000.10000000 => 192.168.0.128

  11111111.11111111.11111111.10000000 => 255.255.255.128

  上面使用二进制的方法进行计算,其实还可以直接使用十进制方法进行计算。用十进制方法计算上面的例子:

  以256为标准进行计算,主机段分为两个子网就用256/2=128,这个128就是第二个子网的网络地址了。

  如果将192.168.0.0/255.255.255.0划分出4个子网也就是子网掩码有26位的情况,直接用256/4=64,得到每个子网有64个IP地址,那么这4个子网分别为:

  192.168.0.0/255.255.255.192

  192.168.0.64/255.255.255.192

  192.168.0.128/255.255.255.192

  192.168.0.192/255.255.255.192

六、无类别域间路由CIDR

  CIDR的目的是将一组子网信息合并为一条较大的网络段,其目的是减少路由的条目。

  以192.168.0.0/255.255.255.0为例,其CIDR的写法为:192.168.0.0/24

  在上面的划分子网的例子中,四个子网的CIDR写法为:

    192.168.0.0/26

    192.168.0.64/26

    192.168.0.128/26

    192.168.0.192/26

原创文章,作者:petmaster,如若转载,请注明出处:http://www.178linux.com/10948

(1)
petmasterpetmaster
上一篇 2016-02-14 10:01
下一篇 2016-02-14 10:03

相关推荐

  • rpm详解

    rpm详解 rpm详解 rpm使用方法 rpm起源 rpm是什么 rpm命名格式 rpm优缺点 rpm获取注意 rpm命令使用 rpm起源  由于在linux中安装应用程序需要源码包编译安装,对于非专业人员而言难度太大,因而出现一种将源码编译好的二进制程序,库文件,配置文件,帮助文件等打包成一个或多个特定格式的程序包,而管理这类包的工具之一,则称为…

    Linux干货 2016-12-23
  • rpm 程序包管理器的基本使用

    目录 安装程序包 卸载 升级 查询 校验 来源合法性和完整性验证 数据库重建 1     安装程序包 rpm -ivh /path/to/package_file -v     显示执行过程的参数。 -h   &nbsp…

    Linux干货 2016-06-22
  • Week 1–Linux基础1

    一. 计算机是由什么组成的? 计算机有什么作用呢?  1.计算机是由硬件系统与软件系统两大部分组成的. 那么是什么呢?  硬件系统: 1.1 输入组件(如鼠标,键盘等); 输出组件(显示器,打印机等); 1.2 核心大脑–CPU(里面包含有 算术逻辑、控制、记忆等单元); 1.3 为了与以上2大重要部件连接的,肯定需要一个可以…

    Linux干货 2016-12-05
  • LVM逻辑卷的缩减与删除,LVM逻辑卷快照,btrfs文件系统,网络管理

    逻辑卷缩减 缩减的时候要注意缩减的空间不要超过文件系统的空间,不然缩减的时候会损坏文件系统。 第一步要先取消挂载(必须) 第二部检查文件完整性(必须) e2fsck -f /dev/vg0/lv0 第三部文件系统缩减,先缩减文件系统. resize2fs /dev/vg0/lv0 10G  (缩减到剩下10G) 第四步逻辑卷组的缩减 lvreduc…

    Linux干货 2016-09-06
  • http配置文件中文文档

    Apache中Httpd.conf详解 Apache 的 httpd.conf 详解 # # Apache服务器主配置文件. 包括服务器指令的目录设置. # 详见 <URL:http://www.apache.org/docs/>  # # 请在理解用途的基础上阅读各指令。 # # 再读取此文档后,服务器将继续搜索运行 # E:/Pro…

    Linux干货 2017-08-08
  • vim简单实用的技巧总结

    vi 和 vim无需过多的区分,vim可认为是vi的增强版。        这篇关于vim的手册,我个人觉得实在无法把它写成文章,只能以手册的方式列举出来,因为,vim是一个动手使用的工具,只能在使用中你才能慢慢发现它的操作多么符合逻辑,我从下面这些简略的描述中,尽量将它的操作步骤写出来,但更重要的…

    Linux干货 2015-09-14