tcp 、 udp 、 http 、 socket

Structure du réseau:

Le réseau est divisé en couche physique, couche liaison de données, couche réseau, couche transport, couche session, couche présentation et couche application de bas en haut.

Suite de protocoles TCP / IP:

TCP / IP est un groupe de protocoles, qui peut être divisé en trois niveaux: couche réseau, couche transport et couche application.

Au niveau de la couche réseau, il existe le protocole IP, le protocole ICMP, le protocole ARP, le protocole RARP et le protocole BOOTP.
Il existe des protocoles TCP et UDP dans la couche de transport.
Au niveau de la couche application, il existe des protocoles tels que FTP, HTTP, TELNET, SMTP et DNS.

 

Protocole HTTP:

HTTP appartient au protocole de la couche application, et la couche de transport sous-jacente est toujours le protocole tcp . Le protocole http est un protocole de transport pour transmettre l'hypertexte du serveur Web au navigateur local.

 

TCP / UDP

TCP et UDP appartiennent au protocole de la couche transport. L'un est basé sur une connexion stable et certaine (similaire à un appel, et l'appel commence après que l'autre partie a répondu), et l'autre est une connexion qui n'est pas basée sur une connexion stable et certaine. certaine connexion (semblable à un message. Assurez-vous de ne pas le recevoir).

 

TCP (Transmission Control Protocol, Transmission Control Protocol).

TCP est un protocole basé sur la connexion et « orienté connexion» signifie qu'une connexion doit être établie avec l'autre partie avant la communication formelle. Par exemple, si vous appelez quelqu'un d'autre, vous devez attendre que la ligne soit connectée et que l'autre partie décroche le microphone pour se parler. En d'autres termes, avant d'envoyer et de recevoir des données formellement, une connexion fiable doit être établie avec l'autre partie. Une connexion TCP ne peut être établie qu'après trois "dialogues". Le processus est très compliqué. Nous ne faisons ici qu'une introduction simple et vivante. Il vous suffit de comprendre le processus.

Jetons un coup d'œil au processus simple de ces trois conversations:

1. L' hôte A envoie un paquet de demande de connexion à l'hôte B: «Je veux vous envoyer des données, puis-je?» C'est la première conversation;

2. L' hôte B envoie à l'hôte A un paquet de données acceptant de se connecter et demandant la synchronisation (la synchronisation signifie que l'un des deux hôtes envoie, l'autre reçoit et coordonne le travail): "Oui, quand allez-vous l'envoyer?" C'est la deuxième conversation ;

3. L' hôte A envoie un autre paquet de données pour confirmer la synchronisation de la demande de l'hôte B: "Je vais l'envoyer maintenant, vous pouvez continuer!" C'est la troisième conversation.

Le but des trois " dialogues" est de synchroniser l'envoi et la réception des paquets de données. Après trois "dialogues", l'hôte A envoie officiellement des données à l'hôte B. Le protocole TCP peut fournir une connexion de communication fiable pour les applications, de sorte que le flux d'octets envoyé par un ordinateur peut être envoyé à d'autres ordinateurs sur le réseau sans erreur. Les systèmes de communication de données avec des exigences de fiabilité élevées utilisent souvent le protocole TCP pour transmettre des données.

Une connexion TCP ne peut être confirmée comme étant déconnectée qu'après quatre conversations. Le processus de quatre conversations est le suivant:

 

UDP (User Data Protocol, protocole de datagramme utilisateur)

UDP est un protocole correspondant à TCP . C'est un protocole non orienté connexion, il n'établit pas de connexion avec l'autre partie, mais envoie directement le paquet de données!

UDP convient aux environnements d'application qui ne transmettent qu'une petite quantité de données à la fois et ne nécessitent pas une fiabilité élevée. Par exemple, nous utilisons 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 UDP à l'autre hôte, puis le L'autre hôte confirme la réception du paquet de données. Si le message indiquant si le paquet arrive est renvoyé à temps, le réseau est connecté. Par exemple, dans l'état par défaut, 4 paquets de données sont envoyés en une seule opération "ping" (comme illustré à la figure 2). Comme vous pouvez le voir, le nombre de paquets de données envoyés est de 4 paquets et le nombre de paquets de données reçus est également de 4 paquets (car l'autre hôte renverra un paquet de données confirmant la réception après l'avoir reçu). Cela montre pleinement que le protocole UDP est un protocole orienté connexion et qu'il n'y a pas de processus d'établissement de connexion. Comme le protocole UDP n'a pas de processus de connexion, son effet de communication est élevé; mais aussi à cause de cela, sa fiabilité n'est pas aussi élevée que le protocole TCP. QQ utilise UDP pour envoyer des messages, il peut donc parfois ne pas recevoir de messages.

Le tableau suivant répertorie la comparaison de tcp et udp:

 

 

tcp

udp

Se connecter

Connexion orientée

Sans connexion

Fiabilité de la transmission

fiable

Non fiable

Occasion d'application

Transférer de grandes quantités de données

Petite quantité de données

la vitesse

lent

vite


programmation de socket

Quel est le socket dont nous parlons le plus souvent ? En fait, socket est une encapsulation du protocole TCP / IP. Le socket lui-même n'est pas un protocole, mais une interface d'appel (API). Grâce à Socket, nous pouvons utiliser le protocole TCP / IP.

  En fait, Socket n'est pas forcément lié au protocole TCP / IP.

  Lorsque l' interface de programmation Socket a été conçue, on espérait qu'elle pourrait également s'adapter à d'autres protocoles réseau.

  Par conséquent, l'apparence de Socket ne fait que faciliter l'utilisation par les programmeurs de la pile de protocoles TCP / IP, qui est une abstraction du protocole TCP / IP.

  Ainsi formées certaines des interfaces fonctionnelles les plus élémentaires que nous connaissons, telles que créer , écouter, connecter, accepter, envoyer, lire, écrire, etc.

  Il y a une description plus vivante sur CSDN : HTTP est une voiture, qui fournit une forme spécifique d'encapsulation ou d'affichage de données; Socket est un moteur, qui offre la capacité de communication réseau.

  En fait, le TCP de la couche transport est basé sur le protocole IP de la couche réseau, et le protocole HTTP de la couche application est basé sur le protocole TCP de la couche transport. Le socket lui-même n'est pas un protocole. Comme mentionné ci-dessus, il fournit uniquement une interface pour la programmation TCP ou UDP.

 

 

 


Je suppose que tu aimes

Origine blog.csdn.net/u012049463/article/details/51104880
conseillé
Classement