Le protocole IP appartient à la couche réseau. IP fait référence à Internet Protocol, abréviation de Internet Protocol. Il s'agit d'un protocole de couche réseau dans le système TCP/IP (équivalent à la couche réseau du modèle OSI). Il peut fournir diverses informations de protocole à la couche de transport, telles que TCP. , UDP, etc. ; Ensuite, les paquets d'informations IP peuvent être placés au niveau de la couche liaison et transmis via diverses technologies telles que les réseaux Ethernet et Token Ring.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.
IP fait référence à Internet Protocol, l'abréviation de Internet Protocol, qui est le protocole de couche réseau dans le système TCP/IP. Le but de la conception IP est d'améliorer l'évolutivité du réseau : premièrement, pour résoudre les problèmes d'Internet et réaliser l'interconnexion de réseaux hétérogènes à grande échelle ; faciliter les deux. Selon le principe de conception de bout en bout, IP fournit uniquement à l'hôte un service de transmission de paquets sans connexion, peu fiable et au mieux.
IP est le cœur de toute la famille des protocoles TCP/IP et le fondement d'Internet. IP est situé dans la couche réseau du modèle TCP/IP (équivalent à la couche réseau du modèle OSI). Il peut fournir diverses informations de protocole à la couche de transport, telles que les paquets d'informations TCP, UDP, etc. placé dans la couche liaison. Transmis via diverses technologies telles que les réseaux Ethernet et Token Ring.
Afin de s'adapter aux réseaux hétérogènes, l'IP met l'accent sur l'adaptabilité, la simplicité et l'opérabilité, et fait certains sacrifices en matière de fiabilité. IP ne garantit pas le délai de livraison et la fiabilité des paquets transmis. Les paquets transmis peuvent être perdus, dupliqués, retardés ou dans le désordre.
Le contenu principal du protocole IP
IP comprend principalement trois aspects : le schéma d'adressage IP, le format d'encapsulation des paquets et les règles de transfert des paquets.
Règles de transfert des paquets IP
Le routeur transmet uniquement en fonction de l'adresse réseau. Lorsqu'un paquet de données IP est transmis via un routeur, si le réseau cible est directement connecté au routeur local, le paquet de données est transmis directement à l'hôte cible, ce qui est appelé livraison directe, sinon le routeur recherche les informations de routage ; la table de routage et transfère le paquet de données au routeur de saut suivant spécifié, c'est ce qu'on appelle la livraison indirecte. En livraison indirecte, si le routeur a une route vers le réseau cible dans la table de routage, il délivrera le paquet de données au routeur du tronçon suivant spécifié dans la table de routage s'il n'y a pas de route mais qu'il y a une route par défaut dans la table de routage ; table de routage, il délivrera le paquet de données. Donne le routeur par défaut spécifié si aucun des deux n'est présent, le paquet est abandonné et une erreur est signalée.
Fragmentation IP
Un paquet IP peut devoir passer par plusieurs réseaux physiques différents pour être transmis de l'hôte source à l'hôte de destination. Étant donné que les trames de données de divers réseaux ont une limite d'unité de transmission maximale (MTU), par exemple, la MTU d'une trame Ethernet est donc de 1 500, lorsque le routeur transmet des paquets IP, si la taille du paquet de données dépasse la taille maximale ; du lien de sortie, lors de la transmission des unités, le paquet IP sera décomposé en de nombreux fragments suffisamment petits pour être transmis sur le lien cible. Ces fragments IP réencapsulent un paquet IP pour une transmission indépendante et sont réassemblés lorsqu'il atteint l'hôte de destination.
Structure des paquets IP
Un paquet IP se compose d'un en-tête et de données. Les 20 premiers octets de l'en-tête sont requis par tous les paquets IP et sont également appelés en-têtes fixes. Après la partie fixe de l'en-tête se trouvent des champs optionnels dont la longueur est variable. Structure du paquet IP
Protocole Internet 4 Internet Protocol version 4 (IPv4) est le mécanisme de transmission de datagrammes utilisé par le protocole TCP/IP. Un datagramme est un paquet de longueur variable composé de deux parties : un en-tête et des données. La longueur de l'en-tête peut comprendre 20 à 60 octets et cette partie contient des informations importantes liées au routage et à la transmission. La signification de chaque champ de l'en-tête est la suivante dans l'ordre : [3] (1) Version (4 bits) : Ce champ définit la version du protocole IP et se charge d'indiquer au logiciel IP exécuté sur le processeur quelle version de ce datagramme IP, tous les champs Tous doivent être interprétés conformément à cette version de l'accord. Si l'ordinateur utilise une version différente, le datagramme est supprimé.
(3) Service (8 bits) : Ce champ définit la qualité de service attendue par le protocole de couche supérieure pour le traitement du datagramme courant, et alloue le datagramme en fonction du niveau d'importance. Les 3 premiers bits deviennent les bits prioritaires, les 4 derniers bits deviennent le type de service et le dernier bit n'est pas défini. Ces champs de 8 bits sont utilisés pour attribuer la priorité, la latence, le débit et la fiabilité.
(4) Longueur totale (16 bits) : ce champ définit la longueur en octets de l'intégralité du datagramme IP, y compris l'en-tête et les données du protocole. Sa valeur maximale est de 65 535 octets. Le protocole Ethernet a des limites minimales et maximales (46 ~ 1 500 octets) sur les données pouvant être encapsulées dans une trame.
(5) Identification (16 bits) : Ce champ contient un entier utilisé pour identifier le datagramme actuel. Lorsqu'un datagramme est fragmenté, la valeur du champ d'identification est copiée sur tous les fragments. Ce champ est alloué par l'expéditeur pour aider le destinataire à se concentrer sur la fragmentation du datagramme.
(6) Flag (3 bits) : Ce champ est constitué d'un champ de 3 bits, dont le bit le plus bas (MF) contrôle la segmentation S'il y a un segment suivant, il est mis à 1. Sinon, le mettre à. 0 signifie que le segment est le dernier segment. Le bit du milieu (DF) indique si le datagramme peut être fragmenté. S'il vaut 1, la machine ne peut pas fragmenter le datagramme. Le troisième bit, le bit le plus élevé, est réservé inutilisé et a la valeur 0.
(7) Décalage de segmentation (13 bits) : ce champ indique la position relative des données segmentées dans le datagramme source, prenant en charge l'IP cible pour reconstruire correctement les données source.
(8) Durée de vie (8 bits) : Ce champ est un compteur, et la valeur est décrémentée de 1 à chaque point de rejet du datagramme jusqu'à ce qu'elle soit réduite à 0. Cela garantit que le datagramme a un processus de boucle limité (c'est-à-dire TTL), limitant la durée de vie du datagramme.
(9) Protocole (8 bits) : ce champ indique quel protocole de couche supérieure reçoit le datagramme entrant une fois le traitement IP terminé. La valeur de ce champ permet à la couche réseau de réception de savoir à quel protocole appartiennent les données.
(10) Somme de contrôle de l'en-tête (16 bits) : ce champ permet de garantir l'intégrité de l'en-tête du protocole IP. En raison de modifications apportées à certains champs d'en-tête du protocole, cela nécessite un nouveau calcul et une vérification pour chaque point. Le processus de calcul consiste d'abord à définir le champ de somme de contrôle sur 0, puis à diviser l'intégralité de l'en-tête en parties tous les 16 bits, à ajouter les parties, puis à prendre le complément du résultat du calcul et à l'insérer dans le champ de somme de contrôle.
(11) Adresse source (32 bits) : Adresse IP de l'hôte source. Ce champ doit rester inchangé lors de la transmission des datagrammes IPv4 de l'hôte source vers l'hôte de destination.
(12) Adresse de destination (32 bits) : Adresse IP de l'hôte de destination. Ce champ doit également rester inchangé lors de la transmission du datagramme IPv4 de l'hôte source vers l'hôte de destination.
Protocole IPv6
Depuis l'avènement d'IPv4 dans les années 1970, la technologie de communication de données s'est développée rapidement. Bien qu'IPv4 soit bien conçu, ses défauts se révèlent progressivement : ① Bien que l'efficacité de l'utilisation des adresses IP puisse être améliorée à l'aide des sous-réseaux, de l'adressage sans classe et de la technologie NAT, l'épuisement des adresses IP sur Internet reste un problème qui n'a pas encore été résolu. Problèmes complètement résolus ; ② IPv4 ne prend pas en charge les politiques et les ressources réservées qui nécessitent un délai de transmission minimum pour la transmission audio et vidéo en temps réel ; ③ IPv4 ne peut pas prendre en charge certaines applications qui nécessitent un cryptage et une authentification des données. Afin de pallier ces lacunes, IPv6 (Internet working Protocol version 6) a été proposé. Dans IPv6, le format de l'adresse IP et la longueur du paquet ainsi que le format du paquet ont changé. Chaque paquet IPv6 se compose d'un en-tête de base nécessaire suivi d'une charge utile. La charge utile se compose d’en-têtes d’extension facultatifs et de données provenant des couches supérieures. L'en-tête de base occupe 40 octets et la charge utile peut contenir 65 535 octets de données. La signification de chaque champ dans l'en-tête IPv6 est la suivante dans l'ordre :
(1) Version (4 bits) : Ce champ définit la version du protocole IPv6, sa valeur est 6, et se charge d'indiquer au logiciel IP exécuté sur le processeur que ce datagramme IP est la version IPv6.
(2) Priorité (4 bits) : Ce champ définit la priorité du paquet en cas de congestion de la communication.
(3) Étiquette de flux (24 bits) : ce champ est utilisé pour fournir un traitement spécialisé pour les flux de données spéciaux.
(4) Longueur de la charge utile (16 bits) : ce champ définit la longueur en octets de l'intégralité du datagramme IPv6, y compris l'en-tête de base et la charge utile. Sa valeur maximale est de 65 535 octets.
(5) En-tête suivant (8 bits) : Ce champ définit l'en-tête qui suit l'en-tête de base dans le datagramme. L'en-tête suivant peut être un en-tête d'extension facultatif utilisé par IP, ou un en-tête d'un protocole de couche supérieure.
(6) Limite du nombre d'entrées (8 bits) : Ce champ est un compteur comme le champ Time to Live (TTL) dans IPv4. À chaque instant où le datagramme est rejeté, la valeur est décrémentée de 1 jusqu'à ce qu'elle soit réduite. à 0.
(7) Adresse source (128 bits) : Adresse IP de l'hôte source. Ce champ doit rester inchangé lors de la transmission des datagrammes IPv4 de l'hôte source vers l'hôte de destination.
(8) Adresse de destination (128 bits) : Adresse IP de l'hôte de destination. Ce champ doit également rester inchangé lors de la transmission du datagramme IPv4 de l'hôte source vers l'hôte de destination.
(9) En-tête d'extension : ce champ contient 6 types facultatifs, notamment les options saut par saut, le routage source, la segmentation, l'authentification, la charge utile de sécurité chiffrée et les options de destination.
Pour plus de connaissances connexes, veuillez visiter la rubrique FAQ !
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!