2.5. Sequence Number (シーケンス番号)
この符号なし32ビットフィールドには, 送信されるパケットごとに1ずつ増加するカウンター値, つまりSAごとのパケットシーケンス番号が含まれています。ユニキャストSAまたは単一送信者マルチキャストSAの場合, 送信者は送信されるすべてのパケットに対してこのフィールドをインクリメントしなければなりません (MUST)。複数の送信者間でSAを共有することは許可されていますが, 一般的には推奨されません。AHは, 複数の送信者間でパケットカウンターを同期したり, 複数の送信者のコンテキストで受信者パケットカウンターとウィンドウを意味のある方法で管理したりする手段を提供しません。したがって, マルチ送信者SAの場合, AHのアンチリプレイ機能は利用できません (セクション3.3.2および3.4.3を参照してください)。
このフィールドは必須であり, 受信者が特定のSAに対してアンチリプレイサービスを有効にすることを選択しない場合でも, 常に存在しなければなりません (MUST)。シーケンス番号フィールドの処理は受信者の裁量に任されていますが, すべてのAH実装は, セクション3.3.2「シーケンス番号生成」およびセクション3.4.3「シーケンス番号検証」で説明されている処理を実行できなければなりません (MUST)。したがって, 送信者は常にこのフィールドを送信しなければなりませんが (MUST), 受信者はそれに対して行動する必要はありません。
送信者のカウンターと受信者のカウンターは, SAが確立されたときに0に初期化されます。(特定のSAを使用して送信される最初のパケットのシーケンス番号は1になります。シーケンス番号の生成方法の詳細については, セクション3.3.2を参照してください。) アンチリプレイが有効になっている場合 (デフォルト), 送信されるシーケンス番号は決してサイクルすることを許可してはなりません。したがって, 送信者のカウンターと受信者のカウンターは, SA上の2^32番目のパケットの送信前に (新しいSAを確立し, したがって新しい鍵を確立することによって) リセットされなければなりません (MUST)。