TCP over TCP

Encapsulé au sein du champ DATA d'un segment TCP rien de moins qu'un autre segment TCP peut être lourd de conséquence car il s'agit ici d'un mode de connexion connecté synchrone. Sans entrer trop dans le détail et les notions de `` piggybacking '' et d'acquittement de trame, il faut savoir qu'après la phase d'initiation de connexion TCP appelée TCP three way handshake qui a pour but la synchronisation de part et d'autre du réseau les segments TCP sont séquencés par un numéro de séquence initialement choisi aléatoirement ISN (*). Ce numéro incrémenté de la taille des données transmises (explicit_data_segment_length) va donner le numéro d'acquittement de ce segment.

(*) La commande Hping2 permet de visualiser les Numéros de séquence TCP.

Source : man hping2
#hping2 win98 --seqnum -p 139 -S -i u1 -I eth0 
HPING uaz (eth0 192.168.4.41): S set, 40 headers + 0 data bytes
2361294848 +2361294848
2411626496 +50331648
2545844224 +134217728
2713616384 +167772160
2881388544 +167772160
3049160704 +167772160
3216932864 +167772160
3384705024 +167772160
3552477184 +167772160
3720249344 +167772160
3888021504 +167772160
4055793664 +167772160
4223565824 +167772160

Dans le cas d'un problème d'ordonnancement de segment, l'émetteur réémet le segment dit 'perdu'. Mais pour laisser une chance à son pair il est possible de spécifier un taille de fenêtre de transmission (deuxième demi mot de 16 bits du 4ème octet de l'entête fixe du segment TCP). Dans le cas précédent, la fenêtre sera décrémentée de la taille de la donnée transmise.

Ce mécanisme est en plus appuyé sur le biggybacking c'est-à-dire que un pair acquitte le segment précédemment reçu en même temps qu'il en envoie un nouveau.

\includegraphics[width=140mm]{images/window.eps}

Il est simple d'imaginer que ce 'time-out' s'il est différent dans le segment TCP père et dans son fils encapsulé peut générer jusqu'à la terminaison de la connexion.

Citons comme solution à ce problème, l'exemple de CIPE (Olaf Titz), qui lui fonctionne en UDP c'est-à-dire en mode non connecté ce qui ôte les soucis de synchronisation en général.

Cependant la solution de PPPD comme il est dit dans la revue MISC n^10 ne nécessite pas d'installation de logiciels supplémentaires et même si SSH peut souffrir de certaines faiblesses, il reste un standard pour sécuriser la connexion entre un client et un serveur.

root 2004-05-04