Description du Module Réseau

Ce module aborde le fonctionnement des télécommunications et des réseaux en général :réseaux téléphoniques, réseaux mobiles, réseaux filaires et sans fil, réseaux informatiques, Internet.

L'objectif principal est la découverte du fonctionnement des réseaux informatiques, d’Internet et de ses applications. Il s’agit à la fois d'acquérir des connaissances de bases liées à l'architecture des réseaux en couches, les échanges de données entre ces couches et les différents protocoles correspondant et de s’initier à la configuration d’un réseau informatique.

Cet enseignement aborde les notions d'empilement de protocoles et d'encapsulation, définit les principaux protocoles d'Internet (Ethernet, ARP, IPv4/6, ICMP, TCP, UDP) et quelques protocoles applicatifs (HTTP, SMTP, IMAP, LDAP, DNS), les notions relatives à l'adressage des réseaux (MAC, IPv4/6, DHCP, NAT).

L'apprenant doit mettre en œuvre des compétences d'analyses de données issues du réseau, d'utilisation d'outils adaptés et de mise en œuvre de programmes permettant la mise en place d'une communication client-serveur.

Par ailleurs, il manipule des outils Unix pour les réseaux, les bases du chiffrement (clés, certificats) et la représentation des données (encodage de caractères, heures, internationalisation, accessibilité).

Bloc 1 - Introduction aux Réseaux : Introduction

Dans cette partie, nous présentons un bref historique des réseaux et d'Internet, les enjeux de la normalisation, les différents types de réseaux et les concepts qui y sont liés comme par exemple les notions de protocole, d'architecture en couches, de débit, de latence, d'erreur de transmission. Nous introduisons les différentes techniques de transmission de l'information.

Nous présentons le modèle OSI qui est la référence dans le monde des réseaux et sa déclinaison sur Internet à savoir l'architecture TCP/IP. Nous abordons la notion d'unité de transmission de données, la trame en particulier, le contrôle d'intégrité avec la notion d'erreur et de somme de contrôle, le contrôle de l'échange qui permet à l'aide de plusieurs mécanismes d'assurer la fiabilité des transmissions c'est à dire de faire en sorte que tout ce qui arrive à destination est exactement ce que l'émetteur a transmis.

Nous utiliserons le protocole HDLC pour illustrer la mise en oeuvre de la fiabilité dans un protocole réel. Nous introduirons la notion d'efficacité d'un protocole qui permet de calculer le débit réel d'une transmission, c'est à dire celui que l'on peut mesurer avec un chronométre.

Dans la dernière section, nous présenterons des outils que vous utiliserez dans les autres parties de ce module comme le terminal, la ligne de commande, un outil de capture et d'analyse de trames, un simulateur de réseau.

Bibliographie :

  • « Réseaux », 6ième édition, Andrew Tanenbaum, Pearson Education, ISBN 2744075213
  • « Réseaux et Télécoms », 4ième édition, Claude Servin, Dunod, ISBN 9782100592593
  • « Analyse structurée des réseaux », 2ième édition, J. Kurose et K. Ross, Pearson Education, ISBN 2744072532
  • « TCP/IP Illustrated Volume 1, The Protocols », 2nd edition, W. R. Stevens, Addison Wesley, ISBN 9780132808200
  • « TCP/IP, Architecture, protocoles, applications », 5ième édition, D. Comer, Dunod, ISBN 2744071862
  • « Initiation aux réseaux », Guy Pujolle, Editions Eyrolles, ISBN 2212091559

1.A - Notions de Base : Objectifs pédagogiques

  • Connaître l'histoire d'internet et comprendre les enjeux de la normalisation
  • Connaître les différents types de réseaux, leurs particularités et les techniques de trasmission de l'information
  • Comprendre les concepts de débit et de latence. Savoir les calculer. Avoir en tête les ordres de grandeurs actuels.
  • Savoir dessiner un échange d'informations intégrant temps de propagation, latence, débit, RTT
  • Savoir calculer le temps de transmission total d’un échange

Temps de travail estimé : 2 heures

1.B - Architectures en Couches : Objectifs pédagogiques

  • Comprendre ce qu’est un protocole
  • Connaître les couches OSI
  • Savoir décrire l’encapsulation et la désencapsulation
  • Connaître l’architecture TCP/IP, la taille des principales en-têtes, l’encapsulation
  • Connaître la différence entre mode connecté et non connecté
  • Savoir reconnaître une requête HTTP

Temps de travail estimé : 2 heures

1.C - Fiabilité des Protocoles : Objectifs pédagogiques

  • Connaître les mécanismes associés à la fiabilité : acquittement, détection d'erreur, somme de contrôle, fenêtre d'émission/réception, numérotation des messages, rejet, contrôle de flux, anticipation, etc.
  • Savoir calculer la probabilité qu’une trame est correcte/erronée
  • Savoir mettre en œuvre la fiabilité sur des exemples d'échanges
  • Savoir calculer l’efficacité d’un échange, calculer un débit utile
  • Savoir décrire l’utilisation des fenêtres d’émission et réception
  • Savoir calculer la taille de la fenêtre optimale
  • Connaître la différence entre rejet simple et rejet sélectif
  • Savoir mettre en œuvre une gestion sautante ou glissante de la fenêtre
  • Connaître les caractéristiques du protocole HDLC, les différents types de trame
  • Savoir comprendre ou compléter un échange HDLC
  • Savoir décoder une trame HDLC avec annexe fournie

Temps de travail estimé : 8 heures

1.D - Outils : Objectifs pédagogiques

  • Savoir utiliser un terminal
  • Savoir manipuler et se déplacer dans une arborescence de fichier
  • Savoir passer des arguments à un programme (Command Line Interface)
  • Comprendre le fonctionnement de l'outil Wireshark
  • Savoir utiliser Wireshark pour analyser une trame ou un échange de trames
  • Savoir utiliser Filius à partir d'un réseau virtuel déjà configuré
  • Savoir configurer un réseau virtuel avec Filius

Temps de travail estimé : 4 heures

Bloc 2 - Les Réseaux Locaux Ethernet : Introduction

Dans ce cours, nous abordons plus en détails les couches basses du modèle OSI, c'est à dire le fonctionnement d'une liaison, d'un réseau local et le rôle d'une carte réseau.

Nous présentons les constituants d'un réseau local, les enjeux de normalisation, les politiques d'accès au support de communication, le rôle de la couche MAC et de la carte réseau, le format des adresses physiques.

Nous étudions en détail le fonctionnement du réseau local Ethernet, le format de la trame, la politique d'accès CSMA/CD. Nous expliquons le rôle et la fonction des équipements permettant de constituer un réseau Ethernet à savoir le répéteur et le commutateur.

Enfin, nous abordons la notion de réseaux locaux virtuels et leur configuration communément appelés les VLAN (Virtual Local Area Network).

Bibliographie :

  • « Réseaux », 6ième édition, Andrew Tanenbaum, Pearson Education, ISBN 2744075213
  • « Réseaux et Télécoms », 4ième édition, Claude Servin, Dunod, ISBN 9782100592593
  • « Analyse structurée des réseaux », 2ième édition, J. Kurose et K. Ross, Pearson Education, ISBN 2744072532
  • « TCP/IP Illustrated Volume 1, The Protocols », 2nd edition, W. R. Stevens, Addison Wesley, ISBN 9780132808200
  • « TCP/IP, Architecture, protocoles, applications », 5ième édition, D. Comer, Dunod, ISBN 2744071862
  • « Initiation aux réseaux », Guy Pujolle, Editions Eyrolles, ISBN 2212091559

2.A - Ethernet : Objectifs pédagogiques

  • Connaître le rôle d'un réseau local, les enjeux de normalisation, les politiques d'accès au média (jeton, CSMA/CD), les différentes versions d'Ethernet
  • Connaître les rôles de la couche MAC, les différents types d’adresses MAC, le format
  • Connaître le format de la trame Ethernet
  • Connaître le principe du CSMA/CD
  • Savoir calculer la taille du bourrage dans une trame Ethernet
  • Connaître la nomenclature de désignation des réseaux Ethernet 10base…

Temps de travail estimé : 4 heures

2.B - Les Commutateurs et Répéteurs : Objectifs pédagogiques

  • Connaître la différence entre un Répéteur et un Commutateur
  • Connaître le fonctionnement du Commutateur

Temps de travail estimé : 2 heures

2.C - Les Réseaux Locaux Virtuels (VLAN) : Objectifs pédagogiques

  • Savoir à quoi servent les VLAN
  • Comprendre le rôle des normes 802.1p et 802.1Q

Temps de travail estimé : 2 heures

Bloc 3 - Fonctionnement d’Internet : Introduction

Dans ce cours, nous allons nous intéresser au fonctionnement d'Internet et plus particulièrement au fonctionnement des couches intermédiares entre les applications et les cartes réseaux permettant la transmission de l'information sur les liaisons. Ce cours est découpé en 5 parties.

La première partie décrit le fonctionnement global d'Internet qui repose sur l'architecture TCP/IP. Nous présentons l'articulation et le rôle des principaux protocoles de cette architecture, en particulier, la couche transport avec les protocoles UDP et TCP qui gèrent les communications entre les applications s'exécutant sur la machine locale et son système d'exploitation, la couche réseau avec les protocoles IP qui gèrent la transmission de données entre les différents réseaux qui composent Internet.

La deuxième partie concerne l'adressage IP et la notion de sous-réseaux. Les adresses IP permettent aux ordinateurs d'être identifiés par une adresse Internet unique et aux routeurs d'interconnecter les différents réseaux qui composent Internet pour assurer les communications entre eux et donc entre tous les équipements terminaux qui accèdent à Internet.

La troisième partie décrit le fonctionnement du routage dans IP, qui permet aux données de voyager à travers les différents réseaux pour atteindre leur destination finale. Les routeurs sont utilisés pour acheminer les données entre les réseaux et pour s'assurer qu'elles arrivent à leur destination. La différence entre le routage statique et le routage dynamique est présentée.

La quatrième partie récapitule les différents rôles du protocole IP à savoir l'adressage des équipements reliés à Internet, l'interconnexion des réseaux qui composent Internet et la fragmentation des paquets lorsque leur taille est trop grande. Cette partie présente le format des en-têtes IPv4 et IPv6, le rôle de chacun des champs qui composent ces en-têtes.

Enfin, la cinquième partie détaille le rôle des protocoles de transport (UDP ou TCP) et celui des protocoles ICMP, ARP et DHCP. Les protocoles TCP et UDP gérent les communications de bout en bout pour les applications qui utilisent Internet en proposant soit un service fiable avec TCP soit un service plus léger, plus rapide mais sans garantie avec UDP. Le protocole ICMP permet de s'assurer à travers des outils comme ping ou traceroute que les communications se déroulent correctement. Le protocole ARP fait le lien entre les adresses IP et les adresses MAC des cartes réseaux. Le protocole DCHP permet d'attribuer dynamiquement une adresse IP à chaque ordinateur dans un réseau local.

Bibliographie :

  • « Réseaux », 6ième édition, Andrew Tanenbaum, Pearson Education, ISBN 2744075213
  • « Réseaux et Télécoms », 4ième édition, Claude Servin, Dunod, ISBN 9782100592593
  • « Analyse structurée des réseaux », 2ième édition, J. Kurose et K. Ross, Pearson Education, ISBN 2744072532
  • « TCP/IP Illustrated Volume 1, The Protocols », 2nd edition, W. R. Stevens, Addison Wesley, ISBN 9780132808200
  • « TCP/IP, Architecture, protocoles, applications », 5ième édition, D. Comer, Dunod, ISBN 2744071862
  • « Initiation aux réseaux », Guy Pujolle, Editions Eyrolles, ISBN 2212091559

3.A - Architecture TCP/IP : Objectifs pédagogiques

  • Connaître l’architecture TCP/IP, le rôle des différents protocoles (IP, TCP, UDP, ICMP, ARP, DHCP), la taille des principales en-têtes
  • Connaître les applications d'Internet et leurs protocoles : HTTP, SMTP, IMAP, FTP, SSH, TELNET, DHCP, DNS
  • Savoir décrire l'encapsulation d'une requête HTTP, DNS, ICMP, ARP c'est à dire donner le format de la trame Ethernet en indiquant dans l'ordre tous les protocoles encapsulés avec leur taille

Temps de travail estimé : 4 heures

3.B - Adressage IP et Sous-Réseaux : Objectifs pédagogiques

  • Savoir faire des conversions binaire/décimal/hexadécimal
  • Connaître le format de l’adresse IPv4 et IPv6
  • Savoir donner les caractéristiques d’une adresse IP, reconnaître les classes, les adresses privées…
  • Savoir donner une adresse de diffusion, la taille d’un SR, la première et dernière adresse machine…
  • Savoir ce qu’est un masque de sous-réseaux et l’écrire dans la forme décimale et CIDR
  • Savoir découper un réseau en plusieurs sous-réseaux
  • Savoir écrire/convertir le masque en notation / ou décimale pointée (Exemple : /8 ou 255.0.0.0)
  • Savoir calculer la première/dernière adresse IP pour une machine dans un sous-réseau donné (Exemple : 192.168.10.1 et 192.168.10.14 dans 192.168.10.0/28)
  • Savoir calculer l'adresse de diffusion dans un sous-réseau donné (Exemple : 192.168.10.15 dans 192.168.10.0/28)
  • Savoir calculer le nombre maximum de machines dans un sous-réseau donné (Exemple : 2^4-2=14 dans 192.168.10.0/28)
  • Savoir calculer l'adresse du sous-réseau d'une machine à partir de son adresse IP/masque (Exemple : 192.168.10.16/28 pour la machine 192.168.10.21/28)
  • Savoir calculer une liste de sous-réseaux dans un réseau donné (Exemple : 4 sous-réseaux dans 10.0.0.0/8 donne 10.0.0.0/10, 10.64.0.0/10, 10.128.0.0/10, 10.192.0.0/10)
  • Savoir ce que fait la commande ip a add
  • Savoir utiliser les commandes spécifiques d’administration réseaux : ping, traceroute, netstat, host/dig, telnet, netcat,gnutls-cli, les commandes ip

Temps de travail estimé : 7 heures

3.C - Routage dans IP : Objectifs pédagogiques

  • Savoir lire une table de routage et faire le schéma du réseau associé
  • Savoir agréger une table de routage
  • Savoir faire une table de routage et la mettre en oeuvre par exemple avec la commande ip route
  • Connaître les principes du routage dynamique
  • Savoir décrire les échanges de trames suite à un ping lors de la traversée d'un routeur (requêtes ARP et ICMP)
  • Savoir analyser des trames, décrire l’encapsulation

Temps de travail estimé : 10 heures

3.D - Protocole IP : Objectifs pédagogiques

  • Comprendre les rôles du protocole IP
  • Comprendre la fragmentation en IPv4
  • Connaître le format des en-têtes IPv4 et IPv6

Temps de travail estimé : 2 heures

3.E - Protocoles de Transport (TCP, UDP) et protocoles de contrôle (ICMP, ARP, DHCP) : Objectifs pédagogiques

  • Connaître les rôles des protocoles TCP et UDP, leurs différences
  • Connaître les principaux composants des en-têtes TCP et UDP
  • Savoir décrire l’ouverture/fermeture d’une connexion TCP
  • Connaître le rôle du protocole ICMP et ses liens avec les commandes ping et traceroute
  • Connaître les principes du NAT

Temps de travail estimé : 3 heures

Bloc 4 - Les applications d’Internet : Introduction

Cette partie étudie les principales applications d'Internet comme la connexion à distance, le transfert de fichiers, le Web, le courrier électronique, l'accès à des fichiers distants, l'authentification des utilisateurs, le nommage des serveurs sur Internet. Nous décrivons le modèle Client/Serveur sur lequel elles s'appuient pour communiquer.

Nous présentons, pour chaque application, leur rôle, leur fonctionnement et les protocoles associés. Nous détaillerons le fonctionnement du Web en décrivant le contenu de pages Web simples, les échanges qui ont lieu entre le navigateur et le serveur Web pour transmettre ces pages Web et les données saisies dans un formulaire.

Dans la troisième section, nous abordons les notions d'encodage des données transmises par les applications et nous montrons comment programmer ces applications que ce soit du côté Client ou Serveur.

Bibliographie :

  • « Réseaux », 6ième édition, Andrew Tanenbaum, Pearson Education, ISBN 2744075213
  • « Réseaux et Télécoms », 4ième édition, Claude Servin, Dunod, ISBN 9782100592593
  • « Analyse structurée des réseaux », 2ième édition, J. Kurose et K. Ross, Pearson Education, ISBN 2744072532
  • « TCP/IP Illustrated Volume 1, The Protocols », 2nd edition, W. R. Stevens, Addison Wesley, ISBN 9780132808200
  • « TCP/IP, Architecture, protocoles, applications », 5ième édition, D. Comer, Dunod, ISBN 2744071862
  • « Initiation aux réseaux », Guy Pujolle, Editions Eyrolles, ISBN 2212091559

4.A - Les applications d’Internet : Objectifs pédagogiques

  • Connaître les composants d’une application Client/Serveur
  • Connaître les principales applications d’Internet, leur rôle, les protocoles associés et le protocole de transport utilisé
  • Savoir se connecter à un serveur par ssh
  • Savoir faire une copie de fichiers à distance avec scp
  • Savoir utiliser les commandes Unix suivantes : ls, mv, mkdir, cp, echo, cat, touch, pwd, rm

Temps de travail estimé : 6 heures

4.B - L’exemple du Web : Objectifs pédagogiques

  • Savoir écrire le code HTML d'une page web simple contenant un formulaire
  • Savoir afficher les éléments reçus par le serveur après soumission d'un formulaire
  • Savoir écrire/lire dans un fichier texte côté serveur
  • Savoir gérer l'emplacement des fichiers sur le serveur web
  • Savoir transmettre une variable d'une page à une autre soit avec un champ caché dans un formulaire, soit en stockant la variable dans un fichier côté serveur
  • Savoir observer les échanges entre le client et le serveur avec l’inspecteur intégré au navigateur web
  • Savoir décrire les échanges entre un navigateur Web et un serveur Web

Temps de travail estimé : 4 heures

4.C - Programmation Socket : Objectifs pédagogiques

  • Savoir faire des requêtes cliente à la main avec telnet (ou netcat)
  • Programmer un client à l'aide de sockets en Python
  • Programmer un serveur à l'aide de sockets en Python

Temps de travail estimé : 6 heures