title: CUBIC TCP
text: # CUBIC TCP
  
  CUBIC est une implémentation de TCP avec un algorithme de contrôle de congestion optimisé pour les réseaux à bande passante et latence élevées, aussi appelés LFN pour Long Fat $Networks^,.$
  
  C'est un dérivé moins agressif et plus systématique de BIC TCP. Dans ce dernier, la taille de la fenêtre est une fonction cubique ayant pour paramètre le temps écoulé depuis le dernier évènement de congestion, avec un point d'inflexion fixé à la taille de la fenêtre avant l'évènement. Comme c'est une fonction cubique, il y a deux composantes à la croissance de la fenêtre. La première est une partie concave où la taille de la fenêtre monte rapidement jusqu'à la valeur connue avant le dernier évènement de congestion. La seconde est une croissance convexe où CUBIC tente d'exploiter davantage de bande passante, d'abord lentement puis très rapidement. CUBIC passe beaucoup de temps sur un plateau entre les croissances concave et convexe, ce qui permet au réseau de se stabiliser avant que CUBIC ne cherche à exploiter plus de bande passante.
  
  Une autre différence majeure entre CUBIC et d'autres standards TCP est qu'il ne repose pas sur la réception des accusés de réception pour augmenter la taille de la fenêtre. Celle-ci dépend uniquement du dernier évènement de congestion. Avec du TCP standard, les flux ayant un RTT très court reçoivent les accusés de réception plus rapidement et, par conséquent, leurs fenêtres de congestion croissent plus vite que les autres flux avec des RTT plus longs. CUBIC permet plus d'équité entre les flux puisque la croissance de la fenêtre est indépendante du RTT.
  
  CUBIC TCP est implémenté et utilisé par défaut dans les noyaux Linux 2.6.19 et supérieurs, ainsi que dans la mise à jour Windows 10 Fall Creators et la mise à jour 1709 Windows Server 2016.
  
  