A2.2. Определение старших битов (Seqh) порядкового номера
Поскольку в пакетах передается только значение Seql, получатель должен отслеживать подпространство порядковых номеров для каждого пакета (т. е., определять значение Seqh). Приведенные уравнения определяют выбор Seqh в «нормальных» условиях. В параграфе B3 рассматривается определение старших битов номера в условиях экстремальных потерь пакетов.
+ Для случая A (Рисунок 1): Если Seql >= Bl ( где Bl = Tl - W + 1), то Seqh = Th Если Seql < Bl ( где Bl = Tl - W + 1), то Seqh = Th + 1 + Для случая B (Рисунок 2): Если Seql >= Bl ( где Bl = Tl - W + 1), то Seqh = Th - 1 Если Seql < Bl ( где Bl = Tl - W + 1), то Seqh = Th
A2.3. Пример псевдокода
Приведенный ниже псевдокод иллюстрирует описанные выше алгоритмы предотвращения повторного использования и контроля целостности пакетов. Значения Seql, Tl, Th и W являются 32-битовыми целыми числами без знака. Используется арифметика по модулю 2^32.
Если (Tl >= W - 1) Случай A
Если (Seql >= Tl - W + 1)
Seqh = Th
Если (Seql <= Tl)
Если (проверка на предмет повтора прошла)
Если (проверка целостности прошла)
Установить бит, соответствующий Seql
Принять пакет
Иначе отбросить пакет
Иначе отбросить пакет
Иначе
Если (проверка целостности прошла)
Tl = Seql (shift bits)
Установить бит, соответствующий Seql
Принять пакет
Иначе отбросить пакет
Иначе
Seqh = Th + 1
Если (проверка целостности прошла)
Tl = Seql (shift bits)
Th = Th + 1
Установить бит, соответствующий Seql
Принять пакет
Иначе отбросить пакет
Иначе Случай B
Если (Seql >= Tl - W + 1)
Seqh = Th - 1
Если (проверка на предмет повтора прошла)
Если (pass integrity check)
Установить бит, соответствующий Seql
Принять пакет
Иначе отбросить пакет
Иначе отбросить пакет
Иначе
Seqh = Th
Если (Seql <= Tl)
Если (проверка на предмет повтора прошла)
Если (проверка целостности прошла)
Установить бит, соответствующий Seql
Принять пакет
Иначе отбросить пакет
Иначе отбросить пакет
Иначе
Если (проверка целостности прошла)
Tl = Seql (shift bits)
Установить бит, соответствующий Seql
Принять пакет
Иначе отбросить пакет