Skip to main content

4.4.1.3. 关于与下一层协议相关的字段的更多信息 (More Regarding Fields Associated with Next Layer Protocols)

附加选择器通常与下一层协议头中的字段相关联。特定的下一层协议可以有零个、一个或两个选择器。可能存在这样的情况:对于依赖于下一层协议的字段,并没有同时存在本地和远程选择器。IPv6 移动性头只有一个移动性头消息类型。AH 和 ESP 没有进一步的选择器字段。系统可能愿意发送它不想接收的 ICMP 消息类型和代码。

注意:在下面的描述中,"端口"用于表示依赖于下一层协议的字段。

A. 没有端口选择器的协议

如果下一层协议没有"端口"选择器,则在相关 SPD 条目中将本地和远程"端口"选择器设置为 OPAQUE,例如:

示例 - AH 协议

本地 (Local's)
next layer protocol = AH
"port" selector = OPAQUE

远程 (Remote's)
next layer protocol = AH
"port" selector = OPAQUE

B. 具有一个选择器的协议

即使下一层协议只有一个选择器,例如移动性头类型,本地和远程"端口"选择器也用于指示系统是否愿意使用指定的"端口"值发送和/或接收流量。

示例 1:发送和接收

如果允许通过 SA 发送和接收指定类型的移动性头,则相关 SPD 条目将设置如下:

本地 (Local's)
next layer protocol = Mobility Header
"port" selector = Mobility Header message type

远程 (Remote's)
next layer protocol = Mobility Header
"port" selector = Mobility Header message type

示例 2:仅发送

如果允许通过 SA 发送但不允许接收指定类型的移动性头,则相关 SPD 条目将设置如下:

本地 (Local's)
next layer protocol = Mobility Header
"port" selector = Mobility Header message type

远程 (Remote's)
next layer protocol = Mobility Header
"port" selector = OPAQUE

示例 3:仅接收

如果允许通过 SA 接收但不允许发送指定类型的移动性头,则相关 SPD 条目将设置如下:

本地 (Local's)
next layer protocol = Mobility Header
"port" selector = OPAQUE

远程 (Remote's)
next layer protocol = Mobility Header
"port" selector = Mobility Header message type

C. 具有两个选择器的协议 - 仅发送

如果系统愿意发送具有特定"端口"值的流量,但不接收具有该类端口值的流量,则在相关 SPD 条目中设置系统的流量选择器如下:

本地 (Local's)
next layer protocol = ICMP
"port" selector = <specific ICMP type & code>

远程 (Remote's)
next layer protocol = ICMP
"port" selector = OPAQUE

D. 具有两个选择器的协议 - 仅接收

要指示系统愿意接收具有特定"端口"值的流量,但不发送该类流量,则在相关 SPD 条目中设置系统的流量选择器如下:

本地 (Local's)
next layer protocol = ICMP
"port" selector = OPAQUE

远程 (Remote's)
next layer protocol = ICMP
"port" selector = <specific ICMP type & code>

实际示例:ICMP Traceroute

例如,如果安全网关愿意允许其后面的系统发送 ICMP traceroute,但不愿意让外部系统对其后面的系统运行 ICMP traceroute,则在相关 SPD 条目中设置安全网关的流量选择器如下:

本地 (Local's)
next layer protocol = 1 (ICMPv4)
"port" selector = 30 (traceroute)

远程 (Remote's)
next layer protocol = 1 (ICMPv4)
"port" selector = OPAQUE