Pages : 1
#1 Le 25/01/2016, à 11:53
- Toktok
Carte ethernet à latence variable
Bonjours Mesdames, Messieurs,
Voici plus d'une semaine que je m'arrache les cheveux sur la configuration d'un routeur entre deux LAN dans mon entreprise... Le routeur fonctionne, les tram passe bien entre les sous-réseaux cependant par moment (et de façon apparemment aléatoire) de gros problèmes de latences surviennent entre les interfaces de ce dernier...
La topologie :
------ eth0: 192.168.0.x/24 enp3s0: 192.168.0.1/24 --------- enp3s1: 192.168.1.1/24 eth0: 192.168.1.x ------ | Pc A |o---------------------------------------------------o| routeur |o------------------------------------------------o| Pc B | ------ --------- ------
Les symptômes :
Lors d'un ping entre l'interface enps3s0 du routeur et l'un des poste situé sur le réseaux 192.168.0.0 les temps de latence "normaux" sont d'environ 0.150ms.
Lors d'un ping entre l'interface enps3s1 du routeur et l'un des poste situé sur le réseaux 192.168.1.0 les temps de latence "normaux" sont également d'environ 0.150ms.
En tant normal, les débit up/down sont aux alentours des 100Mo/s, mais parfois s'éffondre à 100Ko/s...Par moment les ping s'emballe et la latence aussi de façon tout à fait surprenante
Le ping devient décrémentiel !!! Autrement dit je passe de 100ms jusqu’à 0.500ms et POUF je repart a 100ms d'où une latence réseaux variables...Voici un extrait :
64 bytes from 192.168.0.121: icmp_seq=2888 ttl=128 time=16.9 ms 64 bytes from 192.168.0.121: icmp_seq=2889 ttl=128 time=15.9 ms 64 bytes from 192.168.0.121: icmp_seq=2890 ttl=128 time=13.9 ms 64 bytes from 192.168.0.121: icmp_seq=2891 ttl=128 time=12.9 ms 64 bytes from 192.168.0.121: icmp_seq=2892 ttl=128 time=11.9 ms 64 bytes from 192.168.0.121: icmp_seq=2893 ttl=128 time=11.3 ms 64 bytes from 192.168.0.121: icmp_seq=2894 ttl=128 time=9.91 ms 64 bytes from 192.168.0.121: icmp_seq=2895 ttl=128 time=7.93 ms 64 bytes from 192.168.0.121: icmp_seq=2896 ttl=128 time=5.93 ms 64 bytes from 192.168.0.121: icmp_seq=2897 ttl=128 time=3.93 ms 64 bytes from 192.168.0.121: icmp_seq=2898 ttl=128 time=1.92 ms 64 bytes from 192.168.0.121: icmp_seq=2899 ttl=128 time=99.9 ms 64 bytes from 192.168.0.121: icmp_seq=2900 ttl=128 time=99.0 ms 64 bytes from 192.168.0.121: icmp_seq=2901 ttl=128 time=98.0 ms 64 bytes from 192.168.0.121: icmp_seq=2902 ttl=128 time=96.9 ms 64 bytes from 192.168.0.121: icmp_seq=2903 ttl=128 time=96.0 ms 64 bytes from 192.168.0.121: icmp_seq=2904 ttl=128 time=95.0 ms 64 bytes from 192.168.0.121: icmp_seq=2905 ttl=128 time=93.9 ms 64 bytes from 192.168.0.121: icmp_seq=2906 ttl=128 time=92.0 ms 64 bytes from 192.168.0.121: icmp_seq=2907 ttl=128 time=90.9 ms
J'ai également remarquer dans le moniteur système qu'au niveau network j'avais graphiquement des plateaux (vraiment très plat
au niveau des débit mini/maxi).
Les informations :
version :
Ubuntu 15.10
Kernel 4.2.0-25-generic x86_64lspci :
00:00.0 Host bridge: Intel Corporation 2nd Generation Core Processor Family DRAM Controller (rev 09) 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09) 00:16.0 Communication controller: Intel Corporation 6 Series/C200 Series Chipset Family MEI Controller #1 (rev 04) 00:1a.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #2 (rev 05) 00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05) 00:1c.0 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 1 (rev b5) 00:1c.3 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 4 (rev b5) 00:1c.4 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 5 (rev b5) 00:1c.5 PCI bridge: Intel Corporation 6 Series/C200 Series Chipset Family PCI Express Root Port 6 (rev b5) 00:1d.0 USB controller: Intel Corporation 6 Series/C200 Series Chipset Family USB Enhanced Host Controller #1 (rev 05) 00:1f.0 ISA bridge: Intel Corporation Z68 Express Chipset Family LPC Controller (rev 05) 00:1f.2 IDE interface: Intel Corporation 6 Series/C200 Series Chipset Family 4 port SATA IDE Controller (rev 05) 00:1f.3 SMBus: Intel Corporation 6 Series/C200 Series Chipset Family SMBus Controller (rev 05) 00:1f.5 IDE interface: Intel Corporation 6 Series/C200 Series Chipset Family 2 port SATA IDE Controller (rev 05) 02:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI Bridge (rev 01) 03:00.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet Controller (rev 05) 03:01.0 Ethernet controller: Intel Corporation 82541PI Gigabit Ethernet Controller (rev 05) 04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 06) 05:00.0 USB controller: ASMedia Technology Inc. ASM1042 SuperSpeed USB Host Controller
lshw :
*-network:0 description: Ethernet interface produit: 82541PI Gigabit Ethernet Controller fabriquant: Intel Corporation identifiant matériel: 0 information bus: pci@0000:03:00.0 nom logique: enp3s0 version: 05 numéro de série: 00:0e:0c:da:3c:5a taille: 1Gbit/s capacité: 1Gbit/s bits: 32 bits horloge: 66MHz fonctionnalités: pm pcix bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000 driverversion=7.3.21-k8-NAPI duplex=full ip=192.168.0.1 latency=32 link=yes mingnt=255 multicast=yes port=twisted pair speed=1Gbit/s ressources: irq:19 mémoire:fe5a0000-fe5bffff mémoire:fe580000-fe59ffff portE/S:e040(taille=64) mémoire:fe560000-fe57ffff *-network:1 description: Ethernet interface produit: 82541PI Gigabit Ethernet Controller fabriquant: Intel Corporation identifiant matériel: 1 information bus: pci@0000:03:01.0 nom logique: enp3s1 version: 05 numéro de série: 00:0e:0c:d9:e0:41 taille: 1Gbit/s capacité: 1Gbit/s bits: 32 bits horloge: 66MHz fonctionnalités: pm pcix bus_master cap_list rom ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000 driverversion=7.3.21-k8-NAPI duplex=full ip=192.168.1.1 latency=32 link=yes mingnt=255 multicast=yes port=twisted pair speed=1Gbit/s ressources: irq:16 mémoire:fe540000-fe55ffff mémoire:fe520000-fe53ffff portE/S:e000(taille=64) mémoire:fe500000-fe51ffff *-network description: Ethernet interface produit: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller fabriquant: Realtek Semiconductor Co., Ltd. identifiant matériel: 0 information bus: pci@0000:04:00.0 nom logique: enp4s0 version: 06 numéro de série: bc:5f:f4:37:f4:93 taille: 10Mbit/s capacité: 1Gbit/s bits: 64 bits horloge: 33MHz fonctionnalités: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl8168e-3_0.0.4 03/27/12 latency=0 link=no multicast=yes port=MII speed=10Mbit/s ressources: irq:33 portE/S:d000(taille=256) mémoire:d0004000-d0004fff mémoire:d0000000-d0003fff
ifconfig :
enp3s0 Link encap:Ethernet HWaddr 00:0e:0c:da:3c:5a inet adr:192.168.0.1 Bcast:192.168.0.255 Masque:255.255.255.0 adr inet6: fe80::20e:cff:feda:3c5a/64 Scope:Lien UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Packets reçus:185672 erreurs:0 :0 overruns:0 frame:0 TX packets:231886 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 Octets reçus:76631870 (76.6 MB) Octets transmis:341975128 (341.9 MB) enp3s1 Link encap:Ethernet HWaddr 00:0e:0c:d9:e0:41 inet adr:192.168.1.1 Bcast:192.168.1.255 Masque:255.255.255.0 adr inet6: fe80::20e:cff:fed9:e041/64 Scope:Lien UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 Packets reçus:1863159 erreurs:0 :34 overruns:0 frame:0 TX packets:1266748 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 Octets reçus:1720672498 (1.7 GB) Octets transmis:1690260879 (1.6 GB) enp4s0 Link encap:Ethernet HWaddr bc:5f:f4:37:f4:93 UP BROADCAST MULTICAST MTU:1500 Metric:1 Packets reçus:1020324 erreurs:0 :0 overruns:0 frame:0 TX packets:1453008 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:1000 Octets reçus:854412705 (854.4 MB) Octets transmis:1483575895 (1.4 GB) lo Link encap:Boucle locale inet adr:127.0.0.1 Masque:255.0.0.0 adr inet6: ::1/128 Scope:Hôte UP LOOPBACK RUNNING MTU:65536 Metric:1 Packets reçus:1296152 erreurs:0 :0 overruns:0 frame:0 TX packets:1296152 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 lg file transmission:0 Octets reçus:95926806 (95.9 MB) Octets transmis:95926806 (95.9 MB)
interfaces :
# interfaces(5) file used by ifup(8) and ifdown(8) auto lo iface lo inet loopback post-up iptables restore < /etc/iptables-rules.save
iptables :
------------------------------------------ iptables -L ------------------------------------------ Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination ACCEPT all -- anywhere anywhere ACCEPT all -- anywhere anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination ------------------------------------------ iptables -L -t nat ------------------------------------------ Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- anywhere anywhere MASQUERADE all -- anywhere anywhere ------------------------------------------ iptables -L -t mangle ------------------------------------------ Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination ------------------------------------------ iptables --list-rules ------------------------------------------ -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -A FORWARD -i enp3s1 -j ACCEPT -A FORWARD -i enp3s0 -j ACCEPT ------------------------------------------ iptables --list-rules -t nat ------------------------------------------ -P PREROUTING ACCEPT -P INPUT ACCEPT -P OUTPUT ACCEPT -P POSTROUTING ACCEPT -A POSTROUTING -o enp3s0 -j MASQUERADE -A POSTROUTING -o enp3s1 -j MASQUERADE ------------------------------------------ iptables --list-rules -t mangle ------------------------------------------ -P PREROUTING ACCEPT -P INPUT ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT -P POSTROUTING ACCEPT ------------------------------------------
La question:
Que puis-je faire pour stabilisé cette latence, à savoir que j'ai de GROS débit de données à géré ( J'entend par la des centaines de Gigo, voir les bons jours des téras... et oui vous avez bien lus des téras !!! )
Je serais donc éternellement reconnaissant à qui pourra me dire déjà d'où provient le problème (Carte Ethernet, configuration du routeur, Bios...) et encore mieux comment résoudre le problème.
Si besoin de plus d'information, merci de me préciser la commande à tapé pour que je puisse vous faire parvenir l'output.
Cordialement,
Toktok
P.S: je sais que la config de iptables n'est pas tout à fait correct (all accept) (je n'ai pas encore eu le temps de m'y pencher...) cependant si vous avez des infos ou des tuyaux pour la bonne configuration de cette dernière en tant que routeur de je suis également preneur ! Sachant que j'ai déja lue la doc officiel du site sur le sujet. Merci !!!
EDIT: Petite précision d'importance ! Lorsque je désactive le réseaux depuis l'interface graphique du Network-Manager, et que je la réactive quelques seconde après je retrouve souvent (mais pas toujours) des temps de latence acceptable (< 1ms) durant un temps incertain...
Dernière modification par Toktok (Le 25/01/2016, à 12:00)
Hors ligne
#2 Le 25/01/2016, à 16:22
- Toktok
Re : Carte ethernet à latence variable
Re-bonjours,
Après quelques recherche supplémentaire sur les pilotes lié à ces cartes j'ai remarquer que la version prise en charge par le noyaux n'étais pas la dernière (il me semble)...
Voici la sortie de ethtool --driver enp3s0 et enp3s1:
driver: e1000
version: 7.3.21-k8-NAPI
firmware-version:
bus-info: 0000:03:00.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
driver: e1000
version: 7.3.21-k8-NAPI
firmware-version:
bus-info: 0000:03:01.0
supports-statistics: yes
supports-test: yes
supports-eeprom-access: yes
supports-register-dump: yes
supports-priv-flags: no
Sachant que le driver sur le site d'Intel est à la version 8.0.35 !
Cependant, et c'est la où c'est énervant...
Quand je tente de faire "make install" dans le dossier /src du driver 8.0.35 télécharger depuis le site d'Intel... J'obtiens un jolie message d'erreur au combien frustrant !
/bin/sh: 1: [: -ge: unexpected operator
Makefile:198: *** *** Aborting the build. *** This driver is not supported on kernel versions older than 2.4.0. Arrêt.
... Ce driver n'est pas prévus pour un noyaux supérieur a 2.4.0 (sachant que je suis en 4.2.0)
D'où ma question :
Comment faire pour mettre à jours ce driver prévus pour un vieux noyaux ??? Ou...
mieux vaut-il que j'achète deux nouvelles carte Ethernet plus récente en priant que leurs drivers soient compatibles et qu'elles marcheront correctement sous Linux ???
Hors ligne
Pages : 1