Chap 4 bis : Schéma de la communication à travers

Transcription

Chap 4 bis : Schéma de la communication à travers
Chap 4 bis : Schéma de la communication à travers un réseau (ici client ssh vers serveur ssh) :
POSTE A
POSTE B
Application
Application
L’application ssh serveur est en écoute sur le port 22- serveur atteint et initiation d’une réponse
qui se déroule bien si tout le cheminement inverse est bien configuré.
Un message est transmis par l’application: ici via un client SSH qui souhaite se connecter à un
serveur SSH d’@ip ‘ipposteB’ à destination du port 22 (qui est le port sur lequel l’appli serveur ssh écoute coté poste B)
Présentation de données
Présentation de données
Le décodage en sens inverse s’effectue - également le déchiffrement s’il ya.
On regarde si l’on doit chiffrer les données, et en tous cas, on code ce message dans un codage universel
Session
Session
On initie la session afin d’organiser et de synchroniser les échanges entre taches distantes.
On établie une liaison entre 2 programmes devant coopérer et commande leur dialogue (qui doit parler, qui parle)
La session se réalise, synchronisation des échanges entre programmes
et commande du dialogue entre les 2 entités.
Transport
Transport
On transforme le message en segment de transport
(choix du protocole TCP ou UDP , indication du port de destination ainsi que du port source)
ROUTEUR(niveau 3)
Réseau
Réseau
On transforme le segment TCP en paquet IP (on renseigne l’adresse ip destination et l’@ip source)
Les paquets sont réceptionnés et replacés dans le bon ordre puis transformés en
segment tcp (on décodera de l’entête le port de destination)
Réseau
On transforme cette trame en paquet grace à l’indication du protocole utilisé pour coder ce paquet
On lit les entetes afin de connaitre l’@ip de destination du paquet –
Sur le routeur une lecture des tables de routages est faite. La route est choisie
On transforme cette trame en paquet grâce à l’indication du protocole utilisé pour coder ce paquet
On lit les entêtes afin de connaitre l’@ip de destination du paquet –
Savoir si au niveau de l’@ logique de destination elle correspond bien à notre interface
et l’on redescend la pile réseau afin de recoder ce paquet en trames
Liaison de données
On transforme le paquet IP en trame ethernet (on renseigne l’@MAC destination -apres consultation
du cache ARP ou une requete ARP et l’@MAC source le champs ethertype..etc.) On check le type de réseau -sa topologieet on code la trame jusqu’ici numérique en un signal analogique.
Aussi, on gère la synchronisation des cartes réseaux distantes (via le préambule et SFD de la trame).
Liaison de données
Après avoir réceptionné le signal analogique il est recodé
en numérique puis on décode l’entête de niveau 2 grace au même
protocole avec lequel la trame a été codée -on vérifie l’intégrité de la trame
On vérifie également si elle nous est bien destinée
Liaison de données
Après avoir réceptionné le signal analogique il est recodé
en numérique puis on décode l’entête de niveau 2 grace au même
protocole avec lequel la trame a été codée -on vérifie l’intégrité de la trame
On vérifie également si elle nous est bien destinée (@physique)
La trame est reconstruite apres résolution des @ logiques en @physiques type proto etc
et codée afin d’être transmise sur le support de transmission attendu.
Physique
Normalisation des caractéristiques d’envoi du signal (tension,source…)
Physique
Je réceptionne le signal
Physique
J’émet le signal
Je réceptionne le signal
J’émet le signal
POSTE A
Routeur
Le signal est donc transmis sous forme analogique il subit (selon le support de transmission)
une atténuation et des perturbations ! On considère qu’il doit être réceptionné avant
d’atteindre une atténuation de -3db ce qui revient à la moitié de sa puissance.
-ceci explique les limitations en distance d’un support de transmission-
**Structure d’un paquet IP :
POSTE B
[ ce qui explique les 3 couches basses pour ce matériel d’interconnexion de réseaux
Ici cela implique également que de chaque coté du routeur nous sommes dans des réseaux IP différents ]
*Version : 4 bits
Version du protocole IP codée sur 4 bits : 0 10 0 pour IPv4 et 0 11 0 pour IPv6.
*Internet Header Length : 4 bits, IHL
Longueur de l'en-tête en mots de 32 bits. Cette valeur est utilisée pour distinguer la partie en-tête de la partie
données du paquet. La représentation usuelle de l'en-tête se fait sur 32 bits de largeur. Comme les champs Op t i
et Pa dd i n g ne sont pas obligatoires, la valeur minimum du champ I HL est 5 (0 10 1 ).
on s
*Type Of Service : 8 bits, TOS
Champ découpé en 2 parties. Les 3 premiers bits sont appelés precedence et les 5 derniers représentent le type de
service. La définition d'origine prévoyait 3 choix : low-delay, high-reliability et high-throughput. Ce «marquage»
des paquets est utilisable pour définir des flux prioritaires sur une interconnexion réseau «sous contrôle». Sur
l'Internet, les opérateurs définissent leurs propres priorités ; donc leurs propres valeurs pour ce champ.
*Total Length : 16 bits
Longueur du datagramme : en-tête & données. La taille minimum est de 21 octets (en-tête + 1 octet de donnée).
Comme se champ est représenté sur 16 bits, la taille maximum est de 2^16 - 1, soit 64 Ko.
*Identification : 16 bits
Chaque paquet IP reçoit un numéro d'identification à sa création. Il est possible qu'un paquet soit découpé en
fragments avant d'atteindre sa destination finale. Chaque fragment appartient au même paquet IP. Chaque fragment
possède le même numéro d'identification.
*Flags : 3 bits
Ce champ contient 3 indicateurs d'état :
• Reserved flag : doit toujours être à 0.
• Don't Fragment (DF) : à 0 si le paquet peut être fragmenté ; à 1 s'il ne doit pas être fragmenté.
• More Fragments (MF) : à 1 si d'autres fragments sont attendus ; à 0 s'il n'y a pas/plus de fragments.
*Fragment Offset : 13 bits
Position du fragment dans le datagramme courant. Cette position est comptée en octets.
*Time To Live : 8 bits, TTL
Ce compteur est décrémenté à chaque traversée de routeur. Si la valeur 0 est atteinte, le paquet est jeté. Cela signifie
qu'il ne peut être délivré à sa destination finale. La valeur initiale du champ TTL dépend du système d'exploitation
utilisé.
*Protocol : 8 bits
Ce champ spécifie le protocole utilisé dans les données du paquet IP. Par exemple, la valeur 1 indique que le
protocole utilisé est ICMP. On sait ainsi que ce paquet n'est pas destiné à une application. Les différentes valeurs
de ce champs sont listées dans le fichier / et c / pr ot oc ol s sur les systèmes GNU/Linux ou *BSD.
*Header Checksum : 16 bits
A chaque création ou modification d'un paquet, une somme de contrôle (cyclic redundancy check) est calculée sur
son en-tête. Lorsque le paquet arrive à destination, cette somme est recalculée. Si le résultat diffère, c'est que le
paquet a été endommagé lors de son trajet.
*Source Address : 32 bits
Adresse IP de l'hôte qui a émis le paquet
*Destination Address : 32 bits
Adresse IP de l'hôte qui doit recevoir le paquet.
*Options and Padding
Cette partie de l'en-tête est optionnelle. Ce champ est utilisé pour fournir des instructions spécifiques de distribution
du paquet qui ne sont pas couvertes par les autres champs de l'en-tête. La taille maximum de ces insturctions est
limitée à 40 octets regroupés en double-mots de 32 bits. Les bits de padding servent à compléter le dernier doublemot
de 32 bits.
*Data
C'est le dernier champ du paquet IP. Il contient les «données» du paquet. Celles ci peuvent débuter par un en-tête
de couche transport (4) qui donnera d'autres instructions à l'application qui recevra les données. Le champ Data
peut aussi contenir un message ICMP qui ne contient aucune donnée utilisateur.
**Structure d’une trame Ethernet :
*Synchro Bit : 8 octets (préambule + SFD -> Start Frame Delimiter)
Préambule de 7 octets : 10101010 puis le SFD 10101011 afin de synchroniser les horloges des cartes réseaux en jeu dans la communication
Et d’indiquer lors des 2 LSB à 1 que le bit suivant sera le 1er bit utile de la trame
*Mac Dest : 6 octets
Adresse Mac du destinataire.
*Mac Sce : 6 octets
Adresse Mac source.
*Ethertype : 2 octets
Précise le type de protocole qui suit afin de découper convenablement les données (elles ne se découpent pas de la même manière si nous avons affaire au protocole IPv4 ou IPv6 ou ARP ou encore le fait que la trame soit taggée (étiquetage du vlan dans la
trame)
*Données : de 46 à 1474 octets
Champs datas
*[*PAD-remplissage-bits de bourrage] :
Une trame pour ne pas être en erreur ne doit pas être inférieure à 64 octets… on utilise ces bits de bourrage afin de compléter la trame si il y a trop peu de données utiles afin qu’elle fasse au minimum 64 octets
*FCS - CRC: Frame Check Sequency – Cyclic Redondancy Check
Calcul polynomial de degré x sur les bits précédant de la trame afin que ce même calcul soit réalisé à la réception pour que l’on s’assure que l’intégrité de la trame soit conservée.