Un circuit virtuel ( VC ) est un moyen de transport de données sur un réseau de données, basé sur la commutation de paquets et dans lequel une connexion est d'abord établie à travers le réseau entre deux points d'extrémité. Le réseau, plutôt que d'avoir une réservation de débit de données fixe par connexion comme dans la commutation de circuits , tire parti du multiplexage statistique sur ses liaisons de transmission, une caractéristique intrinsèque de la commutation de paquets.
Une normalisation des circuits virtuels de 1978 par le CCITT impose des contrôles de flux par connexion sur toutes les interfaces utilisateur-réseau et réseau-réseau. Cela permet de participer au contrôle de la congestion et de réduire le risque de perte de paquets dans un réseau fortement chargé. Certains protocoles de circuit fournissent un service de communication fiable grâce à l'utilisation de retransmissions de données invoquées par la détection d'erreur et la demande de répétition automatique (ARQ).
Avant de pouvoir utiliser un circuit virtuel, il doit être établi entre les nœuds du réseau lors de la phase d'établissement de l'appel . Une fois établi, un flux de bits ou d'octets peut être échangé entre les nœuds, ce qui permet d'abstrait la division de bas niveau en unités de données de protocole et permet aux protocoles de niveau supérieur de fonctionner de manière transparente.
Une alternative aux réseaux de circuits virtuels sont les réseaux de datagrammes .
Comparaison avec la commutation de circuits
La communication par circuit virtuel ressemble à la commutation de circuits , car les deux sont orientées connexion , ce qui signifie que dans les deux cas, les données sont transmises dans le bon ordre et qu'une surcharge de signalisation est requise pendant la phase d'établissement de la connexion. Cependant, la commutation de circuits fournit un débit binaire et une latence constants, alors que ceux-ci peuvent varier dans un service de circuit virtuel en raison de facteurs tels que :
- longueurs variables des files d'attente de paquets dans les nœuds du réseau,
- débit binaire variable généré par l'application,
- charge variable provenant d'autres utilisateurs partageant les mêmes ressources réseau au moyen du multiplexage statistique , etc.
Capacité d'appel virtuel
Dans les télécommunications , une capacité d'appel virtuel , parfois appelée fonction d'appel virtuel , est une fonctionnalité de service dans laquelle :
- une procédure d'établissement d'appel et une procédure de désengagement d'appel déterminent la période de communication entre deux DTE pendant laquelle les données utilisateur sont transférées par un réseau à commutation de paquets
- un contrôle de transfert de bout en bout des paquets au sein du réseau est nécessaire
- les données peuvent être transmises au réseau par l' émetteur de l'appel avant la fin de la phase d'accès à l'appel, mais les données ne sont pas transmises au récepteur de l'appel si la tentative d'appel échoue
- le réseau fournit toutes les données utilisateur au récepteur d'appel dans la même séquence dans laquelle les données sont reçues par le réseau
- les ETTD multi-accès peuvent avoir plusieurs appels virtuels en cours en même temps .
Une approche alternative aux appels virtuels est la communication sans connexion utilisant des datagrammes .
Au début des années 1970, la capacité d'appel virtuel a été développée par British Telecom pour EPSS (en s'appuyant sur les travaux de Donald Davies au National Physical Laboratory ). Le concept a été amélioré par Rémi Després sous forme de circuits virtuels pour le réseau expérimental RCP des PTT français .
Circuits virtuels de couche 4
Les protocoles de couche transport orientés connexion tels que TCP peuvent s'appuyer sur un protocole de couche réseau à commutation de paquets sans connexion tel que IP , où différents paquets peuvent être acheminés sur des chemins différents et donc être livrés dans le désordre. Cependant, il est possible d'utiliser TCP comme circuit virtuel, puisque TCP inclut une numérotation de segments qui permet de réorganiser le côté récepteur pour s'adapter à la livraison dans le désordre.
Circuits virtuels de couche 2/3
Les protocoles de circuits virtuels de couche liaison de données et de couche réseau sont basés sur la commutation de paquets orientée connexion , ce qui signifie que les données sont toujours transmises le long du même chemin réseau, c'est-à-dire via les mêmes nœuds. Les avantages de cette méthode par rapport à la commutation de paquets sans connexion sont les suivants :
- La réservation de bande passante pendant la phase d'établissement de la connexion est prise en charge, ce qui permet de garantir la qualité de service (QoS). Par exemple, une classe QoS à débit binaire constant peut être fournie, ce qui permet d'émuler la commutation de circuits .
- La surcharge est moindre puisque les paquets ne sont pas acheminés individuellement et que les informations d'adressage complètes ne sont pas fournies dans l'en-tête de chaque paquet de données. Seul un petit identifiant de canal virtuel (VCI) est requis dans chaque paquet. Les informations de routage ne sont transférées aux nœuds du réseau que pendant la phase d'établissement de la connexion.
- Les nœuds de réseau sont plus rapides et ont une capacité plus élevée en théorie car ce sont des commutateurs qui effectuent uniquement le routage pendant la phase d'établissement de la connexion, tandis que les nœuds de réseau sans connexion sont des routeurs qui effectuent le routage de chaque paquet individuellement. La commutation consiste uniquement à rechercher l'identifiant du canal virtuel dans une table plutôt qu'à analyser une adresse complète. Les commutateurs peuvent facilement être implémentés dans du matériel ASIC , tandis que le routage est plus complexe et nécessite une implémentation logicielle. Cependant, en raison du grand marché des routeurs IP et du fait que les routeurs IP avancés prennent en charge la commutation de couche 3 , les routeurs IP modernes peuvent aujourd'hui être plus rapides que les commutateurs pour les protocoles orientés connexion.
Exemples de protocoles
Exemples de protocoles de couche transport qui fournissent un circuit virtuel :
- Protocole de contrôle de transmission (TCP), où un circuit virtuel fiable est établi sur le protocole IP sous-jacent non fiable et sans connexion. Le circuit virtuel est identifié par la paire d'adresses de socket réseau source et de destination , c'est-à-dire l'adresse IP et le numéro de port de l'expéditeur et du récepteur. La qualité de service garantie n'est pas fournie.
- Protocole de transmission de contrôle de flux (SCTP), où un circuit virtuel est établi sur le protocole IP.
Exemples de protocoles de circuits virtuels de couche réseau et de couche liaison de données, où les données sont toujours transmises sur le même chemin :
- X.25 , où le VC est identifié par un identifiant de canal virtuel (VCI). X.25 fournit une communication fiable de nœud à nœud et une qualité de service garantie.
- Frame Relay , où le VC est identifié par un DLCI. Frame Relay n'est pas fiable, mais peut fournir une qualité de service garantie.
- Mode de transfert asynchrone (ATM), où le circuit est identifié par une paire d'identifiants de chemin virtuel (VPI) et d'identifiants de canal virtuel (VCI). La couche ATM fournit des circuits virtuels non fiables, mais le protocole ATM assure la fiabilité via la sous-couche de convergence spécifique au service (SSCS) de la couche d'adaptation ATM (AAL) (bien qu'il utilise les termes assuré et non assuré plutôt que fiable et non fiable ).
- Service général de radiocommunication par paquets (GPRS)
- Commutation multiprotocole par étiquette (MPLS), qui peut être utilisée pour IP sur des circuits virtuels. Chaque circuit est identifié par une étiquette. MPLS n'est pas fiable mais fournit huit classes de qualité de service différentes.
Circuits virtuels permanents et commutés en ATM, Frame Relay et X.25
Les circuits virtuels commutés ( SVC ) sont généralement configurés pour chaque appel et sont déconnectés lorsque l'appel est terminé. Cependant, un circuit virtuel permanent ( PVC ) peut être établi en option pour fournir une liaison de circuit dédiée entre deux installations. La configuration du PVC est généralement préconfigurée par le fournisseur de services. Contrairement aux SVC, les PVC sont généralement très rarement interrompus/déconnectés.
Un circuit virtuel commuté (SVC) est un circuit virtuel qui est établi de manière dynamique à la demande et qui est interrompu une fois la transmission terminée, par exemple après un appel téléphonique ou un téléchargement de fichier. Les SVC sont utilisés dans les situations où la transmission de données est sporadique et/ou pas toujours entre les mêmes points d'extrémité d'équipement terminal de traitement de données ( ETTD ).
Un circuit virtuel permanent (PVC) est un circuit virtuel établi pour une utilisation répétée/continue entre le même DTE . Dans un PVC, l'association à long terme est identique à la phase de transfert de données d'un appel virtuel. Les circuits virtuels permanents éliminent la nécessité d'établir et de supprimer des appels répétés .
- Frame Relay est généralement utilisé pour fournir des circuits virtuels permanents.
- L'ATM fournit à la fois des connexions virtuelles commutées et des connexions virtuelles permanentes , comme on les appelle dans la terminologie ATM.
- X.25 fournit à la fois des appels virtuels et des PVC, bien que tous les fournisseurs de services X.25 ou les implémentations DTE ne prennent pas en charge les PVC, car leur utilisation était beaucoup moins courante que les SVC.