Livraison de paquets dans le protocole TCP [fermé]

2

Supposons que la station A de 1 Gbit / s veuille envoyer les paquets à la station B de 100 Mbit / s. Il existe trois routeurs avec respectivement 10 Mbit / s, 1 Gbit / s et 10 Mbit / s. Comment se passe la livraison du paquet?

Tanmayi
la source
2
Donc, la liaison entre la station A et le premier routeur ... est-ce 1Gbps ou 10Mbps? Ou existe-t-il un commutateur 10/100/1000 entre les deux?
Spiff
1
Votre question est assez large. Le nombre ou la vitesse des commutateurs n’a rien à voir avec TCP. Si vous parlez de la commutation de paquets entre réseaux (en supposant que vous parlez de routeurs), vous devez examiner les protocoles Eth et IP.
MaQleod

Réponses:

10

Le contrôle de flux TCP sera activé car les vitesses sont différentes.

Une autre chose qui pourrait affecter TCP dans cette situation, en fonction du type de lien, est si le routeur à 1 Gbit / s utilise des trames jumbo, mais cela n’est pas différent de si les routeurs avaient des MTU différentes - les paquets seraient soit lâchés, soit fragmentés.

LawrenceC
la source
Votre réponse est correcte, mais je me demande s’il s’agit d’une question pour débutant. La réponse est que les données sont acheminées via chaque routeur et sont limitées à la vitesse du routeur le plus lent. Le débit maximal est donc de 10 Mbps.
davidgo
9

En bref, vous obtiendrez un débit de 10 Mbit / s.

Naïvement, on pourrait penser que le contrôle de flux TCP sera activé, comme l’a déclaré LawrenceC, et c’est généralement la bonne réponse.

Cependant, dans votre exemple concret, ce n'est pas le cas.

Le routeur 10 Mbit / s connecté à votre carte 1 GbE négociera 10 Mbit / s. Même chose pour le routeur 10 Mbit / s sur le routeur GbE intermédiaire et sur le côté B. Fin de l'histoire.

Ainsi, la carte réseau n'enverra et ne recevra que ce taux, sans jamais le dépasser. En effet, de votre point de vue, l'ensemble du réseau est de 10 Mbit / s.

Le routeur GbE intermédiaire peut recevoir et transmettre des paquets à 1 Gbit / s avec le reste du monde, mais ne fera que 10 Mbit / s sur votre route particulière.

Supposons que la topologie du réseau soit un peu plus compliquée (Internet!) Et qu’il existe un certain nombre de routeurs gigabits et un ou plusieurs routeurs à 10 Mbit / s quelque part entre les deux. Cette affaire est un peu plus intéressante.

Dans ce cas, votre ordinateur A enverra des paquets à 1 Gbit / s, mais nous savons que seuls 10 Mbit / s peuvent passer (enfin, pas vraiment, avec des itinéraires alternatifs, mais oublions cela). Comment cela peut-il fonctionner?

Dans ce cas, le contrôle du flux TCP entre en jeu. La station B recevra des paquets de 100 Mbit / s, mais ils n'arrivent que sporadiquement. Vous allez envoyer des paquets avec 1 Gbit / s, mais vous devrez faire une pause régulièrement. Cela fonctionne sur la couche TCP à votre insu.

TCP enverra quelques paquets aussi vite que possible (et maintiendra une "fenêtre"), et la carte réseau les mettra sur le fil aussi vite que possible et autorisé, puis TCP attendra que les accusés de réception arrivent S'ils entrent, tout va bien et plus de choses peuvent être envoyées aussi rapidement que possible. Si les accusés de réception ne pas venir, il y avait soit une erreur (peu probable) ou les paquets ont été envoyés trop rapidement. Par conséquent, la taille de la fenêtre est réduite. Une fois que les ACK rentrent, la fenêtre est progressivement agrandie. Il existe différents algorithmes pour cela, et ils sont plutôt élaborés, mais en principe c'est tout.

Maintenant ... les routeurs acceptent un nombre limité de paquets et les transmettent en fonction de leurs capacités, le plus rapidement possible. A terme, ils devront cependant laisser tomber des paquets. Ce n'est pas une erreur, mais une condition normale.

Ironiquement, les anciens routeurs supposés vieux de 10 Mbit / s risquent de mettre beaucoup de paquets en file d'attente (car il était une fois, "plus c'est toujours mieux", on le croyait maintenant, on sait aujourd'hui que c'est l'inverse qui se produit, files d'attente courtes).

L’idée que plus n’est pas toujours meilleure vient du fait que si un routeur met beaucoup de paquets en file d’attente, puis les retransmet, l’expéditeur peut assumer les paquets perdus (car aucun ACK n’est entré) et les renvoyer. Ce qui fait que le récepteur reçoit les paquets en double qu'il doit éliminer et le routeur devient encore plus encombré, déversant de l'huile dans le feu. Par conséquent, les routeurs modernes se débarrassent rapidement.

Maintenant, dans l'exemple d'un ancien routeur à 10 Mbit / s quelque part au milieu (et une vitesse non négociée), il est très probable que vous obteniez un débit considérablement inférieur à 10 Mbit / s pour cette raison. Vous recevez des renvois et des doubles livraisons. Rien de tout cela n'est visible pour l'application, il est juste plus lent pour une raison étrange.

Damon
la source