四、 IPv4 地址 ★★
1 . IP 地址 发展 :
第一阶段 : 分类的 IP 地址
第二阶段 : 子网的划分
第三阶段 : 构成超网 , 无分类编址方法
2 . 分类 IP 地址
IP 地址 : 由 4 44 字节构成 , 表示路由器主机的接口 ;
IP 地址组成 : 网络号 + 主机号 ;
IP 地址分类 :
A AA 类 : 网络号占 1 11 字节 , 第一位是 0 00 ;
B BB 类 : 网络号占 2 22 字节 , 前两位是 10 1010 ;
C CC 类 : 网络号占 3 33 字节 , 前三位是 110 110110 ;
D DD 类 : 网络号占 4 44 字节 , 前四位是 1110 11101110 , 该类地址是多播地址 ;
E EE 类 : 前四位是 1111 11111111 , 暂时没有启用 , 保留 ;
A AA 类网络 IP 地址 :
① 最大可用的网络数 : 2 7 − 2 2^7 - 22
7
−2 , 网络号 1 11 字节 , 第一位必须是 0 00 , 可以设置 7 77 位 ; 网络号全 0 00 , 即 0.0.0.0 0.0.0.00.0.0.0 指的是本网络 ; 网络号 127 127127 是环回地址 , 也是不能使用的 ; 因此减去 2 22 个不能使用的网络号 ;
② 网络号取值 : 1 11 ~ 126 126126 ;
③ 最大主机数 : 2 24 − 2 2^{24} - 22
24
−2 , 主机号 3 33 字节 , 有 24 2424 位 ; 主机号全 0 00 表示的是本网络号 , 不能支配给主机 ; 主机号全 1 11 表示广播地址 , 不能分配给指定主机 ; 因此减去 2 22 个不能使用的主机号 ;
B BB 类网络 IP 地址 :
① 最大可用的网络数 : 2 14 − 1 2^{14} - 12
14
−1 , 网络号 2 22 字节 , 前两位必须是 10 1010 , 可以设置 16 − 2 = 14 16-2=1416−2=14 位 ; 网络号全 0 00 , 即 128.0 128.0128.0 指的是本网络 ; 因此减去 1 11 个不能使用的网络号 ;
② 网络号取值 : 128.1 128.1128.1 ~ 191.255 191.255191.255 ;
③ 最大主机数 : 2 16 − 2 2^{16} - 22
16
−2 , 主机号 2 22 字节 , 有 16 1616 位 ; 主机号全 0 00 表示的是本网络号 , 不能支配给主机 ; 主机号全 1 11 表示广播地址 , 不能分配给指定主机 ; 因此减去 2 22 个不能使用的主机号 ;
C CC 类网络 IP 地址 :
① 最大可用的网络数 : 2 21 − 1 2^{21} - 12
21
−1 , 网络号 3 33 字节 , 前两位必须是 110 110110 , 可以设置 24 − 3 = 21 24-3=2124−3=21 位 ; 网络号全 0 00 , 即 192.0.0 192.0.0192.0.0 指的是本网络 ; 因此减去 1 11 个不能使用的网络号 ;
② 网络号取值 : 192.0.1 192.0.1192.0.1 ~ 223.255.255 223.255.255223.255.255 ;
③ 最大主机数 : 2 8 − 2 2^{8} - 22
8
−2 , 主机号 1 11 字节 , 有 8 88 位 ; 主机号全 0 00 表示的是本网络号 , 不能支配给主机 ; 主机号全 1 11 表示广播地址 , 不能分配给指定主机 ; 因此减去 2 22 个不能使用的主机号 ;
参考博客 : 【计算机网络】网络层 : IPv4 地址 ( IP 地址分类 | 特殊 IP 地址 | 私有 IP 地址 | A 类、B 类、C 类 IP 地址网络号主机号数量 )★
3 . NAT 转换
私有 IP 地址 : 只适用于在内部网络中使用 , 在互联网上使用私有 IP 地址 , 路由器并不识别这些 IP 地址 ;
A AA 类 私有 IP 地址 : 10.0.0.0 10.0.0.010.0.0.0 ~ 10.255.255.255.255 10.255.255.255.25510.255.255.255.255 , 有 1 11 个网段 , 即可分配 1 11 个网络号 ;
B BB 类 私有 IP 地址 : 172.16.0.0 172.16.0.0172.16.0.0 ~ 172.31.255.255 172.31.255.255172.31.255.255 , 有 16 1616 个网段 , 即可分配 16 1616 个网络号 ;
C CC 类 私有 IP 地址 : 192.168.0.0 192.168.0.0192.168.0.0 ~ 192.168.255.255 192.168.255.255192.168.255.255 , 有 256 256256 个网段 , 即可分配 256 256256 个网络号 ;
路由器 不转发 私有 IP 地址 的 目的地址 ;
NAT 转换表 : 每个 LAN 局域网 IP 地址 : 端口号 , 与 WAN 广域网 IP 地址 : 端口号 的对应关系 ;
NAT 转换表 对应示例 :
WAN 广域网地址 172.38.1.5 : 44444 172.38.1.5:44444172.38.1.5:44444 , 对应 LAN 局域网地址 192.168.0.3 : 22222 192.168.0.3:22222192.168.0.3:22222 ;
WAN 广域网地址 172.38.1.5 : 44445 172.38.1.5:44445172.38.1.5:44445 , 对应 LAN 局域网地址 192.168.0.2 : 11111 192.168.0.2:11111192.168.0.2:11111 ;
参考博客 : 【计算机网络】网络层 : NAT 网络地址转换 ( 私有 IP 地址不被路由器转发 | NAT 转换表 )
4 . 子网划分
子网划分 :
① 二级 IP 地址 : 网络号 + 主机号 ;
② 三级 IP 地址 : 子网划分中 , 在主机号中 , 拿出一部分地址 , 作为子网号 , 那么子网划分 IP 地址组成是 : 网络号 + 子网号 + 主机号 ; 其中 子网号 + 主机号 , 相当于 二级 IP 地址中的主机号 ;
三级 IP 地址 :
① 子网划分对外透明 : 划分子网后, 对外仍然表现为一个网络 , 外部是不知道内部子网划分的详细信息的 ;
② 主机号位数 : 主机号 至少要留下 两位 , 因为如果留下 一位 , 只能取值 0 00 或 1 11 , 这两位都是不可使用的 , 一个代表网络, 一个代表广播地址 ;
③ 子网号 : 是否能够设置成全 0 00 , 或者 全 1 11 , 看前提情况 ;
④ 主机号 : 不能设置成 全 0 00 , 全 1 11 ;
5 . 子网掩码
两级 IP 地址 : 网络号 + 主机号 ; 如 : 145.13.3.10 145.13.3.10145.13.3.10 ; 其中 145.13 145.13145.13 是网络号 , 3.10 3.103.10 是主机号 ;
子网掩码 : 网络号对应位数全部设置成 1 11 , 主机号对应的位数 , 全部设置成 0 00 ; 上述 两级 IP 地址对应的子网掩码是 11111111 11111111 00000000 00000000 11111111 \quad 11111111 \quad 00000000 \quad 0000000011111111111111110000000000000000 , 写成点分十进制就是 255.255.0.0 255.255.0.0255.255.0.0 ;
三级 IP 地址 : 网络号 + 子网号 + 主机号 ; 如 145.13.3.10 145.13.3.10145.13.3.10 ; 其中 145.13 145.13145.13 是网络号 , 3 33 是子网号 , 10 1010 是主机号 ;
子网掩码 : 网络号 和 子网号 对应位数全部设置成 1 11 , 主机号对应的位数 , 全部设置成 0 00 ; 上述 两级 IP 地址对应的子网掩码是 11111111 11111111 11111111 00000000 11111111 \quad 11111111 \quad 11111111 \quad 0000000011111111111111111111111100000000 , 写成点分十进制就是 255.255.255.0 255.255.255.0255.255.255.0 ;
参考博客 : 【计算机网络】网络层 : 子网划分 ( 三级 IP 地址 | 子网划分 | 子网掩码 | 子网掩码计算示例 | 子网的分组转发 )
6 . 子网掩码 计算示例
1 . 示例 1
IP 地址 141.14.72.24 141.14.72.24141.14.72.24 , 子网掩码是 255.255.192.0 255.255.192.0255.255.192.0 , 求对应的网络地址 ?
① 子网掩码 前两位 是 255 255255 , 141.14 141.14141.14 与 255.255 255.255255.255 与运算结果是 141.14 141.14141.14 ;
② 子网掩码最后一位是 0 00 , 因此 24 2424 与 0 00 相与后 , 结果是 0 00 ;
③ 只需要计算第三位 72 7272 与 192 192192 相与的结果 :
( 0100 1000 ) & ( 1100 0000 ) = 0100 0000 (0100 \quad 1000 ) \quad \& \quad (1100 \quad 0000) = 0100 \quad 0000(01001000)&(11000000)=01000000
转为十进制后为 64 6464 ;
网络地址为 : 141.14.64.0 141.14.64.0141.14.64.0 ;
2 . 示例 2
IP 地址 141.14.72.24 141.14.72.24141.14.72.24 , 子网掩码是 255.255.224.0 255.255.224.0255.255.224.0 , 求对应的网络地址 ?
① 子网掩码 前两位 是 255 255255 , 141.14 141.14141.14 与 255.255 255.255255.255 与运算结果是 141.14 141.14141.14 ;
② 子网掩码最后一位是 0 00 , 因此 24 2424 与 0 00 相与后 , 结果是 0 00 ;
③ 只需要计算第三位 72 7272 与 224 224224 相与的结果 :
( 0100 1000 ) & ( 1110 0000 ) = 0100 0000 (0100 \quad 1000 ) \quad \& \quad (1110 \quad 0000) = 0100 \quad 0000(01001000)&(11100000)=01000000
转为十进制后为 64 6464 ;
网络地址为 : 141.14.64.0 141.14.64.0141.14.64.0 ;
255.255.224.0 255.255.224.0255.255.224.0 子网掩码 与 255.255.192.0 255.255.192.0255.255.192.0 子网掩码对比 :
255.255.192.0 255.255.192.0255.255.192.0 子网掩码中 , 192 192192 对应的二进制数为 1100 0000 1100 \quad 000011000000 , 其中有 6 66 位是主机号 , 加上剩余的最后 1 11 字节 , 主机号共有 14 1414 位 ;
255.255.224.0 255.255.224.0255.255.224.0 子网掩码中 , 224 224224 对应的二进制数为 1110 0000 1110 \quad 000011100000 , 其中有 5 55 位是主机号 , 加上剩余的最后 1 11 字节 , 主机号共有 13 1313 位 ;
3 . 示例 3
主机 IP 地址是 180.80.77.55 180.80.77.55180.80.77.55 , 其子网掩码是 255.255.252.0 255.255.252.0255.255.252.0 , 写出该主机所在的子网的广播地址 ;
广播地址 , 网络号正常 , 主机号都是 1 11 ;
先求出其网络号 , 然后设置全 1 11 的主机号 ;
主机地址 180.80.77.55 180.80.77.55180.80.77.55 与 子网掩码 255.255.252.0 255.255.252.0255.255.252.0 进行与运算 , 就可以得到其子网号 ;
77 & 252 = 0100 1101 & 1111 1100 = 0100 1100 77 \& 252 = 0100 \ 1101 \& 1111 \ 1100 =0100 \ 110077&252=0100 1101&1111 1100=0100 1100
将 0100 1100 0100 \ 11000100 1100 转为十进制是 76 7676 ;
网络号是 : 180.80.76.0 180.80.76.0180.80.76.0
广播地址 : 将主机号都设置为 1 11 , 即可得到 广播地址是 : 180.80.79.255 180.80.79.255180.80.79.255
参考博客 : 【计算机网络】网络层 : 子网划分 ( 三级 IP 地址 | 子网划分 | 子网掩码 | 子网掩码计算示例 | 子网的分组转发 )
7 . CIDR 无分类编址
1 . CIDR 发展
无分类编址 CIDR 发展 : “无分类编址” 又称为 “无分类域间路由选择” ;
① 分类 IP 地址 : 原来的 分类 IP 地址 , A 类 , B 类 , C 类 , IP 地址组成 : 网络号 + 主机号 ;
② 子网划分 IP 地址 : 在 分类 IP 地址基础上 , 划分子网 , IP 地址组成 : 网络号 + 子网号 + 主机号 ;
③ 无分类编址法 : 由 网络前缀 + 主机号 组成 ;
2 . CIDR 地址记法
无分类域间路由选择 CIDR 记法 : IP 地址后面加上 “/” , 表示网络前缀的长度 ;
如 : 128.14.35.7 / 20 128.14.35.7/20128.14.35.7/20 , 表示该 IP 地址 , 前 20 2020 位 是网络前缀 ;
CIDR 地址块 : CIDR 将 网络前缀 相同的 , 连续的 , IP 地址 , 组成一个 “CIDR 地址块” ;
CIDR 地址块相关计算 : 上述示例中 , 128.14.35.7 / 20 128.14.35.7/20128.14.35.7/20 地址 , 是某个 CIDR 地址块中的地址 , 根据该地址可以得到该 CIDR 地址块 , 以及计算出该地址块的 最大地址 和 最小地址 ;
① 先将 128.14.35.7 / 20 128.14.35.7/20128.14.35.7/20 地址转为 二进制 形式 ;
10000000 00001110 00100011 00000111 10000000 \quad 00001110 \quad 00100011 \quad 0000011110000000000011100010001100000111
前 20 2020 位是 网络前缀 , 为 :
10000000 00001110 0010 10000000 \quad 00001110 \quad 001010000000000011100010
② 地址块地址 : 二进制形式如下 :
10000000 00001110 0010 10000000 \quad 00001110 \quad 001010000000000011100010 0000 00000000 0000 \quad 00000000000000000000
转为十进制为 :
128.14.32.0 / 20 128.14.32.0/20128.14.32.0/20
③ 最小地址 : 最小地址就是 主机号 全 0 00 ; 也就是地址块地址 ;
10000000 00001110 0010 10000000 \quad 00001110 \quad 001010000000000011100010 0000 00000000 0000 \quad 00000000000000000000
④ 最大地址 : 最大地址就是 主机号 全 1 11 ;
10000000 00001110 0010 10000000 \quad 00001110 \quad 001010000000000011100010 1111 11111111 1111 \quad 11111111111111111111
⑤ 子网掩码 : 又称为 “地址掩码” , 网络前缀对应的前 20 2020 位 为 1 11 , 主机号对应的位数为 0 00 ;
11111111 11111111 1111 11111111 \quad 11111111 \quad 111111111111111111111111 0000 00000000 0000 \quad 00000000000000000000
转为十进制为 : 255.255.240.0 255.255.240.0255.255.240.0
3 . 构成超网 : 将 多个 CIDR 编址的 子网 聚合成一个较大的子网 , 又称为 “路由聚合” ;
方法 : 缩短网络前缀 ;
构成超网示例 :
子网块 1 11 : 206.1.0.0 / 17 206.1.0.0/17206.1.0.0/17 ;
子网块 2 22 : 206.1.128.0 / 17 206.1.128.0/17206.1.128.0/17 ;
上述网络前缀都是 17 1717 位 , 将网络前缀缩短 1 11 位 , 即可构成一个新的超网 , 网络前缀为 16 1616 位 ;
新的超网为 : 206.1.0.0 / 16 206.1.0.0/16206.1.0.0/16
4 . 最长前缀匹配 : 使用 CIDR 编址时 , 路由查找时 , 将可能得到的几个匹配结果 , 选择 符合 网络前缀 的 , 具有最长网络前缀 的路由 ;
原理 : 因为 前缀越长 , 主机号选择性就越小 , 越容易找到对应的主机 ;
计算示例 :
路由表如下 :
目的网络 1 11 : 132.0.0.0 / 8 132.0.0.0/8132.0.0.0/8 , 下一跳路由 R 1 R1R1 ;
目的网络 2 22 : 132.0.0.0 / 11 132.0.0.0/11132.0.0.0/11 , 下一跳路由 R 2 R2R2 ;
目的网络 3 33 : 132.19.232.0 / 22 132.19.232.0/22132.19.232.0/22 , 下一跳路由 R 3 R3R3 ;
目的网络 4 44 : 0.0.0.0 / 0 0.0.0.0/00.0.0.0/0 , 下一跳路由 R 4 R4R4 ;
分析 :
其中 目的网络 4 44 是 默认路由 , 如果上述 3 33 个都不符合 , 就选择默认路由 ;
目的网络 1 11 的 网络前缀 符合要求 , 网络前缀长度为 8 88 , 该路由选择 比 默认路由 要好 ;
目的网络 2 22 的 网络前缀 符合要求 , 网络前缀长度为 11 1111 , 该路由选择 比 目标网络 2 22 要好 ;
目的网络 3 33 的网络前缀是 132.19.236.0 132.19.236.0132.19.236.0 , 该网络前缀不符合要求 , 必须不能选择 ;
因此这里选择 目的网络 3 33 , 作为 下一跳路由 ;
5 . 计算示例
某网络 IP 地址为 192.168.5.0 / 24 192.168.5.0/24192.168.5.0/24 , 采用 定长子网划分 , 子网掩码为 255.255.255.248 255.255.255.248255.255.255.248 , 求网络中的最大子网个数 , 每个子网的最大可分配地址个数 ?
网络地址是 192.168.5.0 / 24 192.168.5.0/24192.168.5.0/24 , 前 24 2424 位 是网络前缀 ;
在 CIDR 基础之上 , 进行定长子网划分 , 后面 8 88 位 , 一部分作为 子网号 , 一部分作为主机号 ;
子网掩码为 255.255.255.248 255.255.255.248255.255.255.248 , 转为二进制是 :
11111111 11111111 1111 11111111 \quad 11111111 \quad 111111111111111111111111 0000 00000000 11111000 \quad 1111100011111000
由上面的子网掩码可得 , 子网号 占 5 55 位 , 主机号 占 3 33 位 ;
最大子网个数是 2 5 = 32 2^5 = 322
5
=32 个 , 在 CIDR 子网中 , 子网号可以全 0 00 , 全 1 11 ;
每个子网的最大主机个数是 : 2 3 − 2 = 6 2^3-2 = 62
3
−2=6 , 要减去 全 0 00 和 全 1 11 两种情况 ;
参考博客 : 【计算机网络】网络层 : 无分类编址 CIDR ( 编址发展 | CIDR 优点 | CIDR 相关计算 | 构成超网 | 最长前缀匹配 | 计算示例 )★