Protocole Internet (2) - de haut en bas

Suite de l'article précédent, à partir du journal Web de Ruan Yifeng

table des matières

Sept, un résumé

8. Paramètres Internet de l'utilisateur

8.1 Adresse IP statique

8.2 Adresse IP dynamique

8.3 Protocole DHCP

8.4 Paramètres Internet: résumé

Neuf, un exemple: visitez une page Web

9.1 Paramètres locaux

9.2 Protocole DNS

9.3 Masque de sous-réseau

9.4 Protocole de la couche application

9.5 Protocole TCP

9.6 Protocole IP

9.7 Protocole Ethernet

9.8 Réponse côté serveur


Sept, un résumé

Tout d'abord, faites un résumé du contenu précédent.

Nous savons déjà que la communication réseau est l'échange de paquets de données. L'ordinateur A envoie un paquet de données à l'ordinateur B, ce dernier le reçoit et répond par un paquet de données, réalisant ainsi la communication entre les deux ordinateurs. La structure du paquet de données est essentiellement la suivante:

Pour envoyer ce paquet, vous devez connaître deux adresses:

  * L'adresse MAC de l'autre partie

  * L'adresse IP de l'autre partie

Avec ces deux adresses, le paquet de données peut être livré avec précision au récepteur. Cependant, comme mentionné précédemment, les adresses MAC ont des limitations: si deux ordinateurs ne sont pas dans le même sous-réseau, ils ne peuvent pas connaître l'adresse MAC de l'autre et doivent être transférés via une passerelle.

Dans l'image ci-dessus, l'ordinateur n ° 1 souhaite envoyer un paquet de données à l'ordinateur n ° 4. Il juge d'abord si l'ordinateur n ° 4 est sur le même sous-réseau, et il s'avère que ce n'est pas le cas (la méthode de jugement sera décrite plus tard), il envoie donc ce paquet de données à la passerelle A. Grâce au protocole de routage, la passerelle A trouve que l'ordinateur n ° 4 est situé dans le sous-réseau B, et envoie le paquet de données à la passerelle B, et la passerelle B le transmet à l'ordinateur n ° 4.

L'ordinateur n ° 1 envoie le paquet de données à la passerelle A, et il doit connaître l'adresse MAC de la passerelle A. Par conséquent, l'adresse de destination du paquet de données est en fait divisée en deux situations:

Scènes Adresse de paquet
Même sous-réseau L'adresse MAC de l'autre partie, l'adresse IP de l'autre partie
Pas le même sous-réseau L'adresse MAC de la passerelle, l'adresse IP de l'autre partie

Avant d'envoyer un paquet de données, l'ordinateur doit déterminer si l'autre partie se trouve dans le même sous-réseau, puis sélectionner l'adresse MAC correspondante. Ensuite, voyons comment ce processus est terminé en utilisation réelle.

8. Paramètres Internet de l'utilisateur

8.1 Adresse IP statique

Vous avez acheté un nouvel ordinateur, branché le câble Internet et l'avez allumé. L'ordinateur pourra-t-il accéder à Internet?

Vous devez généralement effectuer certains réglages. Parfois, l'administrateur (ou FAI) vous indiquera les quatre paramètres suivants, vous les remplissez dans le système d'exploitation, l'ordinateur peut se connecter à Internet:

  * Adresse IP de cette machine
  * Masque de sous-réseau
  * Adresse IP de la passerelle
  * Adresse IP DNS

La figure ci-dessous est la fenêtre de configuration du système Windows.

Ces quatre paramètres sont indispensables, et je vais vous expliquer pourquoi vous devez les connaître pour vous connecter. Puisqu'ils sont donnés, l'ordinateur se verra attribuer la même adresse IP à chaque fois qu'il est allumé, donc cette situation est appelée "accès Internet par adresse IP statique".

Cependant, un tel paramètre est très professionnel et les utilisateurs ordinaires sont intimidés, et si l'adresse IP d'un ordinateur reste inchangée, d'autres ordinateurs ne peuvent pas utiliser cette adresse, qui n'est pas assez flexible. Pour ces deux raisons, la plupart des utilisateurs utilisent des «adresses IP dynamiques pour surfer sur Internet».

8.2 Adresse IP dynamique

La soi-disant «adresse IP dynamique» signifie qu'après la mise sous tension de l'ordinateur, une adresse IP lui sera automatiquement attribuée sans réglage manuel. Le protocole qu'il utilise s'appelle le protocole DHCP .

Cet accord stipule que dans chaque sous-réseau, il y a un ordinateur chargé de gérer toutes les adresses IP du réseau, qui est appelé un «serveur DHCP». Lorsqu'un nouvel ordinateur rejoint le réseau, il doit envoyer un paquet "Demande DHCP" au "serveur DHCP" pour demander une adresse IP et les paramètres réseau associés.

Comme mentionné précédemment, si deux ordinateurs sont sur le même sous-réseau, ils doivent connaître l'adresse MAC et l'adresse IP de l'autre avant d'envoyer des paquets de données. Cependant, l'ordinateur nouvellement ajouté ne connaît pas ces deux adresses, comment envoyer des paquets de données?

Le protocole DHCP contient des dispositions intelligentes.

8.3 Protocole DHCP

Tout d'abord, il s'agit d'un protocole de couche application, construit au-dessus du protocole UDP, donc le paquet entier ressemble à ceci:

  (1) En haut de «l'en-tête Ethernet», définissez l'adresse MAC de l'expéditeur (cette machine) et l'adresse MAC du récepteur (serveur DHCP). Le premier est l'adresse MAC de la carte réseau locale, le second ne sait pas pour le moment, il suffit de renseigner une adresse de diffusion: FF-FF-FF-FF-FF-FF.

  (2) "En-tête IP" suivant, définissez l'adresse IP de l'expéditeur et l'adresse IP du destinataire. Pour le moment, la machine ne connaît pas les deux. Par conséquent, l'adresse IP de l'expéditeur est définie sur 0.0.0.0 et l'adresse IP du destinataire sur 255.255.255.255.

  (3) Le dernier "en-tête UDP", définissez le port de l'expéditeur et le port du récepteur. Cette partie est stipulée par le protocole DHCP: l'expéditeur est le port 68 et le récepteur le port 67.

Une fois le paquet de données construit, il peut être envoyé. Ethernet est une transmission de diffusion, et chaque ordinateur sur le même sous-réseau a reçu ce paquet. Étant donné que l'adresse MAC du destinataire est FF-FF-FF-FF-FF-FF, il n'est pas clair à qui il a été envoyé, de sorte que chaque ordinateur qui reçoit ce paquet doit également analyser l'adresse IP du paquet pour le déterminer. Pas pour toi. Lorsque vous voyez que l'adresse IP de l'expéditeur est 0.0.0.0 et que le destinataire est 255.255.255.255, le serveur DHCP sait que "ce paquet m'est envoyé", et d'autres ordinateurs peuvent rejeter ce paquet.

Ensuite, le serveur DHCP lit le contenu des données de ce paquet, attribue une adresse IP et renvoie un paquet "réponse DHCP". La structure de ce paquet de réponse est similaire. L'adresse MAC de l'en-tête Ethernet correspond aux adresses de la carte réseau des deux parties, et l'adresse IP de l'en-tête IP est l'adresse IP du serveur DHCP (expéditeur) et 255.255.255.255 (récepteur), en-tête UDP Les ports sont 67 (émetteur) et 68 (récepteur). L'adresse IP attribuée au demandeur et les paramètres spécifiques du réseau sont inclus dans la section Données.

L'ordinateur nouvellement ajouté reçoit ce paquet de réponse, donc il connaît sa propre adresse IP, masque de sous-réseau, adresse de passerelle, serveur DNS et autres paramètres.

8.4 Paramètres Internet: résumé

Dans cette partie, il y a un point à retenir: qu'il s'agisse d'une "adresse IP statique" ou d'une "adresse IP dynamique", la première étape pour qu'un ordinateur se connecte est de déterminer les quatre paramètres. Ces quatre valeurs sont très importantes et méritent d'être répétées:

  * Adresse IP de cette machine
  * Masque de sous-réseau
  * Adresse IP de la passerelle
  * Adresse IP DNS

Avec ces valeurs, l'ordinateur peut "surfer" sur Internet. Ensuite, regardons un exemple du fonctionnement du protocole Internet lorsqu'un utilisateur visite une page Web.

Neuf, un exemple: visitez une page Web

9.1 Paramètres locaux

Nous supposons qu'après les étapes de la section précédente, l'utilisateur a défini ses propres paramètres réseau:

  * Adresse IP de la machine: 192.168.1.100
  * Masque de sous-réseau: 255.255.255.0
  * Adresse IP de la passerelle: 192.168.1.1
  * Adresse IP du DNS: 8.8.8.8

Puis il a ouvert le navigateur et a voulu visiter Google, et a entré l'URL: www.google.com dans la barre d'adresse.

Cela signifie que le navigateur doit envoyer un paquet de données d'une demande de page Web à Google.

9.2 Protocole DNS

Nous savons que pour envoyer des paquets de données, vous devez connaître l'adresse IP de l'autre partie. Cependant, maintenant, nous ne connaissons que l'adresse Web www.google.com, pas son adresse IP.

Le protocole DNS peut nous aider à convertir cette URL en adresse IP. Le serveur DNS connu est 8.8.8.8, nous envoyons donc un paquet DNS (port 53) à cette adresse.

Ensuite, le serveur DNS a répondu en nous indiquant que l'adresse IP de Google est 172.194.72.105. Nous connaissons donc l'adresse IP de l'autre partie.

9.3 Masque de sous-réseau

Ensuite, nous devons déterminer si cette adresse IP est dans le même sous-réseau, ce qui nécessite le masque de sous-réseau.

Le masque de sous-réseau connu est 255.255.255.0. Cette machine l'utilise pour effectuer une opération ET binaire sur sa propre adresse IP 192.168.1.100 (les deux chiffres sont 1, le résultat est 1, sinon il est 0), le résultat du calcul est 192.168 .1.0; Ensuite, une opération ET est également effectuée sur l'adresse IP de Google 172.194.72.105, le résultat est 172.194.72.0. Ces deux résultats ne sont pas égaux, donc la conclusion est que Google et cette machine ne sont pas dans le même sous-réseau.

Par conséquent, si nous voulons envoyer un paquet de données à Google, il doit être transmis via la passerelle 192.168.1.1, c'est-à-dire que l'adresse MAC du récepteur sera l'adresse MAC de la passerelle.

9.4 Protocole de la couche application

Le protocole HTTP est utilisé pour naviguer sur le Web et l'ensemble de la structure de ses paquets de données est comme ceci:

Le contenu de la partie HTTP est similaire à ce qui suit:

  GET / HTTP / 1.1
  Hôte: www.google.com
  Connexion: keep-alive
  User-Agent: Mozilla / 5.0 (Windows NT 6.1) ......
  Accepter: text / html, application / xhtml + xml, application / xml ; q = 0.9, * / *; q = 0.8
  Accept-Encoding: gzip, deflate, sdch
  Accept-Language: zh-CN, zh; q = 0.8
  Accept-Charset: GBK, utf-8; q = 0.7, *; q = 0,3
  Cookie: ... ...

Nous supposons que la longueur de cette partie est de 4960 octets et qu'elle sera intégrée dans le paquet TCP.

9.5 Protocole TCP

Les paquets de données TCP doivent définir le port. Le port HTTP du récepteur (Google) est 80 par défaut et le port de l'expéditeur (la machine) est un entier généré aléatoirement compris entre 1024 et 65535, ce qui est supposé être 51775.

La longueur de l'en-tête d'un paquet de données TCP est de 20 octets, plus le paquet de données HTTP intégré, la longueur totale devient 4980 octets.

9.6 Protocole IP

Ensuite, le paquet de données TCP est intégré dans le paquet de données IP. Les paquets de données IP doivent définir les adresses IP des deux parties, qui sont connues, l'expéditeur est 192.168.1.100 (machine locale) et le destinataire est 172.194.72.105 (Google).

La longueur d'en-tête du paquet IP est de 20 octets, plus le paquet TCP intégré, la longueur totale devient 5000 octets.

9.7 Protocole Ethernet

Enfin, le paquet de données IP est intégré dans le paquet de données Ethernet. Les paquets de données Ethernet doivent définir les adresses MAC des deux parties, l'expéditeur est l'adresse MAC de la carte réseau de la machine et le récepteur est l'adresse MAC de la passerelle 192.168.1.1 (obtenue via le protocole ARP).

La longueur maximale de la partie données d'un paquet de données Ethernet est de 1 500 octets, tandis que la longueur actuelle du paquet de données IP est de 5 000 octets. Par conséquent, le paquet de données IP doit être divisé en quatre paquets. Étant donné que chaque paquet a son propre en-tête IP (20 octets), la longueur du paquet de données IP des quatre paquets est respectivement de 1500, 1500, 1500, 560.

9.8 Réponse côté serveur

Après avoir été transmis par plusieurs passerelles, le serveur de Google 172.194.72.105 a reçu ces quatre paquets Ethernet.

Selon le numéro de série de l'en-tête IP, Google rassemble les quatre paquets, sort le paquet de données TCP complet, puis lit la "requête HTTP" à l'intérieur, puis fait la "réponse HTTP", puis le renvoie en utilisant le protocole TCP.

Après avoir reçu la réponse HTTP, la machine peut afficher la page Web et effectuer une communication réseau.

Cet exemple se termine ici: bien que simplifié, il reflète grosso modo l'ensemble du processus de communication du protocole Internet.

Je suppose que tu aimes

Origine blog.csdn.net/weixin_37719279/article/details/82855227
conseillé
Classement