Contenu

Introduction

Informations générales

Aperçu de la question

Produit de délai de bande passante

Vérification

Solution

Comment indiquer le temps de trajet aller-retour (RTT) entre deux sites ?

Introduction

Ce document décrit le problème associé au réseau à haute vitesse et à haute latence. Il dérive une formule BDP pour calculer l’utilisation réelle de la bande passante dans une condition donnée.

Informations générales

Comme un nombre croissant d'entreprises ont ou sont en train de construire des data centers géographiquement dispersés et d'interconnecter les data centers via une liaison à haut débit. Les besoins d'une meilleure utilisation de la bande passante augmentent.

Le BDP (Bandwidth-Delay Product) est publié sur Internet depuis plusieurs années. Cependant, il n'y a pas d'exemple concret sur ce que le problème semble être. La formule BDP se concentre sur la taille des fenêtres TCP. Il ne nous permet pas de calculer l'utilisation possible de la bande passante en fonction de la distance. Ce document explique brièvement le PDE et présente le problème et sa résolution. Cet article dérive également une formule pour calculer l'utilisation de la bande passante dans une condition donnée.

Aperçu de la question

Votre entreprise dispose de deux data centers. Votre entreprise sauvegarde les données stratégiques d'un data center à un autre. L'administrateur de sauvegarde a signalé qu'il ne peut pas terminer la sauvegarde dans la fenêtre de sauvegarde en raison de la lenteur du réseau. En tant qu'administrateur réseau, vous êtes chargé d'étudier le problème de lenteur du réseau. Vous connaissez ces facteurs :

- Ces deux data centers sont distants de 1 000 km.

- Ces data centers sont interconnectés via une liaison 1 Gbit/s.

Lors de l'enquête, vous avez remarqué :

- La bande passante disponible est suffisante.

- Il n'y a aucun problème matériel ou logiciel réseau.

- L'application de sauvegarde n'utilise qu'environ 10 Mbits/s de bande passante, même le reste de la bande passante de 990 Mbits/s est gratuit.

- L'application de sauvegarde utilise TCP pour transférer des données.

Produit de délai de bande passante

Pour répondre à la question de l'application de sauvegarde utilise uniquement 10 Mbits/s, il présente le BDP (Bandwidth-Delay Product).

Le BDP se contente de déclarer que :

BDP (bits) = bande passante_disponible_totale (bits/s) x durée_aller_retour (s)

ou, puisque RWIN/BDP est généralement en octets et que la latence est mesurée en millisecondes :

BDP (octets) = bande passante_disponible_totale (Ko/s) x durée_aller_retour (ms)

Cela signifie que la fenêtre TCP est une mémoire tampon qui détermine la quantité de données pouvant être transférée avant que le serveur ne s'arrête et attend les accusés de réception des paquets reçus. Le débit est essentiellement lié par le protocole BDP. Si le BDP (ou RWIN) est inférieur au produit de la latence et de la bande passante disponible, vous ne pouvez pas remplir la ligne car le client ne peut pas renvoyer les accusés de réception assez rapidement. Une transmission ne peut pas dépasser la valeur (RWIN / latence), de sorte que la fenêtre TCP (RWIN) doit être suffisamment grande pour tenir compte du maximum_available_bandwidth x maximum_anticipation_delay.

Avec la formule ci-dessus. La formule de calcul de la bande passante dérivée est la suivante :

Utilisation de la bande passante (Kbits/s)=BDP(octets)/RTT(ms) * 8

Note: Cette formule calcule l'utilisation théorique maximale de la bande passante. Il ne prend pas en compte le temps de transmission des paquets du système d'exploitation, car il comporte de nombreux facteurs, tels que la mémoire disponible, le pilote de la carte réseau, la vitesse de la carte réseau locale, la mémoire cache ou parfois même la vitesse du disque. Par conséquent, lorsque la taille des fenêtres TCP est importante, la bande passante calculée est supérieure à la bande passante réelle. Lorsque la taille des fenêtres TCP est très grande, l’écart peut également être important.

Avec la formule dérivée, vous pouvez répondre à la question de savoir pourquoi l'application de sauvegarde ne peut utiliser que 10 Mbits/s en effectuant un calcul inférieur.

- En règle générale, le RTT pour 1000KM est ~15. Donc RTT=15 ms

- Par défaut, la taille de Windows 2003 du système d'exploitation est de 17 520 octets. BDP = 17 520 octets

- Placez ces chiffres dans la formule :

Utilisation de la bande passante (Kbits/s) = 17520/15*8.

Le résultat est 9 344 Kbits/s ou 9 344 Mbits/s. 9,344 Mbits/s plus en-tête TCP et IP. Le résultat final est d'environ 10 Mbits/s.

Vérification

En tant qu'administrateur réseau, vous avez théoriquement répondu à la question. Maintenant vous devez confirmer la théorie dans le monde réel.

Vous pouvez utiliser n'importe quel outil de test des performances réseau pour confirmer la théorie. Vous avez décidé d'exécuter iperf pour démontrer le problème et la résolution.

Voici la configuration des travaux pratiques :

1. Un serveur du centre de données 1 avec l'adresse IP 10.10.1.1.

2. Un client du centre de données 2 avec l'adresse IP 172.16.2.1.

La topologie est la suivante :

Procédez comme suit pour vérifier :

1. Exécutez iperf3 -s -p 5001 sur 10.10.1.1 pour en faire un serveur et écoutez sur le port TCP 5001.

2. Pour tester avec la taille de fenêtre TCP par défaut 17 520 octets. Exécutez iperf3 -c 10.10.1.1 -i 1 -t 360 -w 17520 -p 5001 sur 172.16.2.1 pour en faire un client. Cette commande indique à iperf de se connecter au serveur sur le port 5001, s'exécute pendant 360 secondes et signale l'utilisation de la bande passante toutes les 1 secondes avec une taille de fenêtre TCP de 17 520 octets.

3. Pour tester avec la taille de fenêtre TCP personnalisée, par exemple 6 553 500 octets, exécutez iperf3 -c 10.10.1.1 -i 1 -t 360 -w 6553500 -p 5001

Il s’agit du résultat du test de TP avec une taille de fenêtre TCP par défaut de 17 520 octets. Vous pouvez voir que l'utilisation de la bande passante est d'environ 10 Mbits/s.

C:\Tools>iperf3.exe  -c 10.10.1.1  -t 360  -p 5001 -i 1 -w 17520

Connecting to host 10.10.1.1, port 5001

[  4] local 172.16.2.1 port 49650 connected to 10.10.1.1 port 5001

[ ID] Interval           Transfer     Bandwidth

[ ID] Interval           Transfer     Bandwidth

[  4]   0.00-1.00   sec  1.30 MBytes  10.9 Mbits/sec

[  4]   1.00-2.02   sec   919 KBytes  7.41 Mbits/sec

[  4]   2.02-3.02   sec  1.28 MBytes  10.7 Mbits/sec

[  4]   3.02-4.02   sec  1.14 MBytes  9.59 Mbits/sec

[  4]   4.02-5.01   sec  1.24 MBytes  10.4 Mbits/sec

[  4]   5.01-6.01   sec  1.33 MBytes  11.3 Mbits/sec

[  4]   6.01-7.01   sec  1.15 MBytes  9.65 Mbits/sec

[  4]   7.01-8.01   sec  1.12 MBytes  9.36 Mbits/sec

[  4]   8.01-9.01   sec  1.22 MBytes  10.3 Mbits/sec

[  4]   9.01-10.01  sec  1.13 MBytes  9.49 Mbits/sec

[  4]  10.01-11.01  sec  1.30 MBytes  10.8 Mbits/sec

[  4]  11.01-12.01  sec  1.17 MBytes  9.84 Mbits/sec

[  4]  12.01-13.01  sec  1.13 MBytes  9.48 Mbits/sec

[  4]  13.01-14.01  sec  1.28 MBytes  10.7 Mbits/sec

[  4]  14.01-15.01  sec  1.40 MBytes  11.8 Mbits/sec

[  4]  15.01-16.01  sec  1.24 MBytes  10.4 Mbits/sec

[  4]  16.01-17.01  sec  1.30 MBytes  10.9 Mbits/sec

[  4]  17.01-18.01  sec  1.17 MBytes  9.78 Mbits/sec

Il s’agit du résultat du test de TP avec une taille de fenêtre TCP de 6 553 500 octets. Vous pouvez voir que l'utilisation de la bande passante est d'environ 200 Mbits/s.

C:\Tools>iperf3.exe  -c 10.10.1.1  -t 360  -p 5001 -i 1 -w 6553500

Connecting to host 10.10.1.1, port 5001

[  4] local 172.16.2.1 port 61492 connected to 10.10.1.1 port 5001

[ ID] Interval           Transfer     Bandwidth

[  4]   0.00-1.00   sec  29.1 MBytes   244 Mbits/sec

[  4]   1.00-2.00   sec  25.4 MBytes   213 Mbits/sec

[  4]   2.00-3.00   sec  26.9 MBytes   226 Mbits/sec

[  4]   3.00-4.00   sec  18.2 MBytes   152 Mbits/sec

[  4]   4.00-5.00   sec  25.8 MBytes   217 Mbits/sec

[  4]   5.00-6.00   sec  28.8 MBytes   241 Mbits/sec

[  4]   6.00-7.00   sec  26.1 MBytes   219 Mbits/sec

[  4]   7.00-8.00   sec  21.1 MBytes   177 Mbits/sec

[  4]   8.00-9.00   sec  22.5 MBytes   189 Mbits/sec

[  4]   9.00-9.42   sec  9.54 MBytes   190 Mbits/sec

Solution

Du point de vue du développement de logiciels, le multithread pour exécuter plusieurs sessions TCP simultanées peut améliorer l'utilisation de la bande passante. Cependant, il n'est pas pratique pour l'administrateur réseau ou système de modifier le code source. Ce que vous pouvez faire est de bien régler le système d'exploitation.

Le document RFC1323 définit plusieurs extensions TCP pour des TCP hautes performances.  Cela inclut l'option d'échelle de fenêtre et ACK sélectif. Elles sont mises en oeuvre par les principaux systèmes d'exploitation. Cependant, par défaut, certains systèmes d'exploitation les désactivent, même la pile TCP/IP est écrite pour les prendre en charge.

- Par défaut, ces systèmes d'exploitation désactivent RFC1323 : Windows 2000, Windows 2003, Windows XP et Linux avec un noyau antérieur à 2.6.8.

Si vous rencontrez le problème sur le système Microsoft Windows, suivez ce lien pour affiner le protocole TCP. https://support.microsoft.com/en-au/kb/224829.

Pour les autres systèmes d'exploitation, reportez-vous à la documentation du fournisseur sur la façon de les configurer.

- Par défaut, ces systèmes d'exploitation activent RFC1323 : Windows 2008 et versions ultérieures, Windows Vista et versions ultérieures, Linux avec noyau 2.6.8 et versions ultérieures. Vous devrez peut-être appliquer des correctifs pour améliorer ces fonctions. Dans certaines circonstances, il est souhaitable de les désactiver. Consultez la documentation du fournisseur pour savoir comment les désactiver.

- Certains appareils sont construits sur Microsoft Windows 2000, Windows 2003 ou un système d'exploitation intégré. par exemple NAS, matériel de soins de santé. Consultez la documentation du fournisseur pour vérifier si RFC1323 est activé ou non.

Comment indiquer le temps de trajet aller-retour (RTT) entre deux sites ?

En général, RTT est associé à la distance. Le tableau ci-dessous répertorie la distance et les RTT correspondants. Vous pouvez également utiliser le test ping pour obtenir une idée sur le RTT dans des conditions normales de réseau.

Distance (KM)

RTT(ms)

1,000

15

4,000

50

8,000

120

Note: Ci-dessus est un guide seulement, le temps réel RTT peut varier. En outre, la latence est affectée par la technologie utilisée. Par exemple, la latence 3G peut être de 100 ms, quelle que soit la distance. C'est vrai aussi pour les satellites.