Maison / Travailler sur Internet / La pile de protocoles de base d'Internet est. La pile de protocoles de base d'Internet. Pile (commutateurs réseau). Configuration des périphériques réseau. Structures de données requises

La pile de protocoles de base d'Internet est. La pile de protocoles de base d'Internet. Pile (commutateurs réseau). Configuration des périphériques réseau. Structures de données requises

Pile de protocoles réseau et piratage TCP

Alexandre Antipov

La pile de protocoles réseau qui forme le pipelining et la communication entre les hôtes est conçue pour la meilleure interopérabilité entre les différentes couches réseau. Dans cet article, nous allons essayer de décrire le mouvement des données à travers les couches situées dans la pile et essayer d'implémenter un module du noyau Linux qui nous aide à capturer et afficher les données passant par la couche TCP. Vous trouverez ci-dessous un programme montrant comment installer nouvel élément V système de fichiers proc. Et surtout, ce programme rompt le protocole TCP, garde une trace de toutes les données passant par la couche tcp et les affiche dans /proc/TCPdata.


Shamitkh, traduit par Alexey Antipov

La pile de protocoles réseau qui forme le pipelining et la communication entre les hôtes est conçue pour la meilleure interopérabilité entre les différentes couches réseau. Dans cet article, nous allons essayer de décrire le mouvement des données à travers les couches situées dans la pile et essayer d'implémenter un module du noyau Linux qui nous aide à capturer et afficher les données passant par la couche TCP. Étant donné qu'une discussion sur toutes sortes de connexions réseau dépasse le cadre de cet article, nous nous concentrerons sur les connexions TCP / IP.

Pile de protocole réseau

Les périphériques réseau forment la couche de base de la pile de protocoles. Pour communiquer avec d'autres appareils et recevoir et transmettre du trafic, ils utilisent un protocole de liaison de données (généralement Ethernet). L'interface fournie par les pilotes de périphériques réseau copie les paquets du support physique, effectue une vérification des erreurs, puis place les paquets dans la couche réseau. Les interfaces de sortie reçoivent les paquets de la couche réseau, effectuent une vérification des erreurs et les transmettent au support physique. Nous discuterons d'IP (Internet Protocol) qui est le protocole standard de la couche réseau. Les principales fonctions d'IP sont le routage, la vérification des paquets entrants pour déterminer si ces paquets sont dirigés vers un hôte donné ou s'ils nécessitent un transfert supplémentaire. Dans ce cas, si nécessaire, les paquets sont défragmentés et livrés aux protocoles de transport. De tels protocoles sont socle dynamique acheminer les données des paquets sortants, les adresser et les fragmenter avant de les envoyer à la couche liaison.

TCP et UDP sont les protocoles de couche de transport les plus couramment utilisés. UDP fournit un cadre pour l'adressage des paquets au sein d'un hôte, tandis que TCP prend en charge des opérations de connexion plus complexes telles que la récupération de paquets perdus et le contrôle du trafic.

En parcourant la couche de transport, nous pouvons trouver la couche INET, qui forme une couche intermédiaire entre la couche de transport et les sockets d'application. Les sockets appartenant à l'application sont pris en charge à l'aide de la couche INET. Toutes les opérations de socket spécifiques sont implémentées dans cette couche.

BSD est une structure de données abstraite contenant des sockets INET. La requête d'une application pour se connecter, lire ou écrire sur un socket est traduite en une opération INET par BSD.

Structure générale du paquet. Les données sont dans structure globale données, appelées sk_buff. Tous les niveaux utilisent cette structure de données. Une fois que les données sont copiées de l'espace utilisateur vers l'espace noyau, elles sont placées dans sk_buff et déplacées vers différents niveaux. À son tour, le niveau ajoute ses en-têtes à cette structure. Sk_buff contient des liens vers toutes les informations sur le paquet, son socket, son périphérique, son itinéraire, l'emplacement des données, etc.

Fonctionnalités du réseau Linux

Pour un programmeur réseau normal, la partie frontale des services réseau est disponible à l'aide des routines de bibliothèque C suivantes.

socket(), bind(), listen(), connect(), accept(), send(), sendto(), recv(), recvfrom(), getsockopt() et setsockopt().

La fonction socket() est utilisée pour créer une nouvelle socket. Toutes les opérations avec différents protocoles se produisent à l'aide de sockets. Étant donné que la fonction socket() renvoie la valeur d'un descripteur de fichier, elle est accessible par des opérations de fichier standard telles que read(), write().

La fonction bind() est utilisée pour lier le socket créé à un port. Port avec adresse IP interface réseau, utilisé pour identifier de manière unique un socket.

La fonction listen() est utilisée pour programmer le serveur. Après avoir créé un socket et l'avoir lié à un port, la fonction listen() définit le socket à l'état d'écoute. Cela signifie que le socket attend des connexions d'autres hôtes.

Lorsque la fonction accept() est appelée sur le serveur, le socket est continuellement interrogé jusqu'à ce qu'une demande de connexion soit reçue d'un autre hôte. Une fois la connexion établie, le programme serveur se réveille et permet au processus de traiter une demande de l'hôte étranger. Le côté client utilise la fonction connect() pour indiquer au serveur que le client souhaite ouvrir une connexion socket et envoyer une requête.

Structures de données requises

Cette structure est la base de l'implémentation de l'interface socket BSD. Cette structure est configurée et initialisée à l'aide de l'appel système socket().

sk_buff :

Cette structure gère les paquets de connexion individuels envoyés vers et depuis l'hôte. Cela provoque la mise en mémoire tampon des E/S.

Cette structure gère les différentes parties des sockets spécifiques au réseau. Il est requis pour les sockets TCP, UDP et RAW.

Cette structure contient un certain nombre d'opérations qui sont les mêmes pour tous les protocoles.

sockaddr(sockaddr_in):

Cette structure est nécessaire pour soutenir différents formats adresses.

Modules du noyau Linux

Noyaux noyau Linux sont constitués de modules. Certaines parties du noyau sont en permanence en mémoire (comme le planificateur), et certaines sont chargées en cas de besoin. Par exemple, le système de fichiers VFAT pour la lecture des disques n'est chargé qu'en cas de besoin. Cette fonctionnalité du noyau Linux permet à l'espace du noyau de prendre peu de place.

Ainsi, il est essentiel de concevoir votre protocole, vos pilotes et tout type de logiciel de noyau en tant que modules de noyau et de les insérer dans le noyau à partir de l'espace utilisateur. Une fois inséré, le module devient inamovible jusqu'à ce qu'il soit retiré de l'espace du noyau. Il vous suffit d'être un utilisateur root pour insérer ou supprimer des modules. C'est la notation générale pour un module du noyau.

#define MODULE #include /* ... autres fichiers d'en-tête requis ... */ /* * ... déclarations et fonctions de module ... */ int init_module() ( /* le noyau de code appellera lors de l'installation du module */ ) void cleanup_module() ( /* le noyau de code appellera lors de la suppression du module */)

Un projet de module hacker pour le protocole TCP.

Notre module noyau est très simple, il est placé virtuellement entre l'interface d'opérations socket pour le transfert des paquets TCP et la couche TCP. Désormais, tous les paquets de données passant par un socket enregistré avec le protocole TCP seront interceptés par notre module noyau. Ces données seront transférées vers /proc/TCPdata.

Structures de données utilisées

tcp_prot -> Contient des pointeurs vers toutes les opérations TCP effectuées

structure msghdr -> Contient les données envoyées par l'application, ainsi que d'autres champs permettant d'identifier l'adresse du socket.

Structure msg_iov -> situé dans msghdr, il contient des pointeurs vers des données

Avant de commencer à coder, comprenons la signification du système de fichiers /proc. Le système de fichiers proc est ainsi nommé car il réside dans le répertoire /proc sur la plupart des machines Linux. Le système est un outil puissant souvent utilisé par les applications. Cela fait partie du mécanisme par lequel le noyau communique avec l'espace utilisateur et vice versa. Bien qu'il soit conçu comme un système de fichiers avec une structure de répertoires et des inodes, il s'agit en fait d'un composant de fonctions enregistrées qui fournissent des informations importantes à des variables.

Lorsqu'un fichier est créé dans /proc, il est immédiatement enregistré avec un ensemble de fonctions qui indiquent au noyau quoi faire lorsque le fichier est ouvert ou écrit. La plupart des fichiers sont en lecture seule et seuls quelques-uns sont en écriture seule.

Maintenant, nous allons commencer à coder

/* tcpdata.c. Vous trouverez ci-dessous un programme montrant comment installer un nouvel élément dans le système de fichiers proc. Et surtout, ce programme rompt le protocole TCP, garde une trace de toutes les données passant par la couche tcp et les affiche dans /proc/TCPdata. */ #define MODULE #define __KERNEL__ /*nous travaillons sur le noyau*/ #include #include #include /*pour enregistrer l'entrée proc*/ #include #include #include #include #include #include #include static struct proc_dir_entry *test_entry; struct msghdr *msg_moniter; struct iovec *iovec_moniter; static char *tcp="Données surveillées Tcp" ; int (*originalSend)(struct chaussette *, struct msghdr *,int); /* show_tcp_stats Cette fonction est ce que le /proc FS appellera quand quelque chose essaiera de lire /proc/TCPstat vous pourriez voir les 200 derniers octets sortir des sockets via des connexions tcp */ static int show_tcp_stats(char *buf,char **start,off_t offset,int len,int inutilisé) ( len += sprintf(buf+len,"%s\n",tcp); return len; ) / * Ceci est une fonction de gestionnaire qui capture les requêtes tcp sendmsg */ int moniter_tcp(struct sock *sk, struct msghdr *msg,int len) ( int size; char *temp; printk("Je surveille dangereusement vos données tcp \n"); msg_moniter=(struct msghdr *)kmalloc(sizeof(struct msghdr),GFP_KERNEL); memcpy (m sg_moniter,msg,sizeof(struct msghdr)); orginalSend(sk,msg,len); iovec_moniter=msg_moniter->msg_iov; size=sizeof(tcp); printk("sizeof of TCPdat is %d \n",size); (sizeiov_base):strcpy(tcp,"Tcp monitored data"); kfree(msg_moniter); return len; ) /* init_module Cette fonction installe un module ; il enregistre simplement un nouveau répertoire dans /proc et crée un pointeur. */ int init_module() ( test_entry=create_proc_entry("TCPdata",S_IRUGO,NULL); test_entry->read_proc=show_tcp_stats; orginalSend=tcp_prot.sendmsg; /* printk("l'adresse d'envoi est %x \n",tcp_prot.sendmsg); printk("l'adresse de hack mes est % x \n", orginalSend); */ tcp_prot.sendmsg=moniter_tcp; /* printk("l'adresse d'envoi m'envoie après piratage %x \n",tcp_prot.sendmsg); printk("l'adresse d'envoi m'envoie après piratage %x \n",moniter_tcp); */ return 0; ) /* init_module */ /* cleanup_module Étant donné que la fonction supprime le module; Il supprime l'enregistrement de l'entrée de répertoire de /proc FS */ void cleanup_module() ( /* remet le pointeur sur l'expéditeur du message d'origine TCP */ tcp_prot.sendmsg=orginalSend; /* désenregistre la fonction du proc FS */ remove_proc_entry("TCPdata",NULL); ) /* cleanup_module */ MODULE_AUTHOR("shyamjithe.c.s " ); /*macros*/ MODULE_DESCRIPTION("moniter tcp data"); MODULE_LICENSE("GPL");

Ce programme a été testé sur le noyau 2.4, vous pouvez donc le compiler en utilisant :

Gcc -O6 -Wall -c tcpdata.c -I /usr/src/linux-2.4.20-8/include/ cela produira tcpdata.o maintenant insmod tcpdata.o ouvrir quelques applications tcp cat /proc/TCPdata pour supprimer le module use rmmod tcpdata Maintenant, afin de comprendre ce code, je vais donner quelques explications. L'ensemble du programme n'est qu'un moyen délicat d'utiliser des pointeurs de fonction. Mais vous devez être prudent lorsque vous utilisez vos propres gestionnaires, car égarement pointeur de fonction peut provoquer le blocage du système. Comme indiqué, c'est le moyen minimal de casser TCP. Vous pouvez former nouveau niveau au-dessus de Couche TCP comme celui-ci, qui interférera avec tous les types de travaux effectués par TCP. La même chose peut être faite avec UDP.

Conclusion

Le point le plus important à retenir du programme ci-dessus est qu'il n'est pas toujours nécessaire de modifier le code source du noyau lorsque nous effectuons une modification liée au protocole. Il s'agit d'une implémentation orientée objet du noyau Linux qui nous permet de manipuler des objets de données dans le noyau.

Piles de protocoles

La pile de protocoles est hiérarchique recrutement organisé protocoles réseau différents niveaux, suffisants pour organiser et assurer l'interaction des nœuds du réseau. Actuellement, les réseaux utilisent un grand nombre de piles de protocoles de communication. Les piles les plus populaires sont : TCP/IP, IPX/SPX, NetBIOS/SMB, Novell NetWare, DECnet, XNS, SNA et OSI. Toutes ces piles, à l'exception de SNA, aux niveaux inférieurs - physique et canal - utilisent les mêmes protocoles bien standardisés Ethemet, Token Ring, FDDI et quelques autres, qui permettent d'utiliser le même équipement dans tous les réseaux. Mais aux niveaux supérieurs, toutes les piles fonctionnent selon leurs propres protocoles. Ces protocoles ne sont souvent pas conformes à la stratification recommandée par le modèle OSI. En particulier, les fonctions de la couche session et présentation sont généralement combinées avec la couche application. Cet écart est dû au fait que le modèle OSI est apparu suite à une généralisation des piles déjà existantes et effectivement utilisées, et non l'inverse.

Tous les protocoles inclus dans la pile sont développés par un seul fabricant, c'est-à-dire qu'ils sont capables de fonctionner aussi rapidement et efficacement que possible.

Un point important dans le fonctionnement d'un équipement réseau, en particulier d'un adaptateur réseau, est la liaison de protocole. Il vous permet d'utiliser différentes piles de protocoles lors du service d'une carte réseau. Par exemple, vous pouvez utiliser les piles TCP/IP et IPX/SPX en même temps. Si soudainement une erreur se produit lors de la tentative d'établissement d'une connexion avec le destinataire à l'aide de la première pile, il passera automatiquement à l'utilisation du protocole de la pile suivante. Un point important dans ce cas est l'ordre de liaison, car il affecte clairement l'utilisation de l'un ou l'autre protocole à partir de piles différentes.

Peu importe combien adaptateurs réseau installé sur l'ordinateur, la liaison peut être effectuée à la fois "un à plusieurs" et "plusieurs à un", c'est-à-dire qu'une pile de protocoles peut être liée à plusieurs adaptateurs à la fois, ou plusieurs piles à un adaptateur.

NetWare est un système d'exploitation réseau et un ensemble de protocoles réseau qui sont utilisés dans ce système pour interagir avec les ordinateurs clients connectés à un réseau. Les protocoles réseau du système sont basés sur la pile de protocoles XNS. NetWare prend actuellement en charge les protocoles TCP/IP et IPX/SPX. Novell NetWare était populaire dans les années 80 et 90 car il était plus efficace que les systèmes d'exploitation. usage général. C'est maintenant une technologie obsolète.

La pile de protocoles Xerox Network Services Internet Transport Protocol (XNS) a été développée par Xerox pour la transmission de données sur les réseaux Ethernet. Contient 5 niveaux.

La couche 1 - support de transmission - implémente les fonctions des couches physique et liaison dans le modèle OSI :

* gère l'échange de données entre l'appareil et le réseau ;

* achemine les données entre les appareils sur le même réseau.

La couche 2 - interréseau - correspond à la couche réseau dans le modèle OSI :

* gère l'échange de données entre les appareils situés dans des réseaux différents (fournit un service de datagramme selon le modèle IEEE);

* décrit la façon dont les données transitent par le réseau.

La couche 3 - transport - correspond à la couche transport du modèle OSI :

* Fournit une communication de bout en bout entre la source de données et la destination.

Le niveau 4 - contrôle - correspond au niveau session et présentation dans le modèle OSI :

* gère la présentation des données ;

* gère le contrôle des ressources de l'appareil.

La couche 5 - appliquée - correspond aux niveaux les plus élevés du modèle OSI :

* fournit des fonctions de traitement de données pour les tâches appliquées.

La pile protocolaire TCP/IP (Transmission Control Protocol/Internet Protocol) est de loin la plus courante et la plus fonctionnelle. Il fonctionne dans les réseaux locaux de toute échelle. Cette pile est la pile principale dans réseau mondial L'Internet. La prise en charge de la pile a été implémentée sur les ordinateurs dotés du système d'exploitation UNIX. En conséquence, la popularité du protocole TCP/IP a augmenté. La pile de protocoles TCP / IP comprend de nombreux protocoles fonctionnant à différents niveaux, mais elle tire son nom de deux protocoles - TCP et IP.

TCP (Transmission Control Protocol) est un protocole de transport conçu pour contrôler la transmission de données dans les réseaux utilisant la pile de protocoles TCP/IP. IP (Internet Protocol) est un protocole de couche réseau conçu pour fournir des données sur un réseau composite en utilisant l'un des protocoles de transport, tels que TCP ou UDP.

Le niveau inférieur de la pile TCP / IP utilise des protocoles de transfert de données standard, ce qui permet de l'utiliser dans des réseaux utilisant n'importe quelle technologie de réseau et sur des ordinateurs avec n'importe quel système d'exploitation.

Initialement, le protocole TCP / IP a été développé pour une utilisation dans les réseaux mondiaux, c'est pourquoi il est aussi flexible que possible. En particulier, en raison de la capacité de fragmentation des paquets, les données, malgré la qualité du canal de communication, parviennent dans tous les cas à destination. De plus, du fait de la présence du protocole IP, il devient possible de transférer des données entre des segments de réseau hétérogènes.

L'inconvénient du protocole TCP/IP est la complexité de l'administration du réseau. Ainsi, pour le fonctionnement normal du réseau, des serveurs supplémentaires sont nécessaires, tels que DNS, DHCP, etc., maintenance qui prend la plupart du temps de l'administrateur système. Limoncelli T., Hogan K., Cheylap S. - Administration système et réseau. 2e éd. année 2009. 944s

La pile de protocoles IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) est développée et propriétaire par Novell. Il a été conçu pour les besoins système opérateur Novell NetWare, qui occupait jusqu'à récemment l'une des principales positions parmi les systèmes d'exploitation pour serveurs.

Les protocoles IPX et SPX fonctionnent respectivement au niveau des couches réseau et transport du modèle ISO/OSI, de sorte qu'ils se complètent parfaitement.

Le protocole IPX peut transmettre des données à l'aide de datagrammes en utilisant les informations de routage du réseau pour ce faire. Cependant, pour transférer des données le long de l'itinéraire trouvé, vous devez d'abord établir une connexion entre l'expéditeur et le destinataire. C'est ce que fait le protocole SPX ou tout autre protocole de transport fonctionnant en tandem avec IPX.

Malheureusement, la pile de protocoles IPX/SPX était à l'origine orientée vers la desserte de petits réseaux, de sorte que son utilisation dans les grands réseaux est inefficace : une utilisation excessive de la diffusion sur les lignes de communication à bas débit est inacceptable.

sur le plan physique et couches de liens La pile OSI prend en charge Ethernet, Token Ring, FDDI, ainsi que les protocoles LLC, X.25 et RNIS, c'est-à-dire qu'elle utilise tous les protocoles populaires de niveau inférieur développés en dehors de la pile, comme la plupart des autres piles. La couche réseau comprend le protocole de réseau orienté connexion (CONP) et le protocole de réseau sans connexion (CLNP) relativement rarement utilisés. Les protocoles de routage de la pile OSI sont ES-IS (End System - Intermediate System) entre systèmes finaux et intermédiaires et IS-IS (Intermediate System - Intermediate System) entre systèmes intermédiaires. La couche de transport de la pile OSI masque la distinction entre les services réseau sans connexion et sans connexion afin que les utilisateurs reçoivent la qualité de service requise quelle que soit la couche réseau sous-jacente. Pour garantir cela, la couche transport demande à l'utilisateur de spécifier la qualité de service souhaitée. Les services de la couche application fournissent le transfert de fichiers, l'émulation de terminal, les services d'annuaire et la messagerie. Parmi ceux-ci, les plus populaires sont le service d'annuaire (norme X.500), E-mail(X.400), protocole de terminal virtuel (VTP), protocole de transfert, d'accès et de contrôle de fichiers (FTAM), protocole de transfert et de contrôle des travaux (JTM).

Une pile de protocoles assez populaire développée par IBM et Microsoft, respectivement, axée sur l'utilisation dans les produits de ces sociétés. Comme TCP/IP, les protocoles standards tels qu'Ethernet, Token Ring et autres fonctionnent au niveau des couches physique et liaison de données de la pile NetBIOS/SMB, ce qui permet de l'utiliser en tandem avec n'importe quel équipement réseau. Aux niveaux supérieurs, les protocoles NetBIOS (Network Basic Input/Output System) et SMB (Server Message Block) fonctionnent.

Le protocole NetBIOS a été développé au milieu des années 80 du siècle dernier, mais a été rapidement remplacé par le protocole plus fonctionnel NetBEUI (NetBIOS Extended User Interface), qui permet d'organiser un échange d'informations très efficace dans des réseaux ne comprenant pas plus de 200 ordinateurs.

La communication entre ordinateurs utilise des noms logiques qui sont attribués dynamiquement aux ordinateurs lorsqu'ils se connectent au réseau. Dans ce cas, la table de noms est distribuée à chaque ordinateur du réseau. Le travail avec des noms de groupe est également pris en charge, ce qui vous permet de transférer des données à plusieurs destinataires à la fois.

Les principaux avantages du protocole NetBEUI sont la vitesse et les très faibles besoins en ressources. Si vous souhaitez organiser un échange de données rapide dans un petit réseau composé d'un seul segment, il n'y a pas de meilleur protocole pour cela. De plus, pour la livraison des messages connexion établie n'est pas une exigence obligatoire : en l'absence de connexion, le protocole utilise la méthode du datagramme, lorsque le message est fourni avec l'adresse du destinataire et de l'expéditeur et "décolle", passant d'un ordinateur à un autre.

Cependant, NetBEUI présente également un inconvénient important : il est complètement dépourvu du concept de routage de paquets, de sorte que son utilisation dans des réseaux composites complexes n'a pas de sens. Pyatibratov A.P., Gudyno L.P., Kirichenko A.A. Machines informatiques, réseaux et systèmes de télécommunication Moscou 2009. 292s

Quant au protocole SMB (Server Message Block), il organise le fonctionnement du réseau aux trois niveaux les plus élevés - niveau session, présentation et application. C'est lors de son utilisation qu'il devient possible d'accéder aux fichiers, imprimantes et autres ressources du réseau. Ce protocole a été amélioré à plusieurs reprises (trois versions ont été publiées), ce qui a permis de l'utiliser même dans les systèmes d'exploitation modernes tels que Microsoft Vista et Windows 7. Le protocole SMB est universel et peut être associé à presque tous les protocoles de transport, tels que TCP/IP et SPX.

La pile de protocoles DECnet (Digital Equipment Corporation net) contient 7 couches. Malgré la différence de terminologie, les couches DECnet sont très similaires aux couches du modèle OSI. DECnet implémente le concept d'architecture de réseau DNA (Digital Network Architecture) développé par DEC, selon lequel des systèmes informatiques hétérogènes (ordinateurs de différentes classes) fonctionnant sous différents systèmes d'exploitation peuvent être combinés en réseaux informatiques et d'information répartis géographiquement.

Le protocole SNA (System Network Architecture) d'IBM est conçu pour la communication à distance avec de gros ordinateurs et contient 7 couches. SNA est basé sur le concept d'une machine hôte et fournit un accès terminal à distance aux mainframes IBM. Basique poinçonner SNA est la capacité de chaque terminal à accéder à n'importe quel programme d'application hôte. L'architecture réseau du système est mise en œuvre sur la base d'une méthode d'accès aux télécommunications virtuelles (Virtual Telecommunication Access Method - VTAM) dans l'ordinateur principal. VTAM gère l'ensemble des liaisons et des terminaux, chaque terminal ayant accès à toutes les applications.

Avec de l'aide couche de session (Session Layer) un dialogue entre les parties est organisé, on fixe laquelle des parties est l'initiatrice, laquelle des parties est active et comment se termine le dialogue.

Couche de présentation traite de la forme de fourniture d'informations aux niveaux inférieurs, par exemple, le recodage ou le cryptage des informations.

Couche d'application il s'agit d'un ensemble de protocoles qui sont échangés entre des nœuds distants qui implémentent la même tâche (programme).

Il convient de noter que certains réseaux sont apparus bien avant le développement du modèle OSI, par conséquent, pour de nombreux systèmes, la correspondance des niveaux du modèle OSI est très arbitraire.

1.3. Pile de protocoles Internet

Internet est conçu pour transporter tout type d'informations d'une source à un destinataire. Divers éléments du réseau sont impliqués dans le transport de l'information (Fig. 1.1) - terminaux, commutateurs et serveurs. Des groupes de nœuds à l'aide de dispositifs de commutation sont combinés dans un réseau local, les réseaux locaux sont interconnectés par des passerelles (routeurs). Les dispositifs de commutation utilisent diverses technologies : Ethernet, Token Ring, FDDI et autres.

Chaque terminal (hôte) peut servir simultanément plusieurs processus de traitement de l'information (parole, données, texte...), qui existent sous la forme d'applications réseau (programmes spécialisés) situés sur plus haut niveau; à partir de l'application, les informations entrent dans les moyens de traitement d'informations dans les niveaux inférieurs.

Le transport de l'application dans chaque nœud est décidé séquentiellement par différentes couches. Chaque couche utilise ses propres protocoles pour résoudre sa partie du problème et fournit une transmission d'informations en duplex. La séquence de tâches transmises forme une pile de protocoles. Dans le processus de transport des informations, chaque nœud utilise la pile de protocoles dont il a besoin. Sur la fig. 1.3 montre la pile complète des protocoles sous-jacents connexion réseau dans Internet.

Les nœuds, du point de vue du réseau, sont des sources et des destinataires d'informations. Les quatre niveaux inférieurs sont collectivement indépendants du type d'informations transmises. Chaque application réseau qui communique avec la quatrième couche est identifiée par son nombre unique port . Les valeurs de port occupent la plage de 0 à 65535. Dans cette plage, les numéros de port 0-1023 sont attribués aux applications à l'échelle du réseau (ports bien connus), les numéros de port 1024-49151 sont utilisés par les développeurs de logiciels spécialisés, les numéros de port 49152-65535 sont attribués dynamiquement aux applications réseau de l'utilisateur pendant la durée de la session de communication. Les valeurs numériques des numéros de port de pile sont données dans .

La couche de transport (quatrième) prend en charge deux modes de communication

– avec et sans établissement de connexion. Chacun des modes est identifié par son numéro de protocole (Protocol). Dans les standards Internet, l'encodage en code hexadécimal est accepté. Le premier mode est utilisé par le module TCP, qui a le code de protocole 6 (en code hexadécimal - 0x06) et est utilisé pour le transport d'informations garanti. Pour ce faire, chaque paquet transmis est muni d'un numéro de séquence et doit être acquitté.

______________________________________________________________________________

par le destinataire de sa bonne réception. Le deuxième mode est utilisé par le module UDP sans garantie de livraison des informations au destinataire (la garantie de livraison est fournie par l'application). Le protocole UDP a le code 17 (en code hexadécimal - 0x11).

Appliqué

Représentant

session

DHCP (Port=67/68)

Transport

protocole=0x0059

protocole=0x0002

protocole=0x0001

Type de protocole = 0x0806

Type de protocole = 0x0800

canalisé

canalisé

canalisé

Physique

canalisé

Câble, paire torsadée Ethernet, fibre optique

Câble physique, paire torsadée, fibre optique

Physique

Câble, paire torsadée, fibre optique

Physique

Câble, radio, fibre

Riz. 1.3. Pile de protocole Internet de base

______________________________________________________________________________

La couche réseau (troisième) assure la circulation des informations sous forme de paquets entre les réseaux (interfaces de la couche liaison) à l'aide d'une adresse réseau. La famille de protocoles de couche 3 est identifiée par le type de protocole (ARP - type 0x0806 ou IP - type 0x0800) par les couches sous-jacentes. Le couple protocole-adresse réseau-numéro de port est appelé socket. Une paire de prises - transmission et réception - identifie de manière unique une connexion établie. L'adresse de destination de chaque paquet qui entre dans le module IP depuis la couche de liaison est analysée pour déterminer si le paquet doit être transmis à sa propre application ou déplacé vers une autre interface pour un transport ultérieur sur le réseau.

La deuxième couche (canal) traite les paquets dans le réseau local à l'aide de diverses technologies : Ethernet, Token Ring, FDDI et autres. Le premier niveau assure la conversion des codes binaires en codes linéaires, les plus adaptés au moyen de transport utilisé (câble métallique, ligne fibre optique communication, radio).

QUESTIONS POUR LA SECTION 1.3

1. Qu'est-ce qui détermine les moyens de la couche réseau pour traiter les paquets provenant de la couche liaison ?

Répondre. Type de protocole : 0x0806 pour ARP et 0x0800 pour IP.

2. Ce qui détermine les moyens couche de transport traiter les paquets provenant de la couche réseau ?

Répondre. Numéro de protocole : 0x0006 pour TCP et 0x0011 pour UDP.

3. Qu'est-ce qui détermine le type d'application réseau pour le traitement des datagrammes ?

Répondre. Numéro de port.

4. Donnez des exemples de numéros de port pour des applications à l'échelle du réseau.

Réponse : Le port 80 est HTTP, le port 23 est TELNET, le port 53 est DNS.

1.4. Protocoles d'accès à Internet

Pour accéder à Internet, une famille de protocoles est utilisée sous le nom général PPP (Point-to-Point Protocol), qui comprend :

1. Link Control Protocol (LCP) pour négocier les paramètres d'échange de paquets au niveau de la couche liaison dans la section serveur d'accès au réseau hôte (en particulier, pour négocier la taille des paquets et le type de protocole d'authentification).

2. Protocole d'authentification pour établir la légitimité de l'utilisateur (en particulier, en utilisant le Challenge Handshake Authentication Protocol - CHAP).

3. Network Control Protocol (IP Control Protocol - IPCP) pour la configuration des paramètres de communication réseau (notamment l'attribution adresses IP).

Après cela, l'échange d'informations via le protocole IP commence.

Chacun de ces protocoles peut utiliser n'importe quel support de transport, il existe donc de nombreuses façons d'encapsuler PPP au niveau de la couche physique. Pour encapsuler PPP dans des liaisons point à point, une procédure similaire à

HDLC.

L'échange de trames utilisant une procédure similaire à HDLC (High-level Data Link Control Procedure) implique un échange de trames duplex. Chaque trame transmise doit être acquittée, si aucun acquittement n'est reçu dans le délai imparti, l'émetteur retransmet. La structure du cadre est illustrée à la fig. 1.4. L'ordre de transmission des champs de trame est de gauche à droite. Le but des champs de trame est le suivant.

Yu.F.Kozhanov, Kolbanev M.O INTERFACES ET PROTOCOLES DES RÉSEAUX DE NOUVELLE GÉNÉRATION

______________________________________________________________________________

Riz. 1.4. Structure de champ de trame HDLC

Chaque trame transmise doit commencer et se terminer par une combinaison "Flag" (Flag), ayant une structure binaire de la forme 01111110 (0x7e). La même combinaison "Drapeau" peut être utilisée comme fermeture pour un cadre et ouverture pour le cadre suivant. Les combinaisons d'indicateurs doivent être détectées par le côté réception afin de déterminer les limites de trame. Pour assurer un transfert d'informations indépendant du code, il est nécessaire d'exclure des champs suivants de la trame toutes les combinaisons qui correspondent aux caractères de service (par exemple, la combinaison "Flag").

DANS En mode asynchrone, tous les champs de la trame sont formés octet par octet, chaque octet est précédé d'un bit « start » et se termine par un bit « stop ».

DANS le mode synchrone est utilisé soit insertion d'octet ou insertion de bit. Dans le premier cas, les séquences d'octets 0x7e ("Flag") sont remplacées dans les champs de trame par 2 octets 0x7d et 0x5e, 0x7d par 0x7d et 0x5d, 0x03 par 0x7d et 0x23. Dans le second cas, après la formation de tous les champs de la trame, le contenu de chaque trame est balayé bit par bit entre les combinaisons "Flag" et un bit "zéro" est inséré tous les cinq bits "un" adjacents. Lors du décodage d'une trame à la réception, un balayage bit à bit du contenu de la trame est effectué entre les combinaisons "Flag" et la suppression du bit "zéro" tous les cinq bits "un" adjacents.

Le champ d'adresse (Address) a une valeur constante de 11111111 (0xff) et le champ de contrôle (Control) a une valeur de 00000011 (0x03).

Le champ protocole prend la valeur 0xc021 pour le protocole LCP, 0xc223 pour le protocole CHAP, 0x8021 pour IPCP et 0x0021 pour le protocole IP.

Le remplissage du champ d'information dépend du type de protocole, mais sa longueur ne doit pas être inférieure à 4 octets.

La séquence de contrôle (Frame Check Sequence, FCS) sur la transmission est formée de sorte que a) en multipliant les informations entre les drapeaux par X16 et b) en divisant ensuite modulo 2 par le polynôme générateur X16 + X12 + X5 + 1, le résultat serait égal à un nombre constant 0xf0b8.

La procédure d'accès de l'abonné PSTN à Internet comporte plusieurs étapes. La première étape utilise le protocole LCP (Protocole = 0xc021), qui

utilise le format suivant (Figure 1.5).

Riz. 1.5. Format de trame LCP

Le champ protocole prend la valeur 0xc021. Chaque message est caractérisé par son code (Code), son numéro de série (ID), sa longueur (Length). La longueur du message inclut tous les champs de Code à FCS. Un message peut contenir plusieurs paramètres, dont chacun est caractérisé par le type de paramètre (Type),

longueur (Longueur) et données (Date).

(Configure-Nak), 04 - rejet de configuration (Configure-Reject), 05 - demande de terminaison (Terminate-Request), 06 - confirmation de terminaison (Terminate-Ack).

La fig. 1.6.

______________________________________________________________________________

La figure 1.6 montre que l'hôte a d'abord demandé une connexion en utilisant le protocole LCP (Protocole = 0xc021) avec les paramètres MTU=300, PFC=7, mais à la suite de leur négociation avec le serveur d'accès NAS (Code=02), les paramètres MTU=200 (MTU est la taille maximale des paquets en octets), le protocole d'authentification est CHAP (Auth.prot=c223). L'échange d'en-tête compressé (PFC=7) a été rejeté par le serveur d'accès NAS (Code=04).

Type = 3, Adresse IP = a.b.c.d, Masque,

Protocole=0xc021, code=04,

Protocole=0xc021, code=01,

Type=1, MTU=300

Protocole=0xc021, code=03,

Type=1, MTU=200

Protocole=0xc021, code=01,

Type=1, MTU=200

Protocole=0xc021, code=02,

Type=1, MTU=200

Protocole=0xc021, code=01,

Protocole=0xc021, code=02,

Type = 3, Auth.prot=0xc223, Algorithme=5

Protocole=0xc223, code=01,

Protocole=0xc223, code=02,

Prot=UDP, code=01,

Nom=ABC, Valeur=W

Auth=0, Attr=Nom, Chall=V

Prot=UDP, code=02,

Adresse IP=a.b.c.d , Masque,

Prot=UDP, code=05, Données

Protocole = 0x0021, ...

Protocole=0x0021, ...

Protocole=0xc021, code=05,

1994, D.S.]. L'essence de la procédure d'authentification est que le NAS envoie un nombre aléatoire V à l'hôte, et l'hôte renvoie un autre nombre W calculé à partir d'une fonction précédemment connue en utilisant le nom (Name) et le mot de passe (Password), qui sont entrés par l'utilisateur dans l'ordinateur à partir de la carte Internet achetée auprès du fournisseur. En d'autres termes, W=f(V, Nom, Mot de passe). On suppose qu'un attaquant (hacker) est capable d'intercepter les valeurs de V, Name et W envoyées sur le réseau, et qu'il connaît l'algorithme de calcul de la fonction f. L'essence de la formation de W est que les éléments initiaux (bits) du nombre aléatoire V sont "mélangés" de diverses manières avec les éléments du mot de passe Mot de passe inconnus de l'attaquant. Le texte chiffré résultant est ensuite compressé, par exemple en ajoutant les octets modulo deux. Une telle transformation est appelée une fonction de résumé ou une fonction de hachage, et le résultat est appelé un résumé. La procédure exacte de génération d'un résumé est définie par l'algorithme MD5 et est décrite dans . Le NAS interroge le serveur AAA pour connaître la vraie valeur de W via le protocole RADIUS, en lui envoyant les valeurs Name et Challenge=V. Sur la base des valeurs V et Name reçues du NAS et du mot de passe Password dont il dispose dans la base de données, le serveur AAA calcule W en utilisant le même algorithme et l'envoie au NAS. Le NAS compare les deux valeurs W reçues de l'hôte et du serveur AAA : si elles correspondent, alors un message d'authentification réussie est envoyé à l'hôte - Success (Code=03).

À la troisième étape, les paramètres réseau sont configurés à l'aide du protocole IPCP (alias PPP IPC, Protocol=0x8021). L'hôte demande des adresses IP réseau au NAS, et le NAS alloue une adresse IP du pool (plage) pour l'hôte (IP-address=a.b.c.d), et

signale également l'adresse IP du serveur DNS (IP-address=e.f.g.h). NAS sur protocole RADIUS

envoie une notification (Code=04) au serveur AAA concernant le début de la facturation et reçoit une confirmation (Code=05).

A la 4ème étape, l'utilisateur démarre une session de communication avec Internet en utilisant le protocole IP (Protocole = 0x0021).

Après la fin de la session (étape 5), l'utilisateur envoie un message de fin de connexion (Code=05) au NAS via le protocole LCP, le NAS accuse réception de ce message (Code=06), envoie une notification de fin de facturation au serveur AAA et reçoit un accusé de réception de sa part. Tous les appareils retrouvent leur état d'origine.

QUESTIONS POUR LA SECTION 1.4

1. Nommez la composition et le but de la famille de protocoles PPP.

Répondre. LCP - pour négocier les paramètres d'échange de paquets, CHAP - pour établir la légitimité de l'utilisateur, IPCP - pour attribuer une adresse IP.

2. Le protocole PPP fournit-il la détection d'erreurs et la livraison de paquets dans l'ordre ?

Répondre. Détection d'erreur - oui, livraison dans l'ordre - non, ceci est fourni par le protocole TCP.

3. Où sont stockées les données d'authentification des utilisateurs ?

Répondre. Sur la carte Internet et sur le serveur AAA.

4. Est-il possible de prédéterminer l'adresse IP de l'utilisateur avant d'établir une connexion au serveur NAS ?

Réponse : Non. Après une authentification réussie, le NAS émet une adresse IP libre à partir de la plage d'adresses attribuées.

5. Quelles sont les méthodes utilisées pour comptabiliser le coût des connexions Internet ? Réponse : Il y a généralement des frais d'abonnement ou des frais de volume.

La pile de protocoles, ou dans le langage courant TCP/IP, est l'architecture réseau des appareils modernes conçus pour utiliser le réseau. La pile est un mur dans lequel chaque brique constitutive repose sur une autre, en dépend. Appeler la pile de protocoles la "pile TCP/IP" est dû aux deux principaux protocoles qui ont été implémentés - IP lui-même et TCP basé sur celui-ci. Cependant, ils ne sont que les principaux et les plus courants. Si ce n'est pas des centaines, des dizaines d'autres sont utilisées à ce jour à diverses fins.

Le Web auquel nous sommes habitués (World Wide Web) est basé sur HTTP (protocole de transfert hypertexte), qui à son tour fonctionne sur la base de TCP. Il s'agit d'un exemple classique d'utilisation de la pile de protocoles. Il existe également des protocoles de messagerie IMAP/POP et SMTP, des protocoles de shell distant SSH, des protocoles de bureau à distance RDP, Données MySQL, SSL/TLS, et des milliers d'autres applications avec leurs propres protocoles (..)

Quelle est la différence entre tous ces protocoles ? Tout est assez simple. En plus des différents objectifs fixés lors du développement (par exemple, vitesse, sécurité, stabilité et autres critères), des protocoles sont créés dans un but de différenciation. Par exemple, il existe des protocoles de couche application qui sont différents pour différentes applications : IRC, Skype, ICQ, Telegram et Jabber sont incompatibles les uns avec les autres. Ils sont conçus pour effectuer une tâche spécifique, et dans ce cas, la possibilité d'appeler WhatsApp dans ICQ n'est tout simplement pas techniquement définie, car les applications utilisent un protocole différent. Mais leurs protocoles sont basés sur le même protocole IP.

Un protocole peut être appelé une séquence planifiée et régulière d'actions dans un processus dans lequel il y a plusieurs acteurs, dans le réseau ils sont appelés pairs (partenaires), moins souvent - un client et un serveur, mettant l'accent sur les caractéristiques d'un protocole particulier. L'exemple le plus simple protocole pour ceux qui ne comprennent toujours pas est une poignée de main lors d'une réunion. Les deux savent comment et quand, mais la question du pourquoi est déjà une question de développeurs, pas d'utilisateurs du protocole. Soit dit en passant, il existe une poignée de main dans presque tous les protocoles, par exemple, pour assurer la différenciation des protocoles et la protection contre le "vol sur le mauvais avion".

Voici ce qu'est TCP/IP sur l'exemple des protocoles les plus populaires. La hiérarchie des dépendances est affichée ici. Je dois dire que les applications n'utilisent que les protocoles spécifiés, qui peuvent ou non être implémentés à l'intérieur du système d'exploitation.

Si absolument, absolument langage clair est le service postal.

Chaque membre d'un réseau compatible IP a sa propre adresse, qui ressemble à ceci : 162.123.058.209. Au total, il existe 4,22 milliards d'adresses de ce type pour le protocole IPv4.

Supposons qu'un ordinateur veuille communiquer avec un autre et lui envoyer un colis - un "paquet". Il se tournera vers le « service postal » TCP/IP et lui remettra son colis en indiquant l'adresse à laquelle il doit être livré. Contrairement aux adresses dans le monde réel, les mêmes adresses IP sont souvent attribuées différents ordinateursà son tour, ce qui signifie que le "facteur" ne sait pas où il se trouve physiquement ordinateur souhaité, il envoie donc le colis au "bureau de poste" le plus proche - à la carte réseau de l'ordinateur. Peut-être existe-t-il des informations sur l'emplacement de l'ordinateur souhaité, ou peut-être que ces informations ne sont pas là. Si elle n'est pas là, pour tout ce qui vient" bureau de poste" (commutateurs) envoie une demande d'adresse. Cette étape est répétée par tous les "bureaux de poste" jusqu'à ce qu'ils trouvent l'adresse souhaitée, tout en se souvenant du nombre de "bureaux de poste" que cette demande a traversés avant eux et si elle en passe un certain nombre (assez grand), alors elle sera renvoyée avec la mention "adresse introuvable". Le premier "bureau de poste" recevra bientôt un tas de réponses d'autres "bureaux" avec des options pour les chemins vers le destinataire. S'il existe un ou plusieurs trajets, le colis sera acheminé par le plus court d'entre eux, tandis que les "bureaux de poste" se souviendront de ce trajet pendant un certain temps, ce qui vous permettra de transférer rapidement les colis suivants sans demander l'adresse à personne. Après la livraison, le "facteur" fera signer au destinataire un "accusé de réception" indiquant qu'il a bien reçu le colis et remettra ce "accusé de réception" à l'expéditeur comme preuve que le colis a été livré intact - vérification de la livraison en TCP obligatoire. Si l'expéditeur ne reçoit pas un tel reçu après un certain temps, ou si le reçu indique que le colis a été endommagé ou perdu pendant l'expédition, il essaiera de renvoyer le colis.

TCP/IP est un ensemble de protocoles.

Le protocole est la règle. Par exemple, lorsque vous êtes accueilli - vous saluez en réponse (et ne dites pas au revoir ou ne voulez pas le bonheur). Les programmeurs diront que nous utilisons le protocole hello, par exemple.

Quel type de TCP/IP (maintenant ce sera assez simple, ne bombardez pas vos collègues) :

informations avant votre compa va par fil (radio ou autre - peu importe). Si un courant a été laissé à travers les fils, cela signifie 1. Éteint, cela signifie 0. Il s'avère 10101010110000 et ainsi de suite. 8 zéros et uns (bits) est un octet. Par exemple 00001111. Cela peut être représenté par un nombre dans forme binaire. Sous forme décimale, un octet est un nombre compris entre 0 et 255. Ces nombres correspondent à des lettres. Par exemple, 0 est A, 1 est B. (C'est ce qu'on appelle l'encodage).

Donc. Pour que deux ordinateurs transmettent efficacement des informations sur des fils, ils doivent fournir du courant selon certaines règles - des protocoles. Par exemple, ils doivent s'entendre sur la fréquence à laquelle le courant peut être modifié afin de pouvoir distinguer un 0 d'un second 0.

C'est le premier protocole.

Les ordinateurs comprennent d'une manière ou d'une autre que l'un d'eux a cessé de donner des informations (comme "j'ai tout dit"). Pour ce faire, au début de la séquence de données 010100101, les ordinateurs peuvent envoyer quelques bits, la longueur du message qu'ils souhaitent envoyer. Par exemple, les 8 premiers bits pourraient indiquer la longueur du message. C'est-à-dire que, d'abord, dans les 8 premiers bits, le nombre codé 100 est transmis, puis 100 octets. L'ordinateur récepteur attendra alors les 8 bits suivants et le message suivant.

Ici, nous avons un autre protocole, avec son aide, vous pouvez envoyer des messages (ordinateur).

Il existe de nombreux ordinateurs afin qu'ils puissent comprendre qui doit envoyer un message en utilisant des adresses d'ordinateur uniques et un protocole qui vous permet de comprendre à qui ce message est adressé. Par exemple, les 8 premiers bits indiqueront l'adresse du destinataire, les 8 suivants - la longueur du message. Et puis un message. Nous avons simplement glissé un protocole dans un autre. Le protocole IP est responsable de l'adressage.

La communication n'est pas toujours fiable. Pour une livraison fiable des messages (ordinateur), utilisez TCP. Lors de l'exécution du protocole TCP, les ordinateurs se redemanderont s'ils ont reçu le bon message. Il y a aussi UDP - c'est quand les ordinateurs ne demandent plus s'ils l'ont reçu. Pourquoi est-ce nécessaire ? Ici, vous écoutez la radio Internet. Si quelques octets arrivent avec des erreurs, vous entendrez, par exemple, "psh" puis de nouveau de la musique. Pas fatal, et pas particulièrement important - UDP est utilisé pour cela. Mais si quelques octets sont corrompus lors du chargement du site, vous obtiendrez de la merde sur le moniteur et ne comprendrez rien. Le site utilise TCP.

TCP/IP (UDP/IP) sont des protocoles imbriqués qui exécutent Internet. Au final, ces protocoles permettent de transmettre un message informatique en un seul morceau et exactement à l'adresse.

Il existe également le protocole http. La première ligne est l'adresse du site, les lignes suivantes sont le texte que vous envoyez au site. Toutes les lignes http sont du texte. Ce qui est poussé dans TCP un message qui est adressé en utilisant IP, et ainsi de suite.

Répondre

pile de protocole est un ensemble hiérarchiquement organisé de protocoles de réseau, suffisant pour organiser l'interaction des nœuds du réseau. Les protocoles fonctionnent simultanément sur le réseau, ce qui signifie que le travail des protocoles doit être organisé de manière à ce qu'il n'y ait pas de conflits ou d'opérations incomplètes. Par conséquent, la pile de protocoles est divisée en niveaux hiérarchiquement construits, chacun effectuant une tâche spécifique - préparation, réception, transmission de données et actions ultérieures avec celles-ci.

Le nombre de couches dans une pile varie en fonction de la pile de protocole spécifique. Les protocoles de couche inférieure sont souvent implémentés dans une combinaison de logiciels et de matériel, tandis que les protocoles de couche supérieure sont généralement implémentés dans un logiciel.

Il existe un nombre suffisant de piles de protocoles largement utilisées dans les réseaux. Les piles de protocoles les plus populaires sont : OSI de l'organisation internationale de normalisation, TCP/IP, utilisé sur Internet et dans de nombreux réseaux basés sur le système d'exploitation UNIX, IPX/SPX de Novell, NetBIOS/SMB, développé par Microsoft et IBM, DECnet de Digital Equipment Corporation, SNA d'IBM et quelques autres.

YouTube encyclopédique

    1 / 3

    Fondamentaux des réseaux de données. Modèle OSI et pile de protocoles TCP IP. Principes de base d'Ethernet.

    pile de protocole

    L'informatique. Technologies réseau : pile de protocoles OSI. Centre d'apprentissage en ligne de Foxford

    Les sous-titres

Piles de protocoles de communication standard

OSI

Il est important de distinguer Modèle OSI Et Pile de protocole OSI. Alors que le modèle OSI est un schéma conceptuel de la manière dont les systèmes ouverts interagissent, la pile OSI est un ensemble de spécifications de protocole spécifiques.

Contrairement aux autres piles de protocoles, la pile OSI est entièrement conforme au modèle OSI, y compris les spécifications de protocole pour les sept couches de communication définies dans ce modèle :

  • Sur physique Et couches de liens La pile OSI prend en charge les protocoles Ethernet, Token ring, FDDI, ainsi que les protocoles LLC, X.25 et RNIS, c'est-à-dire qu'elle utilise tous les protocoles populaires de niveau inférieur développés en dehors de la pile, comme la plupart des autres piles.
  • couche réseau inclut le protocole de réseau orienté connexion (CONP) et le protocole de réseau sans connexion (CLNP) relativement rarement utilisés. Comme son nom l'indique, le premier est orienté connexion, le second ne l'est pas (sans connexion). Les protocoles de routage de pile OSI sont plus populaires : ES-IS (End System - Intermediate System) entre les systèmes final et intermédiaire et IS-IS (Intermediate System - Intermediate System) entre les systèmes intermédiaires.
  • couche de transport La pile OSI, conformément aux fonctions définies pour elle dans le modèle OSI, masque les différences entre les services réseau orientés connexion et sans connexion, de sorte que les utilisateurs reçoivent la qualité de service requise quelle que soit la couche réseau sous-jacente. Pour garantir cela, la couche de transport demande à l'utilisateur de spécifier la quantité de maintenance souhaitée.
  • Prestations de service couche d'application fournissent le transfert de fichiers, l'émulation de terminal, les services d'annuaire et la messagerie. Parmi ceux-ci, les plus populaires sont Directory Service (norme X.500), E-mail (norme X.400), Virtual Terminal Protocol (VTP), File Transfer, Access and Control Protocol (FTAM), Job Transfer and Management Protocol (JTM).

TCP/IP

La pile de protocoles TCP/IP est l'ensemble des protocoles réseau sur lesquels repose Internet. En règle générale, dans la pile TCP / IP, les 3 couches supérieures (application, présentation et session) du modèle OSI sont combinées en une seule - application. Une telle pile ne fournissant pas de protocole unifié de transfert de données, les fonctions de détermination du type de données sont transférées à l'application.

Niveaux de pile TCP/IP :

  1. Couche de lien décrit comment les paquets de données sont transmis à travers la couche physique, y compris le codage (c'est-à-dire des séquences de bits spéciales qui déterminent le début et la fin d'un paquet de données).
  2. couche réseau conçu à l'origine pour transférer des données d'un (sous) réseau à un autre. Des exemples d'un tel protocole sont X.25 et IPC sur l'ARPANET. Avec le développement du concept de réseau mondial, le niveau a été introduit caractéristiques supplémentaires pour la transmission de n'importe quel réseau à n'importe quel réseau, quels que soient les protocoles de couche inférieure, ainsi que la possibilité de demander des données à partir d'un côté distant.
  3. Protocoles couche de transport peut résoudre le problème de la livraison non garantie du message ("le message est-il parvenu au destinataire?"), Et également garantir la séquence correcte d'arrivée des données.
  4. Sur couche d'application la plupart des applications réseau fonctionnent. Ces programmes ont leurs propres protocoles de communication, tels que HTTP pour WWW, FTP (transfert de fichiers), SMTP (e-mail), SSH (connexion sécurisée à une machine distante), DNS (traduction d'adresse de caractère en adresse IP) et bien d'autres.

Il existe un désaccord sur la manière d'adapter le modèle TCP/IP au modèle OSI, car les couches des modèles ne sont pas les mêmes. Une interprétation simplifiée de la pile TCP/IP peut être représentée comme suit :

OSI TCP/IP
7. Appliqué HTTP, FTP, Telnet, SMTP, DNS (RIP sur UDP et BGP sur TCP font partie de la couche réseau), LDAP Appliqué
6. Soumissions
5. Séance
4. Transports TCP, UDP, RTP, NCP) et le protocole SAP (Service Advertising Protocol).

NetBIOS/SMB

Aux couches physique et liaison de données de cette pile, interviennent également des protocoles déjà largement répandus comme Ethernet, Token Ring, FDDI, et aux niveaux supérieurs, les protocoles spécifiques NetBEUI (NetBEUI Extended User Interface Protocol) et SMB. NetBEUI a été conçu comme un protocole efficace à faibles ressources pour les réseaux comptant jusqu'à 200 postes de travail. Ce protocole contient de nombreuses fonctionnalités réseau utiles qui peuvent être attribuées aux couches de transport et de session du modèle OSI, mais il ne peut pas être utilisé pour acheminer des paquets. Cela limite l'utilisation du protocole NetBEUI réseaux locaux, non divisé en sous-réseaux, et rend impossible son utilisation dans des réseaux composites.

Le protocole SMB (Server Message Block) prend en charge les fonctions de couche session, de couche présentation et de couche application. Basé sur SMB, le service de fichiers est implémenté. ainsi que des services d'impression et de messagerie entre les applications.