Número de secuencia inicial (ISN) de una corriente TCP no es cero, pero el uso de cierto algoritmo aleatorio ISN generado por lo tanto ser grande (por ejemplo, (32-10 ^ 2)), y por lo tanto el TCP SEC mismo flujo números pueden envolver alrededor de 0. Nos TCP y problemas de pérdida de paquetes encriptados dependemos de la comparación del tamaño de número de secuencia determinada. En este punto se han denominado TCP número de serie de rebobinado (envolvente de secuencia) problema.
Core Solution
número de serie dado en el núcleo (número de serie de rebobinado a resolver el problema) el juicio solución es muy sencilla:
/*
* The next routines deal with comparing 32 bit unsigned ints
* and worry about wraparound (automatic with unsigned arithmetic).
*/
static inline int before(__u32 seq1, __u32 seq2)
{
return (__s32)(seq1-seq2) < 0;
}
#define after(seq2, seq1) before(seq1, seq2)