Couche d'application réseau informatique

1 Modèle d'application réseau

1.1 Aperçu

1.2 Modèle d'application réseau

1.2.1 Modèle client / serveur (client / serveur)

1.2.2 Modèle P2P (Peer-to-Peer)

Dans le modèle P2P, chaque ordinateur n'a pas de division fixe de clients et de serveurs. Au contraire, une paire d'ordinateurs est appelée un par un 对等方(Peer), communiquant directement entre eux.

2 DNS du système de noms de domaine

DNS est une base de données distribuée qui fournit des services de conversion entre les noms d'hôtes et les adresses IP. La base de données distribuée signifie ici que chaque site ne conserve que sa propre partie des données.

2.1 Nom de domaine

因特网采用层次树状结构的命名方法. Avec cette méthode de dénomination, tout hôte ou routeur connecté à Internet a un nom hiérarchique unique, c'est-à-dire 域名(Domain Name).

Les noms de domaine ont une structure hiérarchique, de haut en bas: nom de domaine racine, nom de domaine de premier niveau et nom de domaine de deuxième niveau.

DNS peut utiliser UDP ou TCP pour la transmission et le numéro de port utilisé est 53. Dans la plupart des cas, DNS utilise UDP pour la transmission, ce qui nécessite des résolveurs de noms de domaine et des serveurs de noms de domaine pour gérer les délais d'expiration et les retransmissions pour garantir la fiabilité. Dans deux cas, TCP est utilisé pour la transmission:

  • Si la réponse renvoyée dépasse 512 octets (UDP ne prend en charge que 512 octets de données).
  • Transfert de zone (le transfert de zone est la partie des données que le serveur de noms de domaine principal transmet au serveur de noms de domaine secondaire).

2.2 Serveur de noms de domaine

因特网的域名系统被设计成一个联机分布式的数据库系统,并采用客户/服务器模型. Il existe de nombreux serveurs DNS, qui sont divisés en trois couches selon la structure hiérarchique, le serveur de nom de domaine racine, le serveur de nom de domaine principal et le serveur de nom de domaine d'autorité.

2.3 Processus de résolution de nom de domaine

La résolution de nom de domaine fait référence au processus de mappage des noms de domaine en adresses IP ou de mappage d'adresses IP en noms de domaine. La première est appelée analyse directe et la seconde est appelée analyse inverse.

  • Lorsque le client a besoin d'une résolution de nom de domaine, il en construit un via le client DNS local DNS请求报文et le lui UDP数据报envoie par la voie 本地域名服务器.
  • Il existe deux méthodes de résolution de nom de domaine: une requête récursive et une requête qui combine la récursivité et l'itération .

3 Protocole de transfert de fichiers FTP

Le protocole de transfert de fichiers (FTP) est le protocole de transfert de fichiers le plus utilisé sur Internet.

  • Fournit des capacités de transfert de fichiers entre différents types de systèmes hôtes (les systèmes matériels et logiciels peuvent être différents).
  • Fournir aux utilisateurs la possibilité de gérer les fichiers sur le serveur FTP distant au moyen de la gestion des droits des utilisateurs.
  • 公用文件共享La possibilité de fournir un FTP anonyme .

FTP utilise TCP pour se connecter et nécessite deux connexions parallèles pour transférer un fichier:

  • Contrôle de la connexion: Le serveur ouvre le port numéro 21 et attend la connexion du client. Une fois que le client établit activement la connexion, il utilise cette connexion pour transmettre la commande du client au serveur et renvoyer la réponse du serveur.
  • Connexion de données: utilisée pour transmettre un fichier de données, le numéro de port est 20.

Selon que la connexion de données est activement établie côté serveur, FTP dispose de deux modes: actif et passif:

  • Mode actif: le serveur établit activement une connexion de données. Le numéro de port côté serveur est 20 et le numéro de port côté client est aléatoire, mais doit être supérieur à 1024, car 0 ~ 1023 sont des numéros de port connus.

  • Mode passif: le client établit activement une connexion de données, où le numéro de port du client est spécifié par le client et le numéro de port du serveur est aléatoire.

Le mode actif nécessite que le client ouvre le numéro de port sur le serveur et le pare-feu du client doit être configuré. Le mode passif doit uniquement ouvrir le numéro de port côté serveur et aucun pare-feu n'est requis côté client. Mais le mode passif affaiblira la sécurité côté serveur, car trop de numéros de port sont ouverts.

4 Protocole de configuration dynamique de l'hôte DHCP

DHCP (Dynamic Host Configuration Protocol) fournit un mode de mise en réseau plug-and-play, et les utilisateurs n'ont plus besoin de configurer manuellement les adresses IP et autres informations.

Le contenu de la configuration DHCP n'est pas seulement l'adresse IP, mais également le masque de sous-réseau et l'adresse IP de la passerelle.

Le processus de travail de DHCP est le suivant:

  1. Le client envoie un message de découverte. L'adresse de destination du message est 255.255.255.255:67 et l'adresse source est 0.0.0.0:68. Il est placé dans UDP et le message est diffusé à tous les hôtes sur le même sous-réseau. Si le client et le serveur DHCP ne sont pas dans le même sous-réseau, un agent de relais est requis.
  2. Après avoir reçu le message de découverte, le serveur DHCP envoie un message d'offre au client, qui contient les informations dont le client a besoin. Étant donné que le client peut recevoir des informations de plusieurs serveurs DHCP, le client doit faire un choix.
  3. Si le client sélectionne les informations fournies par un serveur DHCP, il envoie un message de demande au serveur DHCP.
  4. Le serveur DHCP envoie un message Ack, indiquant que le client peut utiliser les informations qui lui sont fournies à ce moment.

5 Contrat de courrier électronique

Le courrier électronique est une méthode de communication asynchrone et la communication ne nécessite pas que les deux parties soient présentes en même temps. Le courrier électronique envoie le courrier au serveur de messagerie utilisé par le destinataire et le place dans la boîte aux lettres du destinataire. Le destinataire peut accéder à tout moment au serveur de messagerie utilisé par lui-même pour la lecture.

Un système de messagerie se compose de trois parties: agent utilisateur, serveur de messagerie et protocole de messagerie .

Le protocole de messagerie comprend un protocole d'envoi et un protocole de lecture. Le protocole d'envoi est couramment utilisé SMTP et le protocole de lecture est couramment utilisé POP3 et IMAP.

5.1 Protocole de transfert de courrier simple SMTP

Puisque SMTP ne peut envoyer que des codes ASCII, l'extension de messagerie Internet MIME peut envoyer des fichiers binaires. MIME n'a pas changé ni remplacé SMTP, mais a augmenté la structure du corps du courrier et défini des règles de codage non ASCII.

5.2 Protocole POP3 de bureau de poste

La caractéristique de POP3 est que tant que l'utilisateur lit le courrier sur le serveur, le courrier est supprimé. Mais la dernière version de POP3 ne peut pas supprimer le courrier.

5.3 Protocole d'accès aux messages Internet IMAP

Le protocole IMAP (Internet Message Access Protocol) est beaucoup plus compliqué que POP. IMAP fournit aux utilisateurs des commandes pour créer des dossiers, déplacer le courrier entre différents dossiers et interroger le courrier dans des dossiers distants IMAP服务器维护了会话用户的状态信息.

Une autre caractéristique d'IMAP est 允许用户代理只获取报文的某些部分que, par exemple, seul l'en-tête d'un message ou une partie d'un message MIME en plusieurs parties peut être lu.

Dans le protocole IMAP, les mails sur le client et le serveur sont synchronisés. Si les mails ne sont pas supprimés manuellement, les mails sur le serveur ne seront pas supprimés. IMAP permet aux utilisateurs d'accéder au courrier sur le serveur à tout moment, n'importe où.

6 World Wide Web et protocole HTTP

6.1 Vue d'ensemble du World Wide Web

Le World Wide Web (WWW) est un espace de données dans lequel une chose utile est appelée une "ressource" et est identifiée par un "Uniform Resource Locator" (URL) global. Ces ressources sont transmises aux utilisateurs via le protocole HTTP (Hypertext Transfer Protocol), et les ressources sont obtenues en cliquant sur le lien.

6.2 Protocole de transfert hypertexte HTTP

HTTP définit la manière dont le navigateur (processus client Web) demande un document Web au serveur Web et la façon dont le serveur transmet le document au navigateur.

D'un point de vue hiérarchique, HTTP est un protocole de couche d'application orienté transaction, qui spécifie le format et les règles de la demande et de la réponse entre le navigateur et le serveur, et est capable d'échanger de manière fiable des fichiers (y compris du texte) sur le World Wide Web. , Son, images et autres fichiers multimédias).

6.2.1 Caractéristiques

Les connexions non persistantes et les connexions persistantes se produisent lorsque TCP établit la troisième négociation de la connexion .

Pour les connexions non persistantes , 每个网页元素对象(如JPEG图形、Flash 等)的传输都需要单独建立一个TCP连接comme indiqué sur la figure (le troisième segment de prise de contact porte la demande du client pour le document World Wide Web). En d'autres termes, le temps requis pour demander un document World Wide Web est le temps de transmission du document (proportionnel à la taille du document) plus deux fois le temps d'aller-retour RTT (un RTT est utilisé pour les connexions TCP et l'autre RTT est utilisé pour demander et recevoir des documents) .

Une connexion persistante signifie que le serveur Web maintient toujours cette connexion après l'envoi d'une réponse, de sorte que le même client et le même serveur puissent continuer à transmettre les messages de requête et de réponse HTTP suivants sur cette connexion.

持久连接Il existe deux façons : 非流水线et 流水线.
Pour la 非流水线méthode, le client peut envoyer la requête suivante après avoir reçu la réponse précédente;
la méthode par défaut de HTTP / 1.1 consiste à utiliser 流水线une connexion persistante. Dans ce cas, le client émet immédiatement une demande chaque fois qu'il rencontre une référence d'objet, de sorte que le client peut émettre en continu des demandes pour chaque objet référencé un par un. Si toutes les demandes et réponses sont envoyées en continu, tous les objets référencés subissent un total de 1 délai RTT, au lieu d'une méthode non en pipeline, chaque référence doit avoir 1 délai RTT.

6.2.2 Structure des messages HTTP

HTTP est orienté texte, de sorte que chaque champ du message est une chaîne de codes ASCII et la longueur de chaque champ est incertaine. Il existe deux types de messages HTTP:

  • Demande de message de demande de message envoyé du client au serveur
  • Réponse message-réponse du serveur au client

Par exemple:

7 ports couramment utilisés

application Protocole de couche application Le numéro de port Protocole de couche de transport Remarques
DNS DNS 53 UDP / TCP Utilisez TCP lorsque la longueur dépasse 512 octets
Protocole de configuration d'hôte dynamique DHCP 67/68 UDP
Protocole de gestion de réseau simple SNMP 161/162 UDP
Protocole de transfer de fichier FTP 20/21 TCP Connexion de commande 21, connexion de données 20
Protocole de terminal distant TELNET 23 TCP
Protocole de transfert hypertexte HTTP 80 TCP
Protocole de transfert de courrier simple SMTP 25 TCP
Protocole de lecture du courrier POP3 110 TCP
Protocole d'accès aux messages Internet IMAP 143 TCP

8 Processus de demande de page Web

8.1 Informations sur l'hôte de configuration DHCP

  • En supposant que l'hôte ne dispose pas d'adresse IP et d'autres informations au début, vous devez d'abord utiliser DHCP pour l'obtenir.

  • L'hôte génère un message de demande DHCP et place ce message dans un segment de message UDP avec le port de destination 67 et le port source 68.

  • Le segment de message est placé dans un datagramme IP avec une adresse de destination IP de diffusion (255.255.255.255) et une adresse IP source (0.0.0.0).

  • Le datagramme est placé dans une trame MAC, qui a une adresse de destination de FF: FF: FF: FF: FF: FF et sera diffusé à tous les appareils connectés au commutateur.

  • Après avoir reçu la trame de diffusion, le serveur DHCP connecté au commutateur se décompose en continu vers le haut pour obtenir les datagrammes IP, les segments UDP et les messages de requête DHCP, puis génère un message DHCP ACK, qui contient les informations suivantes: adresse IP, serveur DNS Adresse IP, adresse IP et masque de sous-réseau du routeur de passerelle par défaut. Le message est placé dans le segment de message UDP, le segment de message UDP est placé dans le datagramme IP, et enfin dans la trame MAC.

  • L'adresse de destination de la trame est l'adresse MAC de l'hôte demandeur, car le commutateur a une capacité d'auto-apprentissage. Une fois que l'hôte a envoyé une trame de diffusion avant, il enregistre l'entrée de la table d'échange de l'adresse MAC sur son interface de transfert, de sorte que le commutateur peut maintenant savoir directement vers lequel aller L'interface envoie la trame.

  • Une fois que l'hôte reçoit la trame, il décompose en permanence le message DHCP. Configurez ensuite son adresse IP, son masque de sous-réseau et l'adresse IP du serveur DNS, puis installez la passerelle par défaut dans sa table de transfert IP.

8.2 ARP résout l'adresse MAC

  • L'hôte génère un socket TCP via le navigateur et le socket envoie une requête HTTP au serveur HTTP. Afin de générer le socket, l'hôte a besoin de connaître l'adresse IP correspondant au nom de domaine du site Web.

  • L'hôte génère un message de requête DNS, qui a le port 53 car le numéro de port du serveur DNS est 53.

  • Le message de requête DNS est placé dans un datagramme IP dont l'adresse de destination est l'adresse IP du serveur DNS.

  • Le datagramme IP est placé dans une trame Ethernet, qui sera envoyée au routeur passerelle.

  • Le processus DHCP ne connaît que l'adresse IP du routeur de passerelle Pour obtenir l'adresse MAC du routeur de passerelle, le protocole ARP est nécessaire.

  • L'hôte génère un message de requête ARP contenant l'adresse IP du routeur passerelle, et place le message de requête ARP dans une trame Ethernet avec une adresse de destination de diffusion (FF: FF: FF: FF: FF: FF), et Envoyez la trame Ethernet au commutateur et le commutateur transmet la trame à tous les périphériques connectés, y compris le routeur de passerelle.

  • Après avoir reçu la trame, le routeur de passerelle décompose continuellement le paquet ARP vers le haut et constate que l'adresse IP qu'il contient correspond à l'adresse IP de son interface, il envoie donc un paquet de réponse ARP contenant son adresse MAC et le renvoie à l'hôte.

8.3 DNS résoudre le nom de domaine

  • Après avoir connu l'adresse MAC du routeur de passerelle, vous pouvez continuer le processus de résolution DNS.

  • Une fois que le routeur passerelle a reçu la trame Ethernet contenant le message de requête DNS, il extrait le datagramme IP et détermine le routeur auquel le datagramme IP doit être transmis conformément à la table de transfert.

  • Étant donné que le routeur a deux protocoles de routage, le protocole de passerelle interne (RIP, OSPF) et le protocole de passerelle externe (BGP), la table de routage a été configurée avec le routeur de passerelle vers le serveur DNS.

  • Après avoir atteint le serveur DNS, le serveur DNS extrait le message de requête DNS et recherche dans la base de données DNS le nom de domaine à résoudre.

  • Après avoir trouvé l'enregistrement DNS, envoyez un message de réponse DNS, placez le message de réponse dans le segment de message UDP, puis placez-le dans le datagramme IP, puis renvoyez-le au routeur de passerelle via le routeur dans le sens inverse et atteignez l'hôte via le commutateur Ethernet.

8.4 Page de requête HTTP

  • Avec l'adresse IP du serveur HTTP, l'hôte peut générer une socket TCP, qui sera utilisée pour envoyer des paquets HTTP GET au serveur Web.

  • Avant de générer un socket TCP, une connexion à trois doit être effectuée avec le serveur HTTP pour établir une connexion. Générez un segment TCP SYN avec le port de destination 80 et envoyez le segment au serveur HTTP.

  • Après avoir reçu le segment, le serveur HTTP génère un segment TCP SYN ACK et le renvoie à l'hôte.

  • Une fois la connexion établie, le navigateur génère un message HTTP GET et le remet au serveur HTTP.

  • Le serveur HTTP lit le message HTTP GET à partir du socket TCP, génère un message de réponse HTTP, place le contenu de la page Web dans le corps du message et le renvoie à l'hôte.

  • Une fois que le navigateur reçoit le message de réponse HTTP, il extrait le contenu de la page Web, puis le restitue pour afficher la page Web.

référence

réseau informatique

Je suppose que tu aimes

Origine blog.csdn.net/KAIZ_LEARN/article/details/109754837
conseillé
Classement