IP 数据报的格式如下:
首部(发送在前) | 数据部分 |
---|---|
固定部分(20B)+ 可变部分 | 数据信息 |
IP 数据报首部的格式如下:
IP 首部的字段含义如下:
首部长度字段 | 首部长度 |
---|---|
5 | 20B |
6 | 24B |
7 | 28B |
… | … |
14 | 56B |
15 | 60B |
0/1 | 无意义(MSB) | DF(Don’t Fragment) | MF(More Fragment)(LSB) |
---|---|---|---|
0 | - | 不能分片 | 若干数据片中的最后一个 |
1 | - | 可以分片 | 后面还有数据片 |
协议名 | ICMP | TCP | UDP |
---|---|---|---|
协议字段值 | 1 | 6 | 17 |
【例 1】原始数据报的总长度为 4000B(首部 20B,数据部分 3980B),标识号为 12345,需要转发到一条 MTU = 1500B 的以太网链路上,则 IP 分片为:
数据片报 | 位于原始数据报数据部分的位置 | 数据部分长度 | 总长度 | 标识 | MF | DF | 片偏移 |
---|---|---|---|---|---|---|---|
数据报片 1 | 0B ~ 1479B | 1500B - 20B = 1480B | 1500B | 12345 | 1 | 0 | 0 |
数据报片 2 | 1480B ~ 2959B | 2960B - 1480B = 1480B | 1500B | 12345 | 1 | 0 | 1480 / 8 = 185 |
数据报片 3 | 2960B ~ 3980B | 3980B - 2960B = 1020B | 1040B | 12345 | 0 | 0 | 2960 / 8 = 370 |
【例 2】原始数据报的总长度为 3820B(首部 20B,数据部分 3800B),标识号为 777,需要转发到一条 MTU = 1420B 的链路上,则 IP 分片为:
数据片报 | 位于原始数据报数据部分的位置 | 数据部分长度 | 总长度 | 标识 | MF | DF | 片偏移 |
---|---|---|---|---|---|---|---|
数据报片 1 | 0B ~ 1399B | 1420B - 20B = 1400B | 1420B | 777 | 1 | 0 | 0 |
数据报片 2 | 1400B ~ 2799B | 2800B - 1400B = 1400B | 1420B | 777 | 1 | 0 | 1400 / 8 = 175 |
数据报片 3 | 2800B ~ 3800B | 3800B - 2800B = 1000B | 1020B | 777 | 0 | 0 | 2800 / 8 = 350 |
【例 3】若路由器向 MTU = 800B 的链路转发一个总长度为 1580B 的 IP 数据报(首部长度为 20B)时,进行了分片,且每个分片尽可能大,则第 2 个分片的总长度字段和 MF 标志位的值分别是( )
A. 796, 0
B. 796, 1
C. 800, 0
D. 800, 1
【解】数据部分大小 = 1580B-20B = 1560B,则每个分片的情况:
分片 | 首部 | 数据部分 | MF |
---|---|---|---|
1 | 20B | 780B | 1 |
2 | 20B | 780B | 0 |
但是!数据部分的长度必须能被 8 整除,780 不能被 8 整除,所以要将 780 改成最大能被 8 整除的数即 776!
分片 | 首部 | 数据部分 | MF |
---|---|---|---|
1 | 20B | 776B | 1 |
2 | 20B | 776B | 1 |
3 | 20B | 8B | 0 |
答案选 B。
IP 地址指明了连接到某个网络上的一个主机或路由器。
IP 地址 ::= {<网络号>, <主机号>}
【例】
128.14.35.72
在计算机中表示为10000000.00001110.00100011.00000111
。
0b~7b | 8b~32b |
---|---|
0 网络号 | 主机号 |
0b~15b | 16b~32b |
---|---|
10 网络号 | 主机号 |
0b~23b | 24b~32b |
---|---|
110 网络号 | 主机号 |
0b~32b |
---|
1110 多播地址 |
0b~32b |
---|
1111 保留为今后使用 |
(需记忆)有些 IP 地址用作特殊用途,不用做 IP 地址(-1 表示所有位上都是 1):
网络号 | 主机号 | 作为源地址 | 作为目的地址 | 例子 | 用途 |
---|---|---|---|---|---|
0 | 0 | √ | x | 0.0.0.0 | 本网络上的本主机 |
-1 | -1 | x | √ | 255.255.255.255 | 只在本网络上进行广播 |
net-id | -1 | x | √ | 202.98.174.255 | 对网络号为 net-id 的所有主机进行广播 |
0 | host-id | √ | x | 0.0.0.250 | 在本网络上主机号为 host-id 的主机 |
127 | 非 0 且非 -1 | √ | √ | 127.0.0.1 | 用于本地软件环回测试 |
(需记忆)A 类、B 类、C 类地址的使用范围:
网络类别 | 最大可用网络数 | 每个网络中最大可用主机数 | 可用的网络号 |
---|---|---|---|
A | 27-2(减去 0 和 -1 的情况) | 224-2(减去 0 和 -1 的情况) | 1 ~ 126 |
B | 214 | 216-2(减去 0 和 -1 的情况) | 128.0 ~ 191.255 |
C | 221 | 28-2(减去 0 和 -1 的情况) | 192.0.0 ~ 223.255.255 |
IP 地址 ::= {<网络前缀>, <主机号>}
IP 地址/网络前缀所占位数
【例】
128.14.35.72/20
,前 20 位是网络前缀:1000 0000. 0000 1110. 0010 0011. 0000 0111
该地址块可表示为:
1000 0000. 0000 1110. 0010*
或128.14.32/20
若不需要指明网络地址时,可表示为:
/20地址块
该地址块的最小地址:
1000 0000. 0000 1110. 0010 0000. 0000 0000
,即128.14.32.0
该地址块的最大地址:
1000 0000. 0000 1110. 0010 1111. 1111 1111
,即128.14.47.255
该地址块能分配的最大可用主机数 = 212-2
网络前缀 | 记法 | 用途 | 说明 |
---|---|---|---|
32b | a.b.c.d/32 | 没有主机号,用于主机路由 | 对特定目的主机的 IP 地址专门指明一个路由,方便管理人员控制和测试网络 |
31b | a.b.c.d/31 | 只有两个主机号 0 和 1,用于点对点链路 | |
0b | a.b.c.d/0 | 用于默认路由 | 不管分组的目的地址在哪里,都由指定的路由器 R 来处理 |
网络类别 | 地址掩码 |
---|---|
A 类 | 255.0.0.0 |
B 类 | 255.255.0.0 |
C 类 | 255.255.255.0 |
二进制 | 十进制 |
---|---|
1000 0000 | 128 |
1100 0000 | 192 |
1110 0000 | 224 |
1111 0000 | 240 |
1111 1000 | 248 |
1111 1100 | 252 |
1111 1110 | 254 |
1111 1111 | 255 |
【例】
128.14.35.72/20
,则/20地址块
的子网掩码:1111 1111. 1111 1111. 1111 0000. 0000 0000
与
128.14.35.72
进行按位与运算,得到网络前缀(网络地址):
十进制 IP 地址 | 128 | 14 | 35 | 72 |
---|---|---|---|---|
二进制 IP 地址 | 1000 0000 | 0000 1110 | 0010 0011 | 0000 0111 |
二进制子网掩码 | 1111 1111 | 1111 1111 | 1111 0000 | 0000 0000 |
按位与运算结果 | 1000 0000 | 0000 1110 | 0010 0000 | 0000 0000 |
十进制网络地址 | 128 | 14 | 32 | 0 |
/27
比地址块/30
大。【例】某路由表中有转发接口相同的 4 条路由表项,其目的网络地址分别为 35.230.32.0/21, 35.230.40.0/21, 35.230.48.0/21 和 35.230.56.0/21,将该 4 条路由聚合后的目的网络地址为( )
A. 35.230.0.0/19
B. 35.230.0.0/20
C. 35.230.32.0/19
D. 35.230.32.0/20
【解】先将四个地址化为二进制,再找出公共前缀,即可得知选 C,如下表所示。
地址 | 8b | 8b | 8b | 8b |
---|---|---|---|---|
地址 1 | 35 | 230 | 0010 0000 | 0 |
地址 2 | 35 | 230 | 0010 1000 | 0 |
地址 3 | 35 | 230 | 0011 0000 | 0 |
地址 4 | 35 | 230 | 0011 1000 | 0 |
IP 地址 ::= {<网络号>, <子网号>, <主机号>}
【注】子网掩码和地址掩码其实是同一个概念,只不过指示的内容不同。
【例 1】假设申请到的 C 类网络为218.75.230.0
,使用定长的子网掩码划分子网来满足需求:网络 1 需要 IP 地址数量为 9,网络 2 需要 IP 地址数量为 28,网络 3 需要 IP 地址数量为 15,网络 4 需要 IP 地址数量为 13,网络 5 需要 IP 地址数量为 4。
【解】因为有 5 个子网,因此可以从主机号借来 3 个比特作为子网号使用,则子网掩码为:11111111.11111111.11111111.1110000 --> 255.255.255.224
该 C 类网的格式如下表所示,子网号一共 3 个比特,可划分 8 个子网;主机号一共 5 个比特,说明每个子网可供 32 个主机使用:
网络号 | 子网号 | 主机号 |
---|---|---|
218.75.230. | 000 | 00000 |
218.75.230. | 000 | 00001 |
… | … | … |
218.75.230. | 000 | 11110 |
218.75.230. | 000 | 11111 |
218.75.230. | 001 | 00000 |
… | … | … |
218.75.230. | 111 | 11110 |
218.75.230. | 111 | 11111 |
所以一共划分为 8 个子网,可供上述 5 个子网选择使用:
子网 | 网络地址 | 该子网的可分配地址 | 广播地址 |
---|---|---|---|
1 | 218.75.230.0 | 218.75.230.1 ~ 218.75.230.30 | 218.75.230.31 |
2 | 218.75.230.32 | 218.75.230.33 ~ 218.75.230.62 | 218.75.230.63 |
3 | 218.75.230.64 | 218.75.230.65 ~ 218.75.230.94 | 218.75.230.95 |
4 | 218.75.230.96 | 218.75.230.97 ~ 218.75.230.126 | 218.75.230.127 |
5 | 218.75.230.128 | 218.75.230.129 ~ 218.75.230.158 | 218.75.230.159 |
6 | 218.75.230.160 | 218.75.230.161 ~ 218.75.230.190 | 218.75.230.191 |
7 | 218.75.230.192 | 218.75.230.193 ~ 218.75.230.222 | 218.75.230.223 |
8 | 218.75.230.224 | 218.75.230.225 ~ 218.75.230.254 | 218.75.230.255 |
【例 2】假设地址块为 192.168.252.0/24,使用定长的子网掩码划分子网来满足需求:网络 1 需要 IP 地址数量为 63,网络 2 需要 IP 地址数量为 23,网络 3 需要 IP 地址数量为 13,网络 4 需要 IP 地址数量为 4。
【解】因为有 4 个子网,因此可以从主机号借来 2 个比特作为子网号使用,则子网掩码为:11111111.11111111.11111111.11000000 --> 255.255.255.192
该地址块的格式如下表所示,子网号一共 2 个比特,可划分 4 个子网;主机号一共 6 个比特,说明每个子网可供 64 个主机使用:
网络号 | 子网号 | 主机号 |
---|---|---|
218.75.230. | 00 | 000000 |
218.75.230. | 00 | 000001 |
… | … | … |
218.75.230. | 00 | 111110 |
218.75.230. | 00 | 111111 |
218.75.230. | 01 | 000000 |
… | … | … |
218.75.230. | 11 | 111110 |
218.75.230. | 11 | 111111 |
所以一共划分为 4 个子网,可供上述 4 个子网选择使用:
子网 | 网络地址 | 该子网的可分配地址 | 广播地址 |
---|---|---|---|
1 | 218.75.230.0 | 218.75.230.1 ~ 218.75.230.62 | 218.75.230.63 |
2 | 218.75.230.64 | 218.75.230.65 ~ 218.75.230.126 | 218.75.230.127 |
3 | 218.75.230.128 | 218.75.230.129 ~ 218.75.230.190 | 218.75.230.191 |
4 | 218.75.230.192 | 218.75.230.193 ~ 218.75.230.254 | 218.75.230.255 |
【例 1】假设申请到的地址块为218.75.230.0/24
,使用变长的子网掩码划分子网来满足需求:网络 1 需要 IP 地址数量为 9,网络 2 需要 IP 地址数量为 28,网络 3 需要 IP 地址数量为 15,网络 4 需要 IP 地址数量为 13,网络 5 需要 IP 地址数量为 4。
【解】各网络的情况如下表所示:
网络序号 | 需要 IP 地址数量 | 主机号位数 | 网络前缀位数 | 地址块 | 可使用的地址数量 |
---|---|---|---|---|---|
1 | 9 | 4 (24=16) | 32-4=28 | /28 | 16 |
2 | 28 | 5 (25=32) | 32-5=27 | /27 | 32 |
3 | 15 | 4 (24=16) | 32-4=28 | /28 | 16 |
4 | 13 | 4 (24=16) | 32-4=28 | /28 | 16 |
5 | 4 | 2 (22=4) | 32-2=30 | /30 | 4 |
从地址块 218.75.230.0/24 中取出 5 个地址块(/30,/28,/28,/28,/27):
IP 地址 | 用途 |
---|---|
218.75.230.0 ~ 218.75.230.31 | 供网络 2 使用,拥有 32 个地址,主机号为 0 |
218.75.230.32 ~ 218.75.230.47 | 供网络 1 使用,拥有 16 个地址,主机号为 32 |
218.75.230.48 ~ 218.75.230.63 | 供网络 3 使用,拥有 16 个地址,主机号为 48 |
218.75.230.64 ~ 218.75.230.79 | 供网络 4 使用,拥有 16 个地址,主机号为 64 |
218.75.230.80 ~ 218.75.230.83 | 供网络 5 使用,拥有 4 个地址,主机号为 80 |
218.75.230.84 ~ 218.75.230.255 | 剩余待分配 |
【例 2】假设地址块为 192.168.252.0/24,使用变长的子网掩码划分子网来满足需求:网络 1 需要 IP 地址数量为 63,网络 2 需要 IP 地址数量为 23,网络 3 需要 IP 地址数量为 13,网络 4 需要 IP 地址数量为 4。
【解】各网络的情况如下表所示:
网络序号 | 需要 IP 地址数量 | 主机号位数 | 网络前缀位数 | 地址块 | 可使用的地址数量 |
---|---|---|---|---|---|
1 | 63 | 6 (26=64) | 32-6=26 | /26 | 64 |
2 | 23 | 5 (25=32) | 32-5=27 | /27 | 32 |
3 | 13 | 4 (24=16) | 32-4=28 | /28 | 16 |
4 | 4 | 2 (22=4) | 32-2=30 | /30 | 4 |
从地址块 192.168.252.0/24 中取出 5 个地址块(/30,/28,/27,/26):
IP 地址 | 用途 |
---|---|
192.168.252.0 ~ 192.168.252.63 | 供网络 1 使用,拥有 64 个地址,主机号为 0 |
192.168.252.64 ~ 192.168.252.95 | 供网络 2 使用,拥有 32 个地址,主机号为 64 |
192.168.252.96 ~ 192.168.252.111 | 供网络 3 使用,拥有 16 个地址,主机号为 96 |
192.168.252.112 ~ 192.168.252.115 | 供网络 4 使用,拥有 4 个地址,主机号为 112 |
192.168.252.116 ~ 192.168.252.255 | 剩余待分配 |
【注】若还要继续分配网络,则不能在 192.168.252.116 处开始分配,因为 116 不能被 4、8、16、32、64、… 整除,所以该地址不能分配大小为 4、8、16、32、64、… 的地址块。那么应该从哪里开始分配地址呢?见下表:
分配的地址块大小 | 起始地址 |
---|---|
4 | 192.168.252.120 |
8 | 192.168.252.120 |
16 | 192.168.252.128 |
32 | 192.168.252.128 |
64 | 192.168.252.128 |
128 | 192.168.252.128 |
… | … |
【例 3】若将 101.200.16.0/20 划分为 5 个子网,则可能的最小子网的可分配 IP 地址数是( )
A. 126
B. 254
C. 510
D. 1022
【解】地址块 101.200.16.0/20 主机号位数为 32-20=12,即 101. 200. 0001 0000. 0000 0000,包含地址数量为 212=4096 个。
若要求最小子网,则不能采用均匀分配,要采用不均匀的子网划分,因此采用哈夫曼编码的方式确定子网号。
去掉网络地址和广播地址,可分配 IP 地址数为 254 个,选 B。
(请参考《(考研复习)子网划分小题解析》)
数据报传送过程中 IP 地址(逻辑地址)与 MAC 地址(硬件地址)的变化情况:
【例 1】下图中各主机和路由器各接口的 MAC 地址和所配置的 IP 地址都已标注在它们的旁边,假设主机 H1 要给 H2 发送一个 IP 数据报,该 IP 数据报会被封装成以太网帧进行发送,则当 H2 收到该帧时,其首部中的源 MAC 地址以及所封装的 IP 数据报首部中的源 IP 地址分别是( )
A. 00-a1-b2-c3-d4-61,192.168.1.254
B. 00-a1-b2-c3-d4-61,192.168.0.1
C. 00-a1-b2-c3-d4-51,192.168.0.1
D. 00-a1-b2-c3-d4-51,192.168.1.254
【解】答案为选项 B,见下表:
传输区间 | 网络层 IP 数据报首部的源 IP 地址 | 网络层 IP 数据报首部的目的 IP 地址 | 数据链路层帧首部的源 MAC 地址 | 数据链路层帧首部的目的 MAC 地址 |
---|---|---|---|---|
H1 --> R | 192.168.0.1 | 192.168.1.1 | 00-a1-b2-c3-d4-51 | 00-a1-b2-c3-d4-52 |
R --> H2 | 192.168.0.1 | 192.168.1.1 | 00-a1-b2-c3-d4-61 | 00-a1-b2-c3-d4-62 |
【例 2】路由器 R 通过以太网交换机 S1 和 S2 连接两个网络,R 的接口、主机 H1 和 H2 的 IP 地址与 MAC 地址如下图所示。若 H1 向 H2 发送一个 IP 分组 P,则 H1 发出的封装 P 的以太网帧的目的 MAC 地址、H2 收到的封装 P 的以太网帧的源 MAC 地址分别是( )
A. 00-a1-b2-c3-d4-62,00-1a-2b-3c-4d-52
B. 00-a1-b2-c3-d4-62,00-1a-2b-3c-4d-61
C. 00-1a-2b-3c-4d-51,00-1a-2b-3c-4d-52
D. 00-1a-2b-3c-4d-51,00-a1-b2-c3-d4-61
【解】答案为选项 D,见下表:
传输区间 | 网络层 IP 数据报首部的源 IP 地址 | 网络层 IP 数据报首部的目的 IP 地址 | 数据链路层帧首部的源 MAC 地址 | 数据链路层帧首部的目的 MAC 地址 |
---|---|---|---|---|
H1 --> R | 192.168.3.2 | 192.168.4.2 | 00-a1-b2-c3-d4-52 | 00-a1-b2-c3-d4-51 |
R --> H2 | 192.168.3.2 | 192.168.4.2 | 00-a1-b2-c3-d4-61 | 00-a1-b2-c3-d4-62 |
【注】查表转发的结果可以指明IP数据报的下一跳路由器的 IP 地址,但无法指明该 IP 地址所对应的 MAC 地址。因此,在数据链路层封装该 IP 数据报成为帧时,帧首部中的目的 MAC 地址字段就无法填写,该问题需要使用网际层中的地址解析协议 ARP 来解决。
192.168.0.127
或255.255.255.255
(本网络的广播地址),则路由器不转发广播 IP 数据报(路由器 R 会隔离广播域)。如果因特网中数量巨大的路由器收到广播 IP 数据报后都进行转发,则会造成巨大的广播风暴,严重浪费因特网资源。【注】默认网关和默认路由的区别:
- 默认网关:是一个 IP 地址;是与主机直接相连的路由器端口。
- 默认路由:是路由表中的一项,一般通往互联网的方向。
【例】某网络拓扑如下图所示,其中 R 为路由器,主机 H1~H4 的 IP 地址配置以及 R 的各接口 IP 地址配置如图中所示。现有若干台以太网交换机(无 VLAN 功能)和路由器两类网络互连设备可供选择。
请回答以下问题:
(1)设备 1、设备 2 和设备 3 分别应选择什么类型网络设备?
(2)设备 1、设备 2 和设备 3 中,哪几个设备的接口需要配置 IP 地址?并为对应的接口配置正确的 IP 地址。
(4)若主机 H3 发送一个目的地址为 192.168.1.127 的 IP 数据报,网络中哪几个主机会收到该数据报?
【解】(1)H1 和 H2 的网络前缀相同,因此设备 1 是交换机;同理,H3 和 H4 的网络前缀相同,因此设备 2 也是交换机。由于 H1 和 H3 的网络前缀不相同,因此设备 3 是路由器。
(2)路由器 IF1 = 192.168.1.254/30,IF2 = 192.168.1.1,IF3 = 192.168.1.65。
(4)192.168.1.127 为 H3 所在网络的广播地址,因此主机 H3 和 H4 都能收到该数据报。
【例】如图所示有三个子网,两个路由器,以及路由器 1 的部分路由表。现在源主机 H1 向目的主机 H2 发送分组。试着讨论 R1 收到 H1 向 H2 发送的分组后查找路由表的过程。(来源《使用子网时的分组转发算法》)
【解】源主机 H1 首先判断目的主机 H2 是否在本网络上:
十进制目的主机 IP 地址 | 128 | 30 | 33 | 138 |
---|---|---|---|---|
二进制目的主机 IP 地址 | 128 | 30 | 33 | 1000 1010 |
二进制本网络的子网掩码 | 255 | 255 | 255 | 1000 0000 |
按位与运算结果 | 128 | 30 | 33 | 1000 0000 |
十进制网络地址 | 128 | 30 | 33 | 128 |
因此得出的网络地址与本网络的网络地址不匹配,说明 H2 不在 H1 所在的网络中,必须把分组交给路由器 R1,让 R1 根据转发表来处理这个分组。
用 H2 的 IP 地址(128.30.33.138)与转发表每一行的子网掩码进行按位与运算,看是否匹配目的地址:
目的网络 | 子网掩码 | 下一跳 | 子网掩码与 H2 的 IP 地址的按位与运算 | 是否匹配 |
---|---|---|---|---|
128.30.33.0/25 | 255.255.255.128 | 接口 0 | 128.30.33.128 | x |
128.30.33.128/25 | 255.255.255.128 | 接口 1 | 128.30.33.128 | √(此时不再往下匹配) |
128.30.36.0/24 | 255.255.255.0 | R2 |
于是 R1 把分组从接口 1 交付给 H2。
【例】路由器 R0 的路由表见下表,若进入路由器 R0 的分组的目的地址为 132.19.237.5,该分组应该被转发到( )下一跳路由器。
目的网络 | 下一跳 |
---|---|
132.0.0.0/8 | R1 |
132.0.0.0/11 | R2 |
132.19.232.0/22 | R3 |
0.0.0.0/0 | R4 |
A. R1
B. R2
C. R3
D. R4
【解】见下表:
目的网络 | 子网掩码 | 下一跳 | 子网掩码与目的地址的按位与运算 | 是否匹配 |
---|---|---|---|---|
132.0.0.0/8 | 255.0.0.0 | R1 | 132.0.0.0 | √ |
132.0.0.0/11 | 255.224.0.0 | R2 | 132.0.0.0 | √ |
132.19.232.0/22 | 255.255.252.0 | R3 | 132.19.236.0 | x |
0.0.0.0/0 | 0.0.0.0 | R4 | 0.0.0.0 | √ |
0.0.0.0/0 为默认路由,只有路由表中的所有网络都不能和分组的目的网络匹配时才使用。有三个目的网络均匹配,则选择前缀最长的路由,所以答案为选项 B。
网络类别 | 地址范围 | 网段个数 |
---|---|---|
A | 10.0.0.0 ~ 10.255.255.255 | 1 个 A 类网段 |
B | 172.16.0.0 ~ 172.31.255.255 | 16 个 B 类网段 |
C | 192.168.0.0 ~ 192.168.255.255 | 256 个 C 类网段 |
{本地 IP 地址: 端口}
到{全球IP 地址: 端口}
的映射,将多个私有 IP 地址映射到一个全球 IP 地址【注】将 NAT 和运输层端口号结合使用,称为网络地址与端口号转换(Network Address and Port Translation,NAPT),但一般又称为 NAT。
【例 1】假设主机 A 端口号为 30000,主机 B 端口号为 80,(1)用户主机 A 向目的主机 B 发送分组,(2)用户主机 B 向目的主机 A 发送响应分组,请分析 NAT 路由器的工作流程。
【解】(1)用户主机 A 向目的主机 B 发送分组的过程如下。
IP 首部 | 运输层首部 | 应用层报文 |
---|---|---|
源 IP:192.168.0.3;目的 IP:213.18.2.4 | 源端口:30000;目的端口:80 | xxx |
WAN 端(外网) | LAN 端(内网) |
---|---|
172.38.1.5: 40001 | 192.168.0.3: 30000 |
IP 首部 | 运输层首部 | 应用层报文 |
---|---|---|
源 IP:172.38.1.5;目的 IP:213.18.2.4 | 源端口:40001;目的端口:80 | xxx |
(2)用户主机 B 向目的主机 A 发送响应分组的过程如下。
IP 首部 | 运输层首部 | 应用层报文 |
---|---|---|
源 IP:213.18.2.4;目的 IP:172.38.1.5 | 源端口:80;目的端口:40001 | xxx |
IP 首部 | 运输层首部 | 应用层报文 |
---|---|---|
源 IP:213.18.2.4;目的 IP:192.168.0.3 | 源端口:80;目的端口:30000 | xxx |
【例 2】假定一个 NAT 路由器的公网地址为 205.56.79.35,并且有如下表项:
转换端口 | 源 IP 地址 | 源端口 |
---|---|---|
2056 | 192.168.32.56 | 21 |
2057 | 192.168.32.56 | 20 |
1892 | 192.168.48.26 | 80 |
2256 | 192.168.55.106 | 80 |
它收到一个源 IP 地址为 192.168.32.56,源端口为 80 的分组,其动作是( )。
A. 转换地址,将源 IP 变为 205.56.79.35,端口变为 2056,然后发送到公网
B. 添加一个新的条目,转换 IP 地址以及端口然后发送到公网
C. 不转发,丢弃该分组
D. 直接将分组转发到公网上
【解】NAT 的表项需要管理员添加,这样可以控制一个内网到外网的网络连接。题目中主机发送的分组在 NAT 表项中找不到(端口 80 是从源端口找,而不是转换端口),所以服务器就不转发该分组。选 C。
与 IPv4 相比,IPv6 数据报首部的某些字段作了以下更改:
68E6:8C64:FFFF:FFFF:0:1180:960A:FFFF
68E6:0:0:0:0:0:0:FFFF
–>68E6::FFFF
0:0:0:0:0:0:128.10.2.1
–>::128.10.2.1
0:0:0:0:0:0:0:FFFF
–>::FFFF
0:0:0:0:0:0:0:0
–>::