跳到主要内容

4.4.1.3. 关于与下一层协议相关字段的更多说明

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

注意:在以下描述中,“端口(port)”用于表示依赖下一层协议的字段。

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

如果某个下一层协议没有“端口”选择器,则相关 SPD 条目中的本地和远端“端口”选择器应设置为 OPAQUE,例如:

示例 - AH 协议

本地侧
next layer protocol = AH
"port" 选择器 = OPAQUE

远端侧
next layer protocol = AH
"port" 选择器 = OPAQUE

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

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

示例 1:发送和接收

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

本地侧
next layer protocol = Mobility Header(移动头)
"port" 选择器 = Mobility Header message type(移动头消息类型)

远端侧
next layer protocol = Mobility Header(移动头)
"port" 选择器 = Mobility Header message type(移动头消息类型)

示例 2:仅发送

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

本地侧
next layer protocol = Mobility Header(移动头)
"port" 选择器 = Mobility Header message type(移动头消息类型)

远端侧
next layer protocol = Mobility Header(移动头)
"port" 选择器 = OPAQUE

示例 3:仅接收

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

本地侧
next layer protocol = Mobility Header(移动头)
"port" 选择器 = OPAQUE

远端侧
next layer protocol = Mobility Header(移动头)
"port" 选择器 = Mobility Header message type(移动头消息类型)

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

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

本地侧
next layer protocol = ICMP
"port" 选择器 = <特定的 ICMP 类型和代码>

远端侧
next layer protocol = ICMP
"port" 选择器 = OPAQUE

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

为表示系统愿意接收具有特定“端口”取值的流量,但不发送此类流量,在该系统相关的 SPD 条目中其流量选择器应如下设置:

本地侧
next layer protocol = ICMP
"port" 选择器 = OPAQUE

远端侧
next layer protocol = ICMP
"port" 选择器 = <特定的 ICMP 类型和代码>

实际示例:ICMP Traceroute

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

本地侧
next layer protocol = 1 (ICMPv4)
"port" 选择器 = 30 (traceroute)

远端侧
next layer protocol = 1 (ICMPv4)
"port" 选择器 = OPAQUE