Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit la fonctionnalité d'optimisation TCP (Transmission Control Protocol) sur les routeurs SD-WAN Cisco IOS® XE, qui a été introduite dans la version 16.12 en août 2019. Les sujets abordés sont les conditions préalables, la description du problème, la solution, les différences dans les algorithmes d'optimisation TCP entre Viptela OS (vEdge) et XE SD-WAN (cEdge), la configuration, la vérification et la liste des documents connexes.
Aucune spécification déterminée n'est requise pour ce document.
Les informations contenues dans ce document sont basées sur Cisco IOS® XE SD-WAN.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Une latence élevée sur une liaison WAN entre deux côtés SD-WAN entraîne une mauvaise performance des applications. Vous avez un trafic TCP critique qui doit être optimisé.
Lorsque vous utilisez la fonctionnalité d'optimisation TCP, vous améliorez le débit TCP moyen pour les flux TCP critiques entre deux sites SD-WAN.
Examinez la vue d'ensemble et les différences entre l'optimisation TCP sur la bande passante et l'aller-retour (BBR) goulot d'étranglement cEdge et vEdge (CUBIC)
L'algorithme de temps de propagation BBR rapide est utilisé dans l'implémentation SD-WAN XE (sur cEdge).
Viptela OS (vEdge) a un algorithme différent, plus ancien, appelé CUBIC.
CUBIC prend principalement en compte la perte de paquets et est largement implémenté sur différents systèmes d'exploitation client. Windows, Linux, MacOS et Android intègrent déjà CUBIC. Dans certains cas, lorsque d'anciens clients exécutent la pile TCP sans CUBIC, l'activation de l'optimisation TCP sur vEdge apporte des améliorations. L'un des exemples, où l'optimisation CUBIC TCP vEdge a bénéficié, concerne les sous-marins qui utilisent d'anciens hôtes clients et des liaisons WAN connaissant des retards/pertes importants. Notez que seuls vEdge 1000 et vEdge 2000 prennent en charge TCP CUBIC.
Le BBR est principalement axé sur le temps d'aller-retour et la latence. Pas en cas de perte de paquets. Si vous envoyez des paquets de l'Ouest américain à la côte Est ou même à l'Europe à travers l'Internet public, dans la majorité des cas, vous ne voyez aucune perte de paquets. L'Internet public est parfois trop bon en termes de perte de paquets. Mais ce que vous voyez est le délai/la latence. Et ce problème est résolu par BBR, qui a été développé par Google en 2016.
En bref, BBR modélise le réseau et examine chaque accusé de réception (ACK) et met à jour la bande passante maximale (BW) et le temps de parcours aller-retour minimum (RTT). Ensuite, l'envoi de contrôle est basé sur le modèle : Pour déterminer la bande passante maximale et la durée de vie minimale, caler près de la bande passante estimée et maintenir la bande passante en vol près de Bandwidth-Delay-Product (BDP). L'objectif principal est de garantir un débit élevé avec une petite file d'attente en goulot d'étranglement.
Cette diapositive de Mark Claypool montre la zone où CUBIC opère :
BBR fonctionne dans un meilleur endroit, qui est montré dans cette diapositive également de Mark Claypool :
Si vous voulez en savoir plus sur l'algorithme BBR, vous pouvez trouver plusieurs publications sur BBR liées en haut de la page d'accueil de la liste de diffusion bbr-dev Ici.
En résumé :
Plateforme et algorithme |
Paramètre d'entrée clé | Scénario |
cEdge (XE SD-WAN) : BARRE | RTT/Latence | Trafic TCP critique entre deux sites SD-WAN |
vEdge (Viptela OS) : CUBIQUE | La perte de paquets | Anciens clients sans optimisation TCP |
Dans le logiciel XE SD-WAN version 16.12.1d, ces plates-formes cEdge prennent en charge l'optimisation TCP BBR :
Note: ASR1k ne prend actuellement pas en charge l'optimisation TCP. Cependant, il existe une solution pour ASR1k, où l'ASR1k envoie le trafic TCP via le tunnel AppNav (encapsulé GRE) à un CSR1kv externe pour l'optimisation. Actuellement (février 2020), un seul noeud CSR1k en tant que noeud de service externe est pris en charge. Ceci est décrit plus loin dans la section de configuration.
Ce tableau récapitule les mises en garde par version et souligne les plates-formes matérielles prises en charge :
Scénarios |
Scénarios : |
16.12.1 |
17.2.1 |
17.3.1 |
17.4.1 |
Commentaires |
Connexion de filiale à Internet |
DIA |
Non |
Oui |
Oui |
Oui |
Dans 16.12.1, AppQoE FIA n'est pas activé sur l'interface Internet |
SAAS |
Non |
Oui |
Oui |
Oui |
Dans 16.12.1, AppQoE FIA n'est pas activé sur l'interface Internet |
|
Branche vers DC |
Routeur de périphérie unique |
Non |
Non |
GAUCHE |
Oui |
Nécessité de prendre en charge plusieurs SN |
Routeurs de périphérie multiples |
Non |
Non |
GAUCHE |
Oui |
Symétrie de flux ou synchronisation de flux Appnav requise. 16.12.1 non testé avec |
|
Plusieurs SN |
Non |
Non |
GAUCHE |
Oui |
Amélioration de vManage pour accepter plusieurs IP SN |
|
De filiale à filiale |
Réseau à maillage global (satellite à satellite) |
Oui |
Oui |
Oui |
Oui |
|
hub-and-spoke (Spoke-Hub-Spoke) |
Non |
Oui |
Oui |
Oui |
||
Support BBR |
Option TCP avec BBR |
Partiel | Partiel |
Complet |
Complet |
|
Plates-formes |
Plates-formes prises en charge |
Uniquement 4300 et CSR |
Tous sauf ISR1100 |
all |
all |
Un concept de SN et CN est utilisé pour l'optimisation TCP :
Les noeuds SN et CN peuvent être exécutés sur le même routeur ou séparés en tant que noeuds différents.
Il existe deux cas d'utilisation principaux :
Les deux cas d'utilisation sont décrits dans cette section.
Cette image présente l'architecture interne globale d'une seule option autonome dans une filiale :
Étape 1. Pour configurer l'optimisation TCP, vous devez créer un modèle de fonction pour l'optimisation TCP dans vManage. Accédez à Configuration > Templates > Feature Templates > Other Templates > AppQoE comme indiqué dans l'image.
Étape 2. Ajoutez le modèle de fonctionnalité AppQoE au modèle de périphérique approprié sous Modèles supplémentaires :
Voici l'aperçu CLI de la configuration du modèle :
service-insertion service-node-group appqoe SNG-APPQOE
service-node 192.3.3.2
!
service-insertion appnav-controller-group appqoe ACG-APPQOE
appnav-controller 192.3.3.1
!
service-insertion service-context appqoe/1
appnav-controller-group ACG-APPQOE
service-node-group SNG-APPQOE
vrf global
enable
! !
interface VirtualPortGroup2
ip address 192.3.3.1 255.255.255.0
no mop enabled
no mop sysid
service-insertion appqoe
!
Étape 3 : création d’une politique de données centralisée avec la définition du trafic TCP intéressant à des fins d’optimisation
À titre d'exemple ; cette stratégie de données correspond au préfixe IP 10.0.0.0/8, qui inclut les adresses source et de destination, et permet l'optimisation TCP pour celui-ci :
Voici l'aperçu CLI de la politique vSmart :
policy data-policy _vpn-list-vpn1_TCPOpt_1758410684 vpn-list vpn-list-vpn1 sequence 1 match destination-ip 10.0.0.0/8 ! action accept tcp-optimization ! ! default-action accept ! lists site-list TCPOpt-sites site-id 211 site-id 212 ! vpn-list vpn-list-vpn1 vpn 1 ! ! ! apply-policy site-list TCPOpt-sites data-policy _vpn-list-vpn1_TCPOpt_1758410684 all ! !
La principale différence par rapport au cas d'utilisation d'une succursale est la séparation physique du SN et du CN. Dans le cas d'une filiale tout-en-un, la connectivité s'effectue au sein du même routeur à l'aide de l'interface de groupe de ports virtuels. Dans l'exemple d'utilisation de data center, il existe un tunnel encapsulé GRE AppNav entre ASR1k agissant comme CN et CSR1k externe fonctionnant comme SN. Il n'est pas nécessaire de disposer d'une liaison dédiée ou d'une interconnexion entre le CN et le SN externe, une simple accessibilité IP suffit.
Il y a un tunnel AppNav (GRE) par SN. Pour une utilisation ultérieure, lorsque plusieurs numéros de série sont pris en charge, il est recommandé d'utiliser le sous-réseau /28 pour le réseau entre CN et SN.
Deux cartes réseau sont recommandées sur un CSR1k agissant en tant que SN. Une deuxième carte réseau pour contrôleur SD-WAN est nécessaire si le SN doit être configuré/géré par vManage. Si le SN doit être configuré/géré manuellement, la deuxième carte réseau est facultative.
Cette image montre le noeud de service ASR1k de centre de données exécuté en tant que CN et CSR1kv en tant que SN de noeud de service :
La topologie de l'exemple d'utilisation du data center avec ASR1k et CSR1k externe est présentée ici :
Ce modèle de fonctionnalité AppQoE affiche ASR1k configuré en tant que contrôleur :
CSR1k configuré en tant que noeud de service externe est affiché ici :
Basculement dans l'exemple d'utilisation du data center avec CSR1k agissant en tant que SN, en cas de défaillance externe de CSR1k :
La détection de basculement est basée sur le heartbeat AppNav, qui est de 1 battement par seconde. Après 3 ou 4 erreurs, le tunnel est déclaré hors service.
Le basculement dans le cas d'utilisation d'une succursale est similaire : en cas de défaillance du numéro de série, le trafic est envoyé non optimisé directement à la destination.
Utilisez cette section pour confirmer que votre configuration fonctionne correctement.
Vérifiez l'optimisation TCP sur CLI à l'aide de cette commande CLI et consultez le résumé des flux optimisés :
BR11-CSR1k#show plat hardware qfp active feature sdwan datapath appqoe summary TCPOPT summary ---------------- optimized flows : 2 expired flows : 6033 matched flows : 0 divert pkts : 0 bypass pkts : 0 drop pkts : 0 inject pkts : 20959382 error pkts : 88
BR11-CSR1k#
Cette sortie donne des informations détaillées sur les flux optimisés :
BR11-CSR1k#show platform hardware qfp active flow fos-to-print all ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ GLOBAL CFT ~ Max Flows:2000000 Buckets Num:4000000 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Filtering parameters: IP1 : ANY Port1 : ANY IP2 : ANY Port2 : ANY Vrf id : ANY Application: ANY TC id: ANY DST Interface id: ANY L3 protocol : IPV4/IPV6 L4 protocol : TCP/UDP/ICMP/ICMPV6 Flow type : ANY Output parameters: Print CFT internal data ? No Only print summary ? No Asymmetric : ANY ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ keyID: SrcIP SrcPort DstIP DstPort L3-Protocol L4-Protocol vrfID ================================================================== key #0: 192.168.25.254 26113 192.168.25.11 22 IPv4 TCP 3 key #1: 192.168.25.11 22 192.168.25.254 26113 IPv4 TCP 3 ================================================================== key #0: 192.168.25.254 26173 192.168.25.11 22 IPv4 TCP 3 key #1: 192.168.25.11 22 192.168.25.254 26173 IPv4 TCP 3 ================================================================== key #0: 10.212.1.10 52255 10.211.1.10 8089 IPv4 TCP 2 key #1: 10.211.1.10 8089 10.212.1.10 52255 IPv4 TCP 2 Data for FO with id: 2 ------------------------- appqoe: flow action DIVERT, svc_idx 0, divert pkt_cnt 1, bypass pkt_cnt 0, drop pkt_cnt 0, inject pkt_cnt 1, error pkt_cnt 0, ingress_intf Tunnel2, egress_intf GigabitEthernet3 ================================================================== key #0: 10.212.1.10 52254 10.211.1.10 8089 IPv4 TCP 2 key #1: 10.211.1.10 8089 10.212.1.10 52254 IPv4 TCP 2 Data for FO with id: 2 ------------------------- appqoe: flow action DIVERT, svc_idx 0, divert pkt_cnt 158, bypass pkt_cnt 0, drop pkt_cnt 0, inject pkt_cnt 243, error pkt_cnt 0, ingress_intf Tunnel2, egress_intf GigabitEthernet3 ================================================================== ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Number of flows that passed filter: 4 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ FLOWS DUMP DONE. ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ BR11-CSR1k#
Il n'existe actuellement aucune information de dépannage spécifique pour cette configuration.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
29-Jan-2020 |
Première publication |