W moim programie sprawdzam kolejność pakietów

za pomaca Sequence Number (Sequence Number otrzymanego pakietu musi być równe Sequence Number z ostatniego pakietu plus jego wielkość)

Ale jak sequence number zachowa się kiedy serwer wyśle ponownie jakiś pakiet kiedy nie otrzyma potwierdzenia o jego przyjęciu z powodu zagubienia go? (wtedy dostane double packet, co muszę w jakiś sposób odróżnić)

//EDIT
A kiedy sequence number przekroczy wartość

maksymalną czyli 4294967295 to jak się zachowa?
1)Stanie się zerem,
2)do zmiennej doda tyle ile może potem ja wyzeruje(wyzerowanie tez będzie zaliczone jako 1liczba) i doda resztę (czyli tak jak w przypadku zwykłej zmiennej, po przepełnieniu),

które z tych opcji? Na 99% ta druga ale wole zapytać dla pewności