Protocole IPv4. Protocole SNMP (bases) Qu'est-ce que TCP IP pour les nuls

Protocole IPv4. Protocole SNMP (bases) Qu'est-ce que TCP IP pour les nuls

Dans le monde moderne, l’information se propage en quelques secondes. La nouvelle vient de paraître, et une seconde plus tard, elle est déjà disponible sur certains sites Internet. Internet est considéré comme l’un des développements les plus utiles de l’esprit humain. Pour profiter de tous les avantages qu’offre Internet, vous devez vous connecter à ce réseau.

Peu de gens savent que le simple processus de visite de pages Web implique un système complexe d’actions, invisibles pour l’utilisateur. Chaque clic sur un lien active des centaines d'opérations informatiques différentes au cœur de l'ordinateur. Ceux-ci incluent l’envoi de demandes, la réception de réponses et bien plus encore. Les protocoles dits TCP/IP sont responsables de chaque action sur le réseau. Quels sont-ils?

Tout protocole Internet TCP/IP fonctionne à son propre niveau. En d’autres termes, chacun fait ce qu’il veut. L'ensemble de la famille de protocoles TCP/IP effectue une énorme quantité de travail simultanément. Et l'utilisateur ne voit actuellement que des images lumineuses et de longues lignes de texte.

Concept de pile de protocoles

La pile de protocoles TCP/IP est un ensemble organisé de protocoles réseau de base, divisé hiérarchiquement en quatre niveaux et constitue un système de transport et de distribution de paquets sur un réseau informatique.

TCP/IP est la pile de protocoles réseau la plus connue utilisée aujourd'hui. Les principes de la pile TCP/IP s'appliquent aux réseaux locaux et étendus.

Principes d'utilisation des adresses dans la pile de protocoles

La pile de protocoles réseau TCP/IP décrit les chemins et les directions dans lesquels les paquets sont envoyés. Il s'agit de la tâche principale de l'ensemble de la pile, réalisée à quatre niveaux qui interagissent les uns avec les autres à l'aide d'un algorithme journalisé. Pour garantir que le paquet a été envoyé correctement et livré exactement au point qui l'a demandé, l'adressage IP a été introduit et standardisé. Cela était dû aux tâches suivantes :

  • Les adresses de différents types doivent être cohérentes. Par exemple, convertir le domaine d'un site Web en adresse IP d'un serveur et inversement, ou convertir un nom d'hôte en adresse et inversement. De cette manière, il devient possible d'accéder au point non seulement en utilisant l'adresse IP, mais aussi par son nom intuitif.
  • Les adresses doivent être uniques. En effet, dans certains cas particuliers, le paquet ne doit atteindre qu'un seul point spécifique.
  • La nécessité de configurer les réseaux locaux.

Dans les petits réseaux où plusieurs dizaines de nœuds sont utilisés, toutes ces tâches sont effectuées simplement, en utilisant les solutions les plus simples : compiler un tableau décrivant la propriété de la machine et son adresse IP correspondante, ou vous pouvez distribuer manuellement les adresses IP à tous les adaptateurs réseau. Cependant, pour les grands réseaux comptant mille ou deux mille machines, la tâche consistant à attribuer manuellement des adresses ne semble pas aussi réalisable.

C'est pourquoi une approche particulière a été inventée pour les réseaux TCP/IP, qui est devenue une caractéristique distinctive de la pile protocolaire. Le concept d'évolutivité a été introduit.

Couches de la pile de protocoles TCP/IP

Il y a ici une certaine hiérarchie. La pile de protocoles TCP/IP comporte quatre couches, chacune gérant son propre ensemble de protocoles :

Couche d'application: créé pour permettre à l'utilisateur d'interagir avec le réseau. À ce niveau, tout ce que l'utilisateur voit et fait est traité. La couche permet à l'utilisateur d'accéder à divers services réseau, par exemple : l'accès aux bases de données, la possibilité de lire une liste de fichiers et de les ouvrir, d'envoyer un e-mail ou d'ouvrir une page Web. Parallèlement aux données et actions utilisateur, les informations de service sont transmises à ce niveau.

Couche de transport : Il s’agit d’un pur mécanisme de transmission par paquets. À ce niveau, ni le contenu du package ni son affiliation à une action quelconque n’ont d’importance. A ce niveau, seules l'adresse du nœud à partir duquel le paquet est envoyé et l'adresse du nœud auquel le paquet doit être livré comptent. En règle générale, la taille des fragments transmis via différents protocoles peut changer. Par conséquent, à ce niveau, les blocs d'informations peuvent être divisés en sortie et assemblés en un seul tout à destination. Cela entraîne une éventuelle perte de données si, au moment de la transmission du fragment suivant, une rupture de connexion à court terme se produit.

La couche transport comprend de nombreux protocoles, divisés en classes, des plus simples, qui transmettent simplement des données, aux plus complexes, dotés de la fonctionnalité d'accusé de réception ou de redemande d'un bloc de données manquant.

Ce niveau fournit au niveau supérieur (applicatif) deux types de services :

  • Fournit une livraison garantie en utilisant le protocole TCP.
  • Livre via UDP autant que possible .

Pour garantir une livraison garantie, une connexion est établie selon le protocole TCP, qui permet de numéroter les paquets en sortie et de les confirmer en entrée. La numérotation des paquets et la confirmation de réception constituent ce que l'on appelle les informations de service. Ce protocole prend en charge la transmission en mode « Duplex ». De plus, grâce aux réglementations bien pensées du protocole, il est considéré comme très fiable.

Le protocole UDP est destiné aux moments où il est impossible de configurer la transmission via le protocole TCP, ou où il faut économiser sur le segment de transmission de données réseau. En outre, le protocole UDP peut interagir avec des protocoles de niveau supérieur pour augmenter la fiabilité de la transmission des paquets.

Couche réseau ou « couche Internet » : la couche de base pour l’ensemble du modèle TCP/IP. La fonctionnalité principale de cette couche est identique à la couche du même nom dans le modèle OSI et décrit le mouvement des paquets dans un réseau composite composé de plusieurs sous-réseaux plus petits. Il relie les couches adjacentes du protocole TCP/IP.

La couche réseau est la couche de connexion entre la couche de transport supérieure et le niveau inférieur des interfaces réseau. La couche réseau utilise des protocoles qui reçoivent une demande de la couche transport et, via un adressage réglementé, transmettent la demande traitée au protocole d'interface réseau, indiquant à quelle adresse envoyer les données.

Les protocoles réseau TCP/IP suivants sont utilisés à ce niveau : ICMP, IP, RIP, OSPF. Le principal et le plus populaire au niveau du réseau est bien entendu l’IP (Internet Protocol). Sa tâche principale est de transmettre des paquets d'un routeur à un autre jusqu'à ce qu'une unité de données atteigne l'interface réseau du nœud de destination. Le protocole IP est déployé non seulement sur les hôtes, mais également sur les équipements réseau : routeurs et commutateurs administrables. Le protocole IP fonctionne selon le principe de la livraison au mieux et sans garantie. Autrement dit, il n’est pas nécessaire d’établir une connexion au préalable pour envoyer un paquet. Cette option permet d'économiser du trafic et du temps sur le déplacement de paquets de services inutiles. Le paquet est acheminé vers sa destination et il est possible que le nœud reste inaccessible. Dans ce cas, un message d'erreur est renvoyé.

Niveau d'interface réseau : est chargé de garantir que les sous-réseaux dotés de technologies différentes peuvent interagir les uns avec les autres et transmettre des informations dans le même mode. Cela se fait en deux étapes simples :

  • Codage d'un paquet dans une unité de données réseau intermédiaire.
  • Convertit les informations de destination dans les normes de sous-réseau requises et envoie l'unité de données.

Cette approche nous permet d'augmenter constamment le nombre de technologies de réseau prises en charge. Dès qu'une nouvelle technologie apparaît, elle s'intègre immédiatement dans la pile de protocoles TCP/IP et permet aux réseaux dotés de technologies plus anciennes de transférer des données vers des réseaux construits à l'aide de normes et de méthodes plus modernes.

Unités de données transférées

Au cours de l'existence d'un phénomène tel que les protocoles TCP/IP, des termes standard ont été établis pour les unités de données transmises. Les données lors de la transmission peuvent être fragmentées de différentes manières, selon les technologies utilisées par le réseau de destination.

Pour avoir une idée de ce qui se passe avec les données et à quel moment, il a fallu trouver la terminologie suivante :

  • Flux de données- les données qui arrivent à la couche transport à partir des protocoles d'une couche application supérieure.
  • Un segment est un fragment de données dans lequel un flux est divisé selon les normes du protocole TCP.
  • Datagramme(en particulier les personnes analphabètes le prononcent comme « Datagramme ») - unités de données obtenues en divisant un flux à l'aide de protocoles sans connexion (UDP).
  • Sac plastique- une unité de données produite via le protocole IP.
  • Les protocoles TCP/IP regroupent les paquets IP en blocs de données transmis sur des réseaux composites, appelés personnel ou cadres.

Types d'adresses de pile de protocole TCP/IP

Tout protocole de transfert de données TCP/IP utilise l'un des types d'adresses suivants pour identifier les hôtes :

  • Adresses locales (matérielles).
  • Adresses réseau (adresses IP).
  • Noms de domaine.

Adresses locales (adresses MAC) - utilisées dans la plupart des technologies de réseau local pour identifier les interfaces réseau. Lorsqu'on parle de TCP/IP, le mot local désigne une interface qui ne fonctionne pas dans un réseau composite, mais dans un sous-réseau distinct. Par exemple, le sous-réseau d'une interface connectée à Internet sera local, et le réseau Internet sera composite. Un réseau local peut être construit sur n'importe quelle technologie, et indépendamment de cela, du point de vue d'un réseau composite, une machine située dans un sous-réseau dédié séparément sera dite locale. Ainsi, lorsqu'un paquet entre dans le réseau local, son adresse IP est alors associée à l'adresse locale, et le paquet est envoyé à l'adresse MAC de l'interface réseau.

Adresses réseau (adresses IP). La technologie TCP/IP fournit son propre adressage global des nœuds pour résoudre un problème simple : combiner des réseaux avec différentes technologies en une seule grande structure de transmission de données. L'adressage IP est totalement indépendant de la technologie utilisée sur le réseau local, mais une adresse IP permet à une interface réseau de représenter une machine sur un réseau composite.

En conséquence, un système a été développé dans lequel les hôtes se voient attribuer une adresse IP et un masque de sous-réseau. Le masque de sous-réseau indique combien de bits sont alloués au numéro de réseau et combien au numéro d'hôte. Une adresse IP est composée de 32 bits, répartis en blocs de 8 bits.

Lorsqu'un paquet est transmis, des informations sur le numéro de réseau et le numéro de nœud auquel le paquet doit être envoyé lui sont attribuées. Tout d'abord, le routeur transmet le paquet au sous-réseau souhaité, puis un hôte est sélectionné et l'attend. Ce processus est effectué par le protocole ARP (Address Resolution Protocol).

Les adresses de domaine sur les réseaux TCP/IP sont gérées par un système de noms de domaine (DNS) spécialement conçu. Pour ce faire, il existe des serveurs qui font correspondre le nom de domaine, présenté sous forme de chaîne de texte, avec l'adresse IP, et envoient le paquet conformément à l'adressage global. Il n'y a pas de correspondance entre un nom d'ordinateur et une adresse IP, donc pour convertir un nom de domaine en adresse IP, l'appareil expéditeur doit accéder à la table de routage créée sur le serveur DNS. Par exemple, nous écrivons l'adresse du site dans le navigateur, le serveur DNS la fait correspondre à l'adresse IP du serveur sur lequel se trouve le site et le navigateur lit les informations et reçoit une réponse.

En plus d'Internet, il est possible d'attribuer des noms de domaine aux ordinateurs. Ainsi, le processus de travail sur un réseau local est simplifié. Il n'est pas nécessaire de mémoriser toutes les adresses IP. Au lieu de cela, vous pouvez donner n’importe quel nom à chaque ordinateur et l’utiliser.

Adresse IP. Format. Composants. Masque de sous-réseau

Une adresse IP est un nombre de 32 bits qui, dans la représentation traditionnelle, est écrit sous forme de nombres de 1 à 255, séparés par des points.

Type d'adresse IP dans différents formats d'enregistrement :

  • Adresse IP décimale : 192.168.0.10.
  • Forme binaire de la même adresse IP : 11000000.10101000.00000000.00001010.
  • Saisie de l'adresse dans le système numérique hexadécimal : C0.A8.00.0A.

Il n'y a pas de séparateur entre l'ID réseau et le numéro de point dans l'entrée, mais l'ordinateur est capable de les séparer. Il existe trois façons de procéder :

  1. Bordure fixe. Avec cette méthode, l'adresse entière est conditionnellement divisée en deux parties d'une longueur fixe, octet par octet. Ainsi, si nous donnons un octet pour le numéro de réseau, nous obtiendrons alors 2 8 réseaux de 2 24 nœuds chacun. Si la bordure est déplacée d'un autre octet vers la droite, il y aura alors plus de réseaux - 2 16 et moins de nœuds - 2 16. Aujourd’hui, cette approche est considérée comme obsolète et n’est plus utilisée.
  2. Masque de sous-réseau. Le masque est associé à une adresse IP. Le masque a une séquence de valeurs "1" dans les bits attribués au numéro de réseau et un certain nombre de zéros aux endroits de l'adresse IP attribués au numéro de nœud. La limite entre les uns et les zéros dans le masque est la limite entre l'ID réseau et l'ID hôte dans l'adresse IP.
  3. Méthode des classes d’adresses. Méthode de compromis. Lors de son utilisation, les tailles de réseau ne peuvent pas être sélectionnées par l'utilisateur, mais il existe cinq classes - A, B, C, D, E. Trois classes - A, B et C - sont destinées à différents réseaux, et D et E sont réservés pour les réseaux spécialisés . Dans un système de classes, chaque classe a sa propre limite de numéro de réseau et d'ID de nœud.

Classes d'adresses IP

À Classe A Il s'agit notamment des réseaux dans lesquels le réseau est identifié par le premier octet et les trois autres sont le numéro de nœud. Toutes les adresses IP qui ont une valeur de premier octet comprise entre 1 et 126 dans leur plage sont des réseaux de classe A. Il existe très peu de réseaux de classe A en quantité, mais chacun d'eux peut avoir jusqu'à 2 24 points.

Classe B- les réseaux dans lesquels les deux bits les plus élevés sont égaux à 10. Dans ceux-ci, 16 bits sont alloués pour le numéro de réseau et l'identifiant du point. En conséquence, il s'avère que le nombre de réseaux de classe B est quantitativement différent du nombre de réseaux de classe A, mais ils ont un nombre de nœuds inférieur - jusqu'à 65 536 (2 16) unités.

Sur les réseaux classe C- il y a très peu de nœuds - 2 à 8 chacun, mais le nombre de réseaux est énorme, du fait que l'identifiant de réseau dans de telles structures occupe trois octets.

Réseaux classe D- appartiennent déjà à des réseaux spéciaux. Elle commence par la séquence 1110 et est appelée adresse de multidiffusion. Les interfaces avec des adresses de classe A, B et C peuvent faire partie d'un groupe et recevoir une adresse de groupe en plus de l'adresse individuelle.

Adresses classe E- en réserve pour l'avenir. Ces adresses commencent par la séquence 11110. Très probablement, ces adresses seront utilisées comme adresses de groupe en cas de pénurie d'adresses IP sur le réseau mondial.

Configuration du protocole TCP/IP

La configuration du protocole TCP/IP est disponible sur tous les systèmes d'exploitation. Il s'agit de Linux, CentOS, Mac OS X, Free BSD, Windows 7. Le protocole TCP/IP ne nécessite qu'une carte réseau. Bien entendu, les systèmes d’exploitation de serveur sont capables de bien plus. Le protocole TCP/IP est très largement configuré à l'aide de services serveur. Les adresses IP sur les ordinateurs de bureau classiques sont définies dans les paramètres de connexion réseau. Là, vous configurez l'adresse réseau, la passerelle - l'adresse IP du point qui a accès au réseau mondial et les adresses des points où se trouve le serveur DNS.

Le protocole Internet TCP/IP peut être configuré manuellement. Bien que ce ne soit pas toujours nécessaire. Vous pouvez recevoir automatiquement les paramètres du protocole TCP/IP à partir de l'adresse de distribution dynamique du serveur. Cette méthode est utilisée dans les grands réseaux d'entreprise. Sur un serveur DHCP, vous pouvez mapper une adresse locale à une adresse réseau, et dès qu'une machine avec une adresse IP donnée apparaît sur le réseau, le serveur lui donnera immédiatement une adresse IP préparée à l'avance. Ce processus est appelé réservation.

Protocole de résolution d'adresse TCP/IP

La seule façon d'établir une relation entre une adresse MAC et une adresse IP consiste à gérer une table. S'il existe une table de routage, chaque interface réseau connaît ses adresses (locales et réseau), mais la question se pose de savoir comment bien organiser les échanges de paquets entre nœuds utilisant le protocole TCP/IP 4.

Pourquoi le protocole de résolution d'adresse (ARP) a-t-il été inventé ? Afin de relier la famille de protocoles TCP/IP et d'autres systèmes d'adressage. Une table de mappage ARP est créée sur chaque nœud et alimentée en interrogeant l'ensemble du réseau. Cela se produit chaque fois que l'ordinateur est éteint.

Tableau ARP

Voici à quoi ressemble un exemple de table ARP compilée.

Après neuf mois de développement, est disponible le package multimédia FFmpeg 4.2, qui comprend un ensemble d'applications et une collection de bibliothèques pour les opérations sur différents formats multimédia (enregistrement, conversion et […]

Linux Mint 19.2 est une version de support à long terme qui sera prise en charge jusqu'en 2023. Il est livré avec un logiciel mis à jour et contient des améliorations et de nombreuses nouvelles […]

  • Sortie de la distribution Linux Mint 19.2

    Présentée est la version de la distribution Linux Mint 19.2, la deuxième mise à jour de la branche Linux Mint 19.x, formée sur la base de packages Ubuntu 18.04 LTS et prise en charge jusqu'en 2023. La distribution est entièrement compatible [...]

  • De nouvelles versions du service BIND sont disponibles et contiennent des corrections de bugs et des améliorations de fonctionnalités. Les nouvelles versions peuvent être téléchargées à partir de la page de téléchargement du site Web du développeur : […]

    Exim est un agent de transfert de messages (MTA) développé à l'Université de Cambridge pour être utilisé sur les systèmes Unix connectés à Internet. Il est disponible gratuitement conformément aux [...]

    Après presque deux ans de développement, est présentée la version de ZFS sur Linux 0.8.0, une implémentation du système de fichiers ZFS, conçue comme un module pour le noyau Linux. Le module a été testé avec les noyaux Linux du 2.6.32 au […]

  • WordPress 5.1.1 corrige une vulnérabilité qui vous permet de prendre le contrôle de votre site
  • L'IETF (Internet Engineering Task Force), qui développe des protocoles et une architecture Internet, a finalisé la RFC pour le protocole ACME (Automatic Certificate Management Environment) […]

    L'autorité de certification à but non lucratif Let's Encrypt, contrôlée par la communauté et fournissant des certificats gratuitement à tous, a résumé les résultats de l'année écoulée et a parlé de ses projets pour 2019. […]

  • Une nouvelle version de Libreoffice est sortie – Libreoffice 6.2

    La Document Foundation a annoncé la sortie de LibreOffice 6.2. Modifications et ajouts dans la nouvelle version : Libreoffice Writer La possibilité de masquer les modifications a été retravaillée : modifier ▸ piste de modification ▸ afficher […]

  • Adresses IP (Protocole Internet version 4, Internet Protocol version 4) - sont le principal type d'adresses utilisé au niveau de la couche réseau du modèle OSI pour transférer des paquets entre les réseaux. Les adresses IP sont constituées de quatre octets, par exemple 192.168.100.111.

    L'attribution des adresses IP aux hôtes s'effectue :

    • manuellement, configuré par l'administrateur système lors de la configuration du réseau ;
    • automatiquement, à l'aide de protocoles particuliers (notamment à l'aide du protocole DHCP - Dynamic Host Configuration Protocol, Dynamic Host Configuration Protocol).

    Protocole IPv4 développé en septembre 1981.

    Protocole IPv4 fonctionne au niveau inter-réseau (réseau) de la pile de protocoles TCP/IP. La tâche principale du protocole est de transférer des blocs de données (datagrammes) de l'hôte expéditeur vers l'hôte de destination, où les expéditeurs et les destinataires sont des ordinateurs identifiés de manière unique par des adresses de longueur fixe (adresses IP). De plus, le protocole Internet IP effectue, si nécessaire, la fragmentation et la collecte des datagrammes envoyés pour la transmission de données via d'autres réseaux avec des tailles de paquets plus petites.

    L'inconvénient du protocole IP est le manque de fiabilité du protocole, c'est-à-dire qu'avant le début de la transmission, aucune connexion n'est établie, cela signifie que la livraison des paquets n'est pas confirmée, l'exactitude des données reçues n'est pas surveillée (en utilisant une somme de contrôle) et l'opération d'acquittement n'est pas effectuée (échange de messages de service avec le nœud de destination et sa disponibilité à recevoir des paquets).

    Le protocole IP envoie et traite chaque datagramme comme une donnée indépendante, c'est-à-dire sans aucune autre connexion avec d'autres datagrammes sur l'Internet mondial.

    Après l'envoi d'un datagramme via IP au réseau, les autres actions avec ce datagramme ne sont en aucun cas contrôlées par l'expéditeur. Il s'avère que si un datagramme, pour une raison quelconque, ne peut pas être transmis davantage sur le réseau, il est détruit. Cependant, le nœud qui a détruit le datagramme a la possibilité de signaler la raison de l'échec à l'expéditeur, via l'adresse de retour (notamment en utilisant le protocole ICMP). La garantie de la livraison des données est confiée à des protocoles de niveau supérieur (couche transport), dotés de mécanismes spéciaux à cet effet (protocole TCP).

    Comme vous le savez, les routeurs fonctionnent au niveau de la couche réseau du modèle OSI. Par conséquent, l'une des tâches les plus fondamentales du protocole IP est la mise en œuvre du routage des datagrammes, en d'autres termes, la détermination du chemin optimal pour les datagrammes (à l'aide d'algorithmes de routage) depuis le nœud émetteur du réseau vers tout autre nœud du réseau en fonction de l'adresse IP.

    Sur n'importe quel nœud du réseau recevant un datagramme du réseau, cela ressemble à ceci :

    Format d'en-tête IP

    La structure des paquets IP version 4 est illustrée dans la figure

    • Version - pour IPv4, la valeur du champ doit être 4.
    • IHL - (Internet Header Longueur) la longueur de l'en-tête du paquet IP en mots de 32 bits (dword). C'est ce champ qui indique le début du bloc de données dans le paquet. La valeur minimale valide pour ce champ est 5.
    • Type de service (acronyme TOS) - un octet contenant un ensemble de critères qui détermine le type de service pour les paquets IP, illustré sur la figure.

    Description de l'octet de service petit à petit :

      • 0-2 - priorité (préséance) de ce segment IP
      • 3 - exigence de délai de transmission du segment IP (0 - normal, 1 - faible délai)
      • 4 - exigence de débit de la route le long de laquelle le segment IP doit être envoyé (0 - faible, 1 - débit élevé)
      • 5 - exigence de fiabilité (fiabilité) de la transmission du segment IP (0 - normal, 1 - haute fiabilité)
      • 6-7 - ECN - message de retard explicite (contrôle de flux IP).
    • Longueur du paquet : longueur du paquet en octets, y compris l'en-tête et les données. La valeur minimale valide pour ce champ est 20, la valeur maximale est 65535.
    • L'identifiant est une valeur attribuée par l'expéditeur du colis et est destiné à déterminer la séquence correcte des fragments lors de l'assemblage du colis. Pour un paquet fragmenté, tous les fragments ont le même ID.
    • 3 bits de drapeau. Le premier bit doit toujours être nul, le deuxième bit DF (ne pas fragmenter) détermine si le paquet peut être fragmenté et le troisième bit MF (plus de fragments) indique si ce paquet est le dernier d'une chaîne de paquets.
    • Le décalage du fragment est une valeur qui détermine la position du fragment dans le flux de données. Le décalage est spécifié par le nombre de blocs de huit octets, cette valeur nécessite donc une multiplication par 8 pour être convertie en octets.
    • La durée de vie (TTL) est le nombre de routeurs par lesquels ce paquet doit passer. Au fur et à mesure du passage du routeur, ce nombre diminuera de un. Si la valeur de ce champ est zéro, alors le paquet DOIT être rejeté et un message Time Exceeded (code ICMP 11 type 0) peut être envoyé à l'expéditeur du paquet.
    • Protocole - L'identifiant du protocole Internet de couche suivante indique les données de protocole que le paquet contient, telles que TCP ou ICMP.
    • Somme de contrôle d'en-tête - calculée selon la RFC 1071

    Paquet IPv4 intercepté à l'aide du renifleur Wireshark :

    Fragmentation des paquets IP

    Sur le chemin d'un paquet de l'expéditeur au destinataire, il peut exister des réseaux locaux et mondiaux de différents types avec différentes tailles autorisées de champs de données de trames au niveau lien (Maximum Transfer Unit - MTU). Ainsi, les réseaux Ethernet peuvent transmettre des trames transportant jusqu'à 1 500 octets de données, les réseaux X.25 sont caractérisés par une taille de champ de données de trame de 128 octets, les réseaux FDDI peuvent transmettre des trames d'une taille de 4 500 octets et d'autres réseaux ont leurs propres limites. Le protocole IP est capable de transmettre des datagrammes dont la longueur est supérieure à la MTU du réseau intermédiaire, en raison de la fragmentation - divisant un « gros paquet » en un certain nombre de parties (fragments), dont la taille de chacune satisfait le réseau intermédiaire. . Une fois que tous les fragments ont été transmis via le réseau intermédiaire, ils seront collectés au niveau du nœud destinataire par le module de protocole IP dans un « gros paquet ». Notez que le paquet est assemblé à partir de fragments uniquement par le destinataire, et non par l'un des routeurs intermédiaires. Les routeurs peuvent uniquement fragmenter les paquets, pas les réassembler. En effet, différents fragments d’un même paquet ne transiteront pas nécessairement par les mêmes routeurs.

    Afin de ne pas confondre les fragments de différents paquets, on utilise le champ Identification, dont la valeur doit être la même pour tous les fragments d'un paquet et ne pas être répétée pour différents paquets jusqu'à l'expiration de la durée de vie des deux paquets. Lors de la division de données en paquets, la taille de tous les fragments, à l'exception du dernier, doit être un multiple de 8 octets. Cela vous permet d'allouer moins d'espace dans l'en-tête au champ Décalage du fragment.

    Le deuxième bit du champ Plus de fragments, s'il est égal à un, indique que ce fragment n'est pas le dernier du paquet. Si le paquet est envoyé sans fragmentation, l'indicateur « Plus de fragments » est mis à 0 et le champ Fragment Offset est rempli de bits zéro.

    Si le premier bit du champ Flags (Ne pas fragmenter) est égal à un, alors la fragmentation du paquet est interdite. Si ce paquet devait être envoyé sur un réseau avec une MTU insuffisante, le routeur serait obligé de le rejeter (et de le signaler à l'expéditeur via ICMP). Cet indicateur est utilisé dans les cas où l'expéditeur sait que le destinataire ne dispose pas de suffisamment de ressources pour reconstruire des paquets à partir de fragments.

    Toutes les adresses IP peuvent être divisées en deux parties logiques : les numéros de réseau et les numéros de nœuds de réseau (numéro d'hôte). Pour déterminer quelle partie de l'adresse IP appartient au numéro de réseau et quelle partie appartient au numéro d'hôte, elle est déterminée par les valeurs des premiers bits de l'adresse. De plus, les premiers bits d'une adresse IP sont utilisés pour déterminer à quelle classe appartient une adresse IP particulière.

    La figure montre la structure de l'adresse IP des différentes classes.

    Si l'adresse commence par 0, alors le réseau est classé en classe A et le numéro de réseau occupe un octet, les 3 octets restants sont interprétés comme le numéro de nœud dans le réseau. Les réseaux de classe A portent des numéros allant de 1 à 126. (Le numéro 0 n'est pas utilisé et le numéro 127 est réservé à des fins spéciales, comme nous le verrons ci-dessous.) Les réseaux de classe A sont peu nombreux, mais le nombre de nœuds qu'ils contiennent peut atteindre 2. 24, soit 16 777 216 nœuds.

    Si les deux premiers bits de l'adresse sont égaux à 10, alors le réseau appartient à la classe B. Dans les réseaux de classe B, 16 bits, soit 2 octets, sont alloués pour le numéro de réseau et le numéro de nœud. Ainsi, un réseau de classe B est un réseau de taille moyenne avec un nombre maximum de nœuds de 2 à 16, soit 65 536 nœuds.

    Si l'adresse commence par la séquence 110, il s'agit alors d'un réseau de classe C. Dans ce cas, 24 bits sont alloués pour le numéro de réseau et 8 bits pour le numéro de nœud. Les réseaux de cette classe sont les plus courants ; le nombre de nœuds qu'ils contiennent est limité à 2 8, soit 256 nœuds.

    Si l'adresse commence par la séquence 1110, il s'agit alors d'une adresse de classe D et désigne une adresse de multidiffusion spéciale. Si un paquet contient une adresse de classe D comme adresse de destination, alors tous les nœuds auxquels cette adresse est attribuée doivent recevoir un tel paquet.

    Si l'adresse commence par la séquence 11110, cela signifie que cette adresse appartient à la classe E. Les adresses de cette classe sont réservées pour une utilisation future.

    Le tableau montre les plages de numéros de réseau et le nombre maximum de nœuds correspondant à chaque classe de réseau.

    Les grands réseaux reçoivent des adresses de classe A, les réseaux de taille moyenne reçoivent des adresses de classe B et les petits réseaux reçoivent des adresses de classe C.

    Utilisation de masques dans l'adressage IP

    Afin d'obtenir une plage particulière d'adresses IP, les entreprises ont été invitées à remplir un formulaire d'enregistrement, qui indiquait le nombre actuel d'ordinateurs et l'augmentation prévue du nombre d'ordinateurs. En conséquence, l'entreprise s'est vu attribuer une classe d'adresses IP. Adresses IP : A, B, C, selon les données précisées dans le formulaire d'inscription.

    Ce mécanisme d'émission de plages d'adresses IP fonctionnait normalement, cela était dû au fait qu'au début les organisations disposaient d'un petit nombre d'ordinateurs et, par conséquent, de petits réseaux informatiques. Mais en raison de la croissance rapide d'Internet et des technologies de réseau, l'approche décrite pour la distribution des adresses IP a commencé à produire des pannes, principalement associées aux réseaux de classe « B ». En effet, les organisations dans lesquelles le nombre d'ordinateurs ne dépassait pas plusieurs centaines (disons 500) devaient enregistrer pour elles-mêmes un réseau complet de classe « B » (puisque la classe « C » ne concerne que 254 ordinateurs et la classe « B » pour 65534). Pour cette raison, il n’y avait tout simplement pas suffisamment de réseaux de classe B disponibles, mais en même temps, de larges plages d’adresses IP étaient gaspillées.

    Le schéma traditionnel de division d'une adresse IP en un numéro de réseau (NetID) et un numéro d'hôte (HostID) est basé sur le concept de classe, qui est déterminé par les valeurs des premiers bits de l'adresse. C'est précisément parce que le premier octet de l'adresse 185.23.44.206 se situe dans la plage 128-191 que l'on peut dire que cette adresse appartient à la classe B, ce qui signifie que le numéro de réseau est constitué des deux premiers octets, complétés par deux octets zéro - 185.23.0.0 et le nœud numérique - 0.0.44.206.

    Et si nous utilisions une autre fonctionnalité qui pourrait être utilisée pour définir de manière plus flexible la limite entre le numéro de réseau et le numéro de nœud ? Les masques sont désormais largement utilisés comme signe.

    Masque- c'est le numéro qui est utilisé en conjonction avec l'adresse IP ; L'entrée du masque binaire contient des un dans ces bits qui doivent être interprétés comme un numéro de réseau dans l'adresse IP. Puisque le numéro de réseau fait partie intégrante de l’adresse, ceux du masque doivent également représenter une séquence continue.

    Pour les classes de réseau standard, les masques ont les significations suivantes :

    • classe A - 11111111.00000000.00000000.00000000 (255.0.0.0);
    • classe B - 11111111. 11111111. 00000000. 00000000 (255.255.0.0);
    • classe C - 11111111. 11111111.11111111. 00000000 (255.255.255.0).

    En attribuant à chaque adresse IP un masque, vous pouvez abandonner le concept de classes d'adresses et rendre le système d'adressage plus flexible. Par exemple, si l'adresse 185.23.44.206 évoquée ci-dessus est associée à un masque 255.255.255.0, alors le numéro de réseau sera 185.23.44.0, et non 185.23.0.0, tel que défini par le système de classes.

    Calcul du numéro de réseau et du numéro de nœud à l'aide du masque :

    Dans les masques, le nombre de un dans la séquence qui définit la limite du numéro de réseau n'a pas besoin d'être un multiple de 8 pour répéter la division de l'adresse en octets. Supposons, par exemple, que pour l'adresse IP 129.64.134.5 le masque 255.255.128.0 soit spécifié, c'est-à-dire sous forme binaire :

    • Adresse IP 129.64.134.5 - 10000001. 01000000.10000110. 00000101
    • Masque 255.255.128.0 - 11111111.11111111.10000000. 00000000

    Si vous ignorez le masque, alors, conformément au système de classes, l'adresse 129.64.134.5 appartient à la classe B, ce qui signifie que le numéro de réseau est constitué des 2 premiers octets - 129.64.0.0 et que le numéro de nœud est 0.0.134.5.

    Si vous utilisez un masque pour déterminer la limite du numéro de réseau, alors 17 unités consécutives dans le masque, « superposées » (multiplication logique) sur l'adresse IP, déterminent le numéro comme le numéro de réseau en expression binaire :

    ou en notation décimale - le numéro de réseau est 129.64.128.0 et le numéro de nœud est 0.0.6.5.

    Il existe également une version courte de la notation de masque appelée préfixe ou un masque court. En particulier, le réseau 80.255.147.32 avec un masque de 255.255.255.252 peut s'écrire 80.255.147.32/30, où « /30 » indique le nombre d'unités binaires dans le masque, soit trente unités binaires (comptées à partir de la gauche). à droite).

    Pour plus de clarté, le tableau montre la correspondance entre le préfixe et le masque :

    Le mécanisme de masque est répandu dans le routage IP et les masques peuvent être utilisés à diverses fins. Avec leur aide, l'administrateur peut structurer son réseau sans avoir besoin de numéros de réseau supplémentaires auprès du fournisseur de services. Sur la base du même mécanisme, les fournisseurs de services peuvent combiner les espaces d'adressage de plusieurs réseaux en introduisant ce qu'on appelle « préfixes"afin de réduire la taille des tables de routage et ainsi augmenter les performances des routeurs. De plus, écrire un masque en préfixe est beaucoup plus court.

    Adresses IP spéciales

    Le protocole IP a plusieurs conventions pour interpréter différemment les adresses IP :

    • 0.0.0.0 - représente l'adresse de passerelle par défaut, c'est-à-dire l'adresse de l'ordinateur auquel les paquets d'informations doivent être envoyés s'ils n'ont pas trouvé de destination dans le réseau local (table de routage) ;
    • 255.255.255.255 – adresse de diffusion. Les messages envoyés à cette adresse sont reçus par tous les nœuds du réseau local contenant l'ordinateur qui est la source du message (il n'est pas transmis aux autres réseaux locaux) ;
    • « Numéro de réseau ». « tous des zéros » – adresse réseau (par exemple 192.168.10.0) ;
    • "Tous les zéros." "numéro de nœud" – un nœud dans ce réseau (par exemple 0.0.0.23). Peut être utilisé pour transmettre des messages à un nœud spécifique au sein d'un réseau local ;
    • Si le champ du numéro de nœud de destination n'en contient qu'un, alors un paquet avec une telle adresse est envoyé à tous les nœuds du réseau avec le numéro de réseau donné. Par exemple, un paquet avec l'adresse 192.190.21.255 est délivré à tous les nœuds du réseau 192.190.21.0. Ce type de distribution est appelé message diffusé. Lors de l'adressage, il est nécessaire de prendre en compte les restrictions introduites par la destination particulière de certaines adresses IP. Ainsi, ni le numéro de réseau ni le numéro de nœud ne peuvent être constitués uniquement de uns binaires ou uniquement de zéros binaires. Il s'ensuit que le nombre maximum de nœuds indiqué dans le tableau pour les réseaux de chaque classe devrait, en pratique, être réduit de 2. Par exemple, dans les réseaux de classe C, 8 bits sont alloués pour le numéro de nœud, ce qui permet de spécifier 256 nombres : de 0 à 255. Cependant, en pratique, le nombre maximum de nœuds dans un réseau de classe C ne peut pas dépasser 254, puisque les adresses 0 et 255 ont un but particulier. Des mêmes considérations, il s'ensuit que le nœud final ne peut pas avoir une adresse telle que 98.255.255.255, puisque le numéro de nœud dans cette adresse de classe A n'est constitué que de numéros binaires.
    • L'adresse IP a une signification particulière dont le premier octet est 127.x.x.x. Il est utilisé pour tester des programmes et traiter les interactions au sein d’une même machine. Lorsqu'un programme envoie des données à l'adresse IP 127.0.0.1, une « boucle » est formée. Les données ne sont pas transmises sur le réseau, mais sont renvoyées aux modules de niveau supérieur telles qu'elles viennent d'être reçues. Ainsi, sur un réseau IP, il est interdit d’attribuer des adresses IP aux machines commençant par 127. Cette adresse est appelée bouclage. Vous pouvez attribuer l'adresse 127.0.0.0 au réseau interne du module de routage hôte, et l'adresse 127.0.0.1 à l'adresse de ce module sur le réseau interne. En effet, toute adresse réseau 127.0.0.0 sert à désigner son module de routage, et pas seulement 127.0.0.1, par exemple 127.0.0.3.

    Le protocole IP n'a pas le concept de diffusion au sens où il est utilisé dans les protocoles de couche liaison des réseaux locaux, lorsque les données doivent être délivrées à absolument tous les nœuds. L'adresse IP de diffusion restreinte et l'adresse IP de diffusion ont toutes deux des limites de propagation Internet : elles sont limitées soit au réseau auquel appartient l'hôte source du paquet, soit au réseau dont le numéro est spécifié dans l'adresse de destination. Par conséquent, diviser le réseau en parties à l'aide de routeurs localise la tempête de diffusion aux limites de l'une des parties qui composent le réseau global, tout simplement parce qu'il n'existe aucun moyen d'adresser simultanément le paquet à tous les nœuds de tous les réseaux du réseau composite.

    Adresses IP utilisées dans les réseaux locaux

    Toutes les adresses utilisées sur Internet doivent être enregistrées, ce qui garantit leur unicité à l'échelle mondiale. Ces adresses sont appelées adresses IP réelles ou publiques.

    Pour les réseaux locaux non connectés à Internet, l'enregistrement des adresses IP n'est bien entendu pas nécessaire, car en principe, toutes les adresses possibles peuvent être utilisées ici. Toutefois, afin d'éviter toute possibilité de conflits lors de la connexion ultérieure d'un tel réseau à Internet, il est recommandé de n'utiliser que les plages d'adresses IP dites privées suivantes sur les réseaux locaux (ces adresses n'existent pas sur Internet et il n'est pas possible de les utiliser ici), présentés dans le tableau.

    Les protocoles TCP/IP constituent la base de l'Internet mondial. Pour être plus précis, TCP/IP est une liste ou une pile de protocoles, et en fait, un ensemble de règles selon lesquelles les informations sont échangées (le modèle de commutation de paquets est implémenté).

    Dans cet article, nous allons analyser les principes de fonctionnement de la pile protocolaire TCP/IP et tenter de comprendre les principes de leur fonctionnement.

    Remarque : Souvent, l'abréviation TCP/IP fait référence à l'ensemble du réseau fonctionnant sur la base de ces deux protocoles, TCP et IP.

    Dans le modèle d'un tel réseau, en plus des principaux protocoles TCP (Transport Layer) et IP (Network Layer Protocol) inclut les protocoles de couche application et réseau (voir photo). Mais revenons directement aux protocoles TCP et IP.

    Que sont les protocoles TCP/IP

    TCP - Protocole de contrôle de transfert. Protocole de contrôle de transmission. Il sert à garantir et à établir une connexion fiable entre deux appareils et un transfert de données fiable. Dans ce cas, le protocole TCP contrôle la taille optimale du paquet de données transmis, en envoyant un nouveau si la transmission échoue.

    IP - Protocole Internet. Le protocole Internet ou protocole d'adresse constitue la base de toute l'architecture de transmission de données. Le protocole IP est utilisé pour transmettre un paquet de données réseau à l'adresse souhaitée. Dans ce cas, les informations sont divisées en paquets qui se déplacent indépendamment à travers le réseau jusqu'à la destination souhaitée.

    Formats du protocole TCP/IP

    Format du protocole IP

    Il existe deux formats pour les adresses IP du protocole IP.

    Format IPv4. Il s'agit d'un nombre binaire de 32 bits. Une forme pratique d'écriture d'une adresse IP (IPv4) consiste à former quatre groupes de nombres décimaux (de 0 à 255), séparés par des points. Par exemple : 193.178.0.1.

    Format IPv6. Il s'agit d'un nombre binaire de 128 bits. En règle générale, les adresses IPv6 sont écrites sous la forme de huit groupes. Chaque groupe contient quatre chiffres hexadécimaux séparés par deux points. Exemple d'adresse IPv6 2001:0db8:85a3:08d3:1319:8a2e:0370:7889.

    Comment fonctionnent les protocoles TCP/IP

    Si cela vous convient, pensez à envoyer des paquets de données sur le réseau comme à envoyer une lettre par courrier.

    Si cela ne vous convient pas, imaginez deux ordinateurs connectés par un réseau. De plus, le réseau de connexion peut être quelconque, local ou global. Il n'y a aucune différence dans le principe du transfert de données. Un ordinateur sur un réseau peut également être considéré comme un hôte ou un nœud.

    Protocole IP

    Chaque ordinateur du réseau possède sa propre adresse unique. Sur l'Internet mondial, un ordinateur possède cette adresse, appelée adresse IP (Internet Protocol Address).

    Par analogie avec le courrier, une adresse IP est un numéro de maison. Mais le numéro de la maison ne suffit pas pour recevoir une lettre.

    Les informations transmises sur le réseau ne sont pas transmises par l'ordinateur lui-même, mais par les applications installées sur celui-ci. Ces applications sont le serveur de messagerie, le serveur Web, FTP, etc. Pour identifier le paquet d'informations transmis, chaque application est attachée à un port spécifique. Par exemple : le serveur Web écoute sur le port 80, FTP écoute sur le port 21, le serveur de messagerie SMTP écoute sur le port 25, le serveur POP3 lit les boîtes aux lettres sur le port 110.

    Ainsi, dans le paquet d'adresse dans le protocole TCP/IP, une autre ligne apparaît dans les destinataires : port. Analogue avec le courrier - le port est le numéro d'appartement de l'expéditeur et du destinataire.

    Exemple:

    Adresse source :

    IP : 82.146.47.66

    Adresse de destination:

    IP : 195.34.31.236

    Rappelons-le : l’adresse IP + le numéro de port s’appelle un « socket ». Dans l'exemple ci-dessus : depuis le socket 82.146.47.66:2049, un paquet est envoyé vers le socket 195.34.31.236:53.

    Protocole TCP

    Le protocole TCP est le protocole de couche suivant le protocole IP. Ce protocole est destiné à contrôler le transfert des informations et leur intégrité.

    Par exemple, les informations transmises sont divisées en paquets distincts. Les colis seront livrés au destinataire de manière indépendante. Pendant le processus de transmission, l'un des paquets n'a pas été transmis. Le protocole TCP assure les retransmissions jusqu'à ce que le destinataire reçoive le paquet.

    Le protocole de transport TCP masque tous les problèmes et détails du transfert de données des protocoles de niveau supérieur (physique, canal, réseau IP).

    L'interaction entre les ordinateurs sur Internet s'effectue via des protocoles réseau, qui constituent un ensemble convenu de règles spécifiques selon lesquelles différents dispositifs de transmission de données échangent des informations. Il existe des protocoles pour les formats de contrôle d'erreur et d'autres types de protocoles. Le protocole le plus couramment utilisé dans la mise en réseau mondiale est TCP-IP.

    De quel type de technologie s’agit-il ? Le nom TCP-IP vient de deux protocoles réseau : TCP et IP. Bien entendu, la construction des réseaux ne se limite pas à ces deux protocoles, mais ils sont fondamentaux en ce qui concerne l'organisation de la transmission des données. En fait, TCP-IP est un ensemble de protocoles qui permettent à des réseaux individuels de se rassembler pour former

    Le protocole TCP-IP, qui ne peut être décrit uniquement par les définitions d'IP et TCP, comprend également les protocoles UDP, SMTP, ICMP, FTP, telnet, etc. Ces protocoles, ainsi que d'autres protocoles TCP-IP, assurent le fonctionnement le plus complet d'Internet.

    Nous fournissons ci-dessous une description détaillée de chaque protocole inclus dans le concept général de TCP-IP.

    . Protocole Internet(IP) est responsable de la transmission directe des informations sur le réseau. Les informations sont divisées en parties (c'est-à-dire en paquets) et transmises au destinataire par l'expéditeur. Pour un adressage précis, vous devez préciser l'adresse ou les coordonnées exactes du destinataire. Ces adresses sont constituées de quatre octets séparés les uns des autres par des points. L'adresse de chaque ordinateur est unique.

    Cependant, l'utilisation du protocole IP seul peut ne pas suffire pour une transmission correcte des données, car le volume de la plupart des informations transmises est supérieur à 1 500 caractères, qui ne tiennent plus dans un seul paquet, et certains paquets peuvent être perdus lors de la transmission ou envoyés. le mauvais ordre, ce qui est nécessaire.

    . Protocole de contrôle de transmission(TCP) est utilisé à un niveau supérieur au précédent. Basé sur la capacité du protocole IP à transporter des informations d'un hôte à un autre, le protocole TCP permet d'envoyer de grandes quantités d'informations. TCP est également chargé de diviser les informations transmises en parties distinctes – les paquets – et de récupérer correctement les données des paquets reçus après la transmission. Dans ce cas, ce protocole répète automatiquement la transmission des paquets contenant des erreurs.

    La gestion de l'organisation du transfert de données en gros volumes peut être effectuée à l'aide d'un certain nombre de protocoles ayant des objectifs fonctionnels particuliers. Il existe notamment les types de protocoles TCP suivants.

    1. FTP(File Transfer Protocol) organise le transfert de fichiers et est utilisé pour transférer des informations entre deux nœuds Internet à l'aide de connexions TCP sous la forme d'un fichier texte binaire ou simple, en tant que zone nommée dans la mémoire de l'ordinateur. Dans ce cas, peu importe où se trouvent ces nœuds et comment ils sont connectés les uns aux autres.

    2. Protocole de datagramme utilisateur, ou User Datagram Protocol, est indépendant de la connexion et transmet les données dans des paquets appelés datagrammes UDP. Cependant, ce protocole n'est pas aussi fiable que TCP car l'expéditeur ne sait pas si le paquet a réellement été reçu.

    3. ICMP(Internet Control Message Protocol) existe pour transmettre les messages d'erreur qui surviennent lors de l'échange de données sur Internet. Cependant, le protocole ICMP signale uniquement les erreurs, mais n'élimine pas les raisons qui ont conduit à ces erreurs.

    4. Telnet- qui permet d'implémenter une interface texte sur un réseau utilisant le transport TCP.

    5. SMTP(Simple Mail Transfer Protocol) est un message électronique spécial qui définit le format des messages envoyés depuis un ordinateur, appelé client SMTP, vers un autre ordinateur exécutant un serveur SMTP. Dans ce cas, ce transfert peut être retardé pendant un certain temps jusqu'à ce que le travail du client et du serveur soit activé.

    Schéma de transmission de données via le protocole TCP-IP

    1. Le protocole TCP divise la totalité des données en paquets et les numérote, les emballant dans des enveloppes TCP, ce qui vous permet de restaurer l'ordre dans lequel les parties d'informations sont reçues. Lorsque les données sont placées dans une telle enveloppe, une somme de contrôle est calculée, qui est ensuite écrite dans l'en-tête TCP.

    3. TCP vérifie ensuite si tous les paquets ont été reçus. Si, lors de la réception, celle nouvellement calculée ne coïncide pas avec celle indiquée sur l'enveloppe, cela indique qu'une partie des informations a été perdue ou déformée lors de la transmission, le protocole TCP-IP demande à nouveau la transmission de ce paquet. Une confirmation de la réception des données du destinataire est également requise.

    4. Après avoir confirmé la réception de tous les paquets, le protocole TCP les ordonne en conséquence et les réassemble en un seul tout.

    Le protocole TCP utilise des transmissions de données répétées et des périodes d'attente (ou délais d'attente) pour garantir une livraison fiable des informations. Les paquets peuvent être transmis simultanément dans deux directions.

    Ainsi, TCP-IP élimine le besoin de retransmissions et attend les processus d'application (tels que Telnet et FTP).

    vues