Outils pour utilisateurs

Outils du site


tuto:reseau:toe

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
tuto:reseau:toe [2012/11/17 21:16] – créée roottuto:reseau:toe [2012/11/17 23:01] (Version actuelle) root
Ligne 2: Ligne 2:
  
 Source : http://lafibre.info/tutoriels/tcp-offload-engine/  Source : http://lafibre.info/tutoriels/tcp-offload-engine/ 
 +
 +Compléments : http://lafibre.info/numericable-fttla/tcp-ack-suppression/
 +
 +
 +Comment TCP offload engine affecte ce que Wireshark capture ?
 +
 +Quand les calculs de checksum sont réalisés par la carte réseau au lieu du CPU, Wieshark capture des trames avec un checksum incorrect en émission, rempli de 00000 (en réception il est bon, car la carte réseau de l'émetteur a fait le calcul et remplacé les 000000 par le vrai checksum).
  
 Sous linux, il faut installer le paquet "ethtool" (sudo apt-get install ethtool) Sous linux, il faut installer le paquet "ethtool" (sudo apt-get install ethtool)
 Et taper en ligne de commande : Et taper en ligne de commande :
-$ sudo ethtool -k eth0+  $ sudo ethtool -k eth0
  
--k donne les paramètres Offload pour la carte réseau (eth0 pour la première carte réseau Ethernet). +  * -k donne les paramètres Offload pour la carte réseau (eth0 pour la première carte réseau Ethernet). 
--K change les paramètres Offload demandés pour la carte réseau.+  -K change les paramètres Offload demandés pour la carte réseau.
  
 Lexique : Lexique :
-TCP Offload Engine = Moteur de déchargement TCP +  * TCP Offload Engine = Moteur de déchargement TCP 
-rx-checksumming (rx on|off) = Déchargement de la somme de contrôle en réception +  rx-checksumming (rx on|off) = Déchargement de la somme de contrôle en réception 
-tx-checksumming (tx on|off) = Déchargement de la somme de contrôle en émission +  tx-checksumming (tx on|off) = Déchargement de la somme de contrôle en émission 
-scatter-gather (sg on|off) = comme DMA : Les données circulant de ou vers la carte réseau sont transférées directement vers la mémoire principale de la machine, sans intervention du microprocesseur (si ce n'est pour lancer et conclure le transfert). +  scatter-gather (sg on|off) = comme DMA : Les données circulant de ou vers la carte réseau sont transférées directement vers la mémoire principale de la machine, sans intervention du microprocesseur (si ce n'est pour lancer et conclure le transfert). 
-tcp-segmentation-offload (tso on|off) = Déchargement de la segmentation d'un gros paquet TCP en plusieurs petits (en émission) +  tcp-segmentation-offload (tso on|off) = Déchargement de la segmentation d'un gros paquet TCP en plusieurs petits (en émission) 
-udp-fragmentation-offload (ufo on|off) = Déchargement de la fragmentation d'un gros paquet UDP en plusieurs petits (en émission) +  udp-fragmentation-offload (ufo on|off) = Déchargement de la fragmentation d'un gros paquet UDP en plusieurs petits (en émission) 
-generic-segmentation-offload (gso on|off) = Déchargement de la segmentation d'un gros paquet TCP en plusieurs petits (en émission) +  generic-segmentation-offload (gso on|off) = Déchargement de la segmentation d'un gros paquet TCP en plusieurs petits (en émission) 
-generic-receive-offload (gro on|off) = Déchargement en fusionnant des petits paquets TCP reçus du réseau en un gros paquet pour le système (c'est donc en réception) +  generic-receive-offload (gro on|off) = Déchargement en fusionnant des petits paquets TCP reçus du réseau en un gros paquet pour le système (c'est donc en réception) 
-large-receive-offload (lro on|off) = Déchargement important à la réception +  large-receive-offload (lro on|off) = Déchargement important à la réception 
-rx-vlan-offload (rxvlan on|off) = Déchargement de la gestion des Vlan en réception +  rx-vlan-offload (rxvlan on|off) = Déchargement de la gestion des Vlan en réception 
-tx-vlan-offload (txvlan on|off) = Déchargement de la gestion des Vlan en émission +  tx-vlan-offload (txvlan on|off) = Déchargement de la gestion des Vlan en émission 
-ntuple-filters (ntuple on|off) = ?? +  ntuple-filters (ntuple on|off) = ?? 
-receive-hashing (rxhash on|off) = receive hashing offload+  receive-hashing (rxhash on|off) = receive hashing offload
  
 Combinaisons on / off : Combinaisons on / off :
-Il est nécessaire d'activer tx-checksumming (tx on) pour activer scatter-gather +  * Il est nécessaire d'activer tx-checksumming (tx on) pour activer scatter-gather 
-Il est nécessaire d'activer tx-checksumming (tx on) et scatter-gather (sg on) pour activer tcp-segmentation-offload ou generic-segmentation-offload+  Il est nécessaire d'activer tx-checksumming (tx on) et scatter-gather (sg on) pour activer tcp-segmentation-offload ou generic-segmentation-offload
  
-Désactiver ce qui fait chuter le débit avec "TCP ACK Supression" activé sur une box : ethtool -K eth1 tso off gso off+Désactiver ce qui fait chuter le débit avec "TCP ACK Supression" activé sur une box :  
 +  ethtool -K eth1 tso off gso off
 tcp-segmentation-offload et generic-segmentation-offload chacun séparément ou activé tous les deux font chuter fortement le débit avec TCP ACK Supression. tcp-segmentation-offload et generic-segmentation-offload chacun séparément ou activé tous les deux font chuter fortement le débit avec TCP ACK Supression.
 Au contraire scatter-gather permet de gagner du débit avec "TCP ACK Supression" activé. Au contraire scatter-gather permet de gagner du débit avec "TCP ACK Supression" activé.
-TOE entièrement activé (défaut) : 3 min 13 secondes pour télécharger le fichier test +  * TOE entièrement activé (défaut) : 3 min 13 secondes pour télécharger le fichier test 
-TOE entièrement dés-activé : 56 secondes pour télécharger le fichier test +  TOE entièrement dés-activé : 56 secondes pour télécharger le fichier test 
-Tout désactivé sauf tx-checksumming et scatter-gather : 33 secondes pour télécharger le fichier test +  Tout désactivé sauf tx-checksumming et scatter-gather : 33 secondes pour télécharger le fichier test 
-Seul tcp-segmentation-offload et generic-segmentation-offload désactivé : 33 secondes pour télécharger le fichier test+  Seul tcp-segmentation-offload et generic-segmentation-offload désactivé : 33 secondes pour télécharger le fichier test
  
 A noter qu'avec "TCP ACK Supression" désactivé ou qui n'existe pas (cas des majorités des box) on a : A noter qu'avec "TCP ACK Supression" désactivé ou qui n'existe pas (cas des majorités des box) on a :
-TOE entièrement activé (défaut) : 21 secondes pour télécharger le fichier test +  * TOE entièrement activé (défaut) : 21 secondes pour télécharger le fichier test 
-TOE entièrement dés-activé : 49 secondes pour télécharger le fichier test +  TOE entièrement dés-activé : 49 secondes pour télécharger le fichier test 
-Tout désactivé sauf tx-checksumming et scatter-gather : 32 secondes pour télécharger le fichier test +  Tout désactivé sauf tx-checksumming et scatter-gather : 32 secondes pour télécharger le fichier test 
-Seul tcp-segmentation-offload et generic-segmentation-offload désactivé : 32 secondes pour télécharger le fichier test+  Seul tcp-segmentation-offload et generic-segmentation-offload désactivé : 32 secondes pour télécharger le fichier test
  
  
 Désactiver entièrement TCP offload engine : Désactiver entièrement TCP offload engine :
-# ethtool -K eth0 rx off tx off sg off tso off ufo off gso off gro off lro off rxvlan off txvlan off ntuple off rxhash off+  # ethtool -K eth0 rx off tx off sg off tso off ufo off gso off gro off lro off rxvlan off txvlan off ntuple off rxhash off
 Si vous avez le message "Cannot set device udp large send offload settings: Operation not supported", utilisez la commande suivante : Si vous avez le message "Cannot set device udp large send offload settings: Operation not supported", utilisez la commande suivante :
-# ethtool -K eth0 rx off tx off sg off tso off gso off gro off lro off rxvlan off txvlan off ntuple off rxhash off+  # ethtool -K eth0 rx off tx off sg off tso off gso off gro off lro off rxvlan off txvlan off ntuple off rxhash off
  
 Activer entièrement TCP offload engine : Activer entièrement TCP offload engine :
-# ethtool -K eth0 rx on tx on sg on tso on ufo on gso on gro on lro on rxvlan on txvlan on ntuple on rxhash on+  # ethtool -K eth0 rx on tx on sg on tso on ufo on gso on gro on lro on rxvlan on txvlan on ntuple on rxhash on
 En cas d'erreur sur l'UDP : En cas d'erreur sur l'UDP :
-# ethtool -K eth0 rx on tx on sg on tso on gso on gro on lro on rxvlan on txvlan on ntuple on rxhash on+  # ethtool -K eth0 rx on tx on sg on tso on gso on gro on lro on rxvlan on txvlan on ntuple on rxhash on
 En cas d'erreur sur UDP, large-receive-offload, ntuple-filters : En cas d'erreur sur UDP, large-receive-offload, ntuple-filters :
-# ethtool -K eth0 rx on tx on sg on tso on gso on gro on rxvlan on txvlan on rxhash on +  # ethtool -K eth0 rx on tx on sg on tso on gso on gro on rxvlan on txvlan on rxhash on
- +
-Voici les résultats compilés en fonction des cartes réseaux des machines que j'ai sous la main : +
- +
-Cartes 1 Gb/s : +
-Carte 1 (intégrée sur serveur Intel de 2011) : Broadcom Corporation NetXtreme II BCM5716 Gigabit Ethernet (rev 20) +
-Carte 2 (intégrée sur serveur Intel de 2006) : Broadcom Corporation NetXtreme BCM5714 Gigabit Ethernet (rev a3) +
-Carte 2' (intégrée sur serveur AMD de 2006) : Broadcom Corporation NetXtreme BCM5721 Gigabit Ethernet PCI Express (rev 11) +
-Carte 2" (intégrée sur un pc fixe Intel de 2006) : Broadcom Corporation NetXtreme BCM5751 Gigabit Ethernet PCI Express (rev 01) +
-Carte 2"' (intégrée sur un pc portable Intel de 2006) : Broadcom Corporation NetXtreme BCM5752 Gigabit Ethernet PCI Express (rev 02) +
-Carte 2"" : Atheros Communications Device 1083 (rev c0) => Atheros AR8151 PCI-E Gigabit Ethernet Controller +
-Carte 3 (intégrée sur serveur AMD de 2006) : NVIDIA Corporation CK804 Ethernet Controller (rev a3) +
-Carte 4 (intégrée sur serveur Intel de 2008) : Broadcom Corporation NetXtreme II BCM5708 Gigabit Ethernet (rev 12) +
-Carte 5 (carte PCI de 2007) : D-Link System Inc DGE-528T Gigabit Ethernet Adapter (rev 10) +
- +
-Cartes 100 Mb/s uniquement : +
-Carte 6 (intégrée sur PC fixe Intel de 2008) : Intel Corporation 82562V-2 10/100 Network Connection (rev 02) +
-Carte 7 (intégrée sur PC fixe Intel de 2008) : Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 01) +
-Carte 7' (intégrée sur PC portable Intel de 2009) : Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02) +
-Carte 8 (intégrée sur PC fixe AMD de 2005) : NVIDIA Corporation MCP51 Ethernet Controller (rev a1) +
-Carte 8' (intégrée sur Serveur Online de 2009) : Silicon Integrated Systems [SiS] SiS900 PCI Fast Ethernet (rev 91) +
-Carte 8" (intégrée sur serveur OVH de 2007) : VIA Technologies, Inc. VT6102 [Rhine-II] (rev 7c) +
-Carte 8"' : Intel Corporation 82801BA/BAM/CA/CAM Ethernet Controller (rev 01) +
-Carte 9 (intégrée sur serveur OVH de 2007) : VIA Technologies, Inc. VT6102 [Rhine-II] (rev 7c) +
-Carte 10 (intégrée sur PC fixe AMD de 2006  Dell Dimension C521) : Broadcom Corporation BCM4401-B0 100Base-TX (rev 02) +
- +
-Cartes virtuelles (pour les machines virtuelles) : +
-Carte 11 Red Hat, Inc Virtio network device +
- +
-on : opération déchargée sur la carte réseau +
-off : opération réalisée en utilisant le processeur central (CPU) +
-na : non supporté par le système d'exploitation+
tuto/reseau/toe.1353186992.txt.gz · Dernière modification : 2012/11/17 21:16 de root