OVH Cloud OVH Cloud

Quelle est la différence entre TCP et UDP ?

22 réponses
Avatar
bob
Bonsoir à tous,

J'entends parler de port TCP, port UDP, qqn peut-il m'expliquer clairement
la différence entre les 2 ?
Serait-ce un port en entrée et un port en sortie ?
Pourquoi spécifie t-on parfois dans un firewall une règle en TCP ou UDP
uniquement ?

Merci d'avance de votre éclaircissement.

2 réponses

1 2 3
Avatar
Pierre LALET
Maintenant une application qui attend un paquet TCP et recoit un UDP, ne
saura pas la lire, a moins que je ne me trompe sur ce point.


Non, tu ne te trompes pas. En fait, les ports TCP ou UDP n'ont rien à
voir entre eux. Ce qui peut tromper sur ce point, c'est qu'il y en ait
autant, et que l'IANA réserve généralement le port en TCP *et* en UDP
(cf. /etc/services), même si l'appli n'utilise pas l'un des deux.

Pierre

--
Pierre LALET
-- http://www.enseirb.fr/~lalet
Clé publique PGP : http://www.enseirb.fr/~lalet/pierre_lalet.asc
Empreinte de la clé : B6B8 0F89 2220 DF8B 0F3B C0C0 773E 15E6 A878 FC7E

Avatar
Pierre LALET
Le port n'a rien avoir la dedans ! Il faut bien comprendre que le
port n'a rien avoir avec le protocole. Rien ne m'empèche de faire une
application utilisant le protocole UDP et écoutant sur le port 80 (qui
généralement est utilisé pour le protocole HTTP se basant sur le TCP).


Oui, mais non : le*s* port*s* 80 TCP et UDP sont totalement différents,
et le protocole applicatif (HTTP) n'a rien à voir avec les protocoles de
transport. Donc effectivement, tu mets ce que tu veux sur ton port 80,
mais je crois que tu as loupé quelque chose.

Si mon collègue le sait nous pourrons communiquer ensemble dans le
meilleur des mondes sans embéter les autres.
Parler en UDP à une application qui ne comprend que le TCP, c'est comme
parlé en chinois à une personne qui ne connaît que le francais, donc
cela ne fonctionnera pas.


Non, c'est comme parler au téléphone à un sourd : l'appli ne reçoit pas
les paquets. Si tu avais lu mon post, c'est ce que j'explique.

L'explication donnée par Vincent est relativement bonne. Il manque juste
la notion de connexion.
[SNIP]

Maintenant une application qui attend un paquet TCP et recoit un UDP, ne
saura pas la lire, a moins que je ne me trompe sur ce point.




Bein je corrigeais juste. C'est pas "ne pourra pas la lire", c'est "ne
la recevra pas". Et le mode connecté ou pas n'a rien à voir avec ça, si
une application utilise la primitive 'listen' sur le port 80 (donc en
TCP), ne recevra pas un datagramme UDP qui arriverait sur le port 80, et
n'en serait pas même informée. Et réciproquement, une application qui
utilise la primitive 'recvfrom' pour recevoir des datagrammes UDP ne
s'apercevrait même pas qu'une machine a essayé d'établir une connection
TCP sur le port 80.

Au passage, la 'poignée de main' TCP n'est absoluement pas vue de
l'application.

Pierre

--
Pierre LALET
-- http://www.enseirb.fr/~lalet
Clé publique PGP : http://www.enseirb.fr/~lalet/pierre_lalet.asc
Empreinte de la clé : B6B8 0F89 2220 DF8B 0F3B C0C0 773E 15E6 A878 FC7E



1 2 3