Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2250 connectés 

 


Dernière réponse
Sujet : Explication transfert de données TCP
Steph9131

burgergold a écrit :

Alors, je suis à la recherche d'une explication avec argument
 
Pourquoi lorsqu'on envoit un flot de données de X octets entre 2 interfaces réseaux on n'obtient pas un temps comparable à la vitesse théorique de l'interface?
 
Outre le fait de la qualité du fil ethernet, la distance de la liaison, le passage par une ou plusieurs switch/routeur, un cpu qui n'est pas capable de fournir la carte réseau, etc. Quel serait la meilleure explication?


 
Comme expliqué par dremaer18, ce sont principalement les couches  
hautes qui engendrent la latence de par le contrôle de flux, surtout
si tu parles de mode connecté comme une connexion TCP par exemple.
 
Si tu veux atteindre le "full wire speed", la meilleure façon de procéder
est d'injecter des trames avec un analyseur. Si la couche physique est  
"propre", tu devrais approcher la vitesse du media.
 
-sb


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
Steph9131

burgergold a écrit :

Alors, je suis à la recherche d'une explication avec argument
 
Pourquoi lorsqu'on envoit un flot de données de X octets entre 2 interfaces réseaux on n'obtient pas un temps comparable à la vitesse théorique de l'interface?
 
Outre le fait de la qualité du fil ethernet, la distance de la liaison, le passage par une ou plusieurs switch/routeur, un cpu qui n'est pas capable de fournir la carte réseau, etc. Quel serait la meilleure explication?


 
Comme expliqué par dremaer18, ce sont principalement les couches  
hautes qui engendrent la latence de par le contrôle de flux, surtout
si tu parles de mode connecté comme une connexion TCP par exemple.
 
Si tu veux atteindre le "full wire speed", la meilleure façon de procéder
est d'injecter des trames avec un analyseur. Si la couche physique est  
"propre", tu devrais approcher la vitesse du media.
 
-sb

dreamer18 oui, c'est tout à fait possible.
burgergold donc en gros, le transfert est ralenti parce que le serveur arrete d'envoyer des packets lorsque le buffer du client est plein?
 
page 56 du cours 4
dreamer18

burgergold a écrit :

et est-ce que l'un de ces 2 trucs sont observables concretement à l'aide d'outil comme ethereal?

le controle de congestion non. Le controle de flux oui; il y a un champ window dans l'en tete tcp avec la valeur du tampon de reception.
 
http://www-rp.lip6.fr/~fourmaux/res/index.html
prend le cours 4 en pdf.
 
Par contre les 100 Mbps sur de l'Ethernet sont bien un débit réel de niveau 2 si les interfaces ont bien négociées leurs valeurs.

burgergold

freds45 a écrit :

Tu as un cas précis ou un exemple ? Parce que là, raisonner sur du vide, :/


 
j'ai eu à coder un chat client/serveur en tcp qui devait contenir un mode automatique chez le client. Ce mode en 1000 lignes de textes les unes à la suite des autres.
 
Comme question complémentaire, on demande de vérifier le temps que ca prend pour envoyer le tout et le temps théorique que ca l'aurait du prendre et d'en donnée une courte explication.
 
Mon avis, c'est qu'il y a des tonnes de facteurs qui peuvent expliquer une partie du ralentissement, mais le principal selon moi reste le fait que 100mbps, c'est une valeur théorique et non pratique la plupart du temps.
 
Mais je me doute que celui-ci veut avoir une réponse un peu plus axé sur le protocole tcp que sur le hardware

burgergold et est-ce que l'un de ces 2 trucs sont observables concretement à l'aide d'outil comme ethereal?
freds45 Tu as un cas précis ou un exemple ? Parce que là, raisonner sur du vide, :/
dreamer18 En tcp; il y a deux fenêtres qui limitent ton débit; le contrôle de flux et le contrôle de congestion. La premiere est négociée entre les deux hôtes; la seconde dépend de l'emetteur des données et de l'implémentation de TCP.
burgergold Alors, je suis à la recherche d'une explication avec argument
 
Pourquoi lorsqu'on envoit un flot de données de X octets entre 2 interfaces réseaux on n'obtient pas un temps comparable à la vitesse théorique de l'interface?
 
Outre le fait de la qualité du fil ethernet, la distance de la liaison, le passage par une ou plusieurs switch/routeur, un cpu qui n'est pas capable de fournir la carte réseau, etc. Quel serait la meilleure explication?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)