bonjour,
connaissez-vous le window scaling ?
suite à des déboires que j'ai eu sur certains sites avec des routeurs incompatibles avec ce window scaling ( http://en.wikipedia.org/wiki/TCP_window_scale_option ), et sa résolution dans un forum :
http://linuxfr.org/forums/12/22753.html
ainsi que des explications complémentaires ici :
http://kerneltrap.org/node/6723
http://lwn.net/Articles/92727/
http://en.opensuse.org/SDB:Problem_with_establishing_TCP/IP_(...)
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=401435
je propose ce petit test :
votre système linux arrive-t-il à se connecter sur (par exemple) ces sites :
http://www.everymac.com/
http://www.keh.com/
http://www.marymount.edu/
http://www.packetstormsecurity.org/
[ ] oui [ ] non [ ] je n'utilise pas linux actuellement mais je vais tester dès que possible..
Si ce n'est pas le cas, alors vous avez un des tous premiers "it's not a bug, it's a feature" du noyau linux, et si cela ne vous plaît pas, vous pouvez toujours demander aux sites qui ont un routeur incompatible, de changer de modèle ou au fabricants de routeurs incompatibles de modifier leur architecture ("adding hacks to the Linux network stack to accommodate broken routers is a mistake. If, instead, the situation is left as it is, pressure on the router manufacturers should get the problem fixed relatively quickly" / "bidouiller la pile tcp linux pour être compatible avec des routeurs mal foutus est une erreur. Si à la place on en reste là, la pression sur les fabricants de routeurs sera telle que le problème sera rapidement corrigé").
Ce problème n'affecte ni mac os x, ni windows, ni freebsd, ni solaris, seulement linux.
il est possible de désactiver l'option avec :
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
(merci symoon !)
Stephen Hemminger avait proposé un patch pour rendre les valeurs moins aggressives mais cela a été refusé.
Si un nouvel utilisateur Linux (voire un plus ancien) tombe sur ce bug cette fonctionnalité, et qu'il remarque que "sous windows ça fonctionne bien", il va se dire que "linux c'est pourri".
On pourrait étendre cela à la navigation internet. Est-ce que cela ne serait pas mieux que Firefox n'affiche pas du tout un site s'il y a une erreur de balise dans le code html (par exemple une balise p non fermée) ? Cela obligerait les webmaistres à coder proprement leur site n'est-ce pas, sous la pression des internautes ? Ou bien cela dégoûterait plutôt les utilisateurs firefox...
Est-ce que la force d'un système ce n'est pas d'être suffisamment tolérant aux erreurs, pour pouvoir continuer à fonctionner en cas en problème ?
Mark Lord proposait de garder la fonctionnalité window scale, mais de pouvoir renégocier la transaction TCP sans window scale si la connexion n'aboutissait pas, ce qui me semble raisonnable comme option.
Il devrait être également demander lors de l'installation des distributions, au moment de la configuration du système, quelque chose du genre : "voulez-vous activer le window scale, cela implique plus de performance réseau, mais peut affecter la connexion à certains sites", comme cela les gens valideront en connaissance de cause. (pour ma part je préfère plus de compatibilité même si cela doit affecter un peu les performances, je n'ai d'ailleurs pas noté de différence avec et sans l'option à ce niveau)
Et vous, qu'en pensez-vous ?
Je serais curieux d'avoir un sondage des utilisateurs linux affectés, car apparemment avec une mémoire inférieure ou également à 512 Mo, le problème n'est pas perceptible (à vérifier)
# "Chez moi ça marche pas" (c)
Posté par snt . Évalué à 4.
Et effectivement je prefere un systeme qui marche tout le temps et qui soit optimisable à la main que l'inverse..
[^] # Re: "Chez moi ça marche pas" (c)
Posté par Sixtiz (site web personnel) . Évalué à 2.
[^] # Re: "Chez moi ça marche pas" (c)
Posté par M . Évalué à 3.
Ok j'ai fait un petit "echo 4096 65536 65536 > /proc/sys/net/ipv4/tcp_rmem" pour que ca marche...
[^] # Re: "Chez moi ça marche pas" (c)
Posté par djibb (site web personnel) . Évalué à 2.
2.6.22.1-tmb-laptop-2mdv
-> ne passe pas.
echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
-> passe.
[^] # Re: "Chez moi ça marche pas" (c)
Posté par Meister . Évalué à 1.
Résolu avec echo 0 > /proc/sys/net/ipv4/tcp_window_scaling
[^] # Re: "Chez moi ça marche pas" (c)
Posté par ccomb (site web personnel) . Évalué à 4.
Et en plus de Linux, il y a une autre pression de poids : Vista réagit pareil. Je viens d'essayer sous vmware/vistaRC1, et impossible d'aller sur ces sites non plus. (en supposant que rien n'ai changé sur les versions finales de Vista)
[^] # Re: "Chez moi ça marche pas" (c)
Posté par Rémi Laurent (site web personnel) . Évalué à 3.
[^] # Re: "Chez moi ça marche pas" (c)
Posté par B16F4RV4RD1N . Évalué à 4.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: "Chez moi ça marche pas" (c)
Posté par symoon . Évalué à 5.
[^] # Re: "Chez moi ça marche pas" (c)
Posté par SF . Évalué à 2.
Donc pour moi c'est pas d'internet (à trois sites près) sans modifier le echo 0 > ... Il est même impossible d'installer certaines distribs sans avoir au préalable débrancher le câble ethernet chez moi, pour cause de tentative de mise à jour en ligne...
Et euh autant vous dire que le FAI en a rien à f...
Certaines distib patchent, d'autres non... et plus ou moins aléatoirement d'une version à l'autre donc j'ai appris à vivre avec.
Par contre la box pose des problèmes avec vista qu'elle ne posait pas avec xp... Internet marche "à peu près". Pas de jeux en ligne ou de ftp mais le surf passe (faut parfois réessayer pour certaines pages et ne pas avoir de formulaires trop chargés). Le FAI ne s'intéresse pas plus au problème, de toute façon j'ai une vieille box et doit pas y avoir beaucoup de gens dans mon cas.
[^] # Re: "Chez moi ça marche pas" (c)
Posté par z a . Évalué à 5.
[^] # Re: "Chez moi ça marche pas" (c)
Posté par SF . Évalué à 2.
Leurs nouveaux boîtiers ne présentent pas cette fonctionnalité.
[^] # Re: "Chez moi ça marche pas" (c)
Posté par B16F4RV4RD1N . Évalué à 2.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: "Chez moi ça marche pas" (c)
Posté par Grégory SCHMITT . Évalué à 4.
Ça ne passe qu'avec ton "patch".
Merci pour l'info !
[^] # Re: "Chez moi ça marche pas" (c)
Posté par timid . Évalué à 2.
[^] # Re: "Chez moi ça marche pas" (c)
Posté par Toufou (site web personnel) . Évalué à 1.
# Tolérance
Posté par moo4 . Évalué à 10.
Mais pour reprendre l'exemple des navigateurs. Pourquoi Firefox n'interpreterait pas une page de la même façon que IE ? Si il s'aperçois que son site marche sous IE mais pas sous Firefox il va se dire "firefox c'est pourris"...
D'après ton lien wikipedia, il y a au moins Linux et Vista qui sont affecté. Donc a priori oui ça peut faire pression pour changer ces routeurs.
Non une erreur est une erreur, elles sont pas la pour rien et les tolérer n'a aucun sens dans un systeme. Si tu veux supprimer un fichier sans avoir les permissions tu as une ... erreur \o/. La tolérance face à ça c'est de te cacher le fichier mais sans le supprimer ?
Que tu abuse du mot bug. Un bug c'est un comportement innatendu. Ici le programme fait exactement ce qu'on lui a demandé, et se comporte exactement comme prévu. Coder une pile TCP pourrave ça n'aura pour resultat que de mettre Linux au niveau des vieux Windows. Alors chouette tu pourras acceder a packetstorm (mouarf) mais le code sera ou pourris ou troué (ou les deux). Mais ça c'est pas l'important dans un systeme hein ?
Je pense que tu as perdu beaucoup de temps à trouver que ton problème se resumais en une seule ligne. Et que tu en veux à cette feature à cause de ça.
[^] # Re: Tolérance
Posté par jeffcom . Évalué à 4.
faut relire les specs... HTML n'oblige en rien à faire du code "propre" XHTML si... pour autant qu'il soit servi avec le bon mime : application/xhtml+xml et, dans ce cas une en-tête xml. Le problème ne viens pas du navigateur (pas de FF en tous cas) mais de l'utilisateur : l'utilisateur veux que ça marche, rien d'autre. La technique ? il s'en balance comme de sa première crotte de nez. La faute viens aussi d'IE qui ne comprends pas le code "bien formé" : c'est à cause d'IE que les pages XHTML sont servies si souvent en text/html...
euh... en fait c'est l'inverse qui se produit en général...
Le plus souvent, on crée des templates, des css et c'est joli... sou FF, KHTML, Opera.... mais sou IE (5.5 6) c'est une horreur... on fait donc des hacks pour IE 55. 6... puis on teste sous IE7 et là, c'est le drame : IE 7 n'a pas les mêmes bugs que ses prédécesseurs coté css, mais en a d'autres nouveaux... (dont le fameux "pickaboo bug") du coup, pour plus de rapidité, on est souvent obligé de coder pour IE d'abord, puis d'assurer la compatibilité pour le reste...
donc, ne pas afficher les pages au code malformé c'est, en gros, supprimer l'accès à plus 95% des pages web (à la louche aux vues de mes constatations sur la validité des pages visitées)
[^] # Re: Tolérance
Posté par moo4 . Évalué à 4.
Le web est rongé par du code malsain fouttre des hacks dans tout les sens ce n'est jamais une solution, viable. Et pourtant c'est considéré comme naturel quand on fait un site (en meme temps c'est la seul solution)... Si les developpeurs systemes faisait la même chose que les developpeurs web, tout le monde crieraient au scandale et windows millenium passerait pour un joyau de stabilité.
Non, rien n'a jamais obligé personne a faire du xhtml puis le donner en html. Faire du html servis comme tel ça a toujours été une possibilité aussi.
Et bien sur ça justifie de faire n'importe quoi... Aller hop chmod -R 777 / non mého marre de pas pouvoir mettre mes fichiers ou je veux.
No comment.
Bon c'est bien beau tout ça. Mais ça n'a strictement rien a voir avec ce que je disais. Je reprenais son exemple du gars qui connait windows et qui decouvre que son site favorie ne marche pas sous linux. Et je l'ai transposé avec IE/Firefox.
CQFD. J'ai jamais dis qu'il fallait être strict maintenant. Ni que j'avais la solution miracle dans mon chapeau de rechange. C'etait juste une observation.
[^] # Re: Tolérance
Posté par Éric Martin . Évalué à 2.
[^] # Re: Tolérance
Posté par jeffcom . Évalué à 5.
[^] # Re: Tolérance
Posté par B16F4RV4RD1N . Évalué à 4.
Seulement, en arrivant sur un marché et en étant loin derrière la concurrence, cela aurait été l'équivalent à se tirer une balle dans le pied que de poser des restrictions qui auraient desservi sa popularité. Même maintenant avec 25 ou 30 % de part de marché, Firefox a encore une réputation de convivialité à tenir. S'ils devaient se couper 80%, 50 % ou même seulement 10 % des sites pour vouloir être puriste ou que sais-je encore, cela serait néfaste pour leur popularité et utilisation. Même IE avec sa position dominante s'est fait tailler des croupières à cause de son affichage déplorable. Rien n'est jamais acquis.
Si par contre tous les navigateurs faisaient un consensus pour ne pas afficher les sites pourris, au moins cela ferait réagir les webmaistres.
Avec 4% de marché seulement, si Linux veut se la jouer donneur de leçon, c'est son problème, mais cela va couper une certain nombre d'utilisateurs (pour la raison dans ce journal ou pour d'autres d'ailleurs). Par contre pour les droits et tout le système Unix cela a déjà fait ses preuves ce n'est pas là la question.
Alors que le problème évoqué cela soit avant tout un bug des routeurs je suis bien d'accord, mais on ne sait même pas combien de sites cela peut toucher. Sans doute pas énormément, mais la moindre des choses quand cela peut affecter des utilisateurs, c'est de mettre des notices et des options lors de l'installation, pas dans des notes post-installation lues seulement par les geeks.
on ne demande pas forcément de mâcher tout le travail, mais justement là cela ne donne aucune... erreur. Le site tourne dans le vide, cela ne dit même pas qu'il ne répond pas (ou alors au bout de 5 minutes).
si je fais : rm /bin/sh
au moins j'ai cela :
rm: détruire lien symbolique `/bin/sh'? y
rm: ne peut enlever `/bin/sh': Permission non accordée
et là c'est déjà plus clair.
Pour en revenir au window scaling, que vista agisse comme linux est plutôt une bonne chose, car cela va pouvoir justement donner un peu plus de poids contre les routeurs pourris. Je suis également d'accord pour ne pas limiter les avancées technologiques à cause de matériel non conforme, mais pour le moment avec une minorité pour faire pression, c'est pas encore gagné...
et sinon curieusement ce "on va pas se faire ch*** juste parce qu'une minorité de routeurs sont buggés, ils n'ont qu'à les changer", cela me rappelle un peu le "on va pas se faire ch*** à développer nos jeux pour 4 % d'utilisateurs linux, ils n'ont qu'à rebooter sous windows" ou le "on va pas se faire ch*** à faire un site non flash pour la minorité d'utilisateurs linux qui ne peut pas le lire ou pour la minorité d'handicapés qui n'y aura pas accès". Si on peut trouver un compromis qui aille à tout le monde, autant le faire.
histoire de pinailler un peu, alors l'affichage non supporté de la transparence alpha dans IE ce n'est pas un bug ? Sans doute pas, mais c'est une sérieuse limitation. Et au niveau réseau, si le comportement par défaut d'une machine est de ne pas pouvoir accéder à des routeurs buggés (on ne sait même pas le pourcentage que cela représente), cela me semble également une limitation, de plus trouver sur le réseau des routeurs buggés est totalement inattendu et imprévisible car on ne sait pas où ils se trouvent et il n'y a aucun message d'erreur spécifique face à cela.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
[^] # Re: Tolérance
Posté par jeffcom . Évalué à 1.
pour le coup : oui et non, oui si on considère que le support d'un format implique de supporter toutes les specs de ce format, et non dans le cas contraire... cependant, cette couleur de fond "beigasse" me fait très nettement penser à un bug (genre le dev a pas viré la couleur de fond par défaut utilisée dans les tests)
merde, ma bagnole a un bug/limitation : elle ne peut pas traverser les routes inondées par plus d'1 mètre d'eau lors de fortes pluies... vais gueuler chez peugeot...
en effet, là je te rejoint : mettre en place un message d'erreur serait judicieux...
[^] # Re: Tolérance
Posté par Gof (site web personnel) . Évalué à 1.
> inondées par plus d'1 mètre d'eau lors de fortes pluies... vais gueuler chez peugeot...
Bha voilà pourquoi les gens préfèrent les 4x4 :-)
[^] # Re: Tolérance
Posté par zebra3 . Évalué à 1.
Il fonctionne normalement à 400°C et le mettre dans l'eau à quelques degrés le fissure et le rend inutilisable ! Bien conçu pour des soi-disant "tout terrain" !
Pour ce genre de choses, mieux vaut encore un bon vieux Land Rover, avec la "cheminée" : l'échappement en hauteur sur le côté. En plus, avec ça, t'as le look !
Article Quarante-Deux : Toute personne dépassant un kilomètre de haut doit quitter le Tribunal. -- Le Roi de Cœur
[^] # Re: Tolérance
Posté par Amand Tihon (site web personnel) . Évalué à 2.
Oh, et surtout, ne pas couper le moteur quand le pot est dans l'eau :)
[^] # Re: Tolérance
Posté par Calvin0c7 . Évalué à 4.
Ton pote il a vraiment cru deux secondes que son ML était un vrai TT ?
ts ts...
[^] # Re: Tolérance
Posté par jeffcom . Évalué à 1.
c'est certain, mais lorsqu'on mets en place quelque chose (cms, ou autre) qui permet de sortir du XHTML, il faut :
- soit mettre en place un sniffer qui permettra d'envoyer le doc avec le bon mime pour les navigateurs qui le supportent
- soit le servir en text/html parce qu'on ne peut mettre en place de sniffer
donc : justement parce qu'IE ne sait pas ce que c'est et qu'on n'a pas forcément la possibilité de mettre en place un sniffer... mais c'est certain, personne n'oblige à servir autre chose que du HTML...
que viens vaire le chmod dans l'histoire ? relis et tu pourras peut être comprendre que l'utilisateur s'en tamponne de savoir si la page est valide ou pas ; il veux que ça s'affiche, point barre.
tu ne commentes pas quoi ? ton inaptitude à comprendre la langue française ? j'ai donné2 exemple : "le plus souvent" puis "pour plus de rapidité" qui est une conséquence du premier...
Je reformule donc rien que pour toi :
"Lorsqu'on a le temps, on crée des templates.... du coup, lorsqu'on a pas le temps..." c'est plus clair pour toi ?
No comment.
Bon c'est bien beau tout ça mais toi aussi tu es à côté de la plaque :
je te cite :
justement, ce ne sont pas LES navigateurs mais LE navigateur IE qui autorise(nt) ce genre de chose... tout ça parce qu'il ne comprends que les grandes lignes du HTML (façon de parler hein) qui, justement, autorise (voire favorise parfois) une qualité de code médiocre... Le fait que les autres navigateurs "n'envoient pas bouler le dev" si le code est goret, c'est un effet de bord : le navigateur le plus répandu affectionne le goret, ils sont obligés de le faire aussi, si non ils ne pourraient pas diffuser la grande majorité des pages web.
amha les dev des autres navigateurs ne demandent que ça, ne plus accepter le goret, ça simplifierai grandement les choses, codé dev, coté "gourmandise", en temps proc et mémoire.
L'exemple de FF et du "web" en général est mauvais... c'est ce que je voulais dire... tu as lu trop vite je pense (j'espère en fait). simplement car c'est IE (donc l'erreur) qui domine le marché.
Dans le cas du sujet de ce journal : il est clair que ça n'est pas un bug mais simplement un pb de matos coté hébergeur/diffuseur sites... et non, supprimer le window_scaling n'est pas une solution, c'est un bug.
[^] # Re: Tolérance
Posté par briaeros007 . Évalué à 2.
Ben suffit de lire ce qu'il marque.
L'utilisateur veut déplacer un fichier sur son disque. Il veut pas avoir d'erreur. Point barre
Donc chmod 777 / serait une bonne solution pour toi.
# meilleure solution
Posté par symoon . Évalué à 10.
1/ touchent à TCP alors qu'ils ne devraient pas !
2/ mettent le WS à 0 sans enlever l'option elle-même !
Alors forcément ensuite les deux bouts de la connexion parlent pas avec la même échelle..
Reformulé correctement: le comportement défectueux des routeurs ne peut être facilement mis en évidence que sous linux à partir du 2.6.17 (et Windows vista aussi).
Empiler les hacks pour pallier le comportement de routeurs (qui du coup en touchant à TCP ne sont plus seulement que des routeurs), ça serait vraiment la pire des bêtises.., ou comment se retrouver avec des effets de bords, comme si TCP n'était déjà pas assez compliqué pour en plus se donner la tache de corriger les erreurs de routeurs qui outrepassent leurs attributions.
Les RFC / normes sont là pour éviter de partir dans tous les sens !
Dans l'autre sens, si un utilisateur voit (qu'avec le WS activé par défaut) il atteint de bien meilleurs débits que sous les autres OS, il sera content.
Et les routeurs foireux sont qd même en minorité.
Rien à voir.
Le reste sur : http://linuxfr.org/comments/856353.html#856353
# attention
Posté par fcartegnie . Évalué à 5.
~~ 200Ko/s maxi sur un lien à 300ms de RTT...
~~ 600Ko/s sur un lien à 100ms.
[^] # Commentaire supprimé
Posté par Anonyme . Évalué à 3.
Ce commentaire a été supprimé par l’équipe de modération.
[^] # Re: attention
Posté par symoon . Évalué à 5.
# Re:
Posté par IsNotGood . Évalué à 1.
Je ne connais pas les détails de l'affaire. Mais si les dev Linux ont fait le choix de ne pas activer le "windows scaling" par défaut, il y a une bonne raison à ça. Ce n'est définitivement pas par envie de faire chier l'utilisateur gratuitement.
Parfois qu'on ça "ne marche pas", c'est une fonctionnalité. ActiveX ne marche pas avec Firefox, c'est une fonctionnalité.
[^] # Re: Re:
Posté par symoon . Évalué à 2.
En l'occurrence, c'est le contraire, les développeurs Linux ont fait le choix d'activer le window scaling par défaut, qui est indispensable pour utiliser le lien à plein quelques soient les conditions de latence / débit du tuyau.
# Compléments
Posté par Nicolas Dumoulin (site web personnel) . Évalué à 2.
https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.2(...)
Avec les solutions dans le dernier commentaire.
# ici ça marche
Posté par argt (site web personnel) . Évalué à 1.
scientific linux 5.0, kernel 2.6.18-8.1.8.el5 #1 SMP
Moi qui ralait parceque je trouvais scientific linux toujours en retard...
[^] # Re: ici ça marche
Posté par Christophe Chailloleau-Leclerc . Évalué à 1.
Ta distro est vraiment en retard, puisqu'elle ne sait même pas afficher tout le texte ;-)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.