IPV4
32位二进制IPV4
基础概念
网络地址:网络ID,保持不变; 主机ID全置为0
广播地址:网络ID,保持不变; 主机ID全置为1。它是一个网段中的最后一个 IPv4 地址,也不可分配给主机或节点使用 。
子网掩码:网络ID全置为1; 主机ID全置为0
地址分类
32位二进制IPV4,地址分为A类、B类、C类、D类、E类
其中,单播通信地址:A 、B、 C
组播通信地址: D
保留通信地址:E
A类
A 类 IPv4 地址结构如图 9-4 所示,
用来标识网络的“网络 ID ”部分只占 IPv4 地址中的最高 l 个字节 , “主机 D”占用了剩余的全部3 个字节。
为了限制使用 A 类 IPv4 地址的网络可用的 IPv4 地址范围,规定 A 类 IPv4 地址中“网络ID ”的最高位固定为 0,后面的 7 位可变 。
这样一来,A 类网络的总数从 256(=2^8 )个减少到128(=2^7 )个 。
但实际上可用的只有126 个,即整个 IPv4 地址中可以构建126 个 A 类网络,因为“网络 ID ”为 0 和127 的 A 类网络不可用 。
“网络 ID ”全为 0 的地址被保留,不能分配:而“网络 ID ”为 01111111 (相当于十进制的127 )的地址专门用于本地环路测试(也就是通常所说的环路地址〉,也是不能被分配的。
也就是凡是以 0 或者127 开头的地址都是不能分配给节点使用的 。
A 类IPv4 地址的子网掩码为固定的255.0 .0.0
,
因为子网掩码就是由“网络 ID ” 全置 1, "主机 ID ” 全置 0 得到的 ,而 A 类地址中“网络 ID "就是最高的那个子节,其余 3 个字节均为“ 主机ID”,所以子网掩码其实就是 1111.0000.0000.0000
。
B类
B 类 IPv4 地址结构如图 9-5 所示 , 其 “网络 ID ”占用最高的前两个字节,而“主机 ID ”则占用剩余的低两个字节。
同样为了限制使用 B 类 IPv4 地址的网络可用的 1Pv4 地址范围 ,规定 B 类 IPv4 地址“网络 ID ”的最高两位固定分别为 1 、0 ,后面的 14 位可变 。
由此可知 B 类网络的总数从 65536C(2^16, 也可写成 256 × 256个减少到 16384(64 × 256= 16384 )个:
B 类1Pv4 地址的子网掩码为固定的255.255.0.0
,因为 B 类地址中“网络 ID ”是最高的两个字节,每个字节均为 8 个连续的 1,转换成十进制后每个字节就是 255 了,即子网掩码是11111.1111.0000.0000
。
C类
前面的 A 类和 B 类 IPv4 地址分别是针对大型网络和中型网络而设计的,自然 C 类 1Pv4 地址是针对小型网络而设计的。
C 类 IPv4 地址结构如图 9-6 所示 , 其“网络 ID ” 占用最高的前 3 个字节,而“主机 ID ”只占用最后的一个字节。从中可以得出 , 采用 C 类 IPv4 地址的网络数是最多的,但每个 C 类 IPv4 网络中可使用的 IPv4 地址数又是最少的,这正好符合中小型企业占大多数,而每个中小型企业网络中的用户数又不多的特点。
C 类 IPv4 地址“网络 ID ”的最高 3 位固定分别为l 、l 、0 ,后面的 2 1 位可变。由 此得知 C类网络总数从 166777216(=2^24,也可以写成 256 x256 × 256 )个减少到 2097152(32x256 ×256 )个 。
C 类1Pv4 地址的子网掩码为固定的255.255.255.0
,因为 C 类地址中“网络 ID ”是最高的3个字节,每个字节均为 8 个连续的 1,转换成十进制后每个字节就是 255 了,即子网掩码是11111.1111.1111.0000
。
D类
前面介绍的ABC类IPv4 地址均是应用于单播通信的单播IPv4 地址,此处介绍的D类IPV4地址是应用于组播通信的,是组播 IPV4 地址。
通过组播IPV4 地址,组播源(配置的IP 地址仍是单播IPv4地址)只需发送一份数据,就可以使对应组播组(以D类组播地址标识)的所有用户均可收到同一份数据。
IP组播技术有效地解决了单点发送多点接收的问题,实现了IP 网络中点到多点的高效数据传送,能够大量节约网络带宽、降低网络负载。
还可以利用网络的组播特性方便地提供一些新的增值业务,包括在线直播、网络电视、远程教育、远程医疗、网络电台、实时视频会议等互联网的信息服务领域。
但这里需要注意,组播地址是不分“网络ID”和“主机ID”的,也没有子网掩码,只是规定在最高字节中前4位分别固定为1、1、1、0的IP4地址属于D类组播地址(如图9-7所示),这样一来整个可用的D类组播地址范围为224.0.0.0~239.255.255.255
IPv4 地址/前缀。
传统的1Pv4 地址表示方法是在给出具体的1Pv4 地址的同时给出它所对应的子网掩码,如192.168.1.10, 255.255.255 .0 等。这也是我们在为节点配置 IP 地址的同时要配置子网掩码的原因 。
但在日常书写时,这样显然比较麻烦、比较长。
为了能更加简便地书写,采取了一种比较简单的地址前缀表示形式,就是在一个 1Pv4 地址(可
以是网络地址,也可以是主机地址〉后面先加上一个斜杠( /) ,然后在这个斜杠后面直接写 出该地
址所在网络的“网络 ID 的”长度,即 IPv4 地址/前缀。
如 192.168.1.10/24 代表的是一个标准的 C 类网络 IPv4 地址,最后的“ 24 ”表示该 IP 地址所在网络的网络 ID 长度是 24 位,也就对应它的子网掩码为 255.255.255.0 ,而10.1.0.10/8 则代表了一个标准的 A 类网络 IPv4 地址,最后的“ 8 ”表示该 IP 地址所在网络的网络 ID 长度是 8 位,也就对应它的子网掩码为 255.0.0.0 。
其实无论是“网络ID ”还是子网掩码长度,最大的意义还是针对本章后面将要介绍的无类网络(不按 A、 B 、C 类进行划分的网络),因为这时它们是可变的,无论第一个字节的值是在哪个取值范围,都可能有各种“网络ID ”、子网掩码长度 。
如有1.1.10.20/26 这样的地址,也可以有192.168.1.10/8 这样的地址 ,前者是通过子网划分得到,而后者可以通过子网聚合得到 。有关子网划分和子网聚合的方法将在本章后面介绍。
公网/私网 IPv4 地址
为了提高 IPv4 地址的重复利用率,在设计 IPv4 地址时就专门在前面介绍的 A、B 、C 这 3 类,
IPv4 地址中各自划分了 一段专门用于各组织局域网内部的地址段,这就是我们前面所说的“私网
IP地址”或者“局域网专用 IP 地址”或者“专用网络地址”。
私网 IPv4 地址在不同公司内部的局域网中是可以重复使用且无需向 IP 地址管理机构申请、注册和购买的
在 A 、B 、C 类地址中各自划分的局域网专用地址段如下:
( 1) 10.0.0.0/8 ( 10.0.0.0 , 255.0.0.0 ) 。
在 A 类 IPv4 地址中,局域网内部可以使用10.0.0.0~ 10.255.255.255 范围内的有效单播 IPv4地址。如果用地址前缀表示方式(将在本章后面介绍),则为 10.0.0.0/8 。在这样一个地址空间中有24 个“主机 ID ”位,相当于最多可以有 224 Cl 6777216 )个 IP 地址 (包括了网络地址和广播地址),满足了几乎所有大型规模局域网的 IP 地址需求。
(2) 172.16.0.0/12 072.16.0.0, 255.240.0.0 ) 。
在 B 类 IPv4 地址中,局域网内部可以使用172.16.0 .0~ 172.31.255.255 范围内的有效 IPv4 单播地址 。 如果用地址前缀表示方式,则为 172.16.0.0/ 12 。针对具体的网络,仍是 B 类网络中所限制的16 位“主机 ID ”个数,相当于最多可有 216(65536 )个 IP 地址(包括了网络地址和广播地址〉,满足了几乎所有中等规模局域网的 IP地址需求 。
(3) 192.168.0.0/16 ( 192.168.0.0, 255 . 255.0.0 ) 。
对于最为多数的小型局域网,可以使用 C 类 IPv4 地址中192.168.0.0~ 192.168.255.255 范围内的有效 IPv4 单播地址 。 如果用地址前缀表示,则为 192 .168.0.0/16 。
针对具体的网络,仍是 C 类网络中所限制的 8 位“主机 ID "个数,相当于最多可有 2^8( 256 )个 IP 地址(包括网络地址和广播地址),满足了大多数小型规模局域网的 IP 地址需求 。
VLSM
VLSM (Variable Length Subnet Masking,可变长子网掩码)
把传统标准的 1Pv4 有类网络演变成一个更为高效更为实用的无类网络(不再按 A、B 、C 这样分类了)
有类网络 & 无类网络
“有类网络”就是按照 9.1.3 节那样的划分方式把整个单播 1Pv4 地址空间划分成 A 、B 、C 三类,也称“标准网络”或者“自然网段”“主网络”等 。
每一类均有一些最高比特位的值是固定了的,同一类网络中的“网络ID ”长度也是固定的,即同类网络的子网掩码是固定且一样的,根本不用计算 。 这样一来,凡是第一个字节的值在l ~ 126 之间的网络都是 A 类网络,子网掩码都是255.0.0.0 :凡是第一个字节的值在 128~ 191 之间的网络都是 B 类网络,子网掩码都是 255.255.0.0;凡是第一个字节的值在 192~223 之间的网络都是 C 类网络,子网掩码都是 255 . 255.255.0 。
而所谓“无类网络”则是对“有类网络”进行子网划分,就是把一个大的标准网络划分成多个小的子网,而子网下面又可以根据需要进一步划分 。
其目的就是把一个大的网络划分成多个小的网络,这样就可以提高 1Pv4 地址的利用率,当然这主要是针对 ISP 所使用的公网 1Pv4 地址,因为私网 1Pv4 地址不同公司可以重复使用,绝大多数企业都根本用不完这么多的私有 1Pv4 地址。
总结下:简单来说,就是IPV4地址,由网络ID + 主机ID组成的,假设给一个企业,分配了一个网络ID,那么这个网络ID下,会存在很多个主机ID,从而组成IPV4地址。
但是问题是,这个企业用不了这么多的主机ID,就会形成IPV4地址的浪费。
为了解决这个问题,我们想办法,将网络ID下的主机ID,数量减少,这样,企业就能把所有的IPV4地址,利用上,不会浪费了。
做法也很简单,就是将一个网络ID 划分成 多个子网络,这样每个子网络中的主机ID数量,就比较小了。划分的依据,就是根据VLSM,即长度可变的子网掩码。
注意:划分后,其实IPV4地址,总数上并没有增加,只是说,每个IPV4地址都会被利用上,不会被浪费了,从而提高了IPV4地址的利用率。
划分思想
通过 VLSM 实现子网划分的基本思想很简单,就是把原来的有类网络 IPv4 地址中的“网络 ID ”
部分向“主机 ID ”部分借位,把一部分原来属于“主机 ID ”部分的位变成“网络 ID ”的一部分(通
常称为“子网 ID 勺,如图 9-12 所示 。
这样,原来的“网络 ID ”+“子网 ID ”=新“网络 ID ”,原来的“主机 ID + 子网 ID ” =新“主机 ID ” 。
“子网 ID ”长度决定了可以划分子网的数量,等于2^n,n 为子网 ID 长度 。
如向“主机 ID ”借l 位可划分成 2 个子网,借 2 位则可划分成 4 个子网,借 3 位可划分成 8个子网,依此类推 。
不能划分成其他数量的子网,如不能把一个网络划分成 3 、5 、6 、7 、9 之类个数的子网 。
但因为由同一个有类网络划分出来的每个子网的“子网ID ”长度一样,这就决定了所划分出来的各子网新的“网络 ID ”和“主机 ID ”长度也都一样,所以各子网的子网掩码和所包括的 IPv4 地址数都一样,即各子网的 IPv4 地址是对原来有类网络的 IPv4 数除以所划分的子网数的等分值 。 如一个 C 类网络,向“主机 ID ”借 3 位后就划分了 8 个子网,每个子网的 IPv4 地址数=256+8=32 。 其实也可以这样简单地计算各子网的 IPv4 地址数,那就是 2 的新主机 D 位数次方 。
如前面的示例中,向 C 类网络的“主机 ID ”借 3 位后,新的主机 ID 为 8-3=5 ,这样很快就可算出
各子网的 IPv4 地址数是 2^5=32 。
举一个具体的例子:
假设我们有一个 C 类网络 192.168.0.0124,采用向“主机 ID ”借 2 位的方法来划分 4 个子网 。
下面来分析一下划分前后各个网络的网络地址和广播地址 。
• 没划分子网前的 192 . 168.0.0/24 的网络地址是 192.168.0.0,广播地址是 192.168.0.255 。
•划分子网后的第一个子网192.168.0.0/26 的网络地址是 192.168.0.0 , 广播地址是 192.168.0.63 。
•划分子网后的第 二 个子网192.168.0.64/26 的网络地址是192.168 . 0.64 ,广播地址 是192.168.0.127
•划分子网后的第三个子网192.168 . 0.128/26 的网络地址是192.168.0 . 128 ,广播地址是192.168.0.191
•划分子网后 的第四个子网 192.168.0.192/26 的网络地址是 192.168.0.192, 广播地址是 192.168.0.255
实战计算
子网掩码:255.255.255.192
11111111 11111111 11111111 11000000
网络id:11111111 11111111 11111111 11 长度:26
主机id: 000000 长度:6
将221.181.222.0/24 这个C类网络,借了2位,划分成了4个子网
子网1:IPV4地址范围:221.181.222.0 ~ 221.181.222.63
子网2,IPV4地址范围:221.181.222.64 ~ 221.181.222.127
子网3,IPV4地址范围:221.181.222.128 ~ 221.181.222.191
子网4,IPV4地址范围:221.181.222.192 ~ 221.181.222.255
当前,我们的地址是221.181.222.135,处于子网3中,
这个子网中,主机id个数:2^6 = 64个 除去网络地址、广播地址,还剩62个