Aujourd'hui, nous allons commencer par nous concentrer sur TCP. Plus tôt dans le chapitre sur la superposition, nous avons mentionné un point important. Sur la couche réseau et ci-dessous, il s'agit davantage des connexions hôte d'hôte, ce qui signifie que votre ordinateur doit savoir où se trouve un autre ordinateur pour s'y connecter. Cependant, la communication dans un réseau est souvent une communication interprofiante plutôt que la communication intermachine. Par conséquent, le protocole TCP présente le concept de port. Un port peut être occupé par un seul processus, qui fournit une communication directe entre les processus d'application exécutés sur différents hôtes.
La tâche de la couche de transport est de savoir comment fournir des services de communication directe entre les processus d'application exécutés sur différents hôtes, il est donc également connu comme un protocole de bout en bout. La couche de transport masque les détails du réseau, permettant au processus d'application de voir comme s'il y avait un canal de communication logique de bout en bout entre les deux entités de couche de transport.
TCP signifie Protocole de contrôle de transmission et est connu sous le nom de protocole orienté connexion. Cela signifie qu'avant qu'une application puisse commencer à envoyer des données à l'autre, les deux processus doivent faire une poignée de main. La poignée de main est un processus logiquement connecté qui assure une transmission fiable et une réception ordonnée des données. Pendant la poignée de main, une connexion est établie entre les hôtes source et de destination en échangeant une série de paquets de contrôle et en acceptant certains paramètres et règles pour assurer une transmission de données réussie.
Qu'est-ce que TCP? (Mylinking'sAppuyez sur le réseauetCourtier de paquets réseaupourrait traiter à la fois les paquets TCP ou UDP)
TCP (protocole de contrôle de transmission) est un protocole de communication de la couche de transport basé sur la connexion, fiable, fiable et à traits d'octets.
Axé sur la connexion: Axé sur la connexion signifie que la communication TCP est individuelle, c'est-à-dire la communication point à point de bout en bout, contrairement à l'UDP, qui peut envoyer des messages à plusieurs hôtes en même temps, de sorte que la communication un-à-plusieurs ne peut pas être réalisée.
Fiable: La fiabilité du TCP garantit que les paquets sont livrés de manière fiable au récepteur, quels que soient les modifications dans la liaison réseau, ce qui rend le format de paquet de protocole de TCP plus complexe que celui de l'UDP.
D'octets basé sur des octets: La nature basée sur les octets de TCP permet la transmission de messages de toute taille et garantit l'ordre des messages: même si le message précédent n'a pas été entièrement reçu, et même si les octets suivants ont été reçus, TCP ne les livrera pas à la couche d'application pour le traitement et supprimera automatiquement les paquets en double.
Une fois que Host A et Host B ont établi une connexion, l'application doit uniquement utiliser la ligne de communication virtuelle pour envoyer et recevoir des données, assurant ainsi la transmission des données. Le protocole TCP est responsable du contrôle des tâches telles que l'établissement de connexion, la déconnexion et la maintien. Il convient de noter que nous disons ici que la ligne virtuelle signifie uniquement d'établir une connexion, la connexion du protocole TCP indique uniquement que les deux côtés peuvent démarrer la transmission des données et assurer la fiabilité des données. Les nœuds de routage et de transport sont gérés par les appareils réseau; Le protocole TCP lui-même ne concerne pas ces détails.
Une connexion TCP est un service complet du Duplex, ce qui signifie que l'hôte A et l'hôte B peut transmettre des données dans les deux sens dans une connexion TCP. Autrement dit, les données peuvent être transférées entre l'hôte A et l'hôte B dans un flux bidirectionnel.
TCP stocke temporairement les données dans le tampon d'envoi de la connexion. Ce tampon d'envoi est l'une des caches installées pendant la poignée de main à trois. Par la suite, TCP enverra les données dans le cache d'envoi au cache de réception de l'hôte de destination au moment approprié. En pratique, chaque pair aura un cache d'envoi et un cache de réception, comme indiqué ici:
Le tampon d'envoi est une zone de mémoire maintenue par l'implémentation TCP du côté expéditeur qui est utilisée pour stocker temporairement les données à envoyer. Lorsque la poignée de main à trois voies est effectuée pour établir une connexion, le cache d'envoi est configuré et utilisé pour stocker des données. Le tampon d'envoi est ajusté dynamiquement en fonction de la congestion du réseau et des commentaires du récepteur.
Un tampon de réception est un domaine de mémoire maintenu par l'implémentation TCP du côté récepteur qui est utilisé pour stocker temporairement les données reçues. TCP stocke les données reçues dans le cache de réception et attend que l'application supérieure la lise.
Notez que la taille du cache d'envoi et du cache de réception est limitée, lorsque le cache est plein, le TCP peut adopter certaines stratégies, telles que le contrôle de la congestion, le contrôle du flux, etc., pour assurer une transmission fiable des données et une stabilité du réseau.
Dans les réseaux informatiques, la transmission de données entre les hôtes est réalisée au moyen de segments. Alors, qu'est-ce qu'un segment de paquets?
TCP crée un segment TCP, ou segment de paquets, en divisant le flux entrant en morceaux et en ajoutant des en-têtes TCP à chaque morceau. Chaque segment ne peut être transmis que pendant une durée limitée et ne peut pas dépasser la taille maximale du segment (MSS). En descendant, un segment de paquets passe par la couche de liaison. La couche de liaison a une unité de transmission maximale (MTU), qui est la taille maximale des paquets qui peut passer par la couche de liaison de données. L'unité de transmission maximale est généralement liée à l'interface de communication.
Alors, quelle est la différence entre MSS et MTU?
Dans les réseaux informatiques, l'architecture hiérarchique est très importante car elle prend en compte les différences entre les différents niveaux. Chaque couche a un nom différent; Dans la couche de transport, les données sont appelées segment, et dans la couche réseau, les données sont appelées paquets IP. Par conséquent, l'unité de transmission maximale (MTU) peut être considérée comme la taille maximale de paquets IP qui peut être transmise par la couche réseau, tandis que la taille maximale du segment (MSS) est un concept de couche de transport qui fait référence à la quantité maximale de données qui peuvent être transmises par un paquet TCP à un moment.
Notez que lorsque la taille maximale du segment (MSS) est plus grande que l'unité de transmission maximale (MTU), la fragmentation IP sera effectuée au niveau de la couche réseau, et TCP ne divisera pas les données plus grandes en segments adaptés à la taille MTU. Il y aura une section sur la couche réseau dédiée à la couche IP.
Structure du segment des paquets TCP
Explorons le format et le contenu des en-têtes TCP.
Numéro de séquence: Un nombre aléatoire généré par l'ordinateur lorsque la connexion est établie comme valeur initiale lorsque la connexion TCP est établie, et le numéro de séquence est envoyé au récepteur via le paquet SYN. Pendant la transmission de données, l'expéditeur incrémente le numéro de séquence en fonction de la quantité de données envoyées. Le récepteur juge l'ordre des données en fonction du numéro de séquence reçu. Si les données sont trouvées hors service, le récepteur réorganisera les données pour garantir l'ordre des données.
Numéro de reconnaissance: Il s'agit d'un numéro de séquence utilisé dans TCP pour reconnaître la réception des données. Il indique le numéro de séquence des prochaines données que l'expéditeur prévoit de recevoir. Dans une connexion TCP, le récepteur détermine quelles données ont été reçues avec succès en fonction du numéro de séquence du segment de paquets de données reçu. Lorsque le récepteur reçoit avec succès les données, il envoie un paquet ACK à l'expéditeur, qui contient le numéro d'accusé de réception. Après avoir reçu le paquet ACK, l'expéditeur peut confirmer que les données avant de reconnaître le numéro de réponse ont été reçues avec succès.
Les bits de commande d'un segment TCP comprennent les éléments suivants:
Bit: Lorsque ce bit est 1, cela signifie que le champ de réponse de la reconnaissance est valide. TCP spécifie que ce bit doit être défini sur 1 à l'exception des paquets SYN lorsque la connexion est initialement établie.
Premier bit: Lorsque ce bit est 1, il indique qu'il existe une exception dans la connexion TCP et que la connexion doit être obligée d'être déconnectée.
Bit syn: Lorsque ce bit est défini sur 1, cela signifie que la connexion doit être établie et que la valeur initiale du numéro de séquence est définie dans le champ Numéro de séquence.
Fine: Lorsque ce bit est 1, cela signifie qu'aucune donnée ne sera envoyée à l'avenir et que la connexion est souhaitée.
Les différentes fonctions et caractéristiques du TCP sont incarnées par la structure des segments de paquets TCP.
Qu'est-ce que UDP? (Mylinking'sAppuyez sur le réseauetCourtier de paquets réseaupourrait traiter à la fois les paquets TCP ou UDP)
Le protocole de datagram (UDP) utilisateur est un protocole de communication sans connexion. Par rapport au TCP, l'UDP ne fournit pas de mécanismes de contrôle complexes. Le protocole UDP permet aux applications d'envoyer directement les paquets IP encapsulés sans établir une connexion. Lorsque le développeur choisit d'utiliser UDP au lieu de TCP, l'application communique directement avec l'IP.
Le nom complet du protocole UDP est le protocole de datagram utilisateur, et son en-tête n'est que de huit octets (64 bits), ce qui est très concis. Le format de l'en-tête UDP est le suivant:
Ports de destination et source: Leur objectif principal est d'indiquer quel processus UDP devrait envoyer des paquets.
Paquet: Le champ de taille de paquet contient la taille de l'en-tête UDP plus la taille des données
Somme de contrôle: Conçu pour garantir la livraison fiable des en-têtes UDP et des données Le rôle de la somme de contrôle est de détecter si une erreur ou une corruption s'est produite lors de la transmission d'un paquet UDP pour assurer l'intégrité des données.
Différences entre TCP et UDP dans MyLinkingAppuyez sur le réseauetCourtier de paquets réseaupourrait traiter à la fois les paquets TCP ou UDP
TCP et UDP sont différents dans les aspects suivants:
Connexion: TCP est un protocole de transport axé sur la connexion qui nécessite une connexion à établir avant que les données puissent être transférées. UDP, en revanche, ne nécessite pas de connexion et peut transférer des données immédiatement.
Objet de service: TCP est un service à deux points un à un, c'est-à-dire qu'une connexion n'a que deux points de terminaison pour communiquer entre eux. Cependant, UDP prend en charge une communication interactive individuelle, un à plusieurs et plusieurs à plusieurs, qui peut communiquer avec plusieurs hôtes en même temps.
Fiabilité: TCP fournit le service de livraison de données de manière fiable, garantissant que les données sont sans erreur, sans perte, non duplicataires et arrivent à la demande. UDP, en revanche, fait de son mieux et ne garantit pas une livraison fiable. L'UDP peut souffrir de perte de données et d'autres situations pendant la transmission.
Contrôle de la congestion, contrôle du flux: TCP a des mécanismes de contrôle de la congestion et de contrôle des flux, qui peuvent ajuster le taux de transmission des données en fonction des conditions du réseau pour assurer la sécurité et la stabilité de la transmission des données. L'UDP n'a pas de mécanismes de contrôle de la congestion et de contrôle des flux, même si le réseau est très congestionné, il n'apportera pas d'ajustements au taux d'envoi UDP.
Tête au-dessus de: TCP a une longue longueur d'en-tête, généralement de 20 octets, ce qui augmente lorsque des champs d'option sont utilisés. UDP, en revanche, a un en-tête fixe de seulement 8 octets, donc UDP a une enceinte inférieure.
Scénarios d'application TCP et UDP:
TCP et UDP sont deux protocoles de couche de transport différents, et ils ont des différences dans les scénarios d'application.
Étant donné que TCP est un protocole axé sur la connexion, il est principalement utilisé dans des scénarios où une livraison de données fiable est requise. Certains cas d'utilisation courants comprennent:
Transfert de fichier FTP: TCP peut s'assurer que les fichiers ne sont pas perdus et corrompus pendant le transfert.
Http / https: TCP assure l'intégrité et l'exactitude du contenu Web.
Parce que l'UDP est un protocole sans connexion, il ne fournit pas de garantie de fiabilité, mais il a les caractéristiques de l'efficacité et du temps réel. UDP convient aux scénarios suivants:
Trafic à faible paquet, comme le DNS (système de noms de domaine): Les requêtes DNS sont généralement des paquets courts, et UDP peut les compléter plus rapidement.
Communication multimédia telle que la vidéo et l'audio: Pour la transmission multimédia avec des exigences élevées en temps réel, l'UDP peut fournir une latence plus faible pour garantir que les données peuvent être transmises en temps opportun.
Diffusion de la communication: UDP prend en charge la communication un à plusieurs et plusieurs à plusieurs et peut être utilisé pour la transmission des messages diffusés.
Résumé
Aujourd'hui, nous avons appris le TCP. TCP est un protocole de communication de la couche de transport basé sur la connexion, fiable, d'octets. Il assure la transmission fiable et la réception ordonnée des données en établissant la connexion, la poignée de main et la reconnaissance. Le protocole TCP utilise des ports pour réaliser la communication entre les processus et fournit des services de communication directe pour les processus d'application exécutés sur différents hôtes. Les connexions TCP sont du duplex complet, permettant des transferts de données bidirectionnels simultanés. En revanche, UDP est un protocole de communication orienté vers la connexion, qui ne fournit pas de garanties de fiabilité et convient à certains scénarios avec des exigences élevées en temps réel. TCP et UDP sont différents en mode de connexion, objet de service, fiabilité, contrôle de la congestion, contrôle du flux et autres aspects, et leurs scénarios d'application sont également différents.
Heure du poste: DEC-03-2024