Route d'optimisation du système de commutation développée par Tencent

1. Présentation de Tencent NOS

SONiC est un système d'exploitation réseau open source basé sur Linux qui fonctionne sur des commutateurs de plusieurs fournisseurs et ASIC. SONiC propose une suite complète de fonctionnalités réseau, telles que BGP et RDMA, qui ont été renforcées en production dans les centres de données de certains des plus grands fournisseurs de services cloud. Il offre aux équipes la flexibilité de créer les solutions réseau dont elles ont besoin tout en tirant parti de la force collective d'un vaste écosystème et d'une grande communauté.

De:

https://www.opencompute.org/projects/sonic

Le commutateur auto-développé de Tencent adopte le matériel de boîte blanche + le modèle NOS auto-développé, basé sur le Tencent NOS développé par SONiC (Software for Open Networking in the Cloud), et s'engage à créer un système d'entreprise de réseau autonome et contrôlable haute performance, hautement fiable et intelligent , De nombreuses optimisations importantes ont été apportées au système aux niveaux de la surveillance, de la gestion, du contrôle et de la transmission.

Figure 1. DCN autonome et contrôlable

Tencent NOS hérite des principaux avantages de SONiC, notamment:

1. Noyau Linux: Comparé au noyau dédié aux systèmes embarqués utilisés dans les commutateurs traditionnels, les outils matures Linux et une bonne écologie apportent une bonne expérience au développement et à la maintenance des commutateurs;

2. Base de données centrale: en utilisant la base de données redis comme bus de données du système, les composants communiquent entre eux en publiant / souscrivant à la base de données. Les applications n'ont qu'à publier / souscrire les données qui les intéressent sans prêter attention aux détails d'implémentation non pertinents pour la fonction, ce qui évite effectivement Couplage entre composants;

3. Déploiement conteneurisé: les processus utilisateur sont déployés dans docker selon le principe de la cohésion commerciale, les fonctions peuvent être libérées et testées indépendamment, et le déploiement ou les mises à niveau des applications peuvent être effectués sans temps d'arrêt, ce qui permet une itération rapide;

Figure 2. Architecture de Tencent NOS

Grâce à la bonne architecture système, les applications réseau basées sur APP peuvent être rapidement vérifiées et déployées sur Tencent NOS. Afin de mieux soutenir l'entreprise, les commutateurs développés par Tencent ont beaucoup travaillé avec les équipes de gestion, d'exploitation et de maintenance du réseau et d'architecture.

2. Innovation dans le plan de surveillance

Avec le développement commercial en plein essor, des technologies telles que le Big Data, l'IA et le RDMA (Remote Direct Memory Access) ont été largement utilisées. Bien que le trafic des centres de données continue de croître rapidement, il pose également des défis de plus en plus importants pour les capacités d'exploitation du réseau. Comment évaluer avec précision la qualité du réseau? Comment localiser rapidement les défauts du réseau? Comment éliminer les pannes du réseau avant la prise de conscience de l'entreprise? Pour ces questions, nous trouverons des réponses grâce à l'innovation du plan de surveillance du réseau.

2.1 Netsense

图 3. Les pannes de réseau sont la norme plutôt que l'exception

Dans les grands réseaux de centres de données, les pannes sont presque inévitables. Avec le développement continu des services, les exigences de localisation des défauts de réseau sont de plus en plus élevées. Les centres de données traditionnels utilisent généralement pingmesh pour localiser les pannes, mais il existe des limitations:

1. Pingmesh peut uniquement détecter si deux éléments du réseau sont accessibles et ne peut pas localiser avec précision les périphériques et les liaisons défectueux;

2. L'efficacité de l'algorithme de pingmesh est difficile de répondre à la demande de performances de couverture de l'ensemble de la topologie du réseau;

3. Le message de détection ne peut pas simuler le chemin de transfert réel et la file d'attente du message de service dans le réseau;

Afin de résoudre ces problèmes, nous avons développé la fonction Netsense pour construire une matrice de détection raisonnable à travers l' algorithme déployé sur le contrôleur, ce qui améliore considérablement l'efficacité de la couverture de chemin . Le processus global de détection est le suivant:

1. Le contrôleur confirme la liste des nœuds cibles de détection via l'algorithme, annonce les informations du message de l'agent et lance la détection;

2. L'agent déployé sur le commutateur d'accès construit un message de détection en fonction des informations annoncées par le contrôleur et envoie un flux de détection au nœud cible. Le message de détection sera transmis via le pipeline de puces du nœud source et couvrira que le trafic de service peut passer par tous les ports / queue;

3. Les messages de détection sont transférés un par un dans le réseau, et finalement retournés au nœud source de détection. Le nœud source signale les informations de flux de détection avec un taux de perte de paquets élevé ou un retard important au contrôleur;

4. Le contrôleur localise le dispositif / lien défectueux en fonction de la correspondance croisée des dispositifs passant par le flux de détection anormal;

Figure 4. Description de la solution Netsense

Après avoir terminé la première phase du déploiement de netsense, l'efficacité de la localisation des pannes du réseau a été considérablement améliorée:

1. Rapide et précis: trouvez les défauts en moins d'une seconde et localisez avec précision les nœuds défectueux ou les liaisons défectueuses;

2. Méthode flexible: la couverture de surveillance peut être ajustée librement, prenant en charge la détection et la détection en temps réel de flux d'arrière-plan de haute précision entre les nœuds désignés;

3. Couverture complète: il peut détecter une variété d'anomalies, y compris le routage des trous noirs, le retournement des éléments de table, le filtrage ACL, le port simple passe et le délai de transmission élevé;

2.2 MOD

Les commutateurs traditionnels ont toujours été une boîte noire pour le personnel d'exploitation et de maintenance.Une fois la perte de paquets se produit, le personnel professionnel et technique ne peut localiser la cause que par un débogage complexe. Afin de ne pas nuire à l'entreprise, le personnel d'exploitation et de maintenance choisit généralement d'isoler l'équipement défectueux. De cette manière, il est facile d'endommager le site et le défaut non reproductible ne peut pas être résolu à temps, ce qui devient un danger caché dans le réseau.

Les commutateurs auto-développés de Tencent sont basés sur des puces grand public et prennent en charge les fonctions MOD, qui peuvent capturer les événements de perte de paquets courants de la puce (tels que les échecs de route, les erreurs MTU, etc.) en temps réel, et envoyer les informations sur le périphérique et la cause de la perte de paquets au serveur de surveillance. Sur cette base, des mesures de réponse rapide peuvent être prises. Pour les raisons de perte de paquets que la puce ne peut pas signaler les événements MOD, la télémétrie peut également être utilisée pour obtenir une collecte de haute précision et notifier la plate-forme de surveillance du réseau pour obtenir une couverture complète de la perte de paquets sur le plan de transfert de la puce.

图 5. Miroir en baisse

2.3 Solution de surveillance tridimensionnelle

En plus de netsense et MOD mentionnés ci-dessus, nous prenons également en charge INT, la télémétrie et le BFD de haute précision. Grâce à la combinaison organique de ces fonctions, basée sur le commutateur développé par Tencent et le système de surveillance de réseau, un ensemble de solutions de surveillance en trois dimensions a été créé pour couvrir entièrement les éléments clés des pannes de réseau:

1. Qui a perdu le paquet: MOD signale le service de perte de paquets et le délai de rapport INT augmente

2. Où est-il perdu: Netsense détecte les nœuds / liaisons défectueux et BFD signale l'état de la session

3. Pourquoi est-il perdu: le MOD signale la raison de la perte de paquets et la télémétrie recueille les informations sur les appareils avec une grande précision

Figure 6. Solution de surveillance tridimensionnelle

En nous appuyant sur les capacités de la plate-forme fournies par la solution de surveillance tridimensionnelle, nous pouvons surveiller efficacement l'état du réseau en temps réel, évaluer avec précision la qualité du réseau, et les nœuds / liaisons qui échouent et la cause de la panne peuvent être localisés rapidement et avec précision. Bientôt, nous aurons un système d'entreprise de réseau intelligent avec une auto-réparation rapide des pannes + des capacités de planification précises.

Troisièmement, la percée du plan de gestion

En 2019, les capacités de service d'infrastructure de Tencent sont entrées dans la «Double Hundred Era» (le nombre de serveurs dépassait 100W, et dans le même temps, la bande passante maximale de Tencent Cloud dépassait 100T), et ses services et son trafic sont entrés dans le premier échelon mondial. Les changements quantitatifs conduisent à des changements qualitatifs. L'échelle des équipements massifs pose de nouvelles exigences sur le plan de la gestion du réseau:

1. La gestion des équipements de réseau doit être normalisée / automatisée ;

2. Le système de réseau doit être livré fréquemment et déployé en continu ;

3. Le commutateur / serveur doit partager l'écologie de fonctionnement ;

3.1 Plateforme de gestion unifiée

Grâce à la configuration CLI + SNMP pour collecter des informations, il a été prouvé par une pratique à long terme qu'il ne peut pas répondre correctement à la demande en termes de performances, d'efficacité et de capacités d'automatisation.

1. Performances médiocres: la fréquence de collecte des informations SNMP est de 1 à 5 minutes, ce qui ne peut pas répondre aux exigences de seconde / milliseconde des scénarios RDMA;

2. Faible efficacité: il faut généralement 100 à 200 ms pour exécuter une commande CLI et la livraison de la configuration par lots ne peut pas être exécutée;

3. Non universel: les différences d'implémentation CLI et les MIB privées de différents fournisseurs apportent un travail d'adaptation supplémentaire;

Les exigences de gestion du système d'exploitation et de maintenance du réseau pour le commutateur peuvent être extraites dans Get (obtenir activement des informations d'état et de configuration, telles que la configuration BGP / le flux d'interface / la longueur de la file d'attente de la mémoire tampon / la perte de paquets, etc.), Set (émission de configuration, comme la limite d'eau / port de tampon Shutdown et autres actions quotidiennes de changement d'activité), Push (informations signalées de manière proactive par l'appareil, y compris les informations de surveillance quotidiennes périodiquement poussées et les événements déclenchés par touches poussées, etc.).

Figure 7. Cadre de haute performance

Afin de répondre aux besoins de déploiement à grande échelle et de fonctionnement et de maintenance automatisés, et en adhérant au principe «convivial pour les personnes et plus respectueux des machines», nous construisons une plateforme de gestion unifiée basée sur un cadre de haute performance:

1. Utilisez un modèle YANG unifié, pas besoin d'adapter CLI ou MIB;

2. En utilisant le cadre gRPC mature de l'industrie, les performances et la sécurité sont garanties;

3. Utilisez json qui est plus adapté à l'identification de la machine pour remplacer les chaînes CLI et prendre en charge la livraison de configuration par lots;

3.2 Mise à niveau complète sans perte

DevOps est une tendance dans les opérations. Sur les commutateurs traditionnels, la publication de version est une activité impliquant plusieurs équipes, une pression élevée et un risque élevé. Ce modèle est évidemment insatisfaisant - nous espérons que le réseau a la capacité de livraison et de déploiement continus afin de pouvoir répondre aux exigences des opérateurs pour une meilleure fiabilité et sécurité, et publier des fonctionnalités plus rapidement et mieux pour répondre à un développement rapide. Les besoins complexes et changeants apportés par l'entreprise de

Pour ce faire, la base technique clé est la mise à niveau non destructive. Afin d'améliorer la disponibilité du système, de la technologie de correctif pour la réparation des défauts au niveau des fonctions, au traitement des correctifs à chaud, au redémarrage à chaud au niveau du docker et au redémarrage à chaud au niveau du système. Les commutateurs développés par Tencent ont fait beaucoup de travail en termes de mises à niveau sans perte afin que nous puissions mettre à niveau en toute sécurité n'importe quel coin du système dans l'environnement de production.

Désormais, nous pouvons même réparer / mettre à niveau le SDK / SAI sans aucune interruption du plan de contrôle et du plan de transfert. La mise à niveau du système d'entreprise réseau est devenue aussi simple qu'une mise à niveau APP sur un téléphone mobile. Nous pouvons réduire la portée des changements grâce à des versions plus fréquentes. Étant donné que chaque déploiement n'aura pas un impact énorme sur le système de production, diverses applications réseau peuvent être itérées rapidement et se développer progressivement à un rythme régulier.

Figure 8. Mise à niveau complète sans perte

3.3 Conception matérielle avec séparation de la gestion et du contrôle

Les commutateurs traditionnels ne peuvent être isolés / récupérés que par le personnel de gestion entrant dans la salle informatique pour effectuer des opérations de mise hors tension lorsque l'équipement est anormalement incapable de se connecter, ce qui entraînera une interruption de l'activité à long terme. Le commutateur auto-développé de Tencent introduit BMC dans la conception matérielle pour gérer l'équipement, sépare le canal de gestion du canal de contrôle, et le commutateur et le serveur partagent l'écologie de fonctionnement, véritablement Switch-as-a-Server.

Figure 9. Conception matérielle avec séparation de la gestion et du contrôle

Quatrièmement, optimisation du plan de contrôle / expédition

Pour le plan de contrôle traditionnel et le plan de transport, nous n'avons que deux objectifs: hautes performances + haute fiabilité.

4.1 BFD de haute précision

Figure 10. Contournement du noyau Linux

En tant que package de composants de protocole de routage utilisé par défaut par SONiC, FRR prend en charge les fonctionnalités BFD à partir de la version 6.0. Pendant longtemps, les performances BFD obtenues par logiciel ont été difficiles à gérer dans des scénarios nécessitant un grand nombre de sessions comme l'interconnexion de campus, et il n'est souvent possible de faire des compromis qu'en réduisant la précision de détection.

La solution matérielle BFD est une solution optionnelle, mais elle repose trop sur l'implémentation de la puce. D'une part, elle est difficile à mûrir en peu de temps. D'autre part, elle impose également de grandes restrictions sur les capacités de migration multi-plateforme / produit des fonctionnalités. Tencent NOS utilise un canal de contournement indépendant du noyau Linux et un puissant processeur X86 pour obtenir une solution logicielle BFD avec une précision de détection comparable à celle du matériel BFD .

Avoir un canal de contournement du noyau Linux ne nous aidera pas seulement dans le BFD de haute précision, dans de nombreux scénarios futurs, les puissantes capacités d'envoi et de réception de trames du plan de contrôle du système continueront également de nous être utiles.

4.2 Algorithme de routage centralisé

BGP est actuellement le protocole de routage préféré pour la création de réseaux sous-jacents dans les centres de données. Comparé aux réseaux traditionnels construits avec des protocoles IGP, BGP présente des avantages évidents dans de nombreux aspects tels que la fiabilité, les performances et les capacités d'évolutivité. Cependant, en raison des limitations naturelles du protocole, BGP a toujours eu de mauvais résultats en termes de convergence des échecs entre sauts.

L'algorithme de routage centralisé lancé conjointement par l'équipe de commutation auto-développée de Tencent et l'Université du Hunan peut améliorer efficacement les performances de convergence des pannes des réseaux de centres de données. Sur la base de l'architecture réseau claire, nous pouvons organiser régulièrement les liens et les chemins, établir une relation de mappage lien-chemin et enregistrer la plage de chemins affectés par celui-ci dans la table de liens. Lorsque l'état du lien change, via la relation de mappage de lien et de chemin, recherchez rapidement tous les chemins affectés et mettez à jour les informations de routage pertinentes.

En déployant un algorithme de routage centralisé, nous avons réussi à améliorer les performances de convergence BGP cross-hop du deuxième niveau à moins de 200 ms sans apporter de modifications à l'architecture réseau existante . À l'avenir, sur la base de la connaissance de la topologie de l'algorithme de routage centralisé, nous pouvons également combiner la plate-forme de surveillance tridimensionnelle pour créer une planification plus raffinée en fonction du flux.

Figure 11. Déploiement d'algorithme centralisé

4.3 Désinstallation matérielle de la passerelle

Avec le développement rapide de Tencent Cloud, chaque région devra transporter des dizaines de millions d'accès VPC à l'avenir, et l'ensemble du réseau aura des centaines de millions de spécifications de routage. Dans le même temps, la bande passante d'exportation du réseau public a atteint le niveau 100T. Les tables de routage ultra-larges et les performances de transfert ultra-élevées nécessitent une combinaison de logiciels et de matériel pour satisfaire l'équilibre entre la flexibilité de l'entreprise, l'évolutivité du réseau et le coût.

Les commutateurs développés par Tencent ont étendu le plan de transfert pour prendre en charge VXLAN. Une fois que le système reconnaît le flux d'éléphants, le contrôleur enverra une table de flux au commutateur pour décharger le trafic et améliorer les performances de transfert globales et le débit du système grâce à l'accélération matérielle.

Figure 12. Architecture globale du déchargement du matériel de passerelle

5. Regard vers l'avenir

À l'heure actuelle, les commutateurs développés par Tencent fonctionnent de manière stable depuis près d'un an, améliorant considérablement la fiabilité et l'efficacité opérationnelle du système de réseau, et assurant les services clés de Tencent Cloud pendant l'épidémie, qui a résisté au test. Le déploiement à grande échelle de commutateurs auto-développés a permis de construire avec succès un réseau de centre de données indépendant et contrôlable.

En juillet 2020, le matériel de commutation 200G / 400G développé sur la base d'une nouvelle génération de puces programmables sera allumé.Grâce à l'expansion de la programmabilité des puces, nous aurons la possibilité de fournir des services dans des scénarios de passerelle et DCI plus complexes. Avec l'avancement progressif du plan d'auto-recherche de bout en bout du réseau, les commutateurs auto-développés par Tencent apparaîtront dans de plus en plus de scénarios, et le réseau auto-développé par Tencent né pour le cloud nous apportera plus de surprises à l'avenir.

Matériel de référence:

  • Architecture SONiC -https: //github.com/Azure/SONiC/wiki/Architecture

  • Peng, Yanghua et coll. "deTector: un système de surveillance sensible à la topologie pour les réseaux de centres de données." Conférence technique annuelle USENIX 2017 (USENIX ATC 17). 2017.

  • Primus: routage centralisé rapide et robuste pour les réseaux de centres de données à grande échelle.

Je suppose que tu aimes

Origine blog.csdn.net/Tencent_TEG/article/details/108656067
conseillé
Classement