Explicit Congestion NotificationLa notification explicite de congestion (dite ECN, de l'anglais « Explicit Congestion Notification ») est une extension aux protocoles TCP et IP qui permet de signaler la congestion du réseau avant que la perte de paquets ne se produise. Elle est définie dans la RFC 3168[1] et découle de l'utilisation d'une fenêtre glissante, pour le contrôle des flux de données. PrincipeNormalement, les protocoles de couche transport tels que TCP augmentent le débit tant qu'aucun paquet n'est perdu ; ce n'est que lorsqu'un paquet est perdu que le débit est modéré. Avec ECN, un routeur peut explicitement signaler un début de congestion avant de commencer à perdre des paquets. ECN est négociée pour chaque connexion : elle n'est utilisée que lorsque les deux hôtes échangeant des données signalent leur intention de l'utiliser. Lorsque la notification explicite de congestion est mise en place, le routeur marque les paquets qui le traversent lorsqu'il détecte une congestion. Malheureusement, ces paquets marqués sont reçus par leur destinataire, alors que c'est leur émetteur qui devrait être averti de la congestion. Pour cette raison, le récepteur doit transmettre cette information en retour à l'émetteur des paquets, et un aller-retour complet est nécessaire avant que l'émetteur ne soit averti du problème de congestion. AdoptionBien que cette extension ait été conçue de sorte que son usage soit compatible avec les normes existantes, il existe encore à ce jour, plus de dix ans après son introduction en 2001, un nombre important d'équipements incompatibles sur le réseau. Certains routeurs ou pare-feux incompatibles peuvent ainsi bloquer le trafic entre deux hôtes implémentant ECN. C'est pour cette raison qu'elle est désactivée implicitement sur la plupart des systèmes d'exploitation contemporains[Lesquels ?][réf. nécessaire]. Mode opératoireECN est prise en charge à la fois par les couches réseau et transport, car les routeurs travaillent au niveau de la couche réseau, tandis que le débit est géré « de bout en bout », c'est-à-dire par les extrémités de la connexion, en couche transport. Ainsi, dans le cas des protocoles TCP et IP, les routeurs signalent une congestion en cours dans l'en-tête du paquet IP, et le destinataire qui reçoit ce paquet en informe l'émetteur dans l'en-tête du prochain segment TCP qu'il lui renvoie. Cette interaction entre des couches réseau différentes casse quelque peu la séparation de principe entre les couches réseau. Marquage des paquets IPECN utilise les deux bits les moins significatifs (les plus à droite) du champ DSCP de l'en-tête IPv4 ou IPv6, ce qui donne quatre valeurs possibles :
Quand les deux extrémités de la transmission prennent en charge ECN, ils marquent leurs paquets avec Retour d'information dans les segments TCPTCP utilise deux drapeaux de l'en-tête TCP :
Le récepteur continue à transmettre des segments TCP avec le bit ECE tant qu'il n'a pas reçu un segment avec le bit CWR. L'utilisation de ECN sur une connexion TCP est optionnelle : pour qu'elle soit utilisée, cela doit avoir été négocié lors de l'établissement de la connexion en utilisant les options ad hoc dans les segments SYN et SYN-ACK. La fenêtre de congestion de TCP ne s'applique pas aux segments de contrôle (acquittements ACK purs, segments SYN ou FIN) et on ne marque donc en général pas les paquets qu'ils contiennent comme étant capables de transmettre les notifications explicites de congestion. Néanmoins, la RFC 5562[2][3] suggère de marquer les paquets contenant des segments SYN-ACK comme capables de gérer l'ECN. Avec les autres protocoles de transportECN est également définie pour d'autres protocoles de couche transport qui gèrent la congestion, en particulier DCCP et SCTP. Avec UDP, ce serait à l'application au-dessus de UDP de gérer la congestion, en admettant qu'elle puisse accéder aux bits qui lui sont consacrés depuis l'interface de programmation du réseau. Articles connexesNotes et références
|
Portal di Ensiklopedia Dunia