tcp ip model with different layers
Un guide complet des couches du modèle TCP / IP:
Nous avons tout appris sur Sécurité du pare-feu dans notre tutoriel précédent. Ici, dans ce didacticiel, nous allons découvrir le modèle TCP / IP.
Le modèle TCP / IP fait référence au protocole de contrôle de transmission et au protocole Internet.
Le modèle Internet actuel utilise ce modèle de réseau à des fins de communication. Lisez le Tutoriels de formation sur le réseautage pour une compréhension claire du concept.
Ces protocoles sont simplement une combinaison des règles qui régissent chaque communication sur le réseau. Ceux-ci, à leur tour, décident du chemin à suivre pour la communication entre la source et la destination ou Internet.
Le modèle TCP / IP se compose de quatre couches qui concluent le processus de communication global. Dans ce tutoriel, nous examinerons en profondeur les fonctionnalités de chaque couche.
En tant que testeur logiciel, il est nécessaire de faire preuve d'empathie avec le modèle TCP / IP, car les applications logicielles fonctionnent sur la couche supérieure, c'est-à-dire la couche application de ce modèle.
Ce que vous apprendrez:
Architecture de réseau
L'architecture à quatre couches est la suivante:
Les protocoles et réseaux utilisés dans ce modèle de réseau sont illustrés dans la figure ci-dessous:
Résumons les protocoles et les principales utilisations de chaque couche dans le modèle TCP / IP à l'aide du diagramme ci-dessous.
Fonctions de chaque couche dans le modèle TCP / IP
Vous trouverez ci-dessous les différentes fonctions de chaque couche dans le modèle TCP / IP.
Couche d'accès au réseau
Les fonctions de la couche d'accès au réseau sont indiquées ci-dessous:
- Il s'agit de la couche inférieure du modèle TCP / IP et elle comprend toutes les fonctionnalités de la couche physique et de la couche liaison de données du modèle de référence OSI.
- Ainsi, il caractérise les protocoles, le matériel et les supports à utiliser pour la communication.
- Les paquets de données de la couche Internet sont transmis à cette couche pour être envoyés à la destination sur un support physique.
- La tâche principale de cette couche est de combiner les octets de données en trames et de fournir un mécanisme pour la transmission de la trame de données IP sur le support physique.
- Point à point (PPP) est le protocole utilisé pour établir une liaison point à point sur les lignes louées. Il est également déployé pour fournir une connectivité entre l'utilisateur final et les fournisseurs de services Internet via des modems. Il prend également en charge l'approvisionnement des adresses IP sur des liens PPP.
- La plupart des utilisateurs finaux préfèrent une liaison Ethernet qui fonctionne uniquement sur le protocole de liaison de données Ethernet. Ainsi, PPP sur Ethernet qui permet aux trames de données encapsulées d'être envoyées à l'intérieur des trames Ethernet est créé.
- PPPoE construit initialement un tunnel entre les périphériques réseau de l'utilisateur final comme le routeur et le routeur FAI. Ensuite, le routeur envoie des trames PPP sur ce tunnel car le tunnel fonctionne comme une liaison point à point entre les routeurs. Désormais, les données sont également transmises sur les réseaux WAN grâce à cette technologie.
- PPP utilise également le processus d'authentification pour vérifier la responsabilité de l'utilisation des données avec les FAI. Les méthodes incluent le protocole d'authentification par mot de passe (PAP) et le protocole d'authentification par établissement de liaison de canal (CHAP).
Couche Internet
- La deuxième couche à partir du bas est la couche Internet.
- Une fois que les données sont segmentées par TCP ou UDP en ajoutant les en-têtes correspondants dans le paquet de données, il les enverra à la couche inférieure pour une communication ultérieure.
- L'hôte de destination auquel le paquet de données est destiné peut résider dans un autre réseau dont le chemin peut être atteint en passant par divers routeurs. Il est du devoir de la couche Internet d'attribuer les adresses logiques et d'acheminer efficacement les paquets de données vers le réseau de destination.
- La couche Internet (IP) est le protocole le plus utilisé pour effectuer cette tâche.
protocole Internet
Le but de ce protocole est d'acheminer les paquets de données vers la destination selon les informations dans l'en-tête de paquet en suivant un ensemble de protocoles.
En ajoutant un en-tête qui a l'adresse IP de la source et de la destination, le segment reçu de TCP ou UDP est converti en PDU appelé paquet. Lorsque le paquet arrive au routeur, il regarde l'adresse de destination dans l'en-tête, puis transmet le paquet en conséquence au routeur suivant pour atteindre la destination.
Comprenons cela avec un exemple:
Dans la figure ci-dessous, lorsque l'hôte A veut communiquer avec l'hôte B, il n'utilisera aucun protocole de routage car les deux sont dans la même plage de réseau ayant les adresses IP du même ensemble.
Mais si l'hôte A veut envoyer un paquet à l'hôte C, à l'aide du protocole, il découvre que l'hôte de destination est d'un autre réseau. Ainsi, le format ci-dessus recherchera dans la table de routage pour trouver l'adresse de saut suivant pour atteindre la destination.
Dans ce cas, l'hôte A atteindra l'hôte C via les routeurs A, B et C. Comme le routeur C est directement connecté à un réseau de destination via un commutateur, le paquet est livré à l'hôte C.
Le routeur obtient toutes les informations relatives au routage à partir des champs d'en-tête IP. La couche réseau de TCP / IP (couche liaison de données) sera responsable de la livraison de bout en bout des paquets de données.
Flux de paquets dans le protocole Internet
En-tête IPV4
- Version: L'IPV4 a le numéro de version 4.
- Longueur d'en-tête: Il montre la taille de l'en-tête.
- Champ DS: Le champ DS représente le champ de services différenciés et est déployé pour la construction de paquets.
- Longueur totale: Il indique la taille de l'en-tête plus la taille du paquet de données.
- Identification: Ce champ est utilisé pour la fragmentation des paquets de données et pour l'allocation de chaque champ et aide ainsi à construire le paquet de données d'origine.
- Drapeaux: Utilisé pour désigner la procédure de fragmentation.
- Décalage du fragment: Il indique le numéro de fragment et l'hôte source qui les utilise pour réorganiser les données fragmentées dans le bon ordre.
- Il est l'heure de partir: Ceci est défini à l'extrémité de l'hôte source.
- Protocole: Il désigne le protocole qu'il utilise pour transmettre des données. TCP a le numéro de protocole 6 et UDP a le numéro de protocole 17.
- Somme de contrôle de l'en-tête: Ce champ est utilisé pour la détection des erreurs.
- Adresse IP source: Il enregistre l'adresse IP de l'hôte final source.
- Adresse IP de destination: Il enregistre l'adresse IP de l'hôte de destination.
Nous en discuterons en détail dans nos prochains tutoriels.
Couche de transport
- Il s'agit de la troisième couche à partir du bas car elle est responsable du transfert global des données et est utile pour établir une connectivité logique de bout en bout entre l'hôte source et de destination et les périphériques d'un réseau.
- Deux protocoles sont utilisés pour effectuer ces tâches:
- Le premier est le protocole de contrôle de transmission (TCP), qui est un protocole fiable et basé sur la connexion.
- Le deuxième est le protocole de datagramme utilisateur (UDP), qui est un protocole sans connexion.
- Avant d'explorer ces deux protocoles en profondeur, nous discuterons du concept de NUMÉRO DE PORT qui est utilisé par ces deux protocoles.
Numéro de port:
transtypage de caractères en int c ++
Dans un réseau, un périphérique hôte peut envoyer ou recevoir du trafic de plusieurs sources en même temps.
Dans une telle situation, le système ne reconnaîtra pas à quelle application les données appartiennent. Les protocoles TCP et UDP résolvent ces problèmes en mettant un numéro de port dans leurs en-têtes. Les protocoles de couche application bien connus sont attribués avec le numéro de port compris entre 1 et 1024.
À l'extrémité source, chaque session TCP ou UDP est allouée avec un numéro de port aléatoire. L'adresse IP, le numéro de port et le type de protocole utilisés en combinaison reforment un socket à la fois à la source et à la destination. Comme chaque socket est exclusif, plusieurs hôtes peuvent envoyer ou recevoir du trafic au même intervalle de temps.
Le tableau ci-dessous indique le numéro de port attribué à plusieurs protocoles de couche application correspondant au protocole de couche transport.
Protocole d'application | Protocole de transport | Numéro de port |
---|---|---|
DNS | TCP, UDP | 53 |
HTTP | TCP | 80 |
HTTPS | TCP | 443 |
FTP (contrôle) | TCP | vingt et un |
FTP (données) | TCP | vingt |
SSH | TCP | 22 |
Telnet | TCP | 2. 3 |
SMTP | TCP | 25 |
TFTP | UDP | 69 |
Session multiple utilisant le numéro de port
TCP
- Chaque fois que la couche application a besoin de faire circuler le flux de trafic ou de données énorme, elle l'envoie à la couche de transport dans laquelle le TCP effectue toute la communication de bout en bout entre les réseaux.
- TCP a initialement mis en place un processus de prise de contact à trois entre la source et la destination, puis il divise les données en petits morceaux appelés segments, et inclut un en-tête dans chaque segment, puis les transmet à la couche Internet.
La figure ci-dessous montre le format de l'en-tête TCP.
- Poignée de main à trois: C'est le processus déployé par TCP pour établir une connexion entre l'hôte source et de destination dans le réseau. Il est utilisé pour effectuer une transmission de données fiable. Il déploie les indicateurs SYN et ACK des bits de code de l'en-tête TCP pour effectuer la tâche. Il fournit une communication fiable en effectuant un accusé de réception positif avec retransmission et est également connu sous le nom de PAR. Le système utilisant PAR retransmettra le segment de données jusqu'à ce qu'il reçoive l'ACK. Chaque fois que le récepteur rejette les données, l'expéditeur doit retransmettre les données jusqu'à ce qu'il reçoive l'ACK positif du récepteur.
Il y a 3 étapes de prise de contact à trois, qui sont les suivantes:
- Étape 1: L'hôte source A veut établir une connexion avec l'hôte de destination B, il transmet un segment avec le SYN et le numéro de séquence, ce qui indique que l'hôte A veut initier une session de communication avec l'hôte B et avec quel numéro de séquence il est défini dans ce segment.
- Étape 2: L'hôte B répond à la demande de l'hôte A avec SYN et ACK définis dans le bit de signal. ACK désigne la réponse du segment reçu et SYN désigne le numéro de séquence.
- Étape 3: L'hôte A accuse réception de la réponse de l'hôte B et établit tous deux une connexion sécurisée entre eux, puis commence la transmission de données sur celui-ci.
Comme décrit dans la figure ci-dessous, dans le processus de prise de contact à trois, l'hôte source envoie d'abord un en-tête TCP à l'hôte de destination en définissant l'indicateur SYN. En réponse, il récupère le SYN et l'indicateur d'acquittement définis. L'hôte de destination utilise le numéro de séquence reçu plus 1 comme numéro d'accusé de réception.
TCP IP prend en charge le modèle client-serveur du système de communication.
Processus de prise de contact à trois
- Segmentation des données :
- C'est l'une des fonctionnalités du protocole TCP. La couche application envoie un grand nombre de données à transmettre à la destination vers la couche transport. Mais la couche de transport limite la taille des données à envoyer en une seule fois. Cela se fait en divisant les données en petits segments.
- Pour reconnaître la séquence des segments de données, un numéro de séquence est utilisé dans l'en-tête TCP et qui décrit le numéro d'octet du segment de données entier.
- Contrôle de flux:
- L'hôte source enverra les données dans un cluster de segments. L'en-tête TCP ayant un bit de fenêtre est utilisé pour connaître le nombre de segments qui peuvent être envoyés à une instance de temps. Il est utilisé pour éviter le trafic insignifiant à l'extrémité de destination.
- Au démarrage de la session, la taille de la fenêtre est minuscule mais à mesure que le trafic augmente avec le temps, la taille de la fenêtre peut devenir énorme. L'hôte de destination peut ajuster la fenêtre en fonction de contrôler le flux. Ainsi, la fenêtre est appelée une fenêtre coulissante.
- La source ne peut transmettre que le nombre de segments autorisés par la fenêtre. Afin d'envoyer plus de segments, il attend d'abord un accusé de réception de la part de la réception une fois qu'il reçoit l'ACK, puis il peut augmenter la taille de la fenêtre en fonction de ses besoins.
- Dans la figure ci-dessous, l'hôte de destination augmente la taille de 500 à 600 puis à 800 après avoir renvoyé l'ACK à l'hôte source.
- Livraison fiable et récupération des erreurs :
- Une fois que le dernier segment de la fenêtre décidée est reçu par la destination, elle doit envoyer un ACK à l'extrémité source. L'indicateur ACK est défini dans l'en-tête TCP et le numéro ACK est mis comme numéro de séquence de l'octet suivant présumé. Si la destination ne reçoit pas les segments dans le bon ordre, elle ne transmettra pas l'ACK à la source.
- Cela explique la source que peu de segments sont égarés pendant la transmission et il retransmettra tous les segments.
- Dans la figure ci-dessous, il a été illustré que lorsque la source n'a pas reçu l'ACK pour le segment avec le numéro SEQ 200, alors elle retransmet les données et après avoir reçu l'ACK, elle envoie la séquence suivante du segment de données en conformément à la taille de la fenêtre.
- Livraison commandée :
- Le TCP assure la livraison séquentielle des données vers la destination. Il fournit les données dans l'ordre dans lequel il les reçoit de la couche application pour livraison à l'hôte de destination. Ainsi, pour maintenir la livraison ordonnée, il utilise le numéro de séquence lors de la transmission des segments de données.
- Terminaison de la connexion :
- Lorsque la transmission de données entre la source et la destination est terminée, le TCP termine la session en envoyant des drapeaux FIN et ACK et utilise une négociation à quatre pour la fermer.
Fenêtre coulissante TCP et livraison fiable
Protocole de datagramme utilisateur (UDP):
C'est le protocole peu fiable et sans connexion pour la transmission de données. Dans ce protocole, contrairement à TCP, il ne génère aucun indicateur ACK, par conséquent l'hôte source n'attendra pas de réponse de l'extrémité de destination et il transmettra les données sans délai et attendra ACK.
Dans un scénario en temps réel, UDP est utilisé car la suppression des paquets de données est choisie plutôt que l'attente de paquets pour la retransmission. Ainsi, il est le plus largement utilisé dans les jeux, le visionnage de vidéos en ligne, le chat, etc. où la reconnaissance des données n'est pas un problème. Dans ces scénarios, la vérification et la correction des erreurs ont lieu au niveau de la couche application.
En-tête UDP:
- Port source: Il classe les informations de fin de paquet source d'une taille de 16 bits.
- Le port de destination : Il a également une taille de 16 bits et sert à classer le type de service de données au nœud de destination.
- Longueur : Il indique la taille globale du datagramme UDP. La taille maximale du champ de longueur peut être la taille globale de l'en-tête UDP lui-même.
- Somme de contrôle : Il enregistre la valeur de la somme de contrôle évaluée par l'extrémité source avant la transmission. S'il ne contient aucune valeur, tous ses bits sont mis à zéro.
Applications UDP :
- Il provisionne le datagramme, il est donc approprié pour le tunneling IP et le système de fichiers réseau.
- Simple à utiliser, il est donc utilisé dans le protocole DHCP et de transfert de fichiers trivial.
- Être sans état le rend efficace pour les applications multimédias en streaming comme IPTV.
- Convient également pour la voix sur IP et les programmes de streaming en temps réel.
- Il soutient la multidiffusion, il est donc approprié pour les services de diffusion tels que Bluetooth et le protocole d'informations de routage.
Couche d'application
(i) Il s'agit de la couche supérieure du modèle TCP / IP.
(ii) Il exécute toutes les tâches d'une couche session, d'une couche présentation et d'une couche application du modèle TCP / IP.
(iii) Il combine les fonctions d'interfaçage avec diverses applications, le codage des données, la traduction des données et les dispositions d'accès permettant aux utilisateurs de communiquer avec divers systèmes de réseau.
Les protocoles de couche application les plus courants sont définis ci-dessous:
# 1) TELNET: Il représente le protocole d'émulation de terminal. Il pratique généralement l'accès aux applications distantes. Le serveur telnet qui agit en tant qu'hôte lance une application de serveur telnet pour établir une connexion avec l'hôte distant appelé client telnet.
Une fois la connexion établie, elle est présentée au système d'exploitation du serveur telnet. Les personnes du côté serveur utilisent son clavier et sa souris pour faire fonctionner et accéder à l'hôte distant via TELNET.
# 2) HTTP: Il signifie protocole de transfert hypertexte. C'est la base du World Wide Web (WWW). Ce protocole est utilisé pour échanger l'hypertexte entre différents systèmes. C'est un type de protocole de demande-réponse.
Par exemple, Un navigateur Web comme Internet Explorer ou Mozilla agit comme un client Web et l'application en streaming sur le PC hébergeant le site Web agira comme un serveur Web.
Ainsi, le serveur qui fournit les ressources telles que les fichiers HTML et d'autres fonctions demandées par le client renvoie un message de réponse au client qui a le contenu des données d'état d'achèvement et des données demandées dans la ligne de message.
Les ressources HTTP sont reconnues et positionnées sur le réseau par des localisateurs de ressources uniformes (URL) qui déploient des méthodes d'identificateurs de ressources uniformes (URI) HTTP et https.
# 3) FTP: Il représente le protocole de transfert de fichiers. Il est utilisé pour partager ou transférer les fichiers entre deux hôtes. L'hôte qui exécute l'application FTP se comporte comme le serveur FTP tandis que l'autre se comporte comme le client FTP.
L'hôte client qui demande le partage de fichiers requiert une authentification du serveur pour accéder aux données. Une fois autorisé, il peut accéder à tout type de fichiers depuis le serveur, envoyer ou recevoir des fichiers.
# 4) SMTP: Un protocole de transport de courrier simple est un exercice pour envoyer des e-mails. Lorsque nous configurons l'hôte pour l'envoi d'e-mails, nous utilisons SMTP.
# 5) DNS: Chacun des périphériques hôtes de n'importe quel réseau a une adresse logique unique appelée adresse IP. Comme indiqué précédemment, les adresses IP sont un groupe de tant de nombres et il n'est pas facile de les mémoriser. Lorsque nous tapons une adresse Web sur un navigateur Web tel que Google.com, nous demandons en fait un hôte ayant une adresse IP.
Mais nous n'avons pas besoin de mémoriser l'adresse IP de la page Web que nous demandons car DNS (serveur de nom de domaine) mappe un nom sur chaque adresse IP logique et la stocke.
comment ouvrir un fichier eps dans windows 10
Ainsi, lorsque nous tapons dans le navigateur pour une page Web, il envoie la requête DNS à son serveur DNS pour mapper l'adresse IP avec le nom. Une fois l'adresse obtenue, une session HTTP est créée avec l'adresse IP.
# 6) DHCP: Chacun des périphériques hôtes de n'importe quel réseau nécessite une adresse IP pour communiquer avec les autres périphériques du réseau. Il obtient cette adresse par configuration manuelle ou en utilisant un protocole de configuration dynamique d'hôte (DHCP). Si vous utilisez DHCP, l'hôte se verra automatiquement attribuer une adresse IP.
Supposons qu'un réseau comprend 10 000 périphériques hôtes. Ensuite, l'attribution manuelle d'une adresse IP à chaque hôte est très difficile et prend également du temps.Nous utilisons donc le protocole DHCP pour attribuer une adresse IP et d'autres informations aux périphériques hôtes connectés tels que l'IP du masque de sous-réseau ou l'IP de la passerelle.
Les programmes de test de logiciels travailleront sur cette couche du modèle TCP / IP, car ils permettront aux utilisateurs finaux de tester les divers services et d'utiliser ces services.
Conclusion
Nous avons vu les différents protocoles qui sont utilisés à chaque couche du modèle TCP / IP pour effectuer les tâches associées à la couche et leurs avantages dans un système de communication.
Tous les protocoles définis ci-dessus ont leur propre signification et différents rôles dans le test et l'application des outils logiciels.
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Tout sur les commutateurs de couche 2 et 3 dans un système de réseau
- Un guide complet du pare-feu: comment créer un système de réseau sécurisé
- Tout sur les routeurs: types de routeurs, table de routage et routage IP
- Qu'est-ce que le réseau étendu (WAN): Exemples de réseaux WAN en direct
- Que sont les protocoles HTTP (Hypertext Transfer Protocol) et DHCP?
- Protocoles importants de la couche application: protocoles DNS, FTP, SMTP et MIME
- IPv4 vs IPv6: quelle est la différence exacte
- Quelle est mon adresse IP et mon emplacement (vérifiez votre adresse IP réelle ici)