In this Article
Lorsqu’on s’intéresse au fonctionnement concret du web, on comprend que rien ne se produit au hasard. La communication web moderne repose sur des protocoles, des règles qui définissent comment les données sont envoyées et reçues. Beaucoup d’utilisateurs pensent qu’internet leur fournit toutes les données instantanément lorsqu’ils ouvrent un site, mais le processus réel est bien plus structuré.
Dans cet article, nous allons voir ce que sont TCP et UDP, et pourquoi il est important de les comprendre si vous travaillez avec des proxies.
Cette vidéo présente le sujet.
Visionnez-la pour en savoir plus.
Pourquoi votre flux de travail de proxy dépend de TCP et UDP
Après avoir lu cet article, vous savez déjà comment Internet vous fournit les contenus demandés. La livraison des données dépend de la couche transport de la pile réseau. TCP et UDP fonctionnent exactement à ce niveau, et tout trafic de proxy doit suivre l’un de ces chemins. Ils influencent tout : la durée pendant laquelle votre connexion reste ouverte, la manière dont les paquets sont gérés sous charge, la manière dont les proxies relaient votre trafic dans leur infrastructure et la manière dont les services interprètent les requêtes entrantes.
Ce sont les méthodes de transport essentielles, et elles influencent tout, de la latence à l’intégrité des paquets dans un système de proxy.
Découvrir TCP
TCP signifie Transmission Control Protocol. Ce protocole offre des garanties précises sur le déroulement du transfert d’octets. C’est l’un des principaux protocoles sur lesquels Internet repose. TCP est si populaire parce qu’il est très fiable.
Le flux d’octets envoyé est découpé en segments, auxquels s’ajoutent des informations supplémentaires. Ces informations peuvent inclure les ports source et de destination, la taille du segment, un checksum et un numéro de séquence. Le segment est ensuite envoyé au destinataire. Le destinataire le reçoit et en vérifie l’intégrité. Par exemple, il calcule son propre checksum et le compare à celui transmis avec le segment. S’ils correspondent, le segment est arrivé intact. Le récepteur renvoie alors un accusé de réception, par exemple : J’ai reçu les octets jusqu’à ce numéro de séquence ; vous pouvez envoyer la suite.
Lorsque l’expéditeur reçoit cette confirmation, il peut poursuivre l’envoi. Il arrive toutefois qu’un segment se perde en cours de route. Dans ce cas, le récepteur détecte un segment manquant ou corrompu et demande sa retransmission, par exemple : Veuillez retransmettre les données à partir de ce numéro de séquence.
L’expéditeur retransmet alors les données concernées, et le processus se poursuit jusqu’à leur bonne réception et à l’envoi d’un accusé de réception. Ce protocole est conçu pour la transmission fiable d’un flux de données. Cette fiabilité a un coût en performances : si une partie du message est perdue, elle doit être retransmise, ce qui peut ralentir la communication.
Qu’est-ce que UDP ?
UDP signifie User Datagram Protocol. Il est bien plus simple que TCP et ne fournit aucune garantie de fiabilité. Son principal avantage est plutôt la vitesse.
L’une des principales différences est qu’UDP traite des messages individuels, appelés datagrammes. Chaque datagramme est envoyé tel quel, sans établissement de connexion, sans accusé de réception et sans retransmission automatique.
Nous n’avons aucune garantie que le message atteindra le destinataire. Un message peut être envoyé puis se perdre en chemin, sans autre conséquence au niveau du protocole. Le destinataire ne saura même pas que quelque chose a été envoyé. Il peut aussi arriver corrompu ou dans le désordre.
UDP est utile lorsque la fiabilité absolue n’est pas essentielle. Il est idéal pour l’audio ou la vidéo en temps réel, et prend en charge le broadcast et le multicast pour atteindre rapidement de nombreux appareils, ce qui est pratique pour les appels vocaux, les jeux multijoueurs ou le streaming. UDP est rapide car il n’effectue ni accusé de réception ni retransmission et n’intègre pas de mécanisme de fiabilité.
TCP vs UDP
TCP et UDP définissent comment les données sont transférées sur le réseau, mais ils le font de façons très différentes. TCP envoie les données de manière fiable, dans l’ordre et par parties, en s’assurant que chaque octet atteint sa destination. TCP est nécessaire pour les activités qui exigent cohérence et précision, par exemple l’automatisation web, les transactions en ligne, les transferts de fichiers, etc.
UDP, de son côté, est plus rapide et plus léger parce qu’il ne garantit ni la livraison ni l’ordre. Il convient aux applications en temps réel comme le streaming vidéo ou audio, les jeux multijoueurs et les appareils IoT, où une certaine perte de paquets est acceptable et où la vitesse est plus importante qu’une fiabilité parfaite.
Qu’en est-il de l’aspect sécurité ?
TCP est orienté connexion. Cependant, son mécanisme de handshake peut être exploité lors d’attaques par inondation SYN, où des attaquants submergent les serveurs de demandes de connexion incomplètes. Les connexions TCP peuvent aussi être interrompues au moyen de paquets RST (reset) falsifiés ou d’attaques par prédiction de numéro de séquence. UDP est sans connexion. Il est vulnérable à l’usurpation d’IP, ainsi qu’aux attaques par réflexion et par amplification. Pour cette raison, de nombreux fournisseurs de proxy restreignent ou limitent le débit du trafic UDP afin de réduire les abus potentiels.
| Caractéristique | TCP | UDP |
| Type de transmission | Orientée connexion | Sans connexion |
| Fiabilité | Élevée | Faible |
| Vitesse | Moins rapide | Plus rapide |
| Adéquation au proxy | Connexions stables | Utile pour le trafic à faible latence |
| Risques DoS | Vulnérable aux inondations SYN | Vulnérable aux inondations UDP |
| Usurpation | Plus difficile mais possible | Plus facile en l'absence de handshake |
Comment les proxies gèrent le trafic TCP et UDP
La plupart des proxies résidentiels et mobiles prennent en charge les deux protocoles, mais TCP est généralement préféré car sa conception fiable fonctionne bien pour les tâches basées sur des sessions, comme le web scraping ou les appels API. La prise en charge de UDP existe, mais elle est souvent limitée par des restrictions de débit ou des ports filtrés. Les proxies gèrent aussi le NAT et la traduction de paquets afin de garantir un flux correct de requêtes et de réponses entre les appareils clients et les serveurs cibles.
Les connexions TCP sont plus faciles à tracer et à surveiller, tandis que UDP offre une transmission plus rapide et un certain niveau d’anonymat, mais il peut être restreint sur les réseaux de proxy, ce qui peut affecter les flux sensibles à la latence.

