Maison > interface Web > tutoriel HTML > le corps du texte

Quelle est la différence entre TCP/IP et UDP ?

一个新手
Libérer: 2017-09-07 13:58:45
original
2606 Les gens l'ont consulté

TCP (Transmission Control Protocol)

est un protocole orienté connexion, c'est-à-dire qu'avant d'envoyer et de recevoir des données, il doit Établissez une connexion fiable avec l’autre partie. Une connexion TCP doit passer par trois « conversations » avant de pouvoir être établie

TCPPoignée de main à trois voiesProcessus :

1 L'hôte A envoie un segment de données contenant le bit d'indicateur du numéro de séquence de synchronisation à l'hôte B et demande à l'hôte B d'établir une connexion. Grâce à ce segment de données, l'hôte A indique deux choses à l'hôte B : I. voulez Vous voulez communiquer avec vous ; pouvez-vous utiliser quel numéro de séquence comme segment de données de départ pour me répondre

2 L'hôte B, après avoir reçu la demande de l'hôte A, répond avec. une confirmation (le segment de données avec ACK) et des indicateurs de numéro de séquence de synchronisation (SYN) répond à l'hôte A et indique à l'hôte A deux choses : j'ai reçu votre demande et vous pouvez transmettre des données, quel numéro de séquence souhaitez-vous utiliser comme point de départ ; point ?

3 Après avoir reçu ce segment de données, l'hôte A envoie une réponse de confirmation pour confirmer qu'il a reçu le segment de données de l'hôte B : "J'ai reçu une réponse. , je suis va maintenant commencer à transmettre des données réelles

De cette façon, la poignée de main à trois est terminée et l'hôte A et l'hôte B peuvent transmettre des données

. Caractéristiques de la poignée de main à 3 :

1) Aucune donnée de couche d'application

2) Indicateur SYN Le bit ne sera mis à 1 que lorsque TCP établira une connexion de production

3) Une fois la poignée de main terminée, l'indicateur SYN est mis à 0

TCP nécessite 3 poignées de main pour établir une connexion, tandis que se déconnecte 4 fois

1 Lorsque l'hôte A termine la transmission des données, il contrôlera Le bit FIN est mis à 1, faisant une demande d'arrêt de la connexion TCP

2 L'hôte B répond au FIN après l'avoir reçu, confirmant que la connexion TCP dans cette direction sera être fermé, et définit ACK à 1

3 L'extrémité B fait une demande de fermeture dans le sens opposé, définit FIN à 1

4 L'hôte A confirme la demande de l'hôte B, définit ACK sur 1 et l'arrêt bidirectionnel se termine

Cela peut être vu sur les TCP. poignée de main à trois voies et quatre déconnexions TCP L'utilisation de la communication orientée connexion améliore considérablement la fiabilité de la communication des données, permettant à l'extrémité émettrice des données et à l'extrémité réceptrice d'interagir avant que les données ne soient officiellement transmises, jetant ainsi une base fiable pour les données formelles transmission

Explication du terme

ACK - l'un des bits de contrôle dans l'en-tête TCP, confirmant les données. la confirmation est envoyée par la destination, utilisez-la pour indiquer que l'expéditeur a reçu tous les segments de données avant le numéro de séquence. Par exemple, si le numéro de confirmation est , le numéro de confirmation n'est pas valide, les données devront alors être retransmises pour garantir. l'intégrité des données.

SYN - numéro de séquence de synchronisation, mettre cette position à 1 lorsque TCP établit une connexion

FIN - L'envoi end a terminé le bit de la tâche d'envoi. Lorsque TCP termine la transmission des données et doit être déconnecté, la partie qui propose de se déconnecter définira ce bit sur 1

Structure d'en-tête TCP. :

Port source 16 bits

Port destination 16 bits

Numéro de séquence 32 chiffres

Numéro de séquence de réponse 32 chiffres

Longueur de l'en-tête TCP 4 chiffres

réservé 6 bits

Code de contrôle 6 bits

Taille de la fenêtre 16 bits

Décalage 16 bits

Somme de contrôle 16 bits

Option 32 bits (facultatif)

De cette façon, nous obtenons le minimum longueur de l'en-tête TCP, qui est de 20 octets.

UDP (User Data Protocol, User Datagram Protocol)

(1) UDP est un protocole de non-connexion. La source et le terminal n'établissent pas de connexion avant de transmettre des données, il récupère simplement les données de l'application et les transmet le plus rapidement possible. possible. Jetez-le sur le Web. Du côté de l'envoi, la vitesse à laquelle UDP transmet les données n'est limitée que par la vitesse à laquelle l'application génère des données, les capacités de l'ordinateur et la bande passante de transmission. Du côté de la réception, UDP place chaque segment de message dans une file d'attente et le l'application lit chaque segment de message de la file d'attente à chaque fois.

(2) Puisqu'aucune connexion n'est établie pour la transmission de données, il n'est pas nécessaire de maintenir l'état de la connexion, y compris l'état d'envoi et de réception, etc. Par conséquent, une machine serveur peut transmettre le mêmes données à plusieurs clients en même temps.

(3) L'en-tête du paquet UDP est très court, seulement 8 octets. Par rapport au paquet de 20 octets de TCP, la surcharge supplémentaire est très faible.

(4) Le débit n'est pas régulé par l'algorithme de contrôle de congestion et n'est limité que par le débit de données générées par le logiciel d'application, la bande passante de transmission et les performances de la source et de l'hôte du terminal.

(5) UDP utilise la livraison au mieux, c'est-à-dire qu'une livraison fiable n'est pas garantie, donc l'hôte n'a pas besoin de maintenir une table d'état de lien complexe (il existe de nombreux paramètres dans il).

(6) UDP est orienté message. Le message transmis par l'UDP de l'expéditeur au programme d'application est transmis à la couche IP après l'ajout d'un en-tête. Ni le fractionnement ni la fusion ne sont effectués, mais les limites de ces paquets sont préservées, l'application doit donc choisir une taille de paquet appropriée. On utilise souvent la commande "ping" pour tester si la communication TCP/IP entre deux hôtes est normale. En fait, le principe de la commande "ping" est d'envoyer un paquet de données UDP à l'autre hôte, puis à l'autre hôte. confirme la réception du paquet de données. Si le paquet de données est transmis à temps, le réseau sera ouvert.

Structure d'en-tête UDP :

Port source 16 bits

Port de destination 16 bits

Longueur 16 bits

Somme de contrôle 16 bits

Résumé des différences entre TCP et UDP :

1. Basé sur une connexion et sans connexion ;

2. plus de TCP, moins d'UDP);

3. La structure du programme UDP est plus simple

4.

5.TCP garantit l'exactitude des données, UDP peut perdre des paquets, TCP garantit l'ordre des données, mais pas UDP.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!