• 12 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 03/02/2020

Transmettez un paquet de données entre client et serveur

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Découvrez le service DNS qui permet de passer d’un nom de domaine à une adresse réseau

L’acheminement des données depuis l’objet connecté vers le serveur nécessite l’utilisation de plusieurs mécanismes clefs. C’est ce que nous allons voir maintenant.

Le premier service nécessaire est le service DNS, pour Domain Name System

C’est un annuaire qui permet de faire la correspondance entre l’adresse IP d’une machine et le nom canonique que nous utilisons. Souvenez-vous, nous avons expliqué le fonctionnement applicatif du DNS dans la section 3 du chapitre 1.

Pour rappel, chaque machine possède la plupart du temps deux identités :

  • l’adresse IP telle que 134.214.100.144 qui est un identifiant logique utilisé pour émettre/recevoir des données ;

  • le nom canonique, plus facilement compréhensible par les humains, comme moncapteur.mondomain.fr.

Souvent, nous ne connaissons que le nom canonique d’un serveur. Aussi, lorsque nous devons envoyer des données, la première opération consiste à envoyer une requête au serveur DNS en indiquant le nom canonique connu. Le DNS enverra alors une réponse avec l’adresse IP associée.

Notez que chaque machine possède au moins l’adresse d’un serveur DNS, et souvent l’adresse d’un serveur DNS secondaire, utilisé en cas de défaillance du serveur primaire. Le service DNS est fourni par votre entreprise, votre fournisseur d’accès à Internet ou librement, comme le DNS de Google.

Lorsque votre capteur de température ou votre ordinateur envoie une requête DNS au serveur primaire préconfiguré, celui-ci peut répondre directement s’il connaît la réponse.

Sinon, le serveur DNS va lancer une résolution.

Deux méthodes de résolution sont utilisées : la méthode itérative et la méthode récursive.

  • Dans la méthode itérative, le serveur DNS initial va contacter un serveur DNS de niveau supérieur :

    • si ce DNS supérieur connaît la réponse, elle est transmisse au DNS qui la fait suivre à l’objet connecté ;

    • si le DNS supérieur ne connaît pas la réponse, il va indiquer au serveur DNS initial l’adresse d’un autre serveur DNS pouvant connaître la réponse. Et ainsi de suite, de proche en proche, jusqu’à trouver un serveur DNS qui connaisse la correspondance entre le nom canonique et l’adresse IP.

  • Dans la méthode récursive, le serveur DNS initial va contacter un serveur DNS de niveau supérieur :

    • si celui-ci connaît la réponse, alors elle est transmisse au DNS initial qui va la faire suivre jusqu’à l’objet connecté ;

    • sinon, le DNS supérieur va, récursivement, interroger un autre serveur DNS de niveau supérieur, jusqu’à recevoir la correspondance entre l’adresse IP et le nom canonique.

Définissez un algorithme distribué pour construire une table de routage 

Le deuxième service essentiel, c’est le routage. Il consiste à déterminer un chemin pour acheminer les paquets depuis la source vers la destination.

Notez que le chemin pour aller du capteur météo vers le serveur peut être différent du chemin pour aller du serveur vers le capteur météo, car, dans Internet, les deux chemins sont indépendants.

Dans Internet, le chemin n’est pas calculé par la source. Il n’est pas non plus connu lors de l’émission du paquet. En fait, le chemin est calculé de saut en saut, à chaque traitement d’un paquet par un routeur intermédiaire.

Comment le routeur peut-il déterminer, parmi tous ses routeurs voisins, le prochain saut ?

Nous verrons en détail, dans la partie 2 de ce cours, comment on calcule un chemin de façon précise.

La première chose à retenir c’est que l’on cherche toujours à calculer le plus court chemin. Attention, le plus court chemin peut être le plus court chemin en termes de délai de bout en bout, ou le chemin offrant le meilleur débit.

Un routeur utilise une table de routage pour déterminer le prochain saut, qui indique en particulier, en fonction de l’adresse de destination du paquet, le routeur voisin de coût le plus faible.

Comment la table de routage est-elle alimentée ?

Il existe deux familles de protocoles :

  • les protocoles de routage à état de liens : comme le protocole OSPF basé sur l’algorithme de Dijkstra, ils cherchent à construire, au sein de chaque routeur, une vision complète de la topologie, ce qui permet de calculer le chemin le plus court ;

  • les protocoles de routage à vecteur de distance : les protocoles de routage à vecteur de distance, comme le protocole RIP basé sur l’algorithme Bellman-Ford, cherchent à calculer le coût du chemin restant pour chacun des routeurs voisins. 

Maintenant que nous avons défini les concepts sous-jacents aux protocoles de routage et la notion de table de routage, nous allons expliquer comment un paquet est relayé de proche en proche.

Découvrez le relais de proche en proche d’un paquet de données entre source et destination

Considérons toujours notre capteur météo qui collecte des données et qui doit les envoyer régulièrement à un serveur distant, également connecté à Internet.

Plusieurs routeurs intermédiaires vont être traversés par chacun des paquets échangés. Comme nous l’avons vu dans la section précédente, chaque routeur possède une table de routage qui indique, pour chaque routeur voisin, le coût pour acheminer le paquet.

Lorsqu’un paquet arrive à un routeur,  celui-ci analyse l’en-tête du protocole Internet, en particulier l’adresse IP source et l’adresse IP destination. Chaque adresse comporte deux informations : l’identité du réseau et l’identité de la machine dans le réseau.

Ainsi, le routeur va chercher dans sa table de routage l’identité du réseau de la machine destination. Dans la table de routage, on va trouver, associée à l’identité du réseau destination, l’adresse du prochain routeur et plusieurs métriques. Le paquet va ensuite être relayé vers le prochain routeur identifié.

Dans Internet, chaque paquet est indépendant. Il est donc routé indépendamment des paquets qui sont envoyés avant lui et après lui.

Autrement dit, plusieurs paquets envoyés par le même client vers le même serveur peuvent suivre des chemins différents.

En résumé de la partie 1

Dans cette première partie, nous avons appréhendé la mise en réseau d'un objet communicant afin d'en donner une vision d'ensemble. Après la présentation de quelques applications pouvant fonctionner sur un objet, nous avons présenté l'architecture de communication client-serveur, au coeur de tous les échanges, en expliquant les principales interactions, les messages emblématiques et les équipements impliqués.

Nous avons discuté de la notion d'architecture protocolaire, de protocoles et de services, insistant sur quelques mécanismes clefs. Enfin, nous avons terminé par expliquer comment une donnée collectée par un objet connecté peut être acheminée vers un serveur grâce au routage.

Dans la partie suivante, nous verrons comment construire une route depuis une source vers la destination.

 

Exemple de certificat de réussite
Exemple de certificat de réussite