メインコンテンツまでスキップ

3.2.1. ACK-on-Error Mode (ACK-on-Error モード) (RFC 8724 のセクション 8.4.3 を置き換え)

3.2.1. ACK-on-Error Mode (ACK-on-Error モード)

ACK-on-Error モードは, 可変 MTU と順序不同配信を持つ L2 技術をサポートします。これは, 再構成器からフラグメンタへのフィードバックパスを提供する L2 を必要とします。準双方向リンクで ACK-on-Error モードを使用することについての議論については, 付録 F を参照してください。

ACK-on-Error モードでは, windows (ウィンドウ) が使用されます。

最後の tile (タイル) と最後から2番目の tile を除くすべての tiles は等しいサイズでなければならず, 以下 "regular" (通常) と呼ばれます。最後の tile のサイズは通常の tile サイズ以下でなければなりません。最後から2番目の tile に関して, Profile (プロファイル) は次の2つのオプションのいずれかを選択しなければなりません:

  • 最後から2番目の tile サイズは通常の tile サイズでなければならない, または

  • 最後から2番目の tile サイズは通常の tile サイズまたは通常の tile サイズから1つの L2 Word (L2 ワード) を引いたものでなければならない。

SCHC Fragment メッセージは, そのペイロード内に1つまたは複数の連続した tiles を運び, これらは複数の windows にまたがる可能性があります。SCHC Compound ACK は, 1つの window の tiles または複数の windows の tiles の受信について報告し, それぞれが window number (ウィンドウ番号) によって識別されます。

例については図 6 (RFC 8724 の図 23 を参照) を参照してください。

       +---------------------------------------------...-----------+
| SCHC Packet |
+---------------------------------------------...-----------+

Tile# | 4 | 3 | 2 | 1 | 0 | 4 | 3 | 2 | 1 | 0 | 4 | | 0 | 4 |3|
Window# |-------- 0 --------|-------- 1 --------|- 2 ... 27 -|- 28-|


SCHC Fragment msg |-----------|

図 6: Tiles にフラグメント化された SCHC Packet, ACK-on-Error モード (RFC 8724 の図 23)

W フィールドは, 絶対的な window number を明確に表すのに十分な幅があります。fragment receiver (フラグメント受信機) は, tiles が欠落している windows について fragment sender (フラグメント送信機) に SCHC Compound ACKs を送信します。fragment receiver は, 完全に受信されたことを知っている windows に対しては SCHC Compound ACK を送信しません。

fragment sender は報告された欠落している tiles の SCHC Fragments を再送信します。以前の windows に属するすべての tiles が正しく受信されたことを確認する前であっても次の windows に進むことができ, また後で以前の windows に属する tiles を持つ SCHC Fragments を再送信することもできます。したがって, sender と receiver は分離された方法で動作することができます。フラグメント化された SCHC Packet の送信は次の場合に終了します:

  • 完全性チェックにより, フラグメント化された SCHC Packet が受信側で正しく再構成されたことが示され, この情報が sender に返送された,

  • 再送信の試行回数が多すぎた, または

  • receiver がこのフラグメント化された SCHC Packet の送信が長時間非アクティブであったと判断した。

各 Profile は, このモードで動作する SCHC F/R メッセージに対応する RuleID 値を指定しなければなりません。

W フィールドは SCHC F/R メッセージに存在しなければなりません。

各 Profile は, 各 RuleID 値に対して, 次を定義しなければなりません:

  • tile サイズ (tile は L2 Word の複製である必要はありませんが, 少なくとも L2 Word のサイズでなければなりません),

  • M の値,

  • N の値,

  • WINDOW_SIZE の値, これは 2^N より厳密に小さくなければなりません,

  • RCS フィールドのサイズとアルゴリズム,

  • T の値,

  • MAX_ACK_REQUESTS の値,

  • Retransmission Timer (再送信タイマー) の有効期限,

  • Inactivity Timer (非活動タイマー) の有効期限,

  • 最後の tile が Regular SCHC Fragment (通常 SCHC フラグメント) または All-1 SCHC Fragment (All-1 SCHC フラグメント) で運ばれるかどうか (セクション 3.2.1.1 参照),

  • 最後から2番目の tile が通常の tile サイズより1つの L2 Word 小さくてもよいかどうか (この場合, 通常の tile サイズは L2 Word サイズの少なくとも2倍でなければなりません),

  • SCHC Compound ACK メッセージを使用するかどうか, および

  • SCHC Compound ACK メッセージの最後の window で Compressed Bitmap (圧縮ビットマップ) 形式を使用するかどうか。

各アクティブな RuleID と DTag 値のペアに対して, sender は次を維持しなければなりません:

  • 1つの Attempts counter (試行カウンタ) と

  • 1つの Retransmission Timer (再送信タイマー)。

各アクティブな RuleID と DTag 値のペアに対して, receiver は次を維持しなければなりません:

  • 1つの Attempts counter (試行カウンタ) と

  • 1つの Inactivity Timer (非活動タイマー)。