Так, це все обертається. Ви можете прочитати його у Вікіпедії або на RFC1323 , де показано, як захистити від загорнутих послідовних номерів.
Дозвольте мені цитувати:
Часові позначки TCP використовуються в алгоритмі, відомому як Захист від загортання послідовних чисел або PAWS (детальніше див. RFC 1323). PAWS використовується, коли вікно отримання перетинає межу послідовного номера, що обертається. У випадку, коли пакет потенційно був повторно переданий, він відповідає на запитання: "Чи є цей порядковий номер у перших 4 ГБ чи другому?" А мітка часу використовується для розриву краватки.
І:
PAWS використовує той самий параметр TCP Timestamps, як описаний раніше механізм RTTM, і передбачає, що кожен отриманий сегмент TCP (включаючи сегменти даних та ACK) містить часову марку SEG.TSval, значення якої одночасно не зменшуються. Основна ідея полягає в тому, що сегмент може бути відкинутий як старий дублікат, якщо він отриманий із позначкою часу SEG.TSval менше ніж деяка часова марка, отримана за цей з’єднання.
І в PAWS, і в механізмі RTTM "часові позначки" - це 32-бітні непідписані цілі числа в модульному 32-бітовому просторі. Таким чином, "менше" визначається так само, як і для послідовних номерів TCP, і застосовуються ті самі методи реалізації. Якщо s і t - значення часових позначок, s <t, якщо 0 <(t - s) <2 ** 31, обчислюється в непідписаній 32-бітовій арифметиці.