

À quels protocoles de l'architecture de réseau informatique appartiennent TCP et UDP ?
tcp et udp sont des protocoles de "couche de transport". UDP et TCP sont des protocoles importants dans la couche de transport informatique. TCP est orienté connexion et UDP est orienté sans connexion. TCP (Transmission Control Protocol) est un protocole de communication de couche transport fiable, orienté connexion et basé sur le flux d'octets, défini par la RFC 793 de l'IETF. UDP (User Datagram Protocol) permet aux applications d'envoyer des paquets IP encapsulés sans établir de connexion.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.
L'architecture du réseau informatique fait référence au modèle de structure hiérarchique du réseau informatique, qui est un ensemble de protocoles à chaque couche et de ports entre les couches. La communication dans un réseau informatique doit s'appuyer sur des protocoles de communication réseau. Le modèle de référence OSI (Open System Interconnection) largement utilisé proposé par l'Organisation internationale de normalisation (ISO) en 1997 est habituellement appelé modèle de référence ISO/OSI.
Modèle de référence OSI à sept couches :
OSI divise logiquement un système de réseau en 7 sous-systèmes ordonnés fonctionnellement relativement indépendants, de sorte que l'architecture OSI se compose de 7 niveaux fonctionnellement relativement indépendants. La composition est comme indiqué dans la figure ci-dessous. De bas en haut, il s’agit de la couche physique, de la couche liaison de données, de la couche réseau, de la couche transport, de la couche session, de la couche présentation et de la couche application.
Modèle de référence TCP/IP
TCP/IP comporte 4 couches, qui sont la couche d'interface réseau, la couche Internet, la couche transport et la couche application. La comparaison entre la hiérarchie TCP/IP et la hiérarchie OSI est présentée dans la figure ci-dessous.
tcp et udp appartiennent aux protocoles "couche transport" de l'architecture des réseaux informatiques.
La couche transport d’Internet comporte deux protocoles principaux qui se complètent. Le mode sans connexion est UDP, qui ne fait pas grand-chose en particulier, sauf donner aux applications la possibilité d'envoyer des paquets et leur permettre d'architecturer leurs propres protocoles au niveau requis. Celui orienté connexion est TCP, qui fait presque tout.
La couche de transport est l'une des couches clés de l'ensemble du système de couche réseau. La couche réseau envoie uniquement des paquets à l'hôte de destination, mais la véritable communication n'est pas l'hôte mais le processus dans l'hôte. La couche transport fournit des services de communication à la couche application située au-dessus d'elle. Elle appartient à la couche orientée communication la plus élevée lorsque deux hôtes de la partie périphérique du réseau utilisent les fonctions de la partie centrale du réseau pour une communication de bout en bout. , seule la pile de protocoles de l'hôte Seule la couche de transport existe. La couche de transport assure la communication logique entre les processus. La couche de transport protège les détails de base de la couche réseau sous-jacente des utilisateurs de haut niveau, donnant l'impression que l'application a une fin. -logique de bout en bout entre les deux entités de la couche de transport. Canal de communication
Bien que les paquets IP puissent être envoyés à l'hôte de destination, ce paquet reste toujours dans la couche réseau de l'hôte et n'est pas transmis au processus d'application dans le processus d'application. hôte. Pendant le processus de communication entre deux ordinateurs, c'est en fait un processus sur cet hôte qui échange des données avec un processus sur un autre hôte. Du point de vue de la couche transport, le véritable point final de la communication n'est pas l'hôte mais le processus dans l'hôte. En d'autres termes, la communication de bout en bout est la communication entre les processus d'application.
Deux fonctions importantes de la couche transport :
- Multiplexage : Les processus d'application qui ne sont pas utilisés par l'expéditeur peuvent utiliser le même protocole de couche transport pour transmettre des données
- Démultiplexage : La couche transport du récepteur se décolle les paquets Après l'en-tête du document, les données peuvent être correctement transmises au processus d'application de destination
La différence entre la couche réseau et la couche transport : La couche réseau assure la communication logique entre les hôtes, tandis que la couche transport fournit directement une communication de bout en bout pour les applications. Communication logique
TCP et UDP
UDP et TCP sont des protocoles importants dans la couche de transport informatique. TCP est orienté connexion et UDP est orienté sans connexion
Le transport. La couche dans la couche TCP/IP utilise un numéro de port 16. Le numéro de port n'a qu'une signification locale. Il sert à marquer l'interface inter-couches entre chaque processus de la couche application informatique et l'interaction dans la couche transport. Les numéros de port entre les différents numéros de réseau ne sont pas liés. Par conséquent, pour que les processus entre deux ordinateurs communiquent entre eux, ils doivent connaître l'adresse IP de chacun (afin de trouver l'ordinateur de l'autre partie) et le numéro de port (afin de trouver l'ordinateur de l'autre partie). pour trouver le processus dans l'ordinateur). La communication sur Internet utilise le client-serveur. De cette façon, lorsque le client initie une demande de communication, il doit d'abord connaître l'adresse IP et le numéro de port du serveur de l'autre partie.
UDP
Le protocole de datagramme utilisateur ajoute uniquement une fonction de multiplexage, de démultiplexage et de détection d'erreurs aux messages IP.
1. Caractéristiques d'UDP
- UDP est sans connexion : aucune connexion n'est requise avant l'envoi ;
- UDP utilise la livraison au mieux et ne garantit pas une livraison fiable ;
- UDP est orienté message. Comme indiqué ci-dessous, un message complet est transmis à la fois
- UDP n'a pas de contrôle de congestion
- UDP prend en charge un à un, un à plusieurs, plusieurs à un et plusieurs ; communication interactive vers de nombreux ;
- En-tête UDP Faible surcharge
2. Le champ d'en-tête du message UDP
TCP
Transmission Control Protocol (TCP, Transmission Control Protocol) est un protocole de communication de couche de transport fiable, orienté connexion et basé sur le flux d'octets, défini par la RFC 793 de l'IETF. TCP : protocole de message utilisateur, orienté connexion. Une connexion doit être établie avant la transmission des données. La connexion est libérée une fois la transmission des données terminée. TCP ne fournit pas de services de diffusion ou de multidiffusion.1. Fonctionnalités TCP
- TCP est orienté connexion et fournit une livraison fiable ;
- est orienté flux d'octets ;
- contrôle de la congestion ; couche application) Le message est considéré comme un flux d'octets et le flux d'octets est organisé en blocs de données de différentes tailles. Chaque connexion TCP ne peut être que point à point (un à un).
- 2. Connexion TCP
socket = adresse IP : numéro de port
3. Format d'en-tête de segment TCPSource port et port de destination : chacun occupe 2 octets, écrivez respectivement le port source et le port de destination
Numéro de série : 4 octets, TCP est orienté vers le flux d'octets, transmis en connexion TCP Chaque octet du flux d'octets est numéroté dans l'ordre, et le numéro de départ de l'ensemble du flux d'octets à transmettre doit être défini lorsque la transmission est établie.
- Numéro de confirmation : le numéro de séquence du prochain segment attendu ; Par exemple, B reçoit correctement un segment de message envoyé par A. Le numéro de séquence est 501 et la longueur des données est de 200 octets. Par conséquent, B s'attend à ce que le numéro de séquence du segment de message suivant soit 701. Dans le segment de message de confirmation envoyé par B. à A, le numéro de confirmation est 701.
- Décalage des données : fait référence au décalage de la partie données depuis le début du segment du message, qui fait en fait référence à la longueur de l'en-tête.
- Confirm ACK : Lorsque ACK=1, le champ du numéro de confirmation est valide, sinon il n'est pas valide. TCP stipule qu'une fois la connexion établie, tous les segments de message transmis doivent avoir ACK défini sur 1.
- Synchronisation SYN : utilisé pour synchroniser le numéro de séquence lorsque la connexion est établie. Lorsque SYN=1 et ACK=0, cela indique qu'il s'agit d'un segment de demande de connexion. Si l'autre partie accepte d'établir la connexion, SYN=1 et ACK=1 dans le message de réponse.
- Termination FIN : utilisé pour libérer une connexion. Lorsque FIN=1, cela signifie que les données de l'expéditeur de ce segment ont été envoyées et que la connexion doit être libérée.
- Fenêtre : La valeur de la fenêtre sert de base au destinataire pour laisser l'expéditeur définir sa fenêtre d'envoi. La raison de cette restriction est que l'espace de cache de données du récepteur est limité.
- 4. Poignée de main TCP à trois voies
Supposons que A soit le client et B soit le serveur.
Tout d’abord, B est dans l’état LISTEN (écoute), en attente de la demande de connexion du client.
A envoie un message de demande de connexion à B, SYN=1, ACK=0, et sélectionne un numéro de séquence initial x.
- B reçoit le message de demande de connexion. S'il accepte d'établir la connexion, il envoie un message de confirmation de connexion à A, avec SYN=1, ACK=1, le numéro de confirmation est x+1, et sélectionne également un numéro de séquence initial. y.
- Après avoir reçu le message de confirmation de connexion de B, A envoie également une confirmation à B. Le numéro de confirmation est y+1 et le numéro de séquence est x+1.
- Après que B ait reçu la confirmation de A, la connexion est établie.
- 5. TCP agite quatre fois
La description suivante ne traite pas des numéros de séquence et des numéros de confirmation, car les règles pour les numéros de séquence et les numéros de confirmation sont relativement simples. Et ACK n'est pas discuté car ACK est toujours 1 une fois la connexion établie.
- A envoie un message de libération de connexion, FIN=1.
- B envoie une confirmation après l'avoir reçue. À ce moment, TCP est dans un état semi-fermé. B peut envoyer des données à A mais A ne peut pas envoyer de données à B.
- Lorsque B n'a plus besoin de la connexion, envoyez un message de libération de connexion, FIN=1.
- A envoie une confirmation après l'avoir reçue, entre dans l'état TIME-WAIT et attend 2 MSL (durée de survie maximale du message) avant de libérer la connexion.
- B libère la connexion après avoir reçu la confirmation de A.
La raison de l'agitation quatre fois
Après que le client ait envoyé le message de libération de connexion FIN, le serveur reçoit ce message et entre dans l'état CLOSE-WAIT. Cet état permet au serveur d'envoyer des données qui n'ont pas encore été transférées. Une fois le transfert terminé, le serveur enverra un message de libération de connexion FIN.
TIME_WAIT
Le client entre dans cet état après avoir reçu le message FIN du serveur. A ce moment, il n'entre pas directement dans l'état CLOSED, mais doit également attendre le temps 2MSL défini par la minuterie. Il y a deux raisons à cela :
- Pour garantir que le dernier message de confirmation puisse arriver. Si B ne reçoit pas le message de confirmation de A, il renverra le message de demande de libération de connexion. A attend un certain temps pour gérer cette situation.
- Attendre un certain temps consiste à permettre à tous les paquets générés pendant la durée de cette connexion de disparaître du réseau, afin que les anciens paquets de demande de connexion n'apparaissent pas dans la prochaine nouvelle connexion.
Implémentation d'une transmission fiable TCP
TCP utilise une retransmission hors délai pour obtenir une transmission fiable. Si un segment de message qui a été envoyé ne reçoit pas de confirmation dans le délai d'expiration, alors le segment de message sera retransmis
1. Fenêtre coulissante TCP
La fenêtre fait partie du cache et est utilisée pour stocker temporairement le flux d'octets. L'expéditeur et le destinataire ont chacun une fenêtre. Le destinataire indique à l'expéditeur sa taille de fenêtre via le champ de fenêtre du segment TCP. L'expéditeur définit sa propre taille de fenêtre en fonction de cette valeur et d'autres informations.
Tous les octets de la fenêtre d'envoi peuvent être envoyés et tous les octets de la fenêtre de réception peuvent être reçus. Si l'octet sur le côté gauche de la fenêtre d'envoi a été envoyé et confirmé, faites glisser la fenêtre d'envoi d'une certaine distance vers la droite jusqu'à ce que le premier octet à gauche ne soit pas envoyé et confirmé, le glissement de la fenêtre de réception est similaire ; Lorsque les octets sur le côté gauche de la fenêtre ont été envoyés, confirmés et livrés à l'hôte, faites glisser la fenêtre de réception vers la droite.
La fenêtre de réception confirmera uniquement le dernier octet arrivant dans l'ordre dans la fenêtre. Par exemple, les octets reçus par la fenêtre de réception sont {31, 34, 35}, parmi lesquels {31} arrive dans l'ordre, et {34, 35} ne l'est pas, donc seul l'octet 31 est reconnu. Une fois que l'expéditeur a reçu un accusé de réception d'un octet, il sait que tous les octets précédant cet octet ont été reçus.
2. Contrôle de flux TCP
Le contrôle de flux sur TCP est mis en œuvre via des fenêtres coulissantes De manière générale, nous espérons que l'expéditeur envoie les données le plus rapidement possible, mais si l'expéditeur envoie des données trop rapidement, ce sera le cas. Par conséquent, le destinataire n'a pas le temps d'accepter, il est donc nécessaire de contrôler le flux de l'expéditeur. Le contrôle de flux sur TCP est principalement réalisé en définissant la taille de la fenêtre coulissante. Le champ de la fenêtre dans le message de confirmation envoyé par le destinataire peut être utilisé pour. contrôler la taille de la fenêtre de l'expéditeur, affectant ainsi le taux d'envoi de l'expéditeur. Définissez le champ de la fenêtre sur 0 et l'expéditeur ne peut pas envoyer de données.
3. Contrôle de la congestion TCP
Si le réseau est encombré, les paquets seront perdus et l'expéditeur continuera à retransmettre, ce qui entraînera une congestion accrue du réseau. Par conséquent, en cas de congestion, le tarif de l'expéditeur doit être contrôlé. Ceci est très similaire au contrôle de flux, mais le point de départ est différent. Le contrôle de flux vise à permettre au récepteur de recevoir à temps, tandis que le contrôle de congestion consiste à réduire le niveau de congestion de l'ensemble du réseau.
Conditions de contrôle de la congestion :
Le contrôle de la congestion est différent du contrôle de flux : Le contrôle de la congestion consiste à empêcher que trop de données ne soient injectées dans le réseau, afin que les routeurs ou les liens du réseau ne soient pas surchargés. Le contrôle de la congestion est un processus global. , conçu pour tous les hôtes, tous les routeurs et tous les éléments liés à la réduction des performances du réseau. Cependant, le contrôle de flux est souvent le contrôle du trafic point à point et constitue un problème de bout en bout
Congestion dans TCP Les principaux algorithmes de contrôle : démarrage lent, évitement de congestion, retransmission rapide, récupération rapide
L'expéditeur doit maintenir une variable d'état appelée fenêtre de congestion (cwnd). la fenêtre de l'expéditeur : la fenêtre de congestion n'est qu'une variable d'état, c'est la fenêtre de l'expéditeur qui détermine réellement la quantité de données que l'expéditeur peut envoyer.
Pour faciliter la discussion, les hypothèses suivantes sont faites :
- Le récepteur dispose d'un tampon de réception suffisamment grand, donc le contrôle de flux n'aura pas lieu
Bien que la fenêtre de TCP soit basée sur les octets, ici l'unité de taille de la fenêtre est un ; segment de message.
1. Démarrage lent et évitement des encombrements
L'exécution initiale de l'envoi est un démarrage lent, soit cwnd = 1, l'expéditeur ne peut envoyer qu'un seul segment après avoir reçu la confirmation, cwnd est doublé, donc après cela ; , le nombre de segments de message que l'expéditeur peut envoyer est : 2, 4, 8...
Notez qu'au démarrage lent, cwnd est doublé à chaque tour, ce qui fera croître très rapidement cwnd, augmentant ainsi la vitesse d'envoi de l'expéditeur Si cela est trop rapide, le risque de congestion du réseau est plus élevé.
Définissez un seuil de démarrage lent ssthresh. Lorsque cwnd >= ssthresh, l'évitement de congestion est entré et seul cwnd est augmenté de 1 à chaque tour.
Si un délai d'attente se produit, définissez ssthresh = cwnd / 2, puis exécutez à nouveau un démarrage lent.
2. Retransmission rapide et récupération rapide
Du côté de la réception, il est nécessaire qu'à chaque fois qu'un segment de message est reçu, le dernier segment de message commandé reçu soit accusé de réception. Par exemple, M1 et M2 ont été reçus, et lorsque M4 est reçu, un accusé de réception pour M2 doit être envoyé.
Du côté de l'expéditeur, si trois accusés de réception en double sont reçus, on peut savoir que le segment suivant est perdu. A ce moment, une retransmission rapide est effectuée et le segment suivant est retransmis immédiatement. Par exemple, si trois M2 sont reçus, M3 est perdu et M3 est retransmis immédiatement.
Dans ce cas, il s'agit simplement de la perte de segments individuels, et non de la congestion du réseau. Par conséquent, une récupération rapide est effectuée, en définissant ssthresh = cwnd / 2, cwnd = ssthresh Notez que l'évitement de congestion est directement entré à ce moment.
La vitesse de démarrage lent et de récupération rapide fait référence à la valeur de réglage de cwnd, et non au taux de croissance de cwnd. Le cwnd de démarrage lent est défini sur 1 et le cwnd de récupération rapide est défini sur ssthresh.
Référence : Computer Network Fifth Edition édité par Xie Xiren
(Partage de vidéos d'apprentissage : Introduction au front-end Web)
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Il existe deux protocoles principaux pour la charge rapide vivo : 1. Le protocole de charge rapide « QC 2.0 » est la technologie « Quick Charge 2.0 ». Il s'agit de la version 2.0 de la technologie de charge rapide publiée par Qualcomm. 9 V et 12 V, 20 V quatre groupes de tension ; 2. Le protocole de charge rapide PD est une spécification de charge rapide formulée par l'organisation « USB-IF ». Il s'agit de l'un des protocoles de charge rapide courants actuels et peut atteindre la puissance maximale par défaut actuelle. "5V/2A" L'interface "type-c" est augmentée à 100W.

Le protocole de charge rapide PD3.0 prend en charge jusqu'à « 100 W ». En novembre 2015, la charge rapide USB PD a inauguré une mise à jour majeure de la version et est entrée dans l'ère de la charge rapide USB PD3.0 ; le protocole PD3.0 prend en charge les sorties 5V3A, 9V3A, 12V3A, 15V3A et 20V5A, et la puissance maximale peut atteindre 100 W. Il peut non seulement être utilisé pour charger des téléphones mobiles, mais également pour alimenter des ordinateurs portables ou des moniteurs.

5 types de protocoles de communication industriels : 1. Protocole Modbus, qui est un langage universel utilisé dans les contrôleurs électroniques ; 2. Protocole RS-232, qui est une norme d'interface physique série 3. Protocole RS-485, basé sur RS232 développé ; sur la base de : 4. Le protocole HART est un protocole de communication utilisé entre les instruments intelligents sur site et les équipements de la salle de contrôle ; 5. Le protocole MPI est un protocole de communication multilingue utilisé pour écrire des ordinateurs parallèles.

Avec le développement continu de la technologie Internet, de plus en plus d'applications au niveau de l'entreprise doivent fournir des interfaces avec d'autres applications pour réaliser l'interaction des données et des activités. Dans ce cas, nous avons besoin d’un protocole fiable pour transmettre les données et garantir leur intégrité et leur sécurité. SOAP (Simple Object Access Protocol) est un protocole basé sur XML qui peut être utilisé pour implémenter la communication entre des applications dans un environnement Web. En tant que langage de programmation Web populaire, PHP

Le protocole de charge rapide QC4+ est une combinaison du protocole USB PD PPS et du protocole de charge rapide QC3.0/2.0. Il s'agit d'une technologie de charge rapide multifonctionnelle et multiprotocole. Le protocole de chargement QC4+ est compatible avec USB PD3.0 (PPS) et est rétrocompatible avec USB PD2.0, QC3.0, QC2.0, BC1.2 et d'autres protocoles. La première condition préalable à la prise en charge de USB PD et QC4+ est la prise en charge des interfaces USB-C aux deux extrémités et le message de négociation de puissance basé sur le CC (canal de configuration) dans l'interface USB-C.

Microsoft prévoit de désactiver les versions 1.0 et 1.1 du protocole Transport Layer Security (TLS) dans Windows. La société a annoncé la nouvelle sur son site Web de la communauté technologique le 1er mars 2023. Ces deux protocoles remontent à 1999 (TLS1.0) et 2006 (TLS1.1) et ont depuis été dépassés par les versions plus récentes TLS1.2 et TLS1.3. Microsoft note que des problèmes de sécurité ont été découverts dans les anciennes versions du protocole et que « les normes et les régulateurs Internet ont déprécié ou interdit les versions 1.0 et 1.1 de TLS en réponse. Au fil des années, l'utilisation de TLS 1.0 et 1.1 a considérablement diminué. » Microsoft estime que le temps a venez désactiver les deux protocoles.

Le protocole « x.25 » utilise la technologie de commutation de paquets ; le protocole « x.25 » est un réseau de communication de données orienté ordinateur, composé d'équipements de base tels que des lignes de transmission, des commutateurs de paquets, des concentrateurs distants et des terminaux de paquets, et adopte un protocole en couches. L'architecture , la négociation, le contrôle et la transmission des informations sur l'échange d'informations sont effectués entre les couches homologues de l'interface via le protocole de communication entre les couches homologues.

Pour analyser en profondeur la signification du protocole pip, des exemples de code spécifiques sont nécessaires Introduction : Dans le monde Python, pip (c'est-à-dire pipinstall) est notre moyen préféré pour installer et gérer des bibliothèques tierces. Il s'agit d'un outil de gestion de packages Python. Il est largement utilisé dans le processus de développement en raison de sa simplicité, de son efficacité, de sa facilité d'utilisation et de sa commodité. Cet article analysera en profondeur la signification du protocole pip, démontrera le rôle important et l'utilisation de pip à travers des exemples de code spécifiques et aidera les lecteurs à mieux comprendre et utiliser pip. 1. protocole pip