Message de chaîne. Niveau liaison de données. La couche liaison de données définit les règles d'accès au support physique et contrôle le transfert d'informations sur le canal. Fonctions de la couche de liaison


9) Routage : statique et dynamique en utilisant l'exemple de RIP, OSPF et EIGRP.
10) Traduction d'adresses réseau : NAT et PAT.
11) Protocoles de réservation du premier saut : FHRP.
12) Sécurité des réseaux informatiques et réseaux privés virtuels : VPN.
13) Réseaux mondiaux et protocoles utilisés : PPP, HDLC, Frame Relay.
14) Introduction à IPv6, configuration et routage.
15) Gestion du réseau et surveillance du réseau.

P.S. Peut-être qu'avec le temps, la liste s'allongera.


Comme vous vous en souvenez, j'ai déjà dit que dans les réseaux, il est important de respecter strictement toutes les règles de bon fonctionnement. À savoir le processus d’encapsulation et de désencapsulation. Par conséquent, lorsque dans l'article précédent nous avons parlé des protocoles des niveaux supérieurs, j'ai brièvement mentionné certains des protocoles des niveaux inférieurs, car ils surgissaient constamment et nous rappelaient eux-mêmes. Je vais vous expliquer pourquoi. Regardez maintenant l'image ci-dessus. Voici comment fonctionne la Poste. Regardez les deux chauves ci-dessus qui ont écrit une lettre et rayonnent de bonheur. Mais la lettre ne servira à rien si le destinataire ne la voit pas. Pour ce faire, ils utiliseront le service postal. Leur lettre sera réceptionnée par un employé de la Poste et placée dans une enveloppe. Elle signera l'enveloppe afin qu'il soit clair de qui elle provient et à qui. Ensuite, le coursier récupérera cette lettre et l'amènera au centre de tri. Ci-dessous, un homme coiffé d'une casquette et d'un tablier, qui jongle avec les lettres. Il sait où mettre la lettre pour qu'elle parvienne au destinataire. Et tout en bas se trouve le train, qui est une plaque tournante du transport. Veuillez noter que le rôle de chacun est ici important pour le bon envoi et la livraison de la lettre.

C'est pareil sur les réseaux. Vous avez décidé d'aller sur le site et de lire les actualités. Tapez l'adresse du site Web dans votre navigateur. Ensuite, votre ordinateur doit d'une manière ou d'une autre demander ces pages. Et ici, les protocoles inférieurs, qui constituent la plaque tournante du transport, viendront à la rescousse. Ici, chaque niveau peut être comparé aux personnalités décrites ci-dessus dans la figure.

Je vais ramener tout cela à un dénominateur commun et partager un exemple que j'ai trouvé un jour pour moi-même. Vous disposez d'un périphérique réseau. Peu importe qu’il s’agisse d’un ordinateur, d’un ordinateur portable, d’une tablette, d’un smartphone ou autre. Chacun de ces appareils fonctionne sur une pile TCP/IP. Cela signifie qu'il suit ses règles.

1) Niveau d'application. C'est là que fonctionne l'application réseau elle-même. C'est-à-dire un navigateur Web lancé, par exemple, depuis un ordinateur.

2) Couche de transport. Une application ou un service doit disposer d'un port sur lequel elle écoute et sur lequel elle peut être contactée.

3) Couche réseau. Il y a une adresse IP ici. On l'appelle également l'adresse logique de l'appareil sur le réseau. En l'utilisant, vous pouvez contacter l'ordinateur sur lequel ce même navigateur s'exécute, et donc accéder à l'application elle-même. Disposant de cette adresse, il est membre du réseau et peut communiquer avec les autres participants

4) Niveau liaison de données. Il s'agit de la carte réseau ou de l'antenne elle-même. C'est-à-dire un émetteur et un récepteur. Il possède une adresse physique pour identifier cette carte réseau. Les câbles et les connecteurs ont également leur place ici. C'est l'environnement qui connectera l'ordinateur aux autres participants.

Commençons par le niveau le plus bas. Il s'agit de la liaison de données et de la couche physique, si on les considère du point de vue du modèle OSI, et de la couche d'accès, si on les considère du haut de la pile de protocoles TCP/IP. Nous utilisons TCP/IP, je parlerai donc de son point de vue. La couche d'accès, comme vous l'avez compris, combine les couches physique et liaison de données.

Niveau physique. Ou, comme ils aiment l’appeler, le « niveau électrique ». Définit les paramètres du signal, ainsi que le type et la forme du signal. Si, par exemple, on utilise Ethernet (qui transmet les données à l'aide d'un fil), alors quelle modulation, tension, courant. S'il s'agit d'un Wi-Fi, quelles ondes radio utiliser, fréquence, amplitude. Ce niveau comprend les cartes réseau, les antennes Wi-Fi et les connecteurs. A ce niveau, la notion de bits est introduite. Il s'agit d'une unité de mesure des informations transmises.

Niveau liaison de données. Cette couche est utilisée pour transmettre non seulement des bits, mais aussi des séquences significatives de ces bits. Utilisé pour transmettre des données sur un support à un canal. Je décrirai ce que cela signifie un peu plus tard. A ce niveau, les adresses MAC, également appelées adresses physiques, fonctionnent.

Le terme « adresses physiques » a été introduit pour une raison. Chaque carte réseau ou antenne possède une adresse intégrée qui lui est attribuée par le fabricant. Dans un article précédent, j'ai évoqué le terme « protocoles ». Seulement là, il s'agissait de protocoles de haut niveau, ou plus précisément d'applications. La couche liaison de données possède ses propres protocoles et leur nombre n'est pas minime. Les plus populaires sont Ethernet (utilisé dans les réseaux locaux), PPP et HDLC (utilisés dans les réseaux étendus). Ce n’est bien sûr pas tout, mais Cisco ne les prend en compte que dans sa certification CCNA.

Il est difficile de comprendre tout cela sous forme de texte sec et solide, je vais donc l'expliquer avec une image.

Oubliez désormais les adresses IP, le modèle OSI et la pile de protocoles TCP/IP. Vous disposez de 4 ordinateurs et d'un switch. Ne faites pas attention au commutateur, car il s'agit d'un boîtier ordinaire pour connecter des ordinateurs. Chaque ordinateur possède sa propre adresse MAC, qui l'identifie sur le réseau. Cela doit être unique. Bien que je les ai présentés à 3 chiffres, c'est loin d'être vrai. Maintenant, cette image est uniquement destinée à une compréhension logique, mais j'écrirai ci-dessous comment cela fonctionne dans la vraie vie.

Donc. Si l'un des ordinateurs souhaite envoyer quelque chose à un autre ordinateur, il lui suffit de connaître l'adresse MAC de l'ordinateur auquel il envoie. Si l'ordinateur en haut à gauche avec l'adresse MAC 111 souhaite envoyer quelque chose à l'ordinateur en bas à droite, il l'enverra sans problème s'il sait que le destinataire a une adresse MAC de 444.

Ces 4 ordinateurs forment un réseau local simple et un environnement à canal unique. D'où le nom du niveau. Mais pour le bon fonctionnement des nœuds dans les réseaux TCP/IP, l’adressage au niveau lien ne suffit pas. L'adressage au niveau du réseau, connu de tous sous le nom d'adressage IP, est également important.

Rappelons maintenant les adresses IP. Et nous les attribuerons à nos ordinateurs.


J'ai attribué les adresses de manière symbolique afin de comprendre à un niveau basique comment elles fonctionnent. Ces deux adressages (canal et réseau) fonctionnent en étroite collaboration et ne peuvent pas fonctionner séparément. Maintenant, je vais vous expliquer pourquoi. Dans la vie de tous les jours, nous travaillons uniquement avec des adresses IP ou des noms, sur lesquels il y avait un chapitre entier dans l'article précédent. Nous ne travaillons pas réellement avec des adresses MAC. Les ordinateurs eux-mêmes fonctionnent avec eux. Maintenant, je vais simuler la situation. Je suis assis sur l'ordinateur en haut à gauche avec IP : 1.1.1.1 et MAC : 111. Je voulais contacter l'ordinateur en bas à droite et vérifier s'il est vivant ou non. Je peux le contacter si je connais son adresse IP. Je ne suis pas intéressé par son adresse MAC. Je sais que son adresse IP est 1.1.1.4. Et je décide d'utiliser l'utilitaire ping (un utilitaire permettant de vérifier la disponibilité d'un nœud).

Maintenant l'important. L'ordinateur comprend qu'il ne connaît pas l'adresse MAC de l'ordinateur dont la disponibilité doit être vérifiée. Afin de connaître l'adresse MAC à partir de l'adresse IP, le protocole ARP a été inventé. J'en parlerai en détail plus tard. Je veux maintenant que vous compreniez les dépendances de l'adresse MAC et de l'adresse IP. Alors, il commence à crier à l’ensemble du réseau : « Qui est 1.1.1.4 ? » Ce cri sera entendu par tous les participants du réseau et, s'il existe un nœud possédant cette adresse IP, il répondra. J'ai un tel ordinateur et en réponse à ce cri, il répondra : « 1.1.1.4, c'est moi. Mon MAC est 444." Mon ordinateur recevra ce message et pourra continuer ce que je lui ai demandé de faire.

Ensuite, vous devez apprendre à distinguer un sous-réseau d'un autre. Et comment l'ordinateur comprend-il s'il se trouve sur le même sous-réseau avec un autre nœud ou sur des nœuds différents. Pour cela, un masque de sous-réseau vient à la rescousse. Il existe de nombreux masques et au début cela semble effrayant, mais je vous assure que cela ne le semble qu'au début. Un article entier lui sera consacré et vous y apprendrez tous ses secrets. A ce stade, je vais vous montrer comment cela fonctionne.

Si vous êtes déjà allé dans les paramètres des adaptateurs réseau ou avez saisi une adresse statique qui vous a été fournie par votre fournisseur, vous avez vu le champ « masque de sous-réseau ». Il est écrit dans le même format que l'adresse IP, la passerelle par défaut et le DNS. Ce sont quatre octets séparés par des points. Si vous n'avez jamais vu cela, vous pouvez ouvrir une invite de commande et taper ipconfig. Vous verrez quelque chose de similaire.


Ceci est une capture d'écran de la ligne de commande de mon ordinateur portable. Je suis assis devant mon point d'accès domestique, qui a un masque de 255.255.255.0. C’est probablement le masque le plus simple à expliquer et le vôtre est probablement exactement le même. À quoi ça sert? Les 3 premiers octets (ils sont fixes) montrent l'adresse réseau, et le 4ème octet (il est dynamique) montre l'adresse de l'hôte. En d'autres termes, ce masque montre que les 3 premiers octets doivent être complètement vérifiés et que le quatrième peut être libre de 0 à 255. En général, il s'agit d'une formulation approximative. Car avec un tel masque, 1 à 254 seront libres, où 0 ira à l'adresse réseau, et 255 à l'adresse de diffusion. Mais dans tous les cas, c'est la limite d'un seul canal média. Autrement dit, lorsqu'un nœud doit envoyer un message à un autre nœud, il prend son adresse et y met un masque, et si l'adresse réseau (partie fixe) correspond à son adresse, alors ils se trouvent dans le même environnement de canal. Je vais vous expliquer en utilisant la même image comme exemple.


Je suis assis sur l'ordinateur en haut à gauche et je souhaite l'envoyer vers celui en bas à droite. Je connais à la fois son adresse IP et son adresse MAC. Je dois comprendre si nous sommes dans le même environnement de canal ou non. Son adresse est 1.1.1.4 et son masque est 255.255.255.0. Le masque me dit que 3 octets sont fixes et ne devraient pas changer, et que le quatrième peut être compris entre 1 et 254. J'applique un masque à son adresse et à mon adresse et recherche les correspondances et les différences.


La zone responsable du réseau est surlignée en rouge. Comme vous pouvez le constater, il en est de même pour 2 hôtes. Cela signifie qu'ils sont sur le même sous-réseau.

Je vais moderniser le réseau et vous le montrer un peu différemment.


Un appareil rond a été ajouté. C'est ce qu'on appelle un routeur ou un routeur. Le mot est familier à tout le monde. Son rôle principal est de connecter les réseaux et de choisir le meilleur itinéraire, ce qui sera abordé plus en détail ultérieurement. Et à droite, un commutateur a été ajouté, auquel 2 ordinateurs sont connectés. Le masque pour tous les appareils n'a pas changé (255.255.255.0).

Regardez attentivement les adresses de tous les appareils. Vous pouvez remarquer que le 3ème octet est différent pour les nouveaux nœuds et les anciens. Voyons cela. Je suis également assis devant un ordinateur avec MAC:111 et IP:1.1.1.1. Je souhaite envoyer des informations à l'un des nouveaux nœuds. Supposons que ce soit l'ordinateur en haut à droite avec MAC:555 et IP:1.1.2.1. Je mets le masque et regarde.


Et maintenant, la situation est différente. Les 3èmes octets sont différents, ce qui signifie que les nœuds sont situés dans des réseaux différents (plus correctement, des sous-réseaux). Pour résoudre de telles situations, il existe une passerelle par défaut dans les paramètres de chaque système d'exploitation. On l’appelle aussi la « porte d’entrée de dernier recours ». Il est utilisé précisément dans le cas où vous devez envoyer des informations à un nœud situé dans un environnement de canal différent. Pour mon ordinateur, l'adresse de la passerelle est 1.1.1.254. Et pour l'ordinateur auquel j'envoie des données 1.1.2.254. La logique du travail ici est simple. Si les informations atteignaient directement un nœud situé dans un environnement de canal, alors pour un nœud situé dans un environnement de canal différent, le chemin passerait par un routeur.

Mon ordinateur sait que l'adresse de la passerelle est 1.1.1.254. Il criera à l’ensemble du réseau : « 1.1.1.254 répondez ». Ce message sera reçu par tous les participants de l'environnement du canal, mais seul celui assis à cette adresse répondra. Autrement dit, un routeur. Il enverra une réponse, et seulement après cela, mon ordinateur enverra des données à l'adresse 1.1.2.254. Et faites attention. Au niveau de la liaison de données, les données seront envoyées à MAC:777, et au niveau du réseau, à IP:1.1.2.1. Cela signifie que l'adresse MAC est transmise uniquement sur son support de canal et que l'adresse réseau ne change pas tout au long de son parcours. Lorsque le routeur recevra l'information, il comprendra qu'au niveau du lien elle lui était destinée, mais lorsqu'il verra l'adresse IP, il comprendra qu'il s'agit d'un lien intermédiaire et qu'il doit être transféré vers un autre support de liaison. Son deuxième port regarde le sous-réseau souhaité. Cela signifie que tout lui est devenu réalité. Mais il ne connaît pas l'adresse MAC de destination. Il se met également à crier à l’ensemble du réseau : « Qui est 1.1.2.1 ? Et l'ordinateur avec l'adresse MAC 555 y répond. Je pense que la logique du travail est claire.

Dans les deux articles précédents et dans celui-ci, le terme a été mentionné à plusieurs reprises. "Adresse Mac". Voyons ce que c'est.

Comme je l'ai déjà dit, il s'agit d'un identifiant unique pour un périphérique réseau. C’est unique et ne devrait être répété nulle part. Il se compose de 48 bits, dont les 24 premiers bits constituent un identifiant d'organisation unique, attribué par le comité IEEE (Institute of Electrical and Electronics Engineers). Et les 24 seconds bits sont attribués par le fabricant de l'équipement. Cela ressemble à ceci.


Ils l'écrivent de différentes manières. Par exemple:

1) 00-50-56-C0-00-08
2) 00:50:56:C0:00:08
3) 0050,56С0,0008

Comme vous pouvez le constater, la même adresse peut être écrite de différentes manières. De plus, il n'est généralement pas divisé, mais écrit ensemble. La principale chose à savoir est que l’adresse MAC est toujours de 48 bits et est composée de 12 lettres et/ou chiffres. Vous pouvez le visualiser de différentes manières. Par exemple, sous le système d'exploitation Windows, ouvrez la ligne de commande et entrez ipconfig /all. De nombreux fabricants l’écrivent également sur la boîte ou au dos de l’appareil.


Vous pouvez donc consulter votre point d'accès Wi-Fi et voir une entrée similaire. Au tout début, j'ai affiché les adresses MAC sous forme de nombres à 3 chiffres, ce qui n'est pas vrai. Dans ce contexte, je les ai utilisés uniquement pour faciliter les explications, afin de ne pas vous confondre avec des entrées longues et incompréhensibles. Ci-dessous, en ce qui concerne la pratique, vous les verrez tels qu’ils sont réellement.

Puisque nous avons analysé l’adresse au niveau de la couche liaison de données, il est temps d’analyser le protocole qui fonctionne à ce niveau. Le protocole le plus populaire actuellement utilisé dans les réseaux locaux est Ethernet. L'IEEE l'a décrit comme la norme 802.3. Ainsi, toutes les versions commençant par 802.3 y font spécifiquement référence. Par exemple, 802.3z correspond à GigabitEthernet sur câble à fibre optique ; 1 Gbit/s et 802.3af est Power over Ethernet (PoE - Power over Ethernet).

D'ailleurs, je n'ai pas mentionné l'organisation IEEE (Institut des ingénieurs électriciens et électroniciens). Cette organisation développe des normes pour tout ce qui concerne la radioélectronique et l'électrotechnique. Sur leur site Internet, vous pouvez trouver de nombreuses documentations sur les technologies existantes. C'est ce qu'ils renvoient lors de la recherche de "Ethernet"


Voyons en quoi cela consiste. Le protocole lui-même étant ancien (inventé en 1973), il a été plusieurs fois modernisé et changé de format. Vous pouvez trouver toutes ses variantes sur Internet, mais je vais citer celle que Cisco m'a donnée lorsque j'étudiais.


1) Préambule. Un champ utilisé pour indiquer le début d'une trame. Autrement dit, pour que le récepteur puisse comprendre où se trouve le début d'une nouvelle trame. Auparavant, lorsqu'une topologie de bus partagé était utilisée et qu'il y avait des collisions, le préambule aidait à prévenir les collisions.

2) Adresse MAC du destinataire. Champ où est inscrite l'adresse du destinataire.

3) Adresse MAC de l'expéditeur. En conséquence, l'adresse de l'expéditeur est enregistrée ici.

4) Tapez (longueur). Ce champ précise le protocole supérieur. Pour IPv4, il s’agit de 0x0800, pour ARP, de 0x0806 et pour IPv6, de 0x86DD. Dans certains cas, la longueur du champ de données de trame (le champ suivant dans l'en-tête) peut être enregistrée ici.

5) SNAP/LLC + champ de données. Ce champ contient des données reçues des niveaux supérieurs (ou des données utiles).

6) FCS (de l'anglais Frame Check Sequence - somme de contrôle de trame). Le champ dans lequel le montant du chèque est calculé. De là, le destinataire comprend si le cadre est cassé ou non.

Au fur et à mesure que nous écrivons cet article et les suivants, d’autres protocoles de couche liaison seront abordés. Pour l’instant, ce qui précède suffit à comprendre son fonctionnement.

Passons au niveau réseau, et nous sommes ici accueillis par le sensationnel protocole IP. Puisque nous parlons de la couche réseau, cela signifie que le protocole fonctionnant à ce niveau doit d'une manière ou d'une autre être capable de transférer des données d'un support canal à un autre. Mais d’abord, voyons de quel type de protocole il s’agit et en quoi il consiste.

IP (de l'anglais Internet Protocol). Protocole de la famille TCP/IP développé dans les années 80. Comme je l'ai dit plus tôt, il est utilisé pour connecter des réseaux informatiques distincts entre eux. Une autre caractéristique importante est l'adressage, appelé

adresse IP. Il existe actuellement 2 versions du protocole : IPv4 et IPv6. Quelques mots à leur sujet :

1) IPv4. Utilise des adresses 32 bits, écrites sous le format de quatre nombres décimaux (de 0 à 255), séparés par des points. Par exemple, l'adresse est 192.168.0.4. Chaque nombre séparé par des points est appelé un octet. Il s'agit de la version la plus populaire à ce jour.

2) IPv6. Utilise des adresses de 128 bits, écrites sous le format de huit nombres hexadécimaux à quatre chiffres (0 à F). Par exemple, l'adresse est 2001:0db8:11a3:09d7:1f34:8a2e:07a0:765d. Chaque nombre séparé par des points est appelé un hextet. A l’aube de l’informatisation généralisée, un problème se pose. Les adresses IP ont commencé à s'épuiser et un nouveau protocole était nécessaire pour fournir davantage d'adresses. C’est ainsi qu’est apparu le protocole IPv6 en 1996. Mais grâce à la technologie NAT, dont nous parlerons plus tard, le problème du manque d'adresses a été partiellement résolu et, à cet égard, la mise en œuvre d'IPv6 a été retardée à ce jour.

Je pense qu'il est clair que les deux versions visent les mêmes objectifs. Cet article abordera le protocole IPv4. Un article séparé sera écrit sur IPv6.

Ainsi, le protocole IP fonctionne avec un bloc d’informations, généralement appelé paquet IP. Considérons sa structure.


1) Version. Protocole IPv4 ou IPv6.

2) DIH (de l'anglais Internet Header Longueur - taille de l'en-tête).Étant donné que la plupart des champs affichés dans l'image ne sont pas fixes, ce champ calcule la taille de l'en-tête.

3) Type de prestation. Maintient la taille des files d’attente QoS (Quality of Service). Il le fait en utilisant un octet qui indique un certain ensemble de critères (exigences en matière de latence, de débit, de fiabilité, etc.)

4) Longueur du colis. Taille du paquet. Si DIH n'est responsable que de la taille des champs dans l'en-tête (l'en-tête représente tous les champs de l'image à l'exception du champ de données), puis la longueur du paquet est responsable de l'ensemble du paquet dans son ensemble, y compris les données utilisateur.

5) Temps de vivre (TTL - Temps de vivre). Un champ utilisé pour empêcher un paquet de suivre un chemin cyclique. Lorsqu'il passe par le routeur, la valeur est décrémentée de un et lorsqu'elle atteint zéro, le paquet est rejeté.

6) Protocole.À quel protocole supérieur ce paquet est-il destiné (TCP, UDP).

7) Somme de contrôle d’en-tête. L'intégrité des champs d'en-tête est prise en compte ici. Pas de données! Les données sont vérifiées par le champ correspondant au niveau de la couche liaison de données.

8) Options. Ce champ est utilisé pour étendre l’en-tête IP standard. Rarement utilisé dans les réseaux traditionnels. Les données sont écrites ici pour tout équipement spécifique qui lit ce champ. Par exemple, un système de contrôle de serrure de porte (où la communication s'effectue avec le contrôleur), une technologie de maison intelligente, des objets Internet, etc. Les périphériques réseau conventionnels tels que les routeurs et les commutateurs ignoreront ce champ.

9) Décalage. Indique où appartient le fragment dans l’adresse IP d’origine. Cette valeur est toujours un multiple de huit octets.

10) Données. C’est là que sont contenues les données reçues des niveaux supérieurs. Un peu plus haut, j'ai montré que la trame Ethernet possède également un champ de données. Et ce paquet IP sera inclus dans son champ de données. Il est important de rappeler que la taille maximale d'une trame Ethernet est de 1 500 octets, mais la taille d'un paquet IP peut être de 20 Ko. En conséquence, le paquet entier ne rentrera pas dans le champ de données de la trame Ethernet. Par conséquent, le colis est divisé et envoyé en plusieurs parties. Et pour cela, les 3 champs ci-dessous sont utilisés.

11) Identifiant. Il s'agit d'un nombre de 4 octets qui indique que toutes les parties du paquet divisé forment un seul tout.

12) Drapeaux. Indique qu'il ne s'agit pas d'un paquet unique, mais d'un paquet fragmenté.

13) Décalage des fragments. Décalage par rapport au premier fragment. Autrement dit, il s’agit d’une numérotation qui aidera à rassembler le paquet IP.

14) Adresse IP de l'expéditeur et adresse IP du destinataire. Ainsi, ces 2 champs indiquent de qui et pour qui le colis.

Voici à quoi ressemble un paquet IP. Bien sûr, pour les débutants, la signification de nombreux domaines ne semblera pas tout à fait claire, mais à l'avenir, cela vous viendra en tête. Par exemple : le champ « Time to Live (TTL) ». Son fonctionnement deviendra clair une fois que vous aurez compris comment fonctionne le routage. Je peux donner des conseils que j'utilise moi-même. Si vous voyez un terme que vous ne comprenez pas, écrivez-le séparément et, si vous avez du temps libre, essayez de le comprendre. Si cela ne vous vient pas à l’esprit, mettez-le de côté et revenez à l’étudier un peu plus tard. L’essentiel est de ne pas abandonner et éventuellement d’en finir.

La dernière couche de la pile TCP/IP demeure. Ce couche de transport. Quelques mots sur lui. Il est conçu pour transmettre des données à une application spécifique, qu'il identifie par un numéro de port. Selon le protocole, il effectue différentes tâches. Par exemple, la fragmentation des fichiers, le contrôle de livraison, le multiplexage et la gestion des flux de données. Les 2 protocoles de couche transport les plus connus sont UDP et TCP. Parlons de chacun d'eux plus en détail, et je commencerai par UDP, en raison de sa simplicité. Eh bien, selon la tradition, je montre en quoi cela consiste.


1) Port source. Le port utilisé par le client ou le serveur pour identifier le service. Une réponse sera envoyée à ce port, si nécessaire.

2) Port de destination. Ici, vous spécifiez le port qui sera la destination. Par exemple, si un client demande une page de site, alors le port de destination par défaut sera 80 (protocole HTTP).

3) Longueur UDP. Longueur de l’en-tête UDP. La taille varie de 8 à 65 535 octets.

4) Somme de contrôle UDP. Vérification de l'intégrité. S'il est violé, il est simplement rejeté sans demande de réenvoi.

5) Données. Les données du niveau supérieur sont regroupées ici. Par exemple, lorsqu'un serveur Web répond à une demande client et envoie une page Web, ce sera dans ce champ.

Comme vous pouvez le constater, il ne comporte pas beaucoup de champs. Ses tâches sont de numéroter les ports et de vérifier si la trame est cassée ou non. Le protocole est simple et peu exigeant en ressources. Cependant, il ne peut pas assurer le contrôle de la livraison et demander à nouveau des informations brisées. Parmi les services bien connus qui fonctionnent avec ce protocole figurent DHCP, TFTP. Ils ont été abordés dans l’article lors de l’examen des protocoles de haut niveau.

Passons à un protocole plus complexe. Nous rencontrons le protocole TCP. Nous examinons en quoi il consiste et parcourons chaque domaine.


1) Port source et port de destination. Ils remplissent les mêmes rôles qu'en UDP, à savoir la numérotation des ports.

2) Numéro de série. Un numéro qui est utilisé pour indiquer clairement de l'autre côté de quel segment du compte il s'agit.

3) Numéro de confirmation. Ce champ est utilisé lorsque la livraison est prévue ou que la livraison est confirmée. Le paramètre ACK est utilisé pour cela.

4) Longueur du titre. Il est utilisé pour comprendre quelle est la taille de l'en-tête TCP (ce sont tous les champs affichés dans l'image ci-dessus, à l'exception du champ de données) et quelle est la taille des données.

5) Pavillon réservé. La valeur de ce champ doit être mise à zéro. Il est réservé aux besoins particuliers. Par exemple, pour signaler une congestion du réseau.

6) Drapeaux. Des bits spéciaux sont définis dans ce champ pour établir ou terminer une session.

7) Taille de la fenêtre. Un champ indiquant le nombre de segments pour lesquels demander une confirmation. Chacun de vous a probablement observé une telle image. Vous téléchargez un fichier et voyez la vitesse et l’heure du téléchargement. Et puis au début, cela montre qu'il reste 30 minutes, et après 2-3 secondes, cela fait déjà 20 minutes. Après 5 secondes supplémentaires, 10 minutes s'affichent et ainsi de suite. C'est la taille de la fenêtre. Tout d'abord, la taille de la fenêtre est définie pour recevoir davantage d'accusés de réception pour chaque segment envoyé. Ensuite, tout se passe bien et le réseau ne tombe pas en panne. La taille de la fenêtre change et davantage de segments sont transmis, nécessitant ainsi moins de rapports de livraison. Cela rend le téléchargement plus rapide. Dès que le réseau tombe brièvement en panne et qu'un segment arrive endommagé, la taille change à nouveau et d'autres rapports de livraison sont nécessaires. C'est l'essence de ce domaine.

8) Somme de contrôle TCP. Vérification de l'intégrité d'un segment TCP.

9) Indicateur d'importance. Il s'agit du décalage du dernier octet de données significatif par rapport au SEQ pour les paquets avec l'indicateur URG activé. Dans la vie réelle, il est utilisé lorsqu'il est nécessaire de contrôler le flux ou l'état d'un protocole de niveau supérieur de la part de l'agent émetteur (par exemple, si l'agent récepteur peut indirectement signaler à l'expéditeur qu'il ne peut pas gérer le problème). flux de données).

10) Options. Utilisé pour certains paramètres avancés ou supplémentaires. Par exemple, pour le paramètre timestamp, qui est une sorte d’étiquette indiquant l’heure de l’événement.

11) Données. Presque la même chose que dans le protocole UDP. Les données du niveau supérieur sont encapsulées ici.

Nous avons vu la structure du protocole TCP et en même temps terminé la conversation sur la couche transport. Le résultat est une brève théorie sur les protocoles fonctionnant aux niveaux inférieurs. J'ai essayé de l'expliquer le plus simplement possible. Nous allons maintenant essayer tout cela en pratique et poser quelques questions.

J'ouvre le CPT et assemble un circuit similaire à l'une des images ci-dessus.


Nous voyons ici le premier réseau, composé de 4 ordinateurs et d'un commutateur qui connecte ces ordinateurs. Et un 2ème réseau, composé de deux ordinateurs et d'un switch. Un routeur connecte ces 2 réseaux. Passons à la configuration des appareils puis simulons la situation que nous avons envisagée au tout début de l'image.

J'ouvre l'ordinateur PC1 et saisis les paramètres réseau.


Je ne me suis pas soucié de l'adresse et j'ai utilisé la plus simple, qui est toujours sous mes yeux :

1) Adresse IP - 192.168.1.1

Nous avons discuté de ce masque ci-dessus. Permettez-moi de vous rappeler que l'adresse réseau des autres hôtes sur le même réseau local doit être 192.168.1 et que l'adresse de l'hôte peut être comprise entre 1 et 254.

Il s'agit de l'adresse du routeur auquel les données seront envoyées pour les hôtes d'un autre réseau local.

Pour éviter trop d'images similaires, je ne donnerai pas de captures d'écran des 3 autres ordinateurs, mais montrerai uniquement leurs paramètres.

PC2 :
1) Adresse IP - 192.168.1.2
.
3) La passerelle principale est 192.168.1.254.

PC3 :
1) Adresse IP - 192.168.1.3
2) Masque de sous-réseau - 255.255.255.0.
3) La passerelle principale est 192.168.1.254.

PC4 :
1) Adresse IP - 192.168.1.4
2) Masque de sous-réseau - 255.255.255.0.
3) La passerelle principale est 192.168.1.254.

Arrêtons-nous sur ce paramètre pour l'instant et voyons comment fonctionne notre réseau local. Je passe le CPT en mode simulation. Disons que je suis assis sur l'ordinateur PC1 et que je souhaite vérifier la disponibilité du PC4 avec la commande ping. J'ouvre la ligne de commande sur PC1.


Dès que j'appuie sur ENTER, 2 enveloppes apparaissent sur le schéma.


L'un d'eux est ICMP, avec lequel la commande ping elle-même fonctionne. Je l'ouvre immédiatement et regarde.


Je vois les données IP et ICMP. Il n'y a rien d'intéressant ici, à part quelques champs. A savoir le chiffre 4 dans le coin supérieur gauche des données IP, qui indique que le protocole IPv4 est utilisé. Et 2 champs avec les adresses IP source et destination (SRC:192.168.1.1 et DST:192.168.1.4).

Mais ici, le ping rencontre un problème. Il ne connaît pas l'adresse MAC du destinataire. C'est-à-dire l'adresse de la couche liaison. Pour ce faire, il utilise le protocole ARP, qui peut interroger les participants au réseau et connaître l'adresse MAC. Nous en avons brièvement parlé dans l’article précédent. Parlons-en plus en détail. Je ne changerai pas les traditions. Photo au studio !

1) Type de protocole de couche liaison (type de matériel). Je pense qu'il ressort clairement du nom que le type de couche de canal est indiqué ici. Jusqu'à présent, nous n'avons considéré qu'Ethernet. Sa désignation dans ce champ est 0x0001.

2) Type de protocole de couche réseau. Ici, de la même manière, le type de couche réseau est indiqué. Le code IPv4 est 0x0800.

3) Longueur de l'adresse physique en octets (Hardware length). S'il s'agit d'une adresse MAC, alors la taille sera de 6 octets (ou 48 bits).

4) Longueur de l'adresse logique en octets (Longueur du protocole). S'il s'agit d'une adresse IPv4, alors la taille sera de 4 octets (ou 32 bits).

5) Code d'opération. Code de transaction de l'expéditeur. S'il s'agit d'une demande, alors le code est 0001. En cas de réponse, c'est 0002.

6) Adresse matérielle de l'expéditeur. Adresse MAC de l'expéditeur.

7) Adresse du protocole de l'expéditeur. Adresse IP de l'expéditeur.

8) Adresse physique du destinataire (Adresse matérielle cible). Adresse MAC du destinataire. S'il s'agit d'une demande, l'adresse est généralement inconnue et ce champ reste vide.

9) Adresse du protocole cible. Adresse IP du destinataire.

Maintenant que nous savons en quoi il consiste, nous pouvons examiner son travail au sein du CPT. Je clique sur la deuxième enveloppe et observe l'image suivante.


Et voici le protocole ARP dans toute sa splendeur. Le protocole Ethernet fonctionne au niveau 2. Arrêtons-nous et regardons ses champs.

1) Préambule- voici une séquence de bits qui indique le début de la trame.

2) Vient ensuite l’adresse MAC source et destination. L'adresse source contient l'adresse MAC de l'ordinateur qui est l'initiateur et l'adresse de destination contient l'adresse de diffusion FF-FF-FF-FF-FF-FF (c'est-à-dire pour tous les nœuds du support de canal).

3) Type - le protocole supérieur est indiqué ici. Le code 0x806 signifie que l'ARP est plus élevé. Pour être honnête, je ne peux pas dire exactement à quel niveau cela fonctionne. Différentes sources indiquent différemment. Quelqu’un dit qu’il est au niveau OSI 2, et quelqu’un dit qu’il est au niveau 3. Je crois qu'il travaille entre eux. Puisqu’il existe des adresses inhérentes à chacun des niveaux.

Je ne parlerai pas beaucoup des données et du montant du chèque. Les données ne sont en aucun cas indiquées ici et le montant du chèque est nul.

On monte un peu plus haut et voici le protocole ARP.

1) Type de matériel- code au niveau du lien. CPT a supprimé les zéros supplémentaires et inséré 0x1 (identique à 0x0001). C'est Ethernet.
2) Type de protocole- code de couche réseau. 0x800 est IPv4.
3) HLÈN- longueur de l'adresse physique. 0x6 signifie 6 octets. C'est vrai (l'adresse MAC occupe 6 octets).
4) PLÉN- longueur de l'adresse réseau. 0x4 signifie 4 octets (l'adresse IP prend 4 octets).
5) CODE OPC-code d'opération. 0x1 signifie qu'il s'agit d'une demande.
6) Source Mac- voici l'adresse MAC de l'expéditeur. Vous pouvez la comparer avec l'adresse dans le champ du protocole Ethernet et vous assurer qu'elle est correcte.
7) Adresse IP source- L'adresse IP de l'expéditeur.
8) Cibler le MAC- puisqu'il s'agit d'une requête et que l'adresse du canal n'est pas connue, elle est vide. CPT l'a montré sous forme de zéros, ce qui est équivalent.
9) IP cible- Adresse IP du destinataire. C'est exactement l'adresse à laquelle nous recherchons.


Le protocole ARP interroge tous les hôtes d'un réseau local et un seul répond à cette requête. Il s'agit du PC4. Voyons comment il réagit.


Le voici en train de cracher quelque chose sur le standard. Je l'ouvre et constate quelques changements, à savoir :

1) Le champ source du protocole Ethernet contient désormais l'adresse MAC du PC4, et le champ destination contient l'adresse MAC de l'initiateur, c'est-à-dire PC1.
2) Le champ OPCODE a désormais la valeur 0x2, c'est-à-dire la réponse.
3) Les champs d'adresse logique et physique du protocole ARP ont changé. Source MAC et Destination MAC sont similaires à ceux du protocole Ethernet. Dans le champ IP source - adresse 192.168.1.4 (PC4) et dans le champ IP de destination - adresse 192.168.1.1 (PC1).

Dès que cette information atteint PC1, elle génère immédiatement un message ICMP, c'est-à-dire un ping.


Je l'ouvre et regarde. Il s'agit d'un bloc de données constitué du fonctionnement de 3 protocoles : Ethernet, IP et Ping.

1) Il n'y a rien de nouveau dans le protocole Ethernet, à savoir l'adresse MAC de l'expéditeur est PC1, l'adresse MAC du destinataire est PC4 et dans le champ Type - 0x800 (protocole IPv4)
2) Dans le protocole IP, dans le champ Version - 4, ce qui signifie protocole IPv4. L'adresse IP de l'expéditeur est PC1 et l'adresse IP du destinataire est PC4.
3) Dans le protocole ICMP, dans le champ Type - code 0x8 (demande d'écho).

Il envoie une demande d'écho et je vois comment PC4 répond.


Mon CPT a été faussé et j'ai dû le redémarrer. Seulement maintenant, l'enveloppe ICMP n'est pas vert clair, mais un mélange de vert et de bleu. Mais cela n'a pas d'importance. Ce sont les mêmes données.
Eh bien, voyons comment PC4 a réagi. Les champs source et destination des protocoles Ethernet et IP ont été permutés. Et dans le champ Type du protocole ICMP, la valeur est passée de 0x8 à 0x0 (signifie réponse d'écho).

Logiquement, dès que cette réponse atteint PC1, une entrée devrait apparaître dans la console de PC1. Allons vérifier.


Et en effet. Il y avait une entrée sur la disponibilité du PC4, la taille des données (32 octets), le délai (8 ms) et le TTL ou la durée de vie (128). TTL indique le nombre de routeurs traversés par le paquet. Mon paquet voyageait au sein du réseau local, ce champ n'a donc pas changé.

Par défaut, ping envoie 4 requêtes. Par conséquent, PC1 formera 3 ICMP similaires supplémentaires. Je ne montrerai pas le chemin de chaque package, mais montrerai la sortie finale de la console sur PC1.


Et comme vous pouvez le constater, il y a en réalité 4 réponses. A noter que le premier est arrivé avec un retard de 8 ms, et les 3 derniers avec un retard de 4 ms. Cela est dû au fonctionnement du protocole ARP, puisqu'au début PC1 ne connaissait pas l'adresse MAC de PC4 et attendait qu'on l'indique. Bien qu'en CPT, il existe une situation où, en temps réel, le premier paquet est complètement perdu. Cela est particulièrement vrai lors de la vérification de la disponibilité d'un hôte situé dans un environnement de canal différent.

Nous avons vu comment fonctionne la transmission de données dans un environnement à canal unique. Voyons maintenant ce qui se passe si les hôtes se retrouvent dans des environnements de canaux ou sous-réseaux différents. Permettez-moi de vous rappeler que le réseau n'est pas entièrement configuré. À savoir, vous devez configurer un routeur et un deuxième sous-réseau. C'est ce que nous allons faire maintenant.

J'ouvre un ordinateur nommé PC5 et saisis les paramètres réseau.


Notez que l'adressage réseau dans le premier support de canal était 192.168.1.X et dans le second 192.168.2.X. Avec un masque de 255.255.255.0, cela signifie que les 3 premiers octets sont fixes et que le 4ème octet va de 1 à 254. Et comme nos 3ème octets sont différents, ce sont des supports de canaux différents.

Voici les paramètres du PC6 :

1) Adresse IP - 192.168.2.2
2) Masque de sous-réseau - 255.255.255.0
3) Passerelle principale - 192.168.2.254

Les hôtes de l'environnement du 2ème canal sont configurés et fonctionnent très bien. Pour qu'ils puissent communiquer avec les hôtes du 1er canal, vous devez configurer un routeur qui connecte ces supports. Le routeur est configuré via la CLI (c'est-à-dire sous forme de console) et il sera plus facile de fournir ici des commandes plutôt que des captures d'écran.

1) Routeur> activer - passer en mode privilégié
2) Terminal de configuration du routeur # - passer en mode configuration globale
3) Routeur (config)#interface fastEthernet 0/0 - passons à la configuration du port 0/0, qui regarde le support du premier canal
4) Routeur (config-if)#adresse IP 192.168.1.254 255.255.255.0 - Nous attribuons une adresse IP à ce port. Puisque ce port sera la passerelle principale pour l'environnement 1er canal, nous lui indiquons l'IP qui a été attribuée aux hôtes
5) Routeur (config-if) #pas d'arrêt - activer cette interface. Par défaut, tous les ports des routeurs Cisco sont désactivés
6) Routeur(config-if)#exit - quitter le mode de configuration fastEthernet 0/0
7) Routeur (config)#interface fastEthernet 0/1 - passons à la configuration du port 0/1, qui regarde le support du deuxième canal
8) Routeur (config-if)#adresse IP 192.168.2.254 255.255.255.0 - nous mettons ici l'adresse qui sera la passerelle principale pour les hôtes dans un environnement 2ème canal
9) Routeur (config-if) #pas d'arrêt - allumez-le de la même manière
10) Routeur(config-if)#end - on écrit une commande qui passera en mode privilégié
11) Routeur#copie running-config startup-config - enregistrer les paramètres dans la mémoire du routeur

A ce stade, la configuration du routeur est terminée. Je vais avancer un peu et vous montrer la commande utile « show ip route ». Il montre tous les réseaux connus du routeur et l'itinéraire qui y mène.

Sur la base de ce tableau, vous pouvez vous assurer qu'il connaît à la fois le 1er canal et le 2ème. Super. Il ne reste plus qu'à vérifier la disponibilité du PC5 depuis le PC1. J'essaierai. Je passe le CPT en mode simulation. J'ouvre la ligne de commande et cingle 192.168.2.1.


Dès que j'appuie sur ENTER, 2 enveloppes apparaissent immédiatement : ICMP et ARP. Arrêtons-nous et regardons-les plus en détail. Or, il peut sembler que la transmission entre différents supports de canal n'est pas différente de la transmission sur le même support de canal, mais ce n'est pas le cas. Et maintenant vous le verrez.

Regardons d'abord ICMP.


Il n’y a encore rien d’intéressant ici. Le champ source est l'adresse IP du PC1 et le champ destination est l'adresse IP du PC5.

Que va-t-il se passer ensuite? PC1 voit que la disponibilité d'un hôte situé sur un support canal différent est en cours de vérification (en appliquant un masque à son adresse IP et à l'adresse IP du destinataire). Et à part l’adresse IP, il ne sait rien du destinataire. Par conséquent, vous ne pouvez pas envoyer de paquet ICMP sous cette forme. Mais il sait qu’il dispose d’une passerelle principale, qui connaît probablement quelque chose sur l’environnement de canal dans lequel se trouve PC5. Mais une autre difficulté surgit. Il connaît l'adresse IP de la passerelle (que je lui ai attribuée dans les paramètres réseau), mais ne connaît pas son adresse MAC. Ici, le protocole ARP vient à son aide, qui interroge tous les participants de l'environnement du canal et trouve son adresse MAC. Voyons comment les champs sont remplis.


Au niveau de la couche liaison de données (protocole Ethernet) : le champ source est l'adresse MAC du PC1 et le champ de destination est l'adresse de diffusion (c'est-à-dire vers tous les participants).

Et un peu plus haut (protocole ARP) :

1) SOURCE MAC est le même PC1, et DESTINATION MAC est vide (il doit être rempli par la personne à qui cette demande est destinée).
2) SOURCE IP est l'adresse du PC1, mais DESTINATION IP est l'adresse de la passerelle principale.


3 ordinateurs ont abandonné le paquet, et seul le routeur s'est rendu compte que c'était pour lui. Voyons comment il réagit.


Ethernet :

1) Source MAC - il insère ici son adresse MAC (à savoir l'adresse MAC fastEthernet0/0).
2) Destination MAC - l'adresse MAC du PC1 (c'est-à-dire celui qui a demandé) est écrite ici.
ARP :
1) Source MAC et Destination MAC sont similaires aux entrées du protocole Ethernet.
2) IP source - votre adresse IP.
3) IP cible - Adresse IP du PC1.


Dès qu'ARP atteint PC1 depuis le routeur, PC1 envoie immédiatement un message ICMP au routeur (ou à la passerelle par défaut). Et ici, je vous demande de prêter une attention particulière. À savoir les champs source et destination (à la fois dans le protocole Ethernet et dans le protocole IP).

1) SRC MAC : L'adresse MAC du PC1 est répertoriée ici.
2) DEST MAC : adresse MAC du routeur.
3) SRC IP : adresse IP du PC1.
4) DST IP : adresse IP du PC5.

Qu'est-ce que ça veut dire. Les adresses de la couche réseau (c'est-à-dire les adresses IP) ne changent pas pour savoir de qui proviennent les informations et à qui. Et les adresses au niveau de la couche liaison (adresses MAC) peuvent facilement changer, en passant d'un environnement de liaison à un autre. C’est très important à comprendre et à retenir !

Voyons ce qui se passe. Le paquet atteint le routeur et est immédiatement barré. Et tout cela parce qu'il ne connaît pas l'adresse MAC du PC5. Il génère maintenant une requête ARP et essaie de la reconnaître. Voici une capture d'écran de cette demande.

Une fois que cette réponse parviendra au routeur, celui-ci connaîtra l'adresse de liaison du PC5. Mais voici ce qui s'est passé. Alors que la débâcle ARP se prolongeait pour le routeur et le PC5, PC1 expédiait la réponse ICMP envoyée. Je montre la photo.


Une fois le temps d'attente écoulé, il génère un deuxième ICMP dont la réponse arrivera sans problème puisque les adresses MAC sont connues. Il formera ensuite les 3ème et 4ème ICMP. Je vous donnerai le résultat final.


Et si vous regardez attentivement, vous remarquerez que le TTL a diminué de un et est désormais égal à 127. Cela est dû au fait que le paquet a traversé une section de transit (routeur).

C'est ainsi que fonctionne la transmission de données d'un support canal à un autre (ou d'un réseau à un autre). En passant, peu importe le nombre de canaux multimédias que vous devez surmonter pour atteindre le destinataire. Le principe sera toujours le même.

Dans l’article précédent, lorsque nous avons examiné les protocoles des couches supérieures, nous avons abordé un peu la couche transport. Je vous suggère de vous souvenir de ce niveau et de le consolider fermement.

Je vais commencer, comme toujours, par une question simple. Et c'est le protocole UDP. Comme je l'ai dit ci-dessus, il est utilisé pour transférer des données vers un certain protocole de niveau supérieur. Il le fait en utilisant les ports. L'un des protocoles qui fonctionnent avec UDP est TFTP (Trivial File Transfer Protocol). Nous avons discuté de ce protocole dans l'article précédent. Il ne devrait donc y avoir aucune difficulté. Pour la démonstration, vous devrez ajouter un serveur avec le service TFTP activé à votre réseau.

Les paramètres du serveur sont les suivants :

1) Adresse IP - 192.168.1.5
2) Masque de sous-réseau - 255.255.255.0
3) Passerelle principale - 192.168.1.254

Le service TFTP est activé par défaut, mais il est préférable de vérifier. Ensuite, je passe CPT en mode simulation et j'essaie de sauvegarder la configuration du routeur sur un serveur TFTP :

1) Routeur> activer - passer en mode privilégié.
2) Routeur#copie startup-config tftp : - J'écris la commande copy (c'est-à-dire copier), puis startup-config (quoi copier exactement) et tftp : (où copier).
3) Adresse ou nom de l'hôte distant ? 192.168.1.5 - un message apparaît demandant l'adresse ou le nom du serveur, où j'écris son adresse.
4) Nom du fichier de destination ? - puis il demande sous quel nom le sauvegarder sur le serveur et propose un nom standard. Cela me convient et j'appuie sur ENTER.


Le routeur génère immédiatement 2 enveloppes. L'un d'eux est TFTP barré et le second est ARP. Je pense qu'ils ont deviné qu'il avait été barré car il ne connaît pas l'adresse MAC du serveur.

Je vais sauter la partie ARP, puisque nous en avons assez vu.


Regardons de plus près ce que le routeur envoie au serveur.

Ethernet :
1) Source MAC - adresse du routeur.
2) Destination MAC - adresse du serveur.
3) Tapez - 0x800 (signifie que le protocole IP s'exécute ci-dessus).

IP :
1) Protocole - 0x11 (signifie que le protocole ci-dessus est UDP).
2) IP source - adresse du routeur.
3) IP de destination - adresse du serveur.

UDP :
1) Port source - port créé dynamiquement (1025).
2) Port de destination - le port écouté par le serveur TFTP (port réservé 69).

TFTP :
C'est là que se trouvent les données elles-mêmes.

C'est ainsi que fonctionne le protocole UDP. Il n'établit pas de sessions, ne nécessite pas de preuve de livraison et si quelque chose est perdu, il ne redemande pas. Son travail consiste à spécifier le numéro de port et à envoyer. La suite ne l'intéresse pas. Mais il y a des cas où cela n’est pas satisfaisant et tous ces paramètres sont d’une importance cruciale. Ensuite, le protocole TCP vient à la rescousse. Regardons cela en utilisant un exemple d'utilisation d'un serveur Web et d'un client Web. Notre serveur Web sera le même serveur TFTP. Nous activons le service HTTP et demandons une page à l'ordinateur PC1. N'oubliez pas de passer le CPT en mode simulation !


Je tape l'adresse du serveur Web et j'appuie sur ENTRÉE.

Avant de continuer, je vais parler de l'établissement d'une session TCP. Je vais essayer d'expliquer ce processus aussi simplement que possible. Ce processus est appelé « poignée de main à trois » ou « poignée de main ». À quoi ça sert? Le client envoie un segment TCP avec le flag "SYN". Après avoir reçu le segment, le serveur prend une décision. S'il accepte d'établir la connexion, il envoie alors un segment de réponse avec l'indicateur « SYN+ACK ». Si vous n'êtes pas d'accord, il envoie un segment avec le drapeau « RST ». Ensuite, le client examine le segment de réponse. Si le drapeau « SYN+ACK » est présent, alors il répond en envoyant un segment avec le drapeau « ACK » et une connexion est établie. Si le drapeau « RST » est présent, alors il arrête les tentatives de connexion. Une fois la connexion établie doit être terminée, le client génère et envoie un segment TCP avec l'indicateur « FIN+ACK ». Le serveur répond à ce segment avec un indicateur « FIN+ACK » similaire. Enfin, le client envoie le dernier segment TCP avec le flag "ACK". Vous allez maintenant voir comment cela fonctionne en pratique.

Je tourne mon attention vers le réseau et vois comment PC1 forme un segment TCP.


Je ne considérerai pas les domaines des protocoles Ethernet et IP, car il n'y a rien de nouveau ici, à part le domaine Protocole dans le protocole IP. La valeur y est 0x6. Cela indique que le protocole ci-dessus est TCP.

Mais en TCP c'est déjà plus intéressant.

1) Port source - 1025 (il s'agit d'un port client Web généré dynamiquement).
2) Port de destination - 80 (il s'agit d'un port de protocole HTTP réservé).
3) Flag - SYN (demande d'établissement d'une session)

Voyons comment le serveur Web réagit.


Il échange les numéros de port et envoie un segment avec le drapeau « SYN+ACK ».

Dès que le client reçoit ce segment, il génère immédiatement 2 messages. L'un d'eux est le segment TCP illustré ci-dessous, qui est envoyé avec l'indicateur « ACK ».

Et le second est HTTP, où la version du protocole, la page et l'adresse du serveur sont indiquées.


Son travail a été présenté dans un article précédent. Je ne vais donc pas me répéter. Je vais maintenant vous montrer la clôture de la séance.


Une fois que le client reçoit la page souhaitée, cela n'a plus de sens de maintenir la connexion et initie une rupture. Envoie un segment avec le drapeau "FIN+ACK". Regardons plus loin.


Le serveur accepte de mettre fin à la connexion et répond en envoyant un segment avec un indicateur « FIN+ACK » similaire.


Enfin, le client génère le dernier segment TCP avec le drapeau « ACK » et ferme la connexion.

Nous avons examiné le fonctionnement du protocole TCP et, avec lui, nous avons fini d'examiner les protocoles des niveaux inférieurs. Je fournis un lien pour télécharger ce laboratoire. Au début, j'ai eu l'idée de suivre le chemin standard et d'écrire un article séparé pour chaque niveau, mais j'ai ensuite réalisé que cela ne servait à rien. Car au moment où le prochain article sera écrit, la majeure partie du précédent sera oubliée.

Eh bien, l'article touche à sa fin. Je voudrais exprimer ma gratitude à l'utilisateur sous le pseudo remzalp pour la photo fournie et aux autres utilisateurs qui laissent des commentaires utiles sur les articles. C’est très agréable de voir à quel point les gens s’intéressent, posent des questions et ont des débats objectifs et constructifs. J'aimerais que la communauté informatique russophone se développe de plus en plus et dispose de plus en plus de matériel d'étude disponible gratuitement. Merci d'avoir lu et à la prochaine fois.

  • tcp/ip
  • IMP
  • Ajouter des balises

    Division de fréquence des signaux (canaux)

    Retraçons les principales étapes de la formation d'un signal multicanal par répartition en fréquence des canaux (FDM). Premièrement, conformément aux messages transmis, les signaux primaires un je(t), ayant des spectres d'énergie , ,…, modulent les fréquences des sous-porteuses de chaque canal. Cette opération est réalisée par des modulateurs, , ..., émetteurs de voies. Les spectres des signaux de canal obtenus à la sortie des filtres de fréquence , , … , occupent respectivement les bandes de fréquences , , …, (Fig. 9.2).


    Riz. 9.2. Schéma de multiplexage de fréquence et de séparation des canaux

    Nous supposerons que chacun des messages à transmettre un je(t) occupe la bande de fréquence d'un canal HF standard. Lors de la formation d'un signal de groupe, chaque signal de canal S je(t) une bande de fréquences qui ne chevauche pas les spectres d'autres signaux est attribuée (Fig. 9.3). Alors la bande de fréquence totale N-le groupe de canaux sera égal à

    . (9.8)


    Fig.9.3 Conversion des spectres dans un système avec PDM

    En supposant qu'une modulation à bande latérale unique est utilisée et que chaque signal de canal occupe une bande de fréquence

    pour le spectre du signal de groupe on obtient

    . (9.10)

    Le signal de groupe est converti en signal linéaire et transmis le long de la ligne de communication (voie de transmission). Côté réception, après conversion d'un signal linéaire en signal de groupe, ce dernier utilisant des filtres de canal passe-bande F k avec bande passante et démodulateurs est converti en messages de canal qui sont envoyés au destinataire.

    En bref, dans les systèmes multicanaux avec FDM, chaque canal se voit attribuer une certaine partie de la bande passante totale du signal en bande de base. Vers l'entrée de l'appareil récepteur je- les signaux des canaux sont actifs simultanément S je tout le monde N chaînes. Utiliser des filtres de fréquence Ф je seules les fréquences qui appartiennent à un je- canal.

    En raison des caractéristiques imparfaites des filtres de canal passe-bande, des interférences transitoires mutuelles se produisent entre les canaux. Pour réduire ces interférences, il est nécessaire d'introduire des intervalles de fréquence de protection entre les canaux.

    Ainsi

    Cela signifie que les systèmes FDM n’utilisent effectivement qu’environ 80 % de la bande passante du chemin de transmission. De plus, il est nécessaire d'assurer un très haut degré de linéarité de l'ensemble du parcours de groupe.

    Répartition temporelle des signaux (canaux)

    Avec la méthode temporaire de séparation des canaux (TCS), le chemin de groupe utilisant des commutateurs d'émetteur synchrones ( Vers la voie) et le récepteur ( K pr) est prévu à son tour pour transmettre les signaux de chaque canal d'un système multicanal. (Dans les équipements modernes, les commutateurs mécaniques ne sont pratiquement pas utilisés. Au lieu de cela, des commutateurs électroniques sont utilisés, réalisés par exemple sur des registres à décalage.) Avec TRC, le signal du 1er canal est d'abord transmis, puis le suivant, etc. à la dernière chaîne par numéro N, après quoi le 1er canal est à nouveau connecté et le processus est répété à la fréquence d'échantillonnage (Fig. 9.4).

    Des séquences d'impulsions modulées sans chevauchement temporel sont utilisées comme signaux de canal dans les systèmes TRC S'asseoir); ensemble d'impulsions de canal – signal de groupe S G ( t) est transmis sur une ligne de communication. Action de l'interrupteur côté réception K pr identifiable grâce à la clé reliant la ligne au récepteur je-ème canal uniquement pendant la durée des impulsions jeème canal (« filtre temporel » Ф je). Après démodulation du message un je(t) venir à je-ème destinataire.

    Pour le fonctionnement normal d'un système multicanal avec un système de radiocommande numérique, un fonctionnement synchrone des commutateurs des côtés émission et réception est nécessaire. Souvent, à cet effet, l'un des canaux est occupé pour la transmission d'impulsions de synchronisation spéciales pour un fonctionnement coordonné dans le temps. Vers la voie Et À l'avenue.


    Riz. 9.5. Séparation temporelle

    deux signaux avec AIM

    En figue. La figure 9.5 montre les chronogrammes d'un système à deux canaux avec AIM. Le porteur du message est ici une séquence d'impulsions avec une période

    , (9.12)

    arrivant au modulateur d'impulsions (PM) en provenance du générateur d'impulsions d'horloge (GTI). Le signal de groupe (Fig. 9.5,a) est envoyé au commutateur. Ces derniers jouent le rôle de filtres ou commutateurs paramétriques « temporaires » dont la fonction de transfert . (Fig. 9.5, b) change de manière synchrone (avec la période) et en phase avec les changements de la fonction de transfert :

    (9.13)

    Cela signifie que seul le ème détecteur d'impulsions ID- est connecté au chemin de transmission dans chaque intervalle de temps. Les messages reçus suite à la détection sont envoyés au destinataire du message PS-.

    Opérateur, décrivant le fonctionnement d'un filtre clé, supprime les intervalles du signal qui suivent la période et élimine le reste du signal.

    Ici, comme précédemment, désigne l'intervalle pendant lequel les signaux provenant de la ème source sont transmis.

    En cas d'espacement temporel, les interférences mutuelles sont principalement dues à deux raisons. La première est que les distorsions linéaires, dues à la bande de fréquence limitée et à l'imperfection des caractéristiques amplitude-fréquence et phase-fréquence de tout système de communication physiquement réalisable, violent la nature pulsée des signaux. En effet, si, lors de la transmission d'impulsions modulées de durée finie, nous limitons le spectre, alors les impulsions « s'étaleront » et au lieu d'impulsions de durée finie, nous obtiendrons des processus infiniment étendus dans le temps. Lorsque les signaux sont temporellement séparés, les impulsions d'un canal se chevauchent avec celles des autres canaux. En d’autres termes, une diaphonie mutuelle ou une interférence intersymbole se produit entre les canaux. De plus, des interférences mutuelles peuvent survenir en raison d'une synchronisation imparfaite des impulsions d'horloge des côtés émission et réception.

    Pour réduire le niveau d'interférence mutuelle, il est nécessaire d'introduire des intervalles de temps de « protection », qui correspondent à une certaine expansion du spectre du signal. Ainsi, dans les systèmes de téléphonie multicanaux, la bande passante des fréquences effectivement transmises = 3100 Hz ; conformément au théorème de Kotelnikov, la valeur minimale = 2 = 6200 Hz. Cependant, dans les systèmes réels, le taux de répétition des impulsions est choisi avec une certaine réserve : = 8 kHz. Pour transmettre de telles impulsions en mode monocanal, une bande de fréquence d'au moins 4 kHz sera nécessaire. Avec séparation temporelle des canaux, le signal de chaque canal occupe la même bande de fréquence, déterminée dans des conditions idéales selon le théorème de Kotelnikov à partir de la relation (sans tenir compte du canal de synchronisation)

    , (9.14)

    , ce qui est identique à la bande passante totale du système en division de fréquence.

    Bien que théoriquement, FDM et FDM soient équivalents en termes d'efficacité d'utilisation du spectre de fréquences, dans des conditions réelles, les systèmes FDM sont sensiblement inférieurs au FDM dans cet indicateur en raison des difficultés de réduction du niveau d'interférence mutuelle lors de la séparation des signaux. Dans le même temps, l'avantage indéniable du TRC est la réduction du niveau d'interférence d'origine non linéaire en raison du timing différent de l'action des impulsions de différents canaux ; dans les systèmes TRC, le facteur de crête est plus faible. Il est également important que l'équipement MVR soit beaucoup plus simple que l'équipement CDM. L'application la plus répandue du VRC concerne les systèmes numériques avec PCM.

    Le transfert d'informations est un terme qui combine de nombreux processus physiques de déplacement d'informations dans l'espace. Chacun de ces processus implique des composants tels qu'une source et un récepteur de données, un support de stockage physique et un canal (support) pour sa transmission.

    Processus de transfert d'informations

    Les conteneurs initiaux de données sont divers messages transmis de leurs sources aux récepteurs. Entre eux se trouvent des canaux de transmission d'informations. Les dispositifs techniques spéciaux-convertisseurs (encodeurs) forment des supports de données physiques - des signaux, basés sur le contenu des messages. Ces derniers subissent de nombreuses transformations, notamment encodage, compression, modulation, puis sont envoyés vers les lignes de communication. Après les avoir traversés, les signaux subissent des transformations inverses, notamment démodulation, décompression et décodage, à la suite desquelles les messages originaux en sont séparés et perçus par les récepteurs.

    Messages d'information

    Un message est une certaine description d'un phénomène ou d'un objet, exprimée sous la forme d'un ensemble de données qui présente des signes d'un début et d'une fin. Certains messages, comme la parole et la musique, sont des fonctions continues du temps de pression acoustique. En communication télégraphique, un message est le texte d'un télégramme sous la forme d'une séquence alphanumérique. Un message télévisé est une séquence de messages d'images que l'objectif de la caméra « voit » et les enregistre à une fréquence d'images donnée. L'écrasante majorité des messages transmis récemment via les systèmes de transmission d'informations sont des tableaux numériques, du texte, des graphiques ainsi que des fichiers audio et vidéo.

    Signaux d'information

    La transmission d'informations est possible si elle dispose d'un support physique dont les caractéristiques changent en fonction du contenu du message transmis de telle manière qu'elles traversent le canal de transmission avec une distorsion minimale et puissent être reconnues par le récepteur. Ces modifications dans le support de stockage physique forment un signal d'information.

    Aujourd'hui, la transmission et le traitement des informations s'effectuent à l'aide de signaux électriques dans les canaux de communication filaires et radio, ainsi que par l'intermédiaire de signaux optiques dans les lignes à fibre optique.

    Signaux analogiques et numériques

    Un exemple bien connu de signal analogique, c'est-à-dire La tension captée par le microphone, qui transmet un message d'information vocale ou musicale, change continuellement au fil du temps. Il peut être amplifié et transmis via des canaux filaires aux systèmes de reproduction sonore de la salle de concert, qui transmettront la parole et la musique de la scène au public de la galerie.

    Si, en fonction de la tension à la sortie du microphone, l'amplitude ou la fréquence des oscillations électriques haute fréquence dans l'émetteur radio change continuellement au fil du temps, alors un signal radio analogique peut être transmis par voie hertzienne. Un émetteur de télévision dans un système de télévision analogique génère un signal analogique sous la forme d'une tension proportionnelle à la luminosité actuelle des éléments d'image perçus par l'objectif de la caméra.

    Cependant, si la tension analogique de la sortie du microphone passe par un convertisseur numérique-analogique (DAC), alors sa sortie ne sera plus une fonction continue du temps, mais une séquence d'échantillons de cette tension pris à intervalles réguliers avec une fréquence d'échantillonnage. De plus, le DAC effectue également une quantification basée sur le niveau de tension source, remplaçant toute la plage possible de ses valeurs par un ensemble fini de valeurs déterminées par le nombre de bits binaires de son code de sortie. Il s'avère qu'une quantité physique continue (dans ce cas, la tension) est convertie en une séquence de codes numériques (numérisés), puis sous forme numérique peut être stockée, traitée et transmise via des réseaux de transmission d'informations. Cela augmente considérablement la vitesse et l'immunité au bruit de ces processus.

    Canaux de transmission d'informations

    Généralement, ce terme fait référence à des complexes de moyens techniques impliqués dans la transmission des données de la source au récepteur, ainsi qu'à l'environnement qui les sépare. La structure d'un tel canal, utilisant des moyens standards de transmission d'informations, est représentée par la séquence de transformations suivante :

    II - PS - (CI) - KK - M - LPI - DM - DK - DI - PS

    L'IA est une source d'information : une personne ou autre être vivant, un livre, un document, une image sur un support non électronique (toile, papier), etc.

    PS est un convertisseur d'un message d'information en signal d'information, effectuant la première étape de transmission de données. Les microphones, les caméras de télévision et vidéo, les scanners, les fax, les claviers d'ordinateur, etc. peuvent faire office de PS.

    CI est un codeur d'informations dans un signal d'information pour réduire le volume (compression) des informations afin d'augmenter la vitesse de leur transmission ou de réduire la bande de fréquence requise pour la transmission. Ce lien est facultatif et est indiqué entre parenthèses.

    KK - encodeur de canal pour augmenter l'immunité au bruit du signal d'information.

    M - modulateur de signal pour modifier les caractéristiques des signaux porteurs intermédiaires en fonction de la taille du signal d'information. Un exemple typique est la modulation d'amplitude d'un signal porteur haute fréquence en fonction de l'amplitude du signal d'information basse fréquence.

    LPI est une ligne de transmission d'informations représentant une combinaison de l'environnement physique (par exemple, un champ électromagnétique) et de moyens techniques pour changer son état afin de transmettre un signal porteur au récepteur.

    DM est un démodulateur permettant de séparer le signal d'information du signal porteur. Présent uniquement si M est présent.

    Décodeur de canal DC pour identifier et/ou corriger les erreurs dans le signal d'information survenues sur le LPI. Présent uniquement si CC est présent.

    DI - décodeur d'informations. Présent uniquement en présence de CI.

    PI - récepteur d'informations (ordinateur, imprimante, écran, etc.).

    Si la transmission des informations est bidirectionnelle (canal duplex), alors des deux côtés du LPI se trouvent des blocs modem (MOdulator-DEModulator), combinant les liaisons M et DM, ainsi que des blocs codecs (CODER-DECODER), combinant encodeurs (CI et KK) et décodeurs (DI et DC).

    Caractéristiques des canaux de transmission

    Les principales caractéristiques distinctives des canaux incluent le débit et l’immunité au bruit.

    Dans le canal, le signal d'information est soumis à du bruit et à des interférences. Ils peuvent être provoqués par des causes naturelles (par exemple, des chaînes radio atmosphériques) ou être spécialement créés par l'ennemi.

    L'immunité au bruit des canaux de transmission est augmentée grâce à l'utilisation de divers types de filtres analogiques et numériques pour séparer les signaux d'information du bruit, ainsi que de méthodes spéciales de transmission de messages qui minimisent l'influence du bruit. L'une de ces méthodes consiste à ajouter des caractères supplémentaires qui ne contiennent pas de contenu utile, mais aident à contrôler l'exactitude du message et également à corriger les erreurs qu'il contient.

    La capacité d'un canal est égale au nombre maximum de symboles binaires (kbits) qu'il peut transporter en une seconde en l'absence d'interférences. Pour différents canaux, cela varie de quelques kbit/s à des centaines de Mbit/s et est déterminé par leurs propriétés physiques.

    Théorie de la transmission de l'information

    Claude Shannon est l'auteur d'une théorie particulière du codage des données transmises, qui a découvert des méthodes de lutte contre le bruit. L'une des idées principales de cette théorie est la nécessité d'une redondance du code numérique transmis sur les lignes de transmission d'informations. Cela permet de restaurer la perte si une partie du code est perdue lors de sa transmission. De tels codes (signaux d'information numériques) sont appelés résistants au bruit. Cependant, la redondance du code ne doit pas être prise dans une mesure excessive. Cela entraîne des retards dans la transmission des informations, ainsi qu'une augmentation du coût des systèmes de communication.

    Traitement des signaux numériques

    Un autre élément important de la théorie de la transmission de l'information est le système de méthodes de traitement du signal numérique dans les canaux de transmission. Ces méthodes comprennent des algorithmes pour numériser des signaux d'information analogiques originaux avec une certaine fréquence d'échantillonnage déterminée sur la base du théorème de Shannon, ainsi que des méthodes pour générer, sur la base de ceux-ci, des signaux porteurs résistants au bruit pour la transmission sur des lignes de communication et le filtrage numérique des signaux reçus. afin de les protéger des interférences.

    Couche de liaison de données(Couche de liaison de données) détermine les règles d'accès au support physique et contrôle la transmission des informations sur le canal, générant un signal sur le début de la transmission et organisant le début et la transmission effective des informations avec la création d'un signal pour la fin de la transmission et le transfert ultérieur du canal à un état passif. Pendant le processus de transmission, les informations reçues sont vérifiées et les erreurs qui surviennent sont corrigées, le canal est désactivé en cas de dysfonctionnement et des messages sur l'apparition d'erreurs fatales sont générés à un niveau supérieur, la transmission étant restaurée après la réparation de l'équipement. complété. Dans certains cas, ce niveau surveille le taux d'échange et la fin des blocs d'informations, et contrôle également le circuit physique lorsqu'il est utilisé comme multiplexeur.

    La couche physique transfère simplement des bits et ne tient pas compte du fait que le support de transmission physique peut être occupé. Par conséquent, l’une des tâches de la couche Data Link est de vérifier la disponibilité du support de transmission. Une autre tâche de la couche liaison est la mise en œuvre de mécanismes de détection et de correction des erreurs. Pour ce faire, au niveau de la couche liaison de données, les bits sont regroupés en ensembles appelés trames. La couche liaison garantit que chaque trame est transmise correctement en plaçant une séquence spéciale de bits au début et à la fin de chaque trame pour la distinguer, et calcule également une somme de contrôle en traitant tous les octets de la trame d'une certaine manière, et ajoute le somme de contrôle au cadre. Lorsqu'une trame arrive sur le réseau, le récepteur calcule à nouveau la somme de contrôle des données reçues et compare le résultat avec la somme de contrôle de la trame. S'ils correspondent, le cadre est considéré comme correct et accepté. Si les sommes de contrôle ne correspondent pas, une erreur est enregistrée. La couche liaison peut non seulement détecter les erreurs, mais aussi les corriger en retransmettant les trames endommagées. Il convient de noter que la fonction de correction d'erreurs pour la couche liaison de données n'est pas obligatoire, donc certains protocoles à ce niveau ne la disposent pas, par exemple Ethernet et Frame Relay.

    Ainsi, la couche liaison de données assure la création, la transmission et la réception de blocs d'informations, convertissant une séquence de flux binaires en ensembles de bits appelés trames de données, répondant aux requêtes de la couche réseau et utilisant le service de la couche physique pour transmettre et recevoir des trames. Initialement, ce niveau a été créé comme un niveau fonctionnellement unifié qui résolvait les problèmes suivants :

    Pendant la transmission - le transfert effectif d'une trame de données de la couche réseau à la couche physique et la garantie d'une transmission sans erreur des trames à travers la couche physique d'un système à un autre ;


    A la réception, redistribution des bits non montés de la couche physique vers des trames pour les couches supérieures.

    Les fonctions de la couche liaison sont généralement implémentées dans les logiciels et le matériel.

    Au fil du temps, il est devenu nécessaire de diviser la couche liaison de données en deux sous-niveaux : le niveau de contrôle de liaison logique (Logical Link Control, LLC) et le niveau de contrôle d'accès aux supports physiques (Media Access Control, MAC).

    La sous-couche MAC fonctionne avec des adresses physiques appelées adresses MAC . Dans les réseaux Ethernet et Token Ring, les adresses MAC sont des nombres hexadécimaux écrits dans la puce de l'adaptateur réseau. Une adresse MAC Ethernet (parfois appelée adresse Ethernet) est composée de 12 chiffres hexadécimaux, dont chaque paire est séparée par deux points. Ces 12 chiffres hexadécimaux représentent un nombre binaire de 48 bits (ou 6 octets). Les trois premiers octets contiennent le code fabricant attribué par l'IEEE. Les trois derniers octets sont attribués par le fabricant. L'adresse MAC, ou adresse physique, est parfois appelée adresse de l'appareil. C'est différent d'une adresse logique, c'est-à-dire L'adresse IP sur le réseau TCP/IP est telle qu'elle ne peut pas être modifiée. L'adresse logique est attribuée par logiciel et peut être modifiée très facilement. Les deux adresses servent à identifier un ordinateur sur le réseau.

    La sous-couche LLC définit la topologie logique du réseau. Cela peut ne pas correspondre à la topologie physique. La sous-couche LLC est responsable de la communication (ou interface) entre la sous-couche MAC et la couche réseau supérieure, convertissant les bits et octets reçus de la couche MAC au format requis par les périphériques réseau.



    Dans les réseaux locaux, les protocoles de couche liaison sont pris en charge par des ponts, des commutateurs et des routeurs. Dans les ordinateurs, les fonctions de couche liaison sont mises en œuvre grâce aux efforts conjoints des adaptateurs réseau et de leurs pilotes. Les protocoles de couche liaison utilisés dans les réseaux locaux contiennent une certaine structure de connexions entre ordinateurs et des méthodes pour y répondre. Bien que la couche liaison de données assure la transmission des trames entre deux nœuds quelconques d'un réseau local, elle le fait uniquement dans un réseau doté d'une topologie de liaison spécifique, précisément la topologie pour laquelle elle a été conçue. Les topologies typiques prises en charge par les protocoles de couche liaison LAN incluent le bus, l'anneau et l'étoile, ainsi que les structures qui en dérivent à l'aide de ponts et de commutateurs. Dans toutes ces configurations, l'adresse de destination a une signification locale pour un réseau donné et ne change pas lorsque la trame passe du nœud source au nœud de destination. La possibilité de transférer des données entre des réseaux locaux de technologies différentes est due au fait que ces technologies utilisent des adresses du même format, et les fabricants d'adaptateurs réseau garantissent que les adresses sont uniques quelle que soit la technologie. Des exemples de protocoles de couche liaison sont Ethernet, Token Ring, FDDI, 100VG-AnyLAN.

    Dans des réseaux géographiquement répartis, c'est-à-dire Dans les réseaux de couche WAN, qui ont rarement une topologie régulière, la couche liaison de données assure souvent la messagerie uniquement entre deux ordinateurs voisins connectés par une ligne de communication individuelle. Des exemples de protocoles point à point (comme on appelle souvent ces protocoles) sont les protocoles de couche liaison largement utilisés PPP et LAP-B, qui sont responsables de la transmission de la trame au nœud voisin immédiat. L'adresse dans ce cas n'est pas d'une importance fondamentale, et la capacité du protocole à restaurer les trames déformées et perdues vient au premier plan, car la mauvaise qualité des canaux territoriaux, notamment les canaux téléphoniques commutés, nécessite souvent de telles actions.

    Si les conditions énumérées ci-dessus ne sont pas remplies, par exemple les connexions entre segments Ethernet a une structure en boucle, ou les réseaux interconnectés utilisent des méthodes d'adressage différentes, comme dans les réseaux Ethernet et X.25, alors le protocole de couche liaison ne peut pas à lui seul faire face à la tâche de transmission de trames entre les nœuds et nécessite l'aide d'un protocole de couche réseau. C'est ainsi que sont organisés les réseaux X.25. Ainsi, lorsqu’il est difficile d’isoler les fonctions de couche liaison sous leur forme pure dans les réseaux de niveau WAN, elles sont combinées avec les fonctions de niveau réseau dans le même protocole. Des exemples de cette approche incluent les protocoles technologiques ATM et Frame Relay.

    Au niveau de la liaison, des protocoles tels que le protocole ISO High-level DataLink Conrol (HDLC), largement connu pour les connexions série, les procédures d'accès aux liaisons ITU-T équilibrées (LAPB), les procédures d'accès aux liaisons sur le canal D (LAPD) et Link Les protocoles d'accès sont utilisés : procédures pour Frame Mode Bearer Services (LAPF), protocoles IEEE 802.2 LLC (Type I et Type II), fournissant MAC pour les environnements LAN 802.X, ainsi qu'Ethernet, Token ring, FDDI, X.25 et Protocoles FR.

    En général, la couche liaison de données représente un ensemble très puissant et complet de fonctions pour envoyer des messages entre les nœuds du réseau, permettant, dans certains cas, aux protocoles de la couche application ou aux applications de travailler directement dessus sans impliquer les protocoles de la couche réseau et transport. Cependant, pour assurer un transport de messages de haute qualité dans des réseaux de toute topologie et technologie, les fonctions de la couche liaison ne suffisent pas. Pour ce faire, les deux niveaux de modèle suivants doivent être utilisés dans le modèle OSI : réseau Et transport.

    L'utilisation des opérations P et V pour organiser les interactions des processus dans le système peut être réalisée tant qu'il n'existe pas de meilleur mécanisme de communication. Une des suggestions d'amélioration

    Riz. 8.7. Système de processus P/V pour deux nœuds du graphique de calcul de la Fig. 8.2.

    Riz. 8.8. Ajout de systèmes P/V à la hiérarchie des modèles.

    Ce mécanisme est une proposition d'utilisation de messages. Un système de messagerie est un ensemble de processus qui communiquent à l'aide de messages. Deux opérations sont possibles sur les messages : envoyer et recevoir. La transmission d'un message est similaire à une opération V, et la réception d'un message est similaire à une opération -. Si aucun message n'est reçu pendant l'opération, le destinataire attend que le message soit envoyé.

    Le schéma de modélisation proposé par Riddle est basé sur ce mécanisme. Ce modèle semble le plus adapté à la modélisation de protocoles dans les réseaux informatiques. Riddle considère un ensemble (fini) de processus qui communiquent à l'aide de messages. Les messages sont envoyés et demandés par des processus spéciaux appelés processus de canal (boîtes aux lettres). Les processus de canal fournissent essentiellement un ensemble de messages qui ont été envoyés mais pas encore reçus, ou un ensemble de demandes de messages provenant de récepteurs qui ont été émis mais non encore satisfaits. D'autres processus du système sont appelés processus logiciels et sont décrits dans le langage de modélisation de processus logiciels (SPML).

    Un exemple d'un système de trois processus est présenté sur la Fig. 8.9. Comme le montre l’exemple, la description des processus chez YAMP est essentiellement un diagramme. Seule l’activité de transmission de messages dans le système présente un intérêt. Les messages sont des éléments abstraits dont la seule caractéristique est leur type. Le nombre de types de messages dans le système ne peut être que fini. Les messages sont envoyés ou reçus vers le tampon de messages dans chaque processus. Il n'y a qu'un seul tampon par processus. Les suggestions de YAMPS sont les suivantes : Placez un type de message dans le tampon de message. Envoyer un message au tampon de messages du processus canal Demander un message au processus canal Attendre (si nécessaire) que le message soit reçu. Le message est placé dans le tampon de messages. Vérifiez le type du message dans le tampon de message et accédez à une instruction si le message est d'un type autre que : Simuler une vérification interne dépendante des données. Poursuivez le traitement en exécutant l'instruction suivante ou passez à l'instruction intitulée Transfer Control vers l'instruction End Process.

    Un système avec YAMPS modélise de nombreux processus parallèles. Chaque processus commence au début de son programme et exécute son programme jusqu'à ce qu'il rencontre une phrase. Riddle montre comment construire une expression de transmission de messages qui représente les flux de messages possibles dans un système et utilise cette expression pour examiner la structure du système et organiser correctement fonctionnement. Cette expression de transmission de messages est utilisée aux mêmes fins que le langage des réseaux de Petri. Par conséquent, nous montrons comment la description d'un système de processus dans YAMP peut être transformée en un réseau de Petri de telle sorte que son langage coïncide avec l'expression de transmission de message issue de l'analyse Riddle. Cette transformation ignore l'exécution de phrases de description individuelles dans YAMP, bien qu'avec l'aide d'une modification mineure, elles pourraient être représentées dans le langage des réseaux de Petri.

    Pour modéliser un processus avec un réseau de Petri, nous utilisons une puce par processus comme compteur de programme. La présence d'un message dans un processus de canal est également une fonctionnalité. Puisque les messages sont identifiés par type, il est nécessaire de modéliser chaque type de message dans un processus de canal comme un élément distinct. Une propriété très importante des systèmes avec YAMP est que le nombre de messages est fini. Chaque processus logiciel est également fini. La file d'attente de messages occupe à elle seule une quantité de mémoire potentiellement illimitée. Ainsi, la capacité à modéliser les processus de canal et à représenter correctement les clauses d’envoi et de réception sont les aspects les plus importants de la conversion d’une description YAMP en réseau de Petri. La modélisation

    processus de canal par ensembles de positions (une pour chaque type de message), nous pouvons représenter la clause d'envoi avec une transition qui place un jeton dans la position représentant le processus de canal et le type de message correspondants. La clause de réception supprime simplement le jeton de n'importe quelle position dans le processus de canal. La position spécifique qui fournit le jeton détermine le type de message reçu. Ces informations pourront être utilisées dans toute offre ultérieure.

    Le seul symbole dans l'expression de transmission de message est le type de message pour les messages envoyés ou reçus du processus de canal. Étant donné que chaque transition dans un réseau de Petri entraîne l'apparition d'un symbole dans le langage du réseau de Petri pour ce réseau de Petri, seules les clauses d'envoi et de réception d'un système YAMP peuvent être modélisées. Il existe donc deux types de positions dans le réseau de Petri. Un type de position marquée agit comme un compteur du nombre de types de messages dans le processus du canal. Un autre type de position représente les instructions d'envoi et de réception du programme YAMP. Que ces clauses soient marquées de manière unique. Nous marquerons la position représentant la clause avec un type de message dans le tampon de message avec le symbole. Un jeton dans la position associée à la clause signifie que la clause a déjà été exécutée. Riz. La figure 8.10 illustre comment les phrases doivent être modélisées par un réseau de Petri. En figue. 8.10 position représente une position associée à toute clause qui précède la clause

    Reste maintenant à montrer qu'il est possible de définir une phrase qui précède d'autres phrases dans un programme dans YAMP. Notez que chaque phrase peut être considérée comme une paire composée d'un type de message et d'un numéro de phrase, puisque la même phrase avec différents types de messages dans le tampon de messages sera modélisée de manière différente par le réseau de Petri. La manière la plus évidente de déterminer les prédécesseurs d'une phrase est d'exécuter au début de chaque programme YAMP une phrase de départ spéciale (qui devient la position de départ) et de générer, selon la description du programme, toutes les instructions d'envoi et de réception ultérieures possibles avec le contenu du tampon de messages correspondant. Ce processus est répété pour toutes les clauses apparaissant jusqu'à ce que toutes les clauses d'envoi et de réception aient été générées et que leurs successeurs aient été identifiés. Puisque le nombre de phrases dans la description sur YAMP et le nombre de types de messages sont finis, seul un nombre fini de paires de phrases est générée ! /type, message. Cette procédure est similaire aux équations caractéristiques utilisées par Riddle pour construire l'expression de transmission de message. En figue. 8.11 répertorie les offres

    Riz. 8.10. (voir scan) Conversion de phrases d'envoi et de réception en transitions de réseau de Petri. en haut se trouve un modèle de la phrase sk:send avec un message de type dans le tampon de message. Processus de canal ci-dessous - modèle de sk:recevoir une phrase du processus de canal Types de messages possibles dans

    et leurs successeurs possibles pour le système avec YAMPP montré sur la Fig. 8.9.

    Une fois que les successeurs d'une phrase ont été identifiés, nous pouvons utiliser ces informations pour identifier les prédécesseurs possibles de la phrase et donc construire un réseau de Petri équivalent au système JMPC en utilisant des transitions comme celles illustrées dans la Fig. 8.10. La position de départ spéciale est le précurseur de la première phrase de chaque processus système. En figue. 8.12 avec YMPP, illustré à la Fig. 8.9, converti en un réseau de Petri équivalent.

    Une brève description de la transformation des systèmes de transmission de messages dans un réseau de Petri montre que ce modèle fait partie de la puissance de la modélisation dans un réseau de Petri. Il montre également que l’ensemble des expressions transmettant des messages, considéré comme une classe de langages, est un sous-ensemble de la classe des langages des réseaux de Petri.

    Puisque les systèmes P/V peuvent être modélisés par des systèmes de transmission de messages avec des messages d'un seul type, alors les systèmes P/V

    Riz. 8.11. (voir scan) Propositions et successeurs pour le système avec YAMPP illustré à la Fig. 8.9.

    inclus dans les systèmes de messagerie. Il est facile de créer un système de messages pour résoudre le problème des fumeurs de cigarettes, c'est pourquoi l'intégration de systèmes P/V dans les systèmes de messages est native. D'un autre côté, les systèmes de messagerie ne sont pas capables d'accepter simultanément des messages d'entrée provenant de plusieurs sources et ne sont donc pas équivalents aux réseaux de Petri.

    Lorsque vous tentez de simuler une transition avec plusieurs entrées, l'un des deux cas suivants peut se produire :

    1. Le processus tentera d'obtenir des jetons (messages) de toutes ses entrées, mais sera invalide et se bloquera donc, retardant ainsi les jetons nécessaires pour permettre à d'autres transitions de se poursuivre. Cela entraînera des blocages dans le système avec des messages qui ne correspondent pas aux blocages dans le réseau de Petri, ce qui viole la troisième contrainte.

    2. Le processus évitera de créer des impasses inutiles en déterminant que les jetons restants nécessaires sont manquants et reviennent

    (cliquez pour voir l'analyse)

    puces dans la position (processus de canal) à partir de laquelle elles ont été obtenues. De telles actions peuvent être exécutées arbitrairement souvent, ce qui signifie qu'il n'y a aucune limite sur la longueur de la séquence d'actions dans le système de messagerie correspondant à la séquence limitée de déclenchements de transition dans le réseau de Petri. Cela viole donc notre deuxième contrainte.

    Riz. 8.13. Ajout de systèmes de messagerie à la hiérarchie des modèles.

    Riddle a introduit une transformation qui relève du cas 1 et conduit à des blocages inutiles. Quoi qu’il en soit, nous voyons que les systèmes de messagerie ne peuvent pas modéliser des réseaux de Petri arbitraires (avec les restrictions que nous avons formulées). Par conséquent, nous obtenons la hiérarchie présentée dans la figure. 8.13.