# Circuit virtuel

Un Circuit virtuel (CV) désigne un moyen de communication entre deux entités tel que, sur un ou plusieurs supports de transmission intermédiaires, la capacité de transmission soit consommée seulement lorsqu'il y a des données utiles à transmettre. À la différence des circuits réels, qui immobilisent une capacité de transmission fixe pendant toute la durée des communications, ils permettent un multiplexage statistique sur les liaisons physiques. Il en résulte, d'une part une économie sur les capacités de transmission nécessaires pour un trafic donné, d'autre part une grande simplicité de configuration des supports de transmission partagés. Les CV entrent ainsi dans le cadre général de la transmission dite en «mode paquets», aussi appelée «commutation de paquets» (packet switching en anglais).
Plusieurs «services de CV» ont été standardisés : celui de X.25 (au CCITT en 1996$^,$) ; celui de TCP (à l'IETF en 1981, RFC 793) ; celui de l'ATM, avec ses variantes Constant bitrate CBR et Variable bitrate VBR (au CCITT en 1989) ; celui du relais de trames (au CCITT en 1992) ; celui du MPLS (Multiprotocol Label Switching (à l'IETF en 2001, RFC 3031).
Les services de X.25 et de TCP sont essentiellement équivalents (mais avec des formats d'adresses moins contraints dans le cas de X.25 car ils ne sont pas contraints par ceux des adresses de datagrammes IP). Tous deux permettent des transmissions bidirectionnelles de suites d'octets avec garantie de bonne livraison. Pour cela, les récepteurs et le réseau exercent un contrôle de flux sur les émetteurs, et des retransmissions automatiques sont mises en œuvre là où les taux de perte ou de corruption sont non négligeables. Si, à la suite d'un incident irrécupérable dans le réseau ou chez un utilisateur, la garantie de livraison ne peut plus être assurée, les CV concernés sont automatiquement réinitialisés ou terminés.
Le service de l'ATM en variante VBR et le service du relais de trames sont très voisins. La livraison des données émises n'est plus garantie, mais un taux de perte plafonné et faible est garanti tant que les émetteurs maintiennent leurs débits dans des limites bien spécifiées. Si ces débits sont dépassés, le taux de perte peut augmenter aléatoirement. Le relais de trame est plus flexible que l'ATM sur la longueur des paquets.
Le service du MPLS est unidirectionnel et autrement très proche du service du relais de trames.
Pour chacun des services de CV, un «protocole de CV» est spécifié pour son utilisation. Afin de tenir compte de l'évolution des besoins, notamment des débits à supporter, d'autres protocoles peuvent être ajoutés au protocole d'origine pour un service inchangé. Ainsi, le protocole SCTP de l'IETF en 2000 (RFC 2960), largement différent du protocole TCP de 1981, réalise lui aussi le service de TCP. De même, le protocole X.45 du CCITT en 1997, largement différent du protocole de X.25 de 1976, réalise lui aussi le service de X.25.
Concernant la durée de vie des CV, on distingue les CV qui sont temporaires, traditionnellement appelés «CV commutés» (Switched Virtual Circuits en anglais), et les «CV permanents» (Permanent Virtual Circuit en anglais). Un CV commuté est établi et libéré à la demande, au moyen de commandes faisant partie du protocole. L'appelant fournit l'adresse de l'appelé. Un CV permanent est établi et maintenu par contrat avec l'opérateur du réseau utilisé.
Concernant la technique de commutation des paquets dans les nœuds de réseaux, on distingue la «commutation de CV» aussi appelée «commutation d'étiquettes» (Label Switching en anglais), et la commutation de datagrammes, l'autre variante de la commutation de paquets. En commutation de CV, les nœuds du réseau mémorisent pour chaque CV qui les traverse, d'une part sa liaison d'entrée et l'identifiant du CV sur cette liaison, d'autre part sa liaison de sortie et l'identifiant du CV sur cette liaison. À la réception d'un paquet ces informations permettent de le faire suivre rapidement, sans avoir à consulter une base de données de routage. Cela évite aussi d'avoir à inclure les adresses de source et de destination dans chaque paquet, d'où des en-têtes de paquet nettement plus courts, et pas de contrainte imposée sur la longueur maximale des adresses utilisables dans le réseau.
La commutation de CV est classique pour les services de l'ATM, du relais de trames et du MPLS. Pour le service de X.25, les deux premiers réseaux à l'offrir à leurs clients ont utilisé une commutation de datagrammes dans leur cœur de réseau (Telenet aux États-Unis et Datapac au Canada). Pour cela, ils utilisaient un protocole de bout en bout entre leurs nœuds d'entrée et de sortie de réseau. Celui-ci effectuait les contrôles de flux, et les retransmissions en cas de perte, nécessaires au service de X.25. Ce protocole restait propre à chaque opérateur, et restait sous son entier contrôle. C'était une sorte de protocole TCP, mais largement simplifié par le fait que le temps de traversée du réseau interne était maîtrisé par l'opérateur lui-même. Le troisième réseau à clients X.25 (Transpac en France), a été le premier à offrir son service de CV avec en cœur de réseau une commutation de CV.