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