Les réseaux 1. Qu'est-ce qu'un réseau ? Un réseau, en informatique, correspond à plusieurs ordinateurs reliés entre eux par des câbles (ou des ondes radio) afin de pouvoir échanger des ressources ou des informations. Le commutateur (ou "switch") dispose de plusieurs "ports" (ou connecteurs) reliés par des câbles de type RJ45 à chaque ordinateur ou autre appareil (imprimante,...) du réseau. WIFI switch modem routeur pare-feu Il sait quel ordinateur est connecté à chaque port, et il trie tous les paquets d'informations qu'il reçoit de façon à les envoyer uniquement à l'ordinateur qui est sensé les recevoir. INTERNET serveurs Un réseau local est souvent appelé LAN, acronyme signifiant Local Area Network. Un appareil (ordinateur, imprimante,...) branché sur un réseau est appelé un "nœud" du réseau. Un routeur est un "pont" qui connecte deux réseaux entre eux, par exemple ici internet et le réseau local. Il utilise une adresse matérielle appelée "adresse MAC" pour identifier chaque nœud du réseau. Il inspecte chaque message qui lui parvient d'un côté et le diffuse si le message est destiné à un nœud situé de l'autre côté. Le pare-feu est obligatoire pour garantir la sécurité du réseau local dès lors qu'il est relié à internet. C'est une sorte de vigile qui analyse et filtre toutes les informations qui entrent et qui sortent du réseau local. N'oublions jamais que le cyberespace est peuplé de pirates informatiques à la recherche de réseaux mal protégés, dans le but de s'introduire et de récupérer des informations confidentielles (codes ou documents secrets) ou tout simplement d'inonder votre serveur de messagerie de publicités. Le modem (abréviation de modulateur démodulateur) est un appareil permettant à un ordinateur de transmettre ou de recevoir des informations sur une ligne téléphonique. Des signaux numériques peuvent passer par le câble exclusivement pour la voie descendante (fournisseur d'accès client) mais pour le retour (ou voie montante client fournisseur) la communication s'effectue toujours de façon analogique et il est nécessaire de la démoduler pour obtenir un signal numérique exploitable par l'ordinateur. Il existe deux types d'ordinateurs sur un réseau: * les ordinateurs clients qui sont des consommateurs et utilisent les ressources du réseau (imprimantes, dossiers ou logiciels partagés,...) * les ordinateurs serveurs qui sont les fournisseurs et mettent à disposition des "clients" leurs propres imprimantes, espaces de stockage (disques durs), logiciels,... Remarque: Un ordinateur peut fonctionner à la fois comme client et comme serveur. Pour cela, il faut activer une fonctionnalité Windows nommée: "partage de fichier et d'imprimantes". Sous Windows 7, aller dans "Panneau de configuration" puis "Centre réseau et partage" et "Choisir les options de partage et de groupe résidentiel". Internet est un réseau de réseaux, composé de millions de réseaux aussi bien publics que privés, universitaires, commerciaux et gouvernementaux. Internet transporte un large spectre d'informations et permet l'élaboration d'applications et de services variés comme le courrier électronique, la messagerie instantanée (tchat) et le World Wide Web. Le World Wide Web (toile d’araignée mondiale) est un système hypertexte public qui permet de consulter, avec un navigateur (Internet Explorer, Mozilla,...), des pages HTML accessibles sur des sites. 1 2. Le protocole TCP/IP: TCP signifie Protocole de Contrôle de Transmission et IP signifie Protocole Internet. Le sigle TCP/IP désigne donc un protocole de communication (des règles à respecter) entre les deux machines client et serveur qui veulent établir une connexion et communiquer entre-elles sur le réseau Internet. Remarque: De nombreux protocoles de communication différents sont basés sur les 2 protocoles TCP et IP, par exemple: * HTTP (Hyper Text Transfer Protocol): utilisé pour transmettre les pages web * SSL (Secure Sockets Layer): protocole de sécurisation des échanges sur Internet (carte bleue, codes) * SMTP (Simple Mail Transfer Protocol): transfert du courrier entre serveurs de messagerie * FTP (File Transfer Protocol): transfert de fichiers Le protocole TCP se charge de la communication entre les applications, c’est-à-dire entre les logiciels utilisés par les ordinateurs. Il vérifie que le destinataire est prêt à recevoir les données. Il régule le débit des données en fractionnant les messages en paquets plus petits appelés segments, et en numérotant ces paquets de façon à pouvoir reconstituer ces messages sans erreurs par la suite. A la réception, il vérifie que tous les paquets sont bien arrivés et peut redemander les paquets manquants. Il réassemble les paquets avant de les transmettre aux logiciels. Il envoie des accusés de réception pour prévenir l'expéditeur que les données sont bien arrivées. Pour permettre le bon déroulement de la communication et de tous les contrôles qui l'accompagnent, les données sont encapsulées, c'est-à-dire qu'on ajoute aux paquets de données des en-têtes par couches successives, ce qui va permettre de synchroniser les transmissions et d'assurer leur réception. Le paquet de données est appelé message au niveau de la couche Application en-têtes Le message est ensuite encapsulé sous forme de segment dans la couche Transport Le segment encapsulé dans la couche Internet prend le nom de datagramme Enfin, on parle de trame au niveau de la couche Accès réseau Au niveau de la machine réceptrice, lors du passage dans chaque couche, l'en-tête est lu puis supprimé. Ainsi, à la réception, le message est dans son état originel. Le protocole IP se charge du routage de chaque paquet (ou datagramme) vers sa destination, c’est-à-dire de l’acheminement des données sur le réseau. Pour que les paquets parviennent à leur destination, une adresse IP unique est attribuée à chaque ordinateur connecté au réseau. Les paquets de données transitent par des dizaines d'ordinateurs serveurs jusqu'à atteindre leur destinataire. Le protocole TCP/IP fait travailler ensemble IP et TCP pour que les paquets ne se perdent pas ou n’arrivent pas en double exemplaire, et pour s’assurer que chaque paquet est bien arrivé à destination. 3. Comment identifier chaque nœud du réseau ? Chaque machine connectée au réseau possède un numéro d'identification de 48 bits appelé adresse MAC ou adresse physique. Ce numéro unique au monde est fixé dès la fabrication de la carte en usine. Toutefois l'identification sur Internet ne se fait pas directement à partir de ce numéro (car il faudrait modifier l'adressage des ordinateurs à chaque fois que l'on change une carte réseau et il n'y aurait aucun point commun entre les adresses MAC des ordinateurs d'un même réseau) mais à partir d'une adresse IP ou adresse logique attribuée par un organisme: l'ICANN (Internet Corporation for Assigned Names and Numbers) Une adresse IP se présente sous la forme de 4 nombres décimaux (compris entre 0 et 255) séparés par des points. Exemple: 204.35.129.3 qui s'écrit en binaire sur 32bits (4 octets): 11001100001000111000000100000011 octet 1 octet 2 octet 3 octet 4 2 Recherche le nom de ton ordinateur ainsi que celui de son groupe de travail. * clic droit sur "ordinateur" (Poste de travail), puis "propriétés Recherche son adresse MAC et l'adresse IP qui lui a été attribuée. * méthode 1: ouvrir une fenêtre MS-DOS en tapant "cmd" sur la ligne de commande Windows, puis taper "ipconfig/all" * méthode 2: aller dans le panneau de configuration, puis "centre réseau et partage". dans la section "afficher vos réseaux actifs" se trouve le réseau sur lequel vous êtes connecté. Clic gauche sur le lien "connexions" de ce réseau, puis "Détails" Donne la valeur binaire de ton adresse IP (en utilisant le convertisseur décimalbinaire programmé au TP2) Combien d'adresses IP différentes codées sur 32 bits (standard actuel IPv4) peut-on définir ? Aujourd'hui, plus de la moitié de ces adresses IP disponibles ont été attribuées, et un nouveau standard d'adresses IP codées sur 128 bits, appelé IPv6, va bientôt être adopté. On distingue deux parties dans une adresse IP : * une partie des nombres à gauche désigne le réseau ID de réseau (netID) * les nombres de droite désignent les ordinateurs de ce réseau ID d'hôte (hostID) Il est ainsi possible de rechercher INTERNET dans un premier temps le réseau que l'on désire atteindre dans un deuxième temps un ordinateur particulier sur ce réseau. Remarque: L'attribution des adresses IP et leur partition en deux ID (net-host) se fait selon la taille du réseau. Dans le système originel de définition des réseaux IP, les adresses IP étaient réparties en classes, selon le nombre d'octets qui représentaient le réseau: 1 (classe A), 2 (classe B) ou 3 (classe C). On reconnait la classe à partir des bits de poids fort (à gauche) de l'adresse IP: 0xxxxxxx classe A 10xxxxxx classe B 110xxxxx classe C classe A: 0xxxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Réseau Ordinateurs Combien peut-il y avoir de réseaux de classe A en mode IPv4 dans le monde ? On tiendra compte du fait que le réseau 0 (00000000) n'existe pas et que le réseau 127 (11000000) est réservé pour communiquer avec votre propre ordinateur. Combien de machines différentes peut contenir un réseau de classe A ? Les réseaux disponibles en classe A sont donc les réseaux allant de 1.0.0.0 à 126.0.0.0 (les derniers octets sont des zéros ce qui indique qu'il s'agit bien de réseaux et non d'ordinateurs !) Quelques grosses sociétés comme IBM ou Apple Computer ont des adresses IP de classe A. 3 classe B: 10xxxxxx xxxxxxxx xxxxxxxx xxxxxxxx Réseau Ordinateurs Combien peut-il y avoir de réseaux de classe B en mode IPv4 dans le monde ? Combien de machines différentes peut contenir un réseau de classe B ? Les réseaux disponibles en classe B sont donc les réseaux allant de 128.0.0.0 à 191.255.0.0 classe C: 110xxxxx xxxxxxxx xxxxxxxx xxxxxxxx Réseau Ordinateurs Combien peut-il y avoir de réseaux de classe C en mode IPv4 dans le monde ? Combien de machines différentes peut contenir un réseau de classe C ? Les réseaux disponibles en classe C sont donc les réseaux allant de 192.0.0.0 à 223.255.255.0 réseau local Remarque: Il arrive fréquemment dans une entreprise qu'un seul ordinateur soit relié à internet. On parle alors de passerelle, car il permet de relier entre eux deux réseaux informatiques différents. Le plus souvent, il sert aussi de pare-feu, ce qui permet de contrôler tous les transferts de données entre les ordinateurs du réseau local et internet. INTERNET Dans ces conditions, seul l'ordinateur relié à internet (ou le routeur) a besoin de réserver une adresse IP auprès de l'ICANN. Toutefois, les autres ordinateurs ont tout de même besoin d'une adresse IP locale pour pouvoir communiquer ensemble en interne. Quelle est la passerelle par défaut pour le réseau du lycée auquel appartient ton ordinateur ? Quelle est la classe de ce réseau ? 4. Masques de sous-réseaux: La notion de classe est aujourd'hui considérée comme désuète, depuis l'avènement du routage sans classe. Cependant, les adresses IPv4 sont toujours composées de deux parties: l'adresse du sous-réseau et celle de l'hôte. Le masque de sous-réseau permet de connaitre le nombre de bits d'une adresse IPv4 utilisés pour identifier le sous-réseau, et le nombre de bits caractérisant les hôtes, ce qui permet de connaitre aussi le nombre d'hôtes possibles dans ce sous-réseau. L'adresse du sous-réseau est une suite de bits égaux à 1 suivie par une suite de bits égaux à 0. On peut bien-sûr l'écrire en notation décimale: 255.255.224.0 pour 11111111.11111111.11100000.00000000 En comptant le nombre de bits ayant pour valeur "1" dans le masque de sous-réseau, on obtient le nombre de bits de l'adresse IPv4 consacrés à l'adresse du sous-réseau (19 bits dans cet exemple). Les autres bits de l'adresse IPv4 (soit ici 32 – 19 = 13 bits) sont disponibles pour les adresses locales des machines du sous-réseau. 4 Exemple: Adresse IPv4 Masque de sous-réseau Adresse du sous-réseau Adresse de l'hôte Remarque: Notation décimale 91.198.174.2 255.255.224.0 91.198.160.0 0.0.14.2 Notation binaire 01011011.11000110.10101110.00000010 11111111.11111111.11100000.00000000 01011011.11000110.10100000.00000000 00000000.00000000.00001110.00000010 Dans cet exemple, les 19 bits de poids fort sont à 1 dans le masque. On peut donc écrire l'adresse IPv4 de la machine concernée: 91.198.174.2 / 19 Complète le tableau ci-dessous pour ton ordinateur. Notation décimale Notation binaire Adresse IPv4 Masque de sous-réseau Adresse du sous-réseau Adresse de l'hôte Combien de machine peuvent fonctionner sur ce sous-réseau du lycée ? Compare l'adresse du sous-réseau à celle de la passerelle et conclue. Adresses particulières: Chaque réseau possède une adresse de diffusion (broadcast) obtenue en remplaçant tous les bits de la partie host-id par des 1, soit pour l'exemple précédent 01011011.11000110.10111111.11111111 ou 91.198.191.256 Tous les hôtes du réseau écoutent cette adresse en plus de la leur, et elle permet d'envoyer un message à toutes les machines installées sur le réseau local. Quelle-est l'adresse de diffusion pour le réseau du lycée ? L'adresse 127.0.0.1 est appelée adresse de rebouclage (loopback), car elle permet à une machine locale (localhost) de communiquer avec elle-même. Il est ainsi possible de vérifier si la pile TCP/IP (ensemble des protocoles vu au chapitre 2) d'un ordinateur fonctionne bien en lui faisant exécuter la commande ping sur localhost ou 127.0.0.1. Ouvrir une fenêtre MS-Dos en tapant "cmd" sur la ligne de commande Windows, puis taper "ping localhost" ou "ping 127.0.0.1." (sans les guillemets!) Combien y a-t-il eu de paquets envoyés ? Combien d'octets contenait chaque paquet ? Quelle a été la durée moyenne d'une boucle ? Ce protocole permet de tester toutes les couches jusqu'à la carte réseau de l'ordinateur utilisé, mais ne permet pas de vérifier si la carte réseau est bien connectée à un réseau ! Pour cela, il faut effectuer un bouclage "ping" sur un serveur extérieur... par exemple www.physiquepovo.com Effectue une commande "ping" sur www.physiquepovo.com Commente les différences avec les résultats précédents. 5 Remarque 1: L'information TTL (Time To Live) concerne la durée de vie du paquet émis. Elle permet de connaître le nombre de routeurs traversés par le paquet lors de l'échange entre les deux machines. Chaque paquet IP envoyé possède une TTL initialisée à une valeur relativement grande (128 ou 255). A chaque passage d'un routeur, et proportionnellement au temps qui passe, la valeur TTL diminue. S'il arrive que le champ arrive à zéro, le routeur interprétera que le paquet tourne en boucle et il le détruira. Remarque 2: La commande "ping" peut être complétée par les options "r 9" et "a" Lorsque vous "pingez" un serveur, les paquets que vous envoyez passent par plusieurs serveurs intermédiaires. La commande "a" enregistre les noms d'hôtes de ces serveurs et la valeur donnée à "r" (maximum 9) précise le nombre de serveurs dont on souhaite recevoir une réponse détaillée. Effectue la commande "ping www.physiquepovo.com -r 4 -a" Cite les noms et les adresses IP des 4 premiers serveurs transmettant la requête "ping" de ton ordinateur au site de physique. 5. Créons notre réseau local: Nous disposons de clefs USB wifi qui vont nous permettre de relier par onde hertzienne nos ordinateurs entre eux par l'intermédiaire d'un modem-routeur. Débrancher le câble qui relie l'ordinateur au réseau du lycée, de façon à ce que notre réseau ne rentre pas en compétition avec un autre. Installer les pilotes pour ce périphérique grâce au CD (si ce n'est déjà fait) puis brancher la clef Wi-fi. Le logiciel Bluestork qui gère la connexion wifi par l'intermédiaire de cette clef scanne les ondes wifi et propose les liaisons disponibles. Se connecter sur "Belkin 56g" (réseau non sécurisé). Lorsque la liaison avec le routeur est établie l'icône correspondante située à droite de la barre des taches (dans la zone de notification), indique "Belkin 56g" avec un point d'exclamation pour indiquer qu'il n'y a pas de liaison Internet. L'antivirus demande de préciser le type de réseau auquel on s'est connecté afin d'évaluer les risques encourus: sélectionner "site de confiance domicile ou bureau". Cliquer sur l'icone précédente pour ouvrir le centre réseau et partage (ou panneau de configuration / Réseau et Internet / afficher l'état et la gestion du réseau): Cliquer sur "afficher l'intégralité du réseau" pour que Windows crée le mappage réseau (affichage des périphériques appartenant à notre réseau). Au passage de la souris sur un nœud du réseau, son adresse IP attribuée automatiquement par le routeur est affichée, ainsi que son adresse MAC,.... En cliquant (clic droit) sur un des ordinateurs en réseau, on peut l'ouvrir et afficher ses éléments partagés. Remarque: pour que les ordinateurs puissent communiquer entre eux: * le nom du groupe de travail doit être le même pour chacun d'eux. Le vérifier en faisant clic droit sur "ordinateur (poste de travail)" puis "propriétés" et éventuellement "modifier les paramètres". * le mot de passe du groupe de travail doit être le même pour chacun d'eux. Le vérifier en ouvrant: "panneau de configuration / groupe résidentiel / afficher le mot de passe" puis éventuellement "modifier le mot de passe". En profiter pour cliquer sur le type de fichiers que l'on souhaite partager et modifier éventuellement les paramètres de partage avancés. nom du groupe de travail: mot de passe du groupe de travail: types de fichiers partagés: 6 Afficher les commandes "Réseau", "Connexion" et "Groupe résidentiel" dans le menu démarrer en effectuant un clic droit sur l'icône correspondante (à gauche de la barre des tâches, en bas du bureau) puis "propriétés" et "personnaliser". En cliquant sur "Réseau", on affiche les répertoires partagés pour chaque ordinateur. Exemple: Visualisez sur votre ordinateur le fichier Client_TCP.zip qui est sur le bureau de l'ordinateur du professeur et copiez-le sur votre bureau. Remarque: Les répertoires qui apparaissent dans le poste de travail ("ordinateur") avec un cadenas fermé ne sont pas visibles. On peut les partager en faisant un clic droit sur cette icône, puis "propriétés", onglet "partage", bouton "partager", sélectionner "groupe résidentiel" dans le menu déroulant à gauche du bouton "ajouter", puis cliquer sur ce bouton pour ajouter dans le tableau des utilisateurs autorisés en conservant "lecture" dans le niveau d'autorisation (de façon à ce que les autres utilisateurs ne puissent pas modifier vos fichiers). 6. L'architecture de type Client-Serveur: Voir le site de Loïc BEAUFILS http://www.beaufils-portfolio.com/index.php/client-serveur-tcp Il s’agit de définir un ordinateur comme étant le serveur (celui du prof par exemple), c’est à dire qu’il est à l’écoute des requêtes d’un ou plusieurs ordinateurs appelés clients (ceux des élèves). Afin de faire communiquer deux machines, il faut d’une part qu’elles soient connectées via un réseau, et d’autre part qu’elles utilisent un protocole commun. Nous utiliserons ici le protocole de communication TCP/IP, qui est le plus utilisé dans le monde (notamment par internet), et nous utiliserons un langage ASCII qui permettra au serveur et aux clients de communiquer. Dézipper le fichier Client_TCP.zip récupéré précédemment puis lancer le fichier Client TCP.exe. Ton professeur fait de-même avec un fichier Serveur_TCP.zip. Indiquer l'adresse IP correspondant au PC serveur, puis cliquer sur "activer". La connexion avec le serveur s'établit et celui-ci renvoie un message indiquant le nombre de clients connectés. Il est alors possible d'envoyer des messages au serveur, qui peut les diffuser à tous les clients connectés s'il a coché la case "redirection". De même, le serveur peut communiquer avec les clients. 7. Serveur local et commande à distance: Voir l'excellent livre de David REY: "contrôle, commande et mesure via Internet" et les suppléments en ligne sur le site de l'éditeur Dunod. Un serveur peut être un simple logiciel capable de recevoir et d'émettre selon le protocole HTTP. David REY en propose plusieurs dont "IOserver" (qui est installé sur l'ordinateur de ton prof) et qui permet de communiquer via le port USB avec une carte extérieure possédant des entrées et des sorties numériques dont les états "0" ou "1" peuvent être visualisés grâce à des DELs. Lorsqu'on se connecte sur ce logiciel serveur, il envoie une page HTML qui s'ouvre dans le navigateur internet et qui permet de commander trois sorties nommées RTS, TXD et DTR. Comment se connecter sur ce logiciel serveur ? * l'ordinateur qui héberge ce logiciel doit le considérer comme un serveur local (client et serveur sur le même PC) son adresse IP est par convention: 127.0.0.1 (on peut à la place taper: "localhost"). * un autre ordinateur du réseau doit rentrer dans son navigateur l'adresse IP de l'ordinateur serveur. Celui-ci lui adresse alors la page HTML qui permet de commander à distance à partir de n'importe quel PC l'allumage et l'extinction des 3 DELs témoin. Cite des applications pour cette expérimentation: 7