Comment équilibrer la charge des services basés sur le protocole RTSP

Voir les catégories

Comment équilibrer la charge des services basés sur le protocole RTSP

4 min de lecture

Qu'est-ce que le protocole RTSP ? #

RTSP, ou Real-Time Streaming Protocol, est un protocole de communication réseau principalement conçu pour contrôler et diffuser des médias en streaming, tels que du contenu audio et vidéo, sur Internet. Il fonctionne comme un cadre de communication client-serveur, permettant aux clients de demander et de contrôler la transmission en temps réel des données multimédias depuis les serveurs. RTSP est souvent utilisé en conjonction avec d'autres protocoles de streaming, comme RTP (Real-Time Transport Protocol), pour diffuser efficacement du contenu multimédia.

Pour utiliser RTSP, un client lance une session en envoyant des requêtes à un serveur multimédia. Ces demandes peuvent inclure des actions telles que la lecture, la pause, l'arrêt et l'enregistrement, permettant aux utilisateurs d'interagir avec le contenu multimédia en streaming. RTSP fournit un moyen flexible d'accès et de contrôle du contenu multimédia, ce qui en fait un composant essentiel des applications telles que la vidéoconférence, les systèmes de surveillance IP et les services de streaming en ligne. Il est important de noter que même si RTSP gère l'aspect contrôle du streaming, la transmission réelle des données peut être gérée par un protocole distinct tel que RTP, qui fonctionne en tandem avec RTSP pour garantir une diffusion multimédia transparente.

Quelles industries utilisent le RTSP ? #

RTSP (Real-Time Streaming Protocol) est utilisé dans diverses industries et applications impliquant la diffusion et le contrôle multimédia en temps réel. Certaines des industries et secteurs qui utilisent couramment le RTSP comprennent :

Divertissement et médias: Les services de streaming en ligne, les plateformes de vidéo à la demande et la diffusion en direct utilisent RTSP pour fournir du contenu audio et vidéo aux utilisateurs.

Vidéoconférence et télécommunications: De nombreux systèmes de visioconférence et applications de télécommunication utilisent RTSP pour permettre une communication vidéo et audio en temps réel entre les participants.

Sécurité et surveillance: Les caméras de sécurité et les systèmes de surveillance basés sur IP utilisent souvent RTSP pour transmettre des flux vidéo en direct, permettant ainsi la surveillance et le contrôle à distance.

Gaming et bornes de jeux: Les plateformes de jeux en ligne peuvent utiliser RTSP pour diffuser du contenu dans le jeu, tel que des jeux en direct ou des expériences interactives.

Éducation: Les plateformes d'apprentissage en ligne et les classes virtuelles utilisent RTSP pour diffuser du contenu éducatif en direct ou préenregistré, facilitant ainsi l'apprentissage à distance.

Santé: Les applications de télémédecine et de soins de santé à distance peuvent utiliser RTSP pour des consultations vidéo en temps réel et le partage d'images médicales.

Industriel et manufacturier: La surveillance et le contrôle à distance des processus industriels peuvent utiliser RTSP pour les flux vidéo et le partage de données afin d'améliorer l'efficacité opérationnelle.

Aérospatiale et défense: RTSP peut être utilisé dans des applications de défense pour les flux vidéo en temps réel provenant de véhicules aériens sans pilote (UAV) et de systèmes de surveillance.

Vente au détail et marketing: Certains commerces de détail utilisent RTSP pour des démonstrations de produits en direct, de la publicité vidéo et un engagement client interactif.

Transports: Les systèmes de transports publics, tels que les stations de métro et les aéroports, peuvent utiliser RTSP pour les flux vidéo en direct à des fins de sécurité et d'informations sur les passagers.

Éléments internes du protocole RTSP #

Analysons les composants internes du protocole RTSP lorsqu'il est utilisé derrière un équilibreur de charge.

1. Le client initie une connexion RTSP basée sur TCP vers le VIP du côté entrant de l'équilibreur de charge, généralement servi dans le port 554.

2. Le client et le backend échangent des messages d'en-tête OPTIONS, SETUP et DESCRIBE pour se mettre d'accord sur les mécanismes de livraison RTP et RTCP, entre autres paramètres.

3. Le client envoie un paquet PLAY pour commander au service virtuel de commencer la livraison des trames RTP et RTCP basées sur UDP contenant respectivement les données et le contrôle.

4. Ensuite, le backend initie la livraison RTP basée sur UDP (ou TCP), l'équilibreur de charge peut comprendre ce trafic (si dNAT est utilisé) ou non (si DSR est utilisé).

Comment équilibrer la charge RTSP ? #

L'équilibrage de charge RTSP (Real-Time Streaming Protocol) peut s'avérer difficile en raison de la nature dynamique des connexions RTSP. Les connexions RTSP sont souvent constituées de plusieurs flux entrelacés et maintiennent l'état de session, ce qui nécessite l'utilisation de techniques spécialisées d'équilibrage de charge. Habituellement, une fois la session RTSP établie, le serveur négocie quatre ports UDP dynamiques avec le client (deux pour l'audio et deux autres pour la vidéo).

Voici les étapes que vous pouvez suivre pour équilibrer efficacement la charge RTSP :

Équilibrage de charge de sensibilisation au protocole #

Déployez un équilibreur de charge, tel que RELIANOID, qui connaît les communications basées sur des protocoles. Dans le cas d RELIANOID, il est capable de comprendre et de gérer TCP, UDP ou les deux en même temps sur le même service virtuel.

Méthodes d'équilibrage de charge à faible latence #

Équilibrage de charge de couche 4 avec des méthodes d'équilibrage de charge transparentes et à faible latence telles que Retour direct du serveur (DSR) ou DNAT/stateless DNAT sont les plus adaptés à l’équilibrage de charge RTSP.

Persistance de session #

Comme RTSP est un protocole avec état, il est nécessaire de maintenir la persistance des sessions entre les clients et les backends. Persistance par IP source, il faudrait la configurer dans le service virtuel L4.

Bilans de santé #

Bilan de santé préchargé check_real est capable d'effectuer des connexions RTSP factices aux backends pour connaître sa disponibilité.

root@nois-ee-01:~# /usr/local/relianoid/app/libexec/check_real --help [...] Ce plugin teste le service REAL sur l'hôte spécifié. Utilisation : check_real -H host [-e expect] [-p port] [-w warn] [-c crit] [-t timeout] [-v] Options : -h, --help Imprimer l'écran d'aide détaillé -V, --version Imprimer les informations sur la version --extra-opts=[section][@file] Lire les options à partir d'un fichier ini. Voir https://www.monitoring-plugins.org/doc/extra-opts.html pour l'utilisation et des exemples. -H, --hostname=ADDRESS Nom d'hôte, adresse IP ou socket Unix (doit être un chemin absolu) -p, --port=INTEGER Numéro de port (par défaut : 554) -u, --url=STRING Connectez-vous à ceci url -e, --expect=STRING Chaîne à attendre dans la première ligne de réponse du serveur (par défaut : RTSP/1.) -w, --warning=DOUBLE Temps de réponse pour entraîner un état d'avertissement (secondes) -c, --critical =DOUBLE Temps de réponse pour entraîner un état critique (secondes) -t, --timeout=INTEGER Secondes avant l'expiration du délai de connexion (par défaut : 10) -v, --verbose Afficher les détails du débogage de la ligne de commande (la sortie peut être tronquée par le système de surveillance) Ce plugin tentera d'ouvrir une connexion RTSP avec l'hôte. Les connexions réussies renvoient STATE_OK, les refus et les délais d'attente renvoient STATE_CRITICAL, les autres erreurs renvoient STATE_UNKNOWN. Les connexions réussies, mais les messages de réponse incorrects de l'hôte génèrent des valeurs de retour STATE_WARNING. [...]

Haute disponibilité du service virtuel RTSP #

Avec un cluster avec état, tel qu'il est inclus dans RELIANOID Load Balancer, le service virtuel RTSP serait protégé contre un point de défaillance unique car cela permet de configurer deux nœuds différents qui interagissent entre eux pour fournir un service RTSP entièrement fiable.

Service virtuel RTSP Sécurité #

Équilibreurs de charge, comme RELIANOID, sont généralement capables d'appliquer certaines règles de sécurité aux services virtuels. En ce qui concerne RELIANOID, le module IPDS permet d'inclure des protections DoS, des listes noires en temps réel (RBL) et des listes noires préchargées et personnalisées pour les services d'équilibrage de charge RTSP.

📄 Téléchargez ce document au format PDF #

    E-MAIL: *

    Sécurité accrue. Efforts réduits. Succès durable. Meilleurs Docs