IP 地址分类和子网掩码
IPv4 地址—简称 IP 地址,IP 地址由 32 位比特组成
IP地址现在由因特网名字和数字分配机构 ICANN(Internet Corporation for Assigned Names and Numbers)进行分配,IP地址的作用:用于网络寻址,也就是根据IP地址可以找到它所属的网络。
如何使用IP进行网络寻址?
IP地址的编址方法共经过了三个历史阶段:
-
① 分类的IP 地址。这是最基本的编址方法,在 1981 年就通过了相应的标准协议
-
② 子网的划分。这是对最基本的编址方法的改进,其标准 RFC 950 在 1985 年通过
-
③ 构成超网。这是比较新的无分类编址方法。1993 年提出后很快就得到推广应用
分类的 IP 地址
所谓“分类的IP地址”就是将 IP 地址划分为若干个固定类,每一类地址都由两个固定长度的字段组成。
- 网络号(net-id):它标志主机所连接到的网络。一个网络号在整个因特网范围内必须是唯一的
- 主机号(host-id):它标志该主机。一个主机号在它前面的网络号所指明的网络范围内必须是唯一的
由此可见,一个 IP 地址在整个因特网范围内是唯一的。
那么 IP 地址分成了哪些固定类呢?
- A类、B类、C类、D类、E类
为什么要进行分类呢?
- 各种网络的差异很大,有的网络拥有很多主机,而有的网络上的主机则很少。把 IP 地址划分为A类、B类和C类是为了更好地满足不同用户的要求
A类、B类和C类分别可以支持多少个网络,每个网络又可以支持多少台主机呢?
A类地址
-
A类可以支持的网络数:2^(8-1) = 128
-
每个A类网络可以支持的主机数量:2^24 = 16,777,216,即1600万个左右
但有些网络号是不能分配的,有些主机号也是不能分配的。
A类地址不可分配的网络号:
也就是说最小网络号 0 和 最大网络号 127 是不可分配的,网络号可分配范围是 [1-126],因此实际可分配的网络数为:2^(8-1) - 2 = 126
A类地址不可分配的主机号:
也就是说 主机号全 0 的网络地址 和 主机号全 1 的广播地址是不可分配的,因此每个网络中实际可以分配的 IP 地址数量为:2^24 - 2 = 16777214
B类地址
C类地址
给出一个IP地址,如何判断它的类别和是否可以分配?
- 首先,根据地址左起第一个十进制的值,可以判断出网络类型:
- 然后,根据网络类别,就可以得到地址中的网络号和主机号:
① A 类地址网络号为左起第一个字节(前8位,第1个十进制数字),后面三个字节是主机号
② B 类地址网络号为左起前两个字节(前16位,前2个十进制数字),后面两个字节是主机号
③ C 类地址网络号为左起前三个字节(前24位,前3个十进制数字),后面一个字节是主机号
另外,记住以下三种情况的地址不能分配:
- ① A 类网络号 0 和 127
- ② 主机号全 0,这是网络地址
- ③ 主机号全 1,这是广播地址
IP地址分配实例
-
① 找出下图中有哪几个网络?
-
② 根据各网络中主机和路由器接口总数量,来决定给各网络分配哪个类别的IP
-
③ 依据所确定的网络类别,为每个网络挑选一个网络号
路由器接口为什么需要 IP 地址?
- 在不同的网络中,需要路由器转发
- 在网络 N1 中,主机 A 将数据先转发给路由器接口 ①
- 数据在一个网络中传输,需要 MAC 地址
主机 A 又是怎样知道路由器接口 ① 的 MAC 地址的?
- 使用 ARP 协议根据 IP 地址拿到对应的 MAC 地址
ARP 协议只适用于一个网络,ARP 是解决同一个局域网上的主机或路由器的 IP 地址和硬件地址(MAC 地址)的映射问题。上图中主机 A 就无法通过 ARP 请求,解析主机 B 的 MAC 地址,路由器是隔离广播域的。
主机 A 其实没必要知道主机 B 的 MAC 地址,可以通过路由器分组转发实现:
子网掩码
-
子网掩码使用连续的比特 1 来对应网络号和子网号
-
子网掩码使用连续的比特 0 来对应主机号
默认的子网掩码
默认的子网掩码即未划分子网的情况下使用的子网掩码。
使用子网掩码对 IP 地址进行子网划分
使用子网掩码求 IP 所属的网络地址
这样,如果我们知道了两个网络中的两台主机的 IP 地址和其子网掩码就可以判断这两个主机是否在同一个网络中:
无分类 IPv4 地址
它的正式名字是:无分类域间路由选择,CIDR (Classless Inter-Domain Routing,CIDR的读音是“sider”)。
无分类 IP 地址 = 网络前缀+主机号
CIDR 的做法是在 IP 地址的后面加上斜线 “/”,然后写上网络前缀所占的位数,例如:
CIDR 地址块
CIDR 把网络前缀都相同的连续的 IP 地址组成一个“CIDR 地址块”
例如:
地址掩码 (address mask)
为了更方便地得到一个地址的网络前缀,CIDR 使用 32 位的地址掩码(address mask),地址掩码由一串 1 和一串 0 组成,而 1 的个数就是网络前缀的长度。
例如:
虽然 CIDR 不使用子网了,但由于目前仍有一些网络还使用子网划分和子网掩码,因此 CIDR 使用的地址掩码也可继续称为子网掩码。
“CIDR 不使用子网”的意义
“CIDR 不使用子网”是指 CIDR 并没有在 32 位地址中指明若干位作为子网字段,但分配到一个 CIDR 地址块的单位,仍然可以在本单位内根据需要划分出一些子网。
例如,某单位分配到地址块 /20,就可以再继续划分为 8 个子网(即需要从主机号中借用 3 位来划分子网)
这些子网也都只有一个网络前缀和一个主机号字段,但子网的网络前缀比整个单位的网络前缀要长些。
这时每一个子网的网络前缀就变成 23 位(即原来的 20 位加上从主机号借来的 3 位),比该单位的网络前缀多了 3 位。
总结
-
IP 地址由 32 位比特组成,用点分十进制表示法,IP 地址的作用:用于网络寻址
-
IP 地址表示可以分为两部分:网络号 + 主机号,网络号标识主机所在的网络,在整个因特网中唯一,主机号标识该主机,在当前网络号的网络范围中唯一
-
IP地址分类:A类、B类、C类、D类、E类,其中 D 类是多播地址,E 类保留尚未使用,也就是说目前实际使用的只有 A B C 三类
A 类地址:8 位网络号 + 24 位主机号,网络号固定前面一位
0
B 类地址:16 位网络号 + 16 位主机号,网络号固定前面两位10
C类地址:24 位网络号 + 8 位主机号,网络号固定前面三位110
-
A 类地址不能分配的网络号:最小的网络号 0 保留和最大的网络号 127 用作本地环回测试
-
每类地址中主机号全 0 和全 1 的不能分配,主机号全 0 的表示网络地址,主机号全 1 的地址是广播地址,路由器表中的网络地址就是主机号全 0 的地址
-
IP 地址中点分十进制表示法的第一个十进制可以判断网络类型:小于
127
的属于 A 类,128 ~ 191
的属于 B 类,192 ~ 223
的属于 C 类 -
ARP 协议的作用:根据 IP 地址拿到对应的 MAC 地址,ARP 协议只适用于一个局域网络内
-
IP 分组转发:间接交付,源主机没必要知道目标主机的 MAC 地址,由路由器的路由表不断的转发实现
-
子网掩码:使用连续的比特 1(对应网络号和子网号) + 连续的比特 0(对应主机号)表示子网掩码,从每类地址中的主机号范围借用若干位最高位来表示子网号,剩余的表示主机号。 默认的子网掩码:A 类
255.0.0.0
B 类255.255.0.0
C 类255.255.255.0
-
使用子网掩码求 IP 所属网络地址:IP 地址和子网掩码进行
&
与运算的结果,即所属网络地址,可以用于判断两台主机是否在同一个网络中。 -
无分类的 IPv4 地址:网络前缀 + 主机号,IP 地址后面加上斜杠再跟上网络前缀所占位数,如
128.12.35.7/20
表示用前20
位表示网络号,剩余的用作主机号,它的地址掩码使用32位,由一串 1 和一串 0 组成,1
的个数就是网络前缀的长度。仍然可以通过借用主机号的高几位的办法划分子网,只不过子网的网络前缀更长了。
内网 IP和外网 IP - VPN 技术
什么是内网 IP
内网 IP 地址也叫做私有 IP 地址,或者专用 IP (private address),如果其他网络上主机不需要访问你们单位的某主机的话,那么你们单位的主机需要的 IP 就不需要有网络寻址的功能。
不同网络中,私有 IP 可以相同,这样就可以进一步节约宝贵的全球 IP 地址资源:
RFC 1918 指明了一些专用地址(private address),这些地址只能用于一个机构的内部通信,而不能用于和因特网上的主机通信。
这些被指定为用于私有的 IP 地址有:
- ①
10.0.0.0
~10.255.255.255
(或记为10.0.0.0/8
)一整个连续的 A 类网络 - ②
172.16.0.0
~172.31.255.255
(或记为172.16.0.0/12
) 16 个连续的 B 类网络 - ③
192.168.0.0
~192.168.255.255
(或记为192.168.0.0/16
)256 个连续的 C 类网络
采用这样的专用 IP 地址的互连网络称为专用互联网或本地互联网,或更简单些,就叫做专用网。
显然,全世界可能有很多的专用互连网络具有相同的专用 IP 地址,专用 IP 地址也叫做可重用地址(reusable address)。
问题:两个本地互联网中使用专用 IP 地址的两台主机如何通信?
-
第一种方法:租用电信公司的通信线路为本机构专用
-
第二种方法:因特网作为本机构各专用网之间的通信载体
远程接入 VPN(remote access VPN)
专用网主机如何上网?
- 答案是:网络地址转换 NAT (Network Address Translation) 路由器
当 NAT 路由器具有 n 个全球IP地址时,专用网内最多可以同时有 n 个主机接入到因特网。这样就可以使专用网内较多数量的主机,轮流使用 NAT 路由器有限数量的全球 IP 地址。
为了更加有效地利用 NAT 路由器上的全球 IP 地址,现在常用的 NAT 转换表把传输层的端口号也利用上。这样,就可以使多个拥有本地地址的主机,共用一个 NAT 路由器上的全球 IP 地址,因而可以同时和因特网上的不同主机进行通信。
总结
-
私有(内网)IP 地址没有网络寻址的功能,不能访问因特网上的主机通信,只能用于一个机构内部通信
-
不同网络中,私有 IP 可以相同
-
RFC 1918 指定了一些用于私有IP的地址:一整个连续的 A 类网络
10.0.0.0
~10.255.255.255
,16 个连续的 B 类网络172.16.0.0
~172.31.255.255
,256 个连续的 C 类网络192.168.0.0
~192.168.255.255
-
不同内网的主机之间通信:
1)租用电信公司的通信限流为本机构专用,费用高
2)借用因特网作为本机构各专用网之间的通信载体,利用VPN软件建立VPN隧道(虚拟网络) -
内网的主机访问因特网:通过安装了 NAT 软件的 NAT 路由器进行本地 IP 地址和公网的 IP 地址做转换映射
分组网间探测:PING
ICMP 的一个重要应用就是分组网间探测 PING(Packet InterNet Groper), 用来测试两个主机(或者路由器)之间的连通性。
PING 是应用层直接使用网络层 ICMP 的一个例子,它没有经过传输层的 TCP 或 UDP。