Auteur Sujet: 4G SFR: Pourquoi le serveur ferme la connexion connexion persistante ?  (Lu 1806 fois)

0 Membres et 1 Invité sur ce sujet

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
4G SFR: Pourquoi le serveur ferme la connexion connexion persistante presque immédiatement après la 1ère requête ?

Voici un échange réalisé depuis un PC connecté sur mon Samsung S8 en mode partage de connexion (mais partage de connexion sur l'APN SFR sl2sfr)

Le serveur comme le client sont sous Ubuntu 20.04 avec le noyau 5.4, presque tous les paramètres sont les paramètres par défaut.

Le serveur est fortement demandé, donc il utilise les cookies. Quand un serveur active ce mode, il affiche dans dmesg :

TCP: request_sock_TCP: Possible SYN flooding on port 80. Sending cookies.  Check SNMP counters.Je le précise, car je me demande si cela a un impact dans la fermeture rapide de la connexion TCP.
Pour en savoir plus, il y a la page Wikipédia : SYN cookie


Ma requête est effectuée avec Firefox 81, c'est un simple chargement de la page http://fr.archive.ubuntu.com/ après avoir vidé le cache du navigateur.
On est donc en http sur le port 80 et SFR semble avoir une plateforme sur ce port.
Je me suis focalisé dans la capture sur la connexion TCP qui concerne la demande de chargement deux petits fichiers .png dans une même connexion (persistance proposée par http 1.1)

Voici le diagramme de la connexion :


La directive KeepAliveTimeout d'Apache est configurée à 2 secondes. Cela correspond au nombre de secondes pendant lesquelles Apache httpd va attendre une requête avant de fermer la connexion. La valeur du délai spécifiée par la directive Timeout s'applique dès qu'une requête a été reçue.

La directive KeepAlive est laissé à sa valeur par défaut : On


Les paquets : (Le paquet surligné en bleu est un paquet crée par la plateforme SFR)


Je ne comprends pas pourquoi la connexion est si rapidement fermée coté serveur, obligeant le client à faire une nouvelle demande dans une connexion TCP dédiée.

Plusieurs pistes sont possibles :
- Plateforme intermédiaire rajoutée par SFR
- Comportement lié à l'utilisation du SYN cookie
- Bug du noyau Linux / Apache

vivien

  • Administrateur
  • *
  • Messages: 47 085
    • Twitter LaFibre.info
4G SFR: Pourquoi le serveur ferme la connexion connexion persistante ?
« Réponse #1 le: 06 octobre 2020 à 21:53:19 »
La capture wireshark coté client si vous souhaitez regarder: (cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)
202010_sfr_mobile_trace_client.pcapng.gz


La capture wireshark coté serveur si vous souhaitez regarder: (cliquer sur la miniature ci-dessous, Wireshark est nécessaire pour lire le fichier)
202010_sfr_mobile_trace_serveur.pcap.gz


Le contenu échangé (c'est le même coté client et coté serveur) :


Coté client, c'est un Ubuntu 20.04 desktop avec les paramètres par défault
Coté serveur, c'est un Ubuntu server 20.04. Les seuls paramètres modifiés sont :

net.core.netdev_max_backlog=4000
net.ipv4.tcp_max_syn_backlog = 4096
net.core.somaxconn = 512

Coté Apache2.4.41, les timeouts sont les suivants :
Timeout 30
KeepAliveTimeout 2