Ma première réaction a été de relire plusieurs fois le sujet, de regarder sur wikipédia de lire la rfc pour bien être sur de ne pas rapporter n'importe quoi. Mais une fois ma conviction confirmée, je reste encore réservé,

Ma seconde réaction a été de me dire que je devais vraiment être très bon pour me permettre de remettre en cause un ouvrage de référence écrit par une sommité. Et si j'avais juste mal compris, la description contenant à la fois des assertions vraies et fausses, y aurait-t'il matière à interprétation ?

Ma troisième réaction a été : mais que faire dans ce cas ? J'en ai parlé à mes proches et par irc ainsi qu'à mes collègues mais il me semble que le même doute subsistait : comment peut-t'il y a avoir une erreur dans un ouvrage de référence. Aller sur un blog de pros du protocole Ipv4 et demander confirmation ? Tout d'abord : quel blog ? Que j'ai tort ou raison, il me semble que c'est avec l'auteur de l'ouvrage qu'il faut en discuter.

Mais voilà : comment le joindre ? Autant sur la version précédente de l'ouvrage au dos un entrefilet indiquait qu'on pouvait discuter avec M.Pujolle sur le site de son éditeur les éditions Eyrolles, autant cette mention a disparue sur la version 2011. En ligne on peut trouver toutes les annexes qui correspondent grosso-modo à un livre de taille identique à la version papier. Mais on ne trouve pas ni de correctif, ni de moyen de contacter l'auteur. Qu'à cela ne tienne M.Pujolle est à lip6 à Paris, écrivons lui sur sa boite à lettre. Aucune réponse, je pense que ma lettre a terminé à la poubelle, la première version que je lui ai envoyée contenait pas mal de typos, je l'avais saisie trop vite.

Bon, quoi faire ? Et bien voici mon courrier indiquez moi si vous pensez que j'ai effectivement trouvé une erreur. La page 178 détaille le contenu d'un fragment TCPv4 et le point particulier est la description du champ WNDW.

"Bonjour,

J'ai acquis un nouvelle édition de votre livre récemment (la précédente datait de mes études en 1992) et en le parcourant j'ai trouvé une description qui me semble erronée ou que j'ai pas comprise, pouvez me le confirmer :

WNDW: (Window), ou fenêtre. Champ sur 16 bits indiquant le nombre d'octets que le récepteur accepte de recevoir. jusqu'ici je suis d'accord Plus exactement, la valeur de WNDW contient l'ultime numéro d'octet que l'émetteur du fragment accepte de recevoir. En retranchant le numéro indiqué de la valeur du champ ACK, on obtient le nombre d'octet que le récepteur accepte de recevoir.

Ces deux dernières phrases m'apparaissent juste fausses si elles servent à décrire le contenu du champ window. Selon moi, c'est un champ qui donne une taille en octet voire en multiple de la windows_scale si elle est négociéé ( rfc 1323) et en aucun cas un numéro de séquence ( sur 16 bits la limite à 64K serait rédhibitoire ). Pour obtenir le numéro de séquence ultime que l'émeteur peut envoyer il faut ajouter au numéro de séquence (celui acquitté par le ACK) la valeur de la windows calculée après multiplication par la window scale si nécessaire."