Auteur Sujet: MacOS + scp + ipv6 + Livebox5 = je ne comprends rien  (Lu 783 fois)

0 Membres et 1 Invité sur ce sujet

cauris

  • Abonné Sosh fibre
  • *
  • Messages: 5
  • 67
MacOS + scp + ipv6 + Livebox5 = je ne comprends rien
« le: 17 juillet 2025 à 10:13:27 »
Bonjour à tous,

J'utilise une VM hébergée sur un serveur dédié chez OVH pour sauvegarder les fichiers importants. La VM n'est accessible qu'en IPv6. Il y a quatre ans j'étais chez Sosh et j'avais des débits foireux pour faire ces copies : je pensais que c'était mon débit montant limité. Je suis passé chez Free et plus le moindre soucis : ça tournait du feu de Dieu. Il y a trois mois je suis retourné chez Sosh et crac le problème revient. Comme l'upload est désormais correct j'ai cherché à comprendre.

Le paysage :
- les scp en IPv6 en filaire avec mon mac sont lents
- Avec Free il n'y avait pas de problème
- les scp en IPv6 sous Linux se font sans soucis
- les connections en ftp avec mon mac vers la même VM en IPv6 tournent à la perfection.

Ce qui me perturbe, c'est qu'avec une Freebox Pop ça roule et qu'avec une Livebox 5 il n'y a que la combinaison mac + ipv6 + scp qui a un débit désastreux.

Pour faire mes copies, je passe désormais par mon Streamer de musique qui tourne sous Debian. C'est un peu plus lourd mais je n'attends plus des heures pour faire mes copies. Cela dit : je suis curieux et j'aimerais comprendre.

Si vous avez une explication, je suis preneur.

À+

simon

  • Abonné Orange Fibre
  • *
  • Messages: 1 641
MacOS + scp + ipv6 + Livebox5 = je ne comprends rien
« Réponse #1 le: 17 juillet 2025 à 11:37:45 »
Orange est connu pour faire de la QoS.
Si tu insères "-o IPQoS=none" entre scp et le premier argument sur ton mac, ca change quelque chose ? Tu peux aussi essayer d'autres valeurs, voir man ssh_config.

cauris

  • Abonné Sosh fibre
  • *
  • Messages: 5
  • 67
MacOS + scp + ipv6 + Livebox5 = je ne comprends rien
« Réponse #2 le: 17 juillet 2025 à 11:49:23 »
J'ai ajouté IPQoS=none dans ~/.ssh/config et effectivement, ça roule.

J'ai validé en enlevant à nouveau l'option : pas de doute tu as résolu mon problème. :)

Il va falloir que je me documente sur ce que c'est que ce truc. ;)

Merci.

À+


cauris

  • Abonné Sosh fibre
  • *
  • Messages: 5
  • 67
MacOS + scp + ipv6 + Livebox5 = je ne comprends rien
« Réponse #3 le: 17 juillet 2025 à 13:08:20 »
Bon, il semblerait que ce soit une vieille histoire. MacOS est un lointain descendant de FreeBSD, ceci expliquant probablement cela.

Sur MacOS :
prompt# sshd -T | grep -i IPQoS
ipqos af21 cs1

Sous Debian :
prompt# sshd -T | grep -i IPQoS
ipqos lowdelay throughput

Comme je ne comprends pas ce que ça fait, que manifestement je ne suis pas le seul et que chez FreeBSD ils semblent penser que l'équipe de Debian sait ce qu'elle fait, j'ai reproduit les réglages Debian sur mon mac.

Fichier ~/.ssh/config
Host *
  [...]
  IPQoS=lowdelay throughput

Merci encore Simon, c'est la fin d'une galère. :)

À+

basilix

  • Abonné Orange Fibre
  • *
  • Messages: 695
MacOS + scp + ipv6 + Livebox5 = je ne comprends rien
« Réponse #4 le: 17 juillet 2025 à 14:59:43 »
@cauris :

L'option IPQoS est implémentée dans OpenSSH (ce n'est pas spécifique à MacOS).

Tout est indiqué dans l'hyperlien que tu as fourni.

Citer
AF21 was selected as this is the highest priority within the low-latency service class (and it is higher than what we have today). SSH is elastic
and time-sensitive data, where a user is waiting for a response via the network in order to continue with a task at hand. As such, these flows
should be considered foreground traffic, with delays or drops to such traffic directly impacting user-productivity.

For bulk SSH traffic, the CS1 "Lower Effort" marker was chosen to enable networks implementing a scavanger/lower-than-best effort class to
discriminate scp(1) below normal activities, such as web surfing. In general this type of bulk SSH traffic is a background activity.

simon

  • Abonné Orange Fibre
  • *
  • Messages: 1 641
MacOS + scp + ipv6 + Livebox5 = je ne comprends rien
« Réponse #5 le: 17 juillet 2025 à 16:00:53 »
Les paquets IP disposent d'un champ dans leur en-tête permettant de spécifier la classe de trafic auquel ils appartiennent (valeur DSCP). Ces classes de trafic peuvent être utilisées par le réseau pour prioriser certains flux par rapport aux autres.
Par exemple, la voix sur IP, la visio conférence, les jeux vidéos temps réel ou les sessions SSH sont très interactifs et réagissent mal à la perte de paquets ou à la jigue (variation de la latence). Au contraire, les transferts de données volumineux ont besoin d'une bande passante élevée mais peuvent passer après les autres, car très peu sensibles à la jigue.

L'OS ne sait pas ce qu'une application pousse dans une socket (en gros, un flux de données), mais l'application possédant cette socket peut lui demander de marquer tous les paquets appartenant à ce flux avec une classe de trafic donnée.
Si aucune demande n'est faite par l'application, l'OS utilise une classe de service par défaut "best effort", normalement.

Dans le cas qui t'intéresse, scp marque par défaut son trafic en CS1, c'est à dire moins prioritaire que le trafic best effort, qui représente l'écrasante majorité du trafic Web.
Comme le réseau d'Orange honore les marquages DSCP, il dé-priorise donc ton trafic scp au profit des autres flux empruntant le même chemin réseau: le débit utile de ce flux souffre donc.

Debian s'est rendu compte de la supercherie et a changé la classe de trafic par défaut utilisée par scp dans leur OS, ce qui explique qu'il ne souffre pas du souci. Mais sur un autre OS sans cette modification, scp marquera son trafic en CS1 par défaut (cas de macOS).
Je suppose que, chez Free, soit le réseau ne discrimine pas sur le champ DSCP, soit la box ou l'OLT ré-écrit le champ lors de la réception d'un paquet depuis le LAN, et donc là aussi, tu n'observais pas le problème.

Avec la ligne de configuration que je t'ai donné, on indique à ssh et à scp de marquer le trafic avec la classe par défaut, comme la grande majorité du trafic web, donc. Et cela résout le problème.

cauris

  • Abonné Sosh fibre
  • *
  • Messages: 5
  • 67
MacOS + scp + ipv6 + Livebox5 = je ne comprends rien
« Réponse #6 le: 17 juillet 2025 à 17:43:32 »
Ah ben je comprends mieux. C'est vrai que passer des lignes de commandes dans une liaison SSH n'a rien d'un trafic qui doit être prioritaire, ça fait sens de le passer en second plan. Dès qu'on fait des rsync c'est une autre affaire.

Pour en revenir aux options, j'avoue que je n'ai jamais regardé dans le détail les en-têtes des paquets IP. En matière de réseau, je ne descends pas aussi bas. ;) Quand j'ai des références solides, j'ai pour habitude de les suivre et Debian fait partie de ces références. Simon, tu n'en fais pas encore partie. Cela dit, tu préconises de mettre la classe par défaut ce qui fait sens aussi. Me voilà bien embêté.

Du coup j'ai installé une VM avec Fedora Server pour voir.

prompt# sshd -T | grep -i IPQoS
ipqos af21 cs1

Même si la famille RedHat/Fedora n'est pas ma zone de confort, ce n'est pas des manchots non plus. On a donc FreeBSD, MacOS, Fesdora et probablement toute la famille Red Hat qui utilisent la même valeur. Sous Ubuntu 22.04, il font comme d'hab c'est-à-dire la même chose que Debian.

En matière de références incontestables on fait mieux.

Du coup, je change d'avis, puisqu'il n'y a pas de références absolues, va pour la classe par défaut. Je te suis Simon ce sera “none” et en plus ce sera plus clair pour moi quand je retomberai sur ce fichier dans deux ans. ;)

Merci pour vos lumières, j'ai beaucoup appris aujourd'hui.

À+