3.13. Traffic Selector Payload (トラフィックセレクタペイロード)
3.13. Traffic Selector Payload (トラフィックセレクタペイロード)
Traffic Selector payload は本書で TS と表し, ピアが IPsec セキュリティサービスで処理するパケットフローを識別できるようにする. Traffic Selector payload は IKE 汎用ペイロードヘッダの後に個々の Traffic Selector が続く:
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Next Payload |C| RESERVED | Payload Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Number of TSs | RESERVED |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ <Traffic Selectors> ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
図 19: Traffic Selector ペイロード形式
-
Number of TSs (1 オクテット) - 提供する Traffic Selector の個数.
-
RESERVED - 本フィールドは 0 を送らなければならず, 受信時には無視しなければならない.
-
Traffic Selectors (可変長) - 1 つ以上の個々の Traffic Selector.
Traffic Selector payload の長さには TS ヘッダとすべての Traffic Selector が含まれる.
発起者側 SA のアドレスに関する Traffic Selector payload のペイロード種別は 44, 応答者側は 45 である.
TSi と TSr が同数の個々の Traffic Selector を含む必要はない. したがって, パケットは TSi 内の少なくとも 1 つのセレクタと一致し, かつ TSr 内の少なくとも 1 つのセレクタと一致すれば, 所与の TSi/TSr に一致する.
例えば次の Traffic Selector は,
TSi = ((17, 100, 198.51.100.66-198.51.100.66),
(17, 200, 198.51.100.66-198.51.100.66))
TSr = ((17, 300, 0.0.0.0-255.255.255.255),
(17, 400, 0.0.0.0-255.255.255.255))
198.51.100.66 から任意の宛先への UDP パケットのうち, ソース/宛先ポートの組 (100,300), (100,400), (200,300), (200, 400) のいずれかに一致するものにマッチする.
したがって, 一部のポリシー種別では複数の子 SA ペアが必要になる. 例えば (100,300) と (200,400) のみにマッチし他の 2 組合わせにはマッチしないポリシーは, 単一の子 SA ペアとしては協商できない.
3.13.1. Traffic Selector (トラフィックセレクタ)
1 2 3
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| TS Type |IP Protocol ID*| Selector Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Start Port* | End Port* |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Starting Address* ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
~ Ending Address* ~
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
図 20: Traffic Selector
*注: TS Type と Selector Length 以外のすべてのフィールドは TS Type に依存する. 示したフィールドは TS Type 7 と 8 用であり, 現在定義されているのはこの 2 値のみである.
-
TS Type (1 オクテット) - Traffic Selector の種類を指定する.
-
IP protocol ID (1 オクテット) - 関連する IP プロトコル ID (UDP, TCP, ICMP など) を指定する値. 0 は本 Traffic Selector にプロトコル ID が関連しない -- SA はすべてのプロトコルを運べる -- を意味する.
-
Selector Length (2 オクテット, 符号なし整数) - ヘッダを含む本 Traffic Selector サブ構造の長さ.
-
Start Port (2 オクテット, 符号なし整数) - 本 Traffic Selector が許す最小ポート番号. ポートが未定義のプロトコル (プロトコル 0 を含む), またはすべてのポートが許される場合, 本フィールドは 0 でなければならない. ICMP と ICMPv6 の Type と Code, および Mobile IP version 6 (MIPv6) モビリティヘッダ (MH) の Type 値は,
[IPSECARCH]の第 4.4.1.1 節で指定されるとおり本フィールドに表現する. ICMP Type と Code は 16 ビット整数ポート 1 つとして扱い, Type が最上位 8 ビット, Code が最下位 8 ビットである. MIPv6 MH Type は 16 ビット整数ポート 1 つとして扱い, Type が最上位 8 ビット, 最下位 8 ビットは 0 である. -
End Port (2 オクテット, 符号なし整数) - 本 Traffic Selector が許す最大ポート番号. ポート未定義のプロトコル (プロトコル 0 を含む), またはすべてのポートが許される場合, 本フィールドは 65535 でなければならない. ICMP と ICMPv6 の Type と Code, および MIPv6 MH Type は
[IPSECARCH]第 4.4.1.1 節に従って表現する. ICMP Type と Code は 16 ビットポート 1 つ (Type が上位 8 ビット, Code が下位 8 ビット). MIPv6 MH Type も同様に Type が上位 8 ビット, 下位 8 ビットは 0. -
Starting Address - 本 Traffic Selector に含まれる最小アドレス (長さは TS Type による).
-
Ending Address - 本 Traffic Selector に含まれる最大アドレス (長さは TS Type による).
[IPSECARCH] に従うシステムで "ANY" ポートを示すには開始ポート 0, 終了ポート 65535 としなければならない; [IPSECARCH] によれば "ANY" には "OPAQUE" が含まれる. [IPSECARCH] で "OPAQUE" ポートのみを示し "ANY" は含めない場合は, 開始 65535, 終了 0 としなければならない.
TS Type 7 と 8 は ICMP または ICMPv6 の type と code フィールド, および IPv6 モビリティヘッダ [MIPV6] の MH Type フィールドも参照し得る. ただし ICMP と MIPv6 パケットには独立したソースと宛先フィールドはない. ICMP と MIPv6 の Traffic Selector の指定方法は [IPSECARCH] 第 4.4.1.3 節の例に示す.
下表は Traffic Selector Type フィールドの値と対応するアドレスセレクタデータを列挙する. 値は RFC 4306 公開日時点までが最新である. その後追加された値がある可能性がある. 読者は [IKEV2IANA] を参照すべきである.
| TS Type | 値 |
|---|---|
| TS_IPV4_ADDR_RANGE | 7 |
| 2 つの 4 オクテット値で表される IPv4 アドレス範囲. 第 1 が開始 IPv4 アドレス (含む), 第 2 が終了 IPv4 アドレス (含む). 2 指定アドレスの間のすべてのアドレスがリスト内とみなされる. | |
| TS_IPV6_ADDR_RANGE | 8 |
| 2 つの 16 オクテット値で表される IPv6 アドレス範囲. 第 1 が開始 IPv6 アドレス (含む), 第 2 が終了 IPv6 アドレス (含む). 2 指定アドレスの間のすべてのアドレスがリスト内とみなされる. |