VII. TCP-IP▲
VII-A. Protocoles Ip▲
VII-A-1. Internet Protocol (IP)▲
Ce protocole utilise des paquets pour transporter des infos à travers le réseau. Chaque paquet contient l'adresse de l'envoyeur et du destinataire, mais le service IP n'assure pas que le paquet arrivera à destination, il peut être perdu ou mal dirigé. Ce protocole n'assure rien pour retrouver des paquets perdus ou rediriger des paquets mal dirigés. On pourrait faire une analogie avec le service postal, il n'assure pas que les lettres que vous envoyez passent toutes par le même endroit et n'assurent pas non plus qu'elles arrivent dans l'ordre ou vous les envoyez. C'est pareil avec le protocole IP. Comme une lettre, un paquet contient un header qui contient des infos importantes pour la distribution du paquet.
VII-A-1-a. IP Header▲
Nom du champ | Description | Nombre de bits |
---|---|---|
Version | Numéro de version | 4 |
Header Length | Taille du header | 4 |
Priority | Priorité du paquet | 8 |
Total Length | Longueur du paquet, header + data | 16 |
Identification | Valeur unique du paquet | 16 |
Flags | Spécifie la fragmentation du paquet | 3 |
Fragments offset | Fragmentation des paquets pour découper un gros message en plusieurs paquets. | 13 |
TTL | Time To live, c'est à dire nombre de fois qu'il peut être lu avant d'être détruit | 8 |
Protocole | Protocoles de destination du paquet, UDP, TCP, ICMP, IPv6, ... | 8 |
Header Checksum | Intégrité du paquet | 16 |
Source IP Adress | Adresse de la source | 32 |
Destination IP adress | Adresse du destinataire | 32 |
IP Options | Test, debug et autres | 0 ou 32 |
Data | Les données du paquet | Variable |
VII-A-1-b. Internet Control Message Protocol (ICMP)▲
Ce protocole est implémenté sur chaque hosts TCP/IP. Il dépend du protocole IP pour envoyer les paquets. Il définit un petit nombre de messages utilisé pour le diagnostique et le management. Le Ping est son utilisation la plus connue. Le message ICMP est encapsulé dans un paquet IP, il contient le type de messages, le code de l'erreur et la somme de contrôle.
Voici une petite liste non exhaustive des messages ICMP possibles :
- Destination Unreachable : La destination n'est pas pingable
- Time Exceeded : Le temps a été trop long
- Echo Reply : Réponse à une demande, réponse à un Ping par exemple
- Echo : Requête, Ping par exemple
ICMP est employé pour compléter IP car celui-ci ne permet rien en cas de problèmes c'est donc pour pallier à ce problème qu'on emploie ICMP qui va nous " dire " s'il y a un problème.
VII-A-1-c. Adress Resolution Protocol (ARP)▲
Ce protocole permet la résolution des adresses MAC à partir de l'adresse IP.
VII-A-1-d. Reverse Adress Resolution Protocol (RARP)▲
Ce protocole permet la résolution des adresses IP à partir de l'adresse MAC.
VII-A-1-e. Dynamic Host Configuration Protocol (DHCP)▲
Ce protocole permet de configurer automatiquement les paramètres réseaux d'une machine dès son entrée dans le réseau. Il attribue automatiquement l'adresse IP, le masque de sous-réseau, la passerelle et aussi le serveur DNS. Ce protocole passe par le protocole TCP/IP.
VII-A-2. Couche transport▲
Cette couche est le coeur du protocole TCP/IP. C'est une couche très importante du protocole TCP/IP. Il y a 2 protocoles qui œoeuvrent sur cette couche :
- UDP : Ce protocole est plus rapide que le TCP, mais il n'exécute aucun contrôle quand au fait que le paquet soit arrivé à destination ou pas. C'est un protocole non orienté connexion.
- TCP : Ce protocole est un plus lent, mais il va s'occuper de contrôler que le paquet arrive bel et bien à destination. Ce protocole est orienté connexion. A la suite, vous trouverez les caractéristiques du protocole TCP.
- Orienté Connexion : Le protocole crée une liaison entre les 2 périphériques voulant se parler
- Full Duplex : On peut parler et écouter en même temps
- Contrôle des erreurs : Il vérifie que les paquets ne sont pas corrompus
- Numérotation des paquets pour que la remise en ordre de ceux-ci soit plus aisé.
- Contrôle de flux : Si l'envoyeur surcharge le buffer, il va lui dire d'arrêter l'envoi.
Voici quelques applications du TCP/IP :
- FTP : Emploi du TCP pour envoyer des fichiers
- TFTP : Emploi de l'UDP pour envoyer des fichiers, c'est un peu plus rapide que le FTP, et c'est donc employé dans les cas ou ce n'est pas trop grave de perdre un paquet.
- Telnet : Permet de se connecter à distance sur un autre périphérique.
- SMTP : Permet l'envoi de mail.
VII-A-2-a. TCP Header▲
Nom du champ | Description | Nombre de bits |
---|---|---|
Source port | Numéro du port sortant | 16 |
Destination port | Numéro du port entrant | 16 |
Sequence Number | Numéro utilisé pour remettre les paquets dans le bon ordre | 32 |
Acknowledgments Number | Prochain octet | 32 |
Header Length | Taille du header | 4 |
Reserved | Réservé pour un usage futur, doit être 0 | 6 |
Code bits | Fonctions pour terminer ou commencer une session | 6 |
Window | Nombre d'octet que le périphérique peut accepter | 16 |
Checksum | Somme du header et des champs de données | 16 |
Urgent | 16 | |
IP Options | Longueur maximale du segment TCP | Variable |
Padding | Ce champ est utilisé pour être sûr que le header se termine dans un multiple de 32 bits. | Variable |
Data | Les données du paquet | Variable |
VII-A-2-b. UDP Header▲
Nom du champ | Description | Nombre de bits |
---|---|---|
Source port | Numéro du port sortant | 16 |
Destination port | Numéro du port entrant | 16 |
Length | Longueur du header et des données | 16 |
Checksum | Somme du header et des champs de données | 16 |
Data | Les données du paquet | Variable |
Le header UDP est plus simple puisque l'UDP assure moins de choses que le TCP.