Re: TCP vs UDP

Top Page

Reply to this message
Author: Edgar Bonet
Date:  
To: ML Guilde
New-Topics: Re: TCP vs UDP
Subject: Re: TCP vs UDP
Le vendredi 16 janvier, Frédéric Mantegazza a écrit :
> Pour un mecanisme de log, j'ai le choix entre des sockets TCP et UDP.
> Quelqu'un pourrait-il me dire quels sont les avantages/inconvenients de
> chacun ?


UDP envoie des paquets individuels sur le réseau, sans établir une
connection au préalable. Ils arrivent s'ils arrivent.

TCP établit d'abord une connection (échange de trois paquets de
handshake), il gère ensuite des accusés de réception de tous les paquets
envoyés et la retransmission des paquets perdus, puis ferme la
connection quand il a fini (échange de quatre paquets). Par rapport à
UDP, TCP a :

Avantages :

  - la connection est sécurisée vis à vis de la perte ou la
    détérioration de paquets (checksum, accusés de réception,
    retransmission si nécessaire) ;


- les messages arrivent dans l'ordre où ils ont été envoyés.

Inconvénients :

  - plus lourd pour le réseau, à cause du handshake et des accusés de
    réception ;


  - potentiellement plus de latence : si le paquet n est perdu, les
    paquets n+1, n+2... ne seront reçus par l'application que une fois
    le paquet n retransmis et reçu ; tout ça pour pour garantir que les
    messages arrivent dans l'ordre.


TCP est presque toujours préférable, surtout si tu veux être sûr que ce
qui est envoyé est reçu. Exception classique : pour les jeux temps réel
en réseau, la perte d'un paquet est sans conséquences, mais la latence
est essentielle, alors il faut utiliser UDP.

-- 
Edgar Bonet           Maison : 04 76 21 29 16    Bureau : 04 76 88 10 96
3 rue Jean Prévost    Mobile : 06 77 19 79 39    Fax    : 04 76 88 11 91
38000 Grenoble        guilde@???     www.edgar-bonet.org