ip appartient au protocole « couche réseau » de l'architecture des réseaux informatiques. IP fait référence au protocole d'interconnexion Internet, qui est un protocole de couche réseau dans le système TCP/IP. Il peut fournir des informations sur divers protocoles à la couche de transport, tels que TCP, UDP, etc., des paquets d'informations IP peuvent être placés dans le système. couche de liaison via Diverses technologies telles que le réseau Ethernet et Token Ring sont utilisées pour la transmission.
L'environnement d'exploitation de ce tutoriel : système Windows 7, ordinateur Dell G3.
IP appartient au protocole « couche réseau » de l'architecture des réseaux informatiques.
Brève description du protocole IP
IP fait référence au protocole Internet, l'abréviation de Protocole Internet 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.
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 ; et les technologies de réseau sous-jacentes, pour faciliter le développement indépendant des 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.
Bien qu'IPV4 soit finalement remplacé par IPV6, IPV4 est actuellement toujours la version courante du protocole IP, nous allons donc nous concentrer sur la version IPV4. Lors de l'apprentissage du protocole TCP et de la programmation de sockets, nous savons que si nous voulons localiser avec précision un hôte dans le réseau partagé d'Internet, nous devons avoir besoin de l'adresse IP de l'hôte. L'hôte possède une adresse IP, mais ne peut pas effectuer de contrôle de routage (Routage, ce qui signifie transférer et regrouper des paquets de données). Un périphérique tel qu'un routeur possède une adresse IP et peut également effectuer un contrôle de routage. Nous pouvons connecter l'hôte à Internet et). les routeurs sont appelés nœuds.
Par exemple, nous, les gens ordinaires, n'avons que notre propre adresse. Si nous voulons envoyer une livraison express à un ami ou recevoir une livraison express de quelqu'un d'autre, nous ne pouvons fournir au facteur que l'adresse de l'autre partie ou notre propre adresse, c'est-à-dire notre propre adresse. , nous n'avons que l'identifiant de l'adresse, mais la livraison express ne peut pas être envoyée ; le coursier est comme un routeur. Il a également sa propre adresse et peut recevoir sa livraison express privée, mais il peut également choisir différents itinéraires de transport express en fonction du. destination. La figure suivante peut exprimer clairement le rôle du protocole IP dans l'environnement réseau.
Comme pour l'apprentissage des protocoles TCP et UDP auparavant, introduisons d'abord le format d'en-tête du protocole IP
Nous pouvons constater que l'en-tête du protocole IP est très similaire au En-tête du protocole TCP. S'il n'y a pas de circonstances particulières, ils font tous 20 octets, nous mettons donc souvent les deux ensemble et les appelons protocole TCP/IP. Vous trouverez ci-dessous une introduction détaillée à chaque champ de l'en-tête du protocole IP :
pour afficher le MTU. 用户数据 + 应用层协议报头(如HTTP请求报头)
作为有效载荷交给传输层(如TCP协议),TCP协议再将TCP报头 + 应用层传来的数据
下交给IP层,IP层再将IP协议首部 + TCP层传来的TCP报文
交付给MAC帧。因此每个MAC帧其实是IP协议首部 + IP层的有效载荷
。而MAC帧是有长度限制的,所以就要求IP数据报向下交付时并不是随心所欲想发多长就发多长,如果MAC帧要求MTU为1500字节,而IP数据包总长度有2000字节,那么就需要分片,将原有的IP数据包分成两片,依次发送,对端的主机在接收后,由对端的IP层再完成组装。我们在Linux环境下可以使用ifconfig
La fragmentation et l'assemblage sont transparents pour la couche supérieure TCP/UDP et la couche inférieure MAC, c'est-à-dire que ni la couche supérieure ni la couche inférieure ne savent que la couche IP a fragmenté le paquet de données, donc les opérations de fragmentation et d'assemblage seront effectuées par la couche IP de l'expéditeur et la couche IP de réception le fait automatiquement. Cependant, la fragmentation signifie qu'une donnée doit être convertie en plusieurs groupes de données pour la transmission et que l'assemblage doit être effectué à l'extrémité opposée. Cela réduira considérablement l'efficacité de la transmission du réseau et augmentera donc le risque d'erreurs. doit être évité pendant le processus de transmission, c'est-à-dire essayez de ne pas envoyer de datagrammes IP qui dépassent la longueur MTU.
Dans IPV4, nous utilisons un entier positif de 32 bits pour représenter l'adresse IP. L'ordinateur stockera l'adresse IP directement en binaire. Cependant, les gens ne sont pas doués pour mémoriser les entiers binaires. , nous utilisons donc des points. Enregistrez l'adresse IP en décimal : c'est-à-dire divisez l'adresse IP de 32 bits en 4 groupes de 8 chiffres, séparez les groupes par '.', puis convertissez chaque groupe en décimal.
Nous pouvons donc calculer directement qu'il existe jusqu'à 2^32 = 4292967296 adresses IP sous la norme IPV4, mais le nombre qui peut être utilisé par les gens est bien inférieur à ce nombre. (Par exemple, certaines adresses IP sont réservées à des fins spéciales, et certains appareils tels que les routeurs occuperont plusieurs adresses IP)
Une adresse IP se compose d'un identifiant de réseau (adresse réseau) et un identifiant d'hôte (adresse de l'hôte) se compose de deux parties.
Le processus de recherche d'une adresse IP est comme voyager vers un certain endroit. Par exemple, si nous voulons nous rendre à la place Tiananmen, il est impossible de prendre le train à grande vitesse directement jusqu'à la place Tiananmen. (réseau de destination), puis passer par le transport à l'intérieur de Pékin et arriver à Tiananmen (hôte de destination). Par conséquent, lorsque nous sélectionnons le routage, nous devons d'abord rechercher le réseau local où se trouve l'hôte cible, puis rechercher l'hôte cible dans le réseau local. Cette méthode peut nous aider rapidement à localiser le réseau local cible. La recherche de l'hôte cible dans le réseau local est beaucoup plus rapide que la recherche d'un hôte dans le vaste réseau.
ID réseau : assurez-vous que les deux segments de réseau connectés l'un à l'autre ont des identités différentes.
ID d'hôte : assurez-vous que deux hôtes dans le même segment de réseau ont des identités différentes.
Les adresses IP sont divisées en cinq niveaux, à savoir Classe A, Classe B, Classe C, Classe D et Classe E (qui n'ont jamais été utilisées), nous pouvons donc actuellement voir IP Il n'y a que quatre types d'adresses : A, B, C et D. La base de division est constituée des bits du 1er au 4ème bit de l'adresse IP.
En ne considérant pas les adresses IP de classe E, nous pouvons constater que les numéros de réseau des adresses de classe A, B, C et D sont Le nombre de bits occupés augmente progressivement, tandis que le nombre de bits occupés par le numéro d'hôte diminue progressivement. Cela signifie que parmi les quatre types d'adresses ci-dessus, le nombre de sous-réseaux dans un type d'adresse augmente, mais le nombre d'hôtes pouvant être connectés au sous-réseau devient de plus en plus petit. Prenons l'exemple d'une université ordinaire en Chine : il y a environ 30 000 enseignants et étudiants dans l'école si tout le monde a un ordinateur portable qui doit être connecté au réseau local du campus, et certains étudiants ont également des tablettes et d'autres terminaux qui en ont besoin. pour être connecté au réseau, lors de la demande d'un réseau, vous devez demander 50 000 à 60 000 adresses IP. Si vous utilisez des adresses de classe A, le numéro d'hôte à 24 chiffres générera 2 ^ 24 = 16777216 adresses IP, ce qui est bien plus que ce qui est réellement nécessaire. Si vous utilisez une adresse de classe C de classe B, il n'y a que 2 ^ 8 = 256 adresses IP, ce qui est bien inférieur à l'adresse IP requise, donc la plus appropriée est l'adresse de classe B, qui a 2 ^ 16 = 65 536 adresses IP. Cet exemple nous indique également qu'il ne doit pas y avoir trop d'adresses IP, ce qui entraînerait beaucoup de gaspillage, ni trop peu, sinon de nombreux appareils ne pourront pas se connecter au réseau ;
Avec le développement d'Internet, les inconvénients de l'utilisation des quatre premiers chiffres pour classer commencent à apparaître : c'est-à-dire que de nombreux candidats à un sous-réseau postuleront pour des adresses réseau de classe B, car Classe A Il y a tout simplement aucun moyen de l’utiliser, et la catégorie C ne suffit pas. En conséquence, les adresses réseau de classe B ont été rapidement attribuées. Demander un réseau de classe A gaspillera beaucoup d'adresses IP. Dans ce cas, Les gens ont proposé un nouveau schéma de division : CIDR (Classless Interdomain Routing)
&
, et le résultat est le numéro de réseauDonnez deux exemples pour aider à comprendre la division des numéros de réseau et des numéros d'hôte via des masques de sous-réseau
Adresse IP | Expression binaire |
---|---|
140.252.20.68 | 1000 1100 1111 1100 0001 0100 0100 0100 |
Masque de sous-réseau | Expression binaire |
---|---|
255.255.255.0 | 1111 1111 1111 1111 1111 1111 0000 0000 |
Après avoir effectué une opération ET au niveau du bit sur l'adresse IP et le masque de sous-réseau, nous obtenons 1000 1100 1111 1100 0001 0100 0000 0000
, puis le convertissons en un système décimal à points qui est pratique à utiliser comme 140.252.20.0, c'est le numéro de réseau du sous-réseau. Et les 8 derniers bits de son masque de sous-réseau sont 0. Ce sous-réseau peut représenter 2^8 = 256 hôtes, donc la plage d'adresses de ce sous-réseau est <code>140.252.20.0 ~ 140.252.20.255
1000 1100 1111 1100 0001 0100 0000 0000
,再转化为方便人们使用的点分十进制为140.252.20.0
,这就是该子网的网络号了。并且它的子网掩码末尾的8个比特位为0,这个子网可以表示2 ^ 8 = 256台主机,因此这个子网的地址范围是140.252.20.0 ~ 140.252.20.255
IP地址 | 二进制表达 |
---|---|
140. 252. 20. 68 | 1000 1100 1111 1100 0001 0100 0100 0100 |
子网掩码 | 二进制表达 |
---|---|
255.255.255.240 | 1111 1111 1111 1111 1111 1111 1111 0000 |
将IP地址与子网掩码进行按位与操作后得到1000 1100 1111 1100 0001 0110 0100 0000
,即该子网的网络号,同样转换成常用的点分十进制为140.252.20.64
,它的子网掩码末尾的4个比特位为0,这个子网可以表示2 ^ 4 = 16台主机,因此这个子网的地址范围就是140.252.20.64 ~ 140.252.20.79
Adresse IP | Expression binaire | 140. 252. 20. 68 | 1000 1100 1111 1100 0001 0100 0100 0100 |
---|
1000 1100 1111 1100 0001 0110 0100 0000
, qui est le numéro de réseau du sous-réseau, est également converti en notation décimale pointée couramment utilisée en 140.252.20.64
, qui est son masque de sous-réseau. Les 4 derniers bits sont 0. Ce Le sous-réseau peut représenter 2^4 = 16 hôtes, donc la plage d'adresses de ce sous-réseau est 140.252.20.64 ~ 140.252.20.79
Quelques adresses IP spéciales 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!