PROSIT 7 Nom du PROSIT => Thème ou sujet du Prosit Rédacteur Base des réseaux informatiques Appréhension du modèle OSI et de TCP/IP Desmaison Romain / Monceret Nicolas **MOTS CLEFS / A DEFINIR ISO : Le modèle de référence OSI (Open System Interconnections) définit une sorte de langage commun. Ce modèle a été mis au point par l'ISO (Organisation Internationale des Standards) et il est devenu le socle de référence pour tout système de traitement de communications. Média / Médium : Support physique permettant la transmission de données, ici, au sein d’un réseau. Il peut être de type torsadé blindé, fibre optique… Optoélectronique : La fibre optique est le média le plus couramment utilisé pour assurer les transmissions point à point, plus longues et à haut débit sur des backbones de réseau local (LAN) et sur des réseaux longue distance (WAN). Les médias optiques utilisent la lumière pour transmettre des données via des fibres en matière plastique ou en verre fin. Les signaux électriques amènent un émetteur à fibre optique à produire des signaux lumineux dans la fibre, que l'hôte récepteur convertit en signaux électriques à l'autre extrémité de la fibre. Cependant, le courant électrique ne circule pas dans les câbles à fibre optique, car le verre utilisé dans ce type de câble est un excellent isolant électrique. Bande passante : La bande passante désigne le débit maximum supporté par une ligne de communication exprimé en nombre de bits que l'on peut transmettre, en une seconde, sur une liaison. La bande passante exprime en quelque sorte la "grosseur" du tuyau utilisé pour la réalisation des échanges. Elle est habituellement exprimée par le nombre de cycles par seconde (Hertz, ou Hz) dans les systèmes analogues et par le nombre de bits par seconde (bps ou bauds) dans les systèmes numériques. D’un point de vue physique, la bande passante est une plage de fréquence pour laquelle le signal n’atteint pas de fortes atténuations. IPv4 : IPv4 est la version 4 du Protocole Internet. Elle fut la première version du Protocole Internet à être largement déployée, et forme encore la base (en 2005) de l'Internet. Elle est décrite dans la RFC numéro 791 (RFC 791). IPv4 utilise une adresse IP sur 32 bits, ce qui est un facteur limitant à l'expansion d'Internet puisque "seulement" 4 294 967 296 adresses sont possibles. Cette limitation conduit à la transition d'IPv4 vers IPv6, actuellement en cours de déploiement, qui devrait progressivement le remplacer. Cette limitation est pour l'instant contournée grâce à l'utilisation de techniques de translation d'adresses NAT ainsi que par l'adoption du système CIDR. Modèle OSI : Le modèle de référence OSI (Open System Interconnections) publié en 1984 fut le modèle descriptif de réseau créé par l’ISO. Ce modèle propose aux fournisseurs un ensemble de normes assurant une compatibilité et une interopérabilité accrues entre divers types de technologies réseau produites par de nombreuses entreprises à travers le monde. Le modèle de référence OSI s’est imposé comme le principal modèle pour les communications réseau. Bien qu’il existe d’autres modèles, la plupart des constructeurs de réseau se fondent sur le modèle de référence OSI pour la conception de leurs produits. Cela est particulièrement vrai lorsqu’ils souhaitent éduquer les utilisateurs à l’utilisation de leurs produits. Ce modèle est considéré comme le meilleur outil disponible pour décrire l’envoi et la réception de données sur un réseau. Ethernet : Ethernet est un protocole de réseau informatique à commutation de paquets implémentant la couche physique et la sous-couche MAC du modèle OSI. Le standard qui a été le plus utilisé dans les années 1990 et qui l'est toujours est le 802.3 de l'IEEE. Ce dernier a largement remplacé d'autres standards comme le Token Ring et l'ARCNET. Caractéristiques et Fonctionnement de Ethernet Ethernet (aussi connu sous le nom de norme IEEE 802.3) est une technologie de réseau local basé sur le principe suivant : Toutes les machines du réseau Ethernet sont connectées à une même ligne de communication, constituée de câbles cylindriques. On distingue différentes variantes de technologies Ethernet suivant le diamètre des câbles utilisés: 10Base-2: Le câble utilisé est un câble coaxial de faible diamètre 10Base-5: Le câble utilisé est un câble coaxial de gros diamètre 10Base-T: Le câble utilisé est une paire torsadée, le débit atteint est d'environ 10Mbps 100Base-TX: Comme 10Base-T mais avec une vitesse de transmission beaucoup plus importante (100Mbps) Technologie Type de câble Vitesse Portée 10Base-2 Câble coaxial de faible diamètre 10Mb/s 185m 10Base-5 Câble coaxial de gros diamètre (0.4 inch) 10Mb/s 500m 10Base-T Double paire torsadée 10 Mb/s 100m 100Base-TX Double paire torsadée 100 Mb/s 100m 1000Base-SX Fibre optique 1000 Mb/s 500m Ethernet est une technologie de réseau très utilisée car le prix de revient d'un tel réseau n'est pas très élevé. Tous les ordinateurs d'un réseau Ethernet sont reliés à une même ligne de transmission, et la communication se fait à l'aide d'un protocole appelé CSMA/CD (Carrier Sense Multiple Access with Collision Detect ce qui signifie qu'il s'agit d'un protocole d'accès multiple avec surveillance de porteuse (Carrier Sense) et détection de collision). Avec ce protocole toute machine est autorisée à émettre sur la ligne à n'importe quel moment et sans notion de priorité entre les machines. Cette communication se fait de façon simple: Chaque machine vérifie qu'il n'y a aucune communication sur la ligne avant d'émettre Si deux machines émettent simultanément, alors il y a collision (c'est-à-dire que plusieurs trames de données se trouvent sur la ligne au même moment) Les deux machines interrompent leur communication et attendent un délai aléatoire, puis la première ayant passé ce délai peut alors réémettre Ce principe est basé sur plusieurs contraintes: Les paquets de données doivent avoir une taille maximale il doit y avoir un temps d'attente entre deux transmissions Le temps d'attente varie selon la fréquence des collisions: Après la première collision une machine attend une unité de temps Après la seconde collision la machine attend deux unités de temps Après la troisième collision la machine attend quatre unités de temps ... avec bien entendu un petit temps supplémentaire aléatoire Ethernet commuté : Jusque là, la topologie Ethernet décrite était celle de l'Ethernet partagé (tout message émis est entendu par l'ensemble des machines raccordées, la bande passante disponible est partagée par l'ensemble des machines). Depuis quelques années une évolution importante s'est produite: celle de l'Ethernet commuté. La topologie physique reste une étoile, organisée autour d'un commutateur (switch). Le commutateur utilise un mécanisme de filtrage et de commutation très similaire à celui utilisé par les passerelles (bridge) où ces techniques sont utilisées depuis fort longtemps. Il inspecte les adresses de source et de destination des messages, dresse une table qui lui permet alors de savoir quelle machine est connectée sur quel port du switch (en général ce processus se fait par auto apprentissage, c'est-à-dire automatiquement, mais le gestionnaire du switch peut procéder à des réglages complémentaires). Connaissant le port du destinataire, le commutateur ne transmettra le message que sur le port adéquat, les autres ports restants dès lors libres pour d'autres transmissions pouvant se produire simultanément. Il en résulte que chaque échange peut s'effectuer à débit nominal (plus de partage de la bande passante), sans collisions, avec pour conséquence une augmentation très sensible de la bande passante du réseau (à vitesse nominale égale). Quant à savoir si tous les ports d'un commutateur peuvent dialoguer en même temps sans perte de messages, cela dépend de la qualité de ce dernier (non blocking switch). Puisque la commutation permet d'éviter les collisions et que les techniques 10/100/1000 base T(X) disposent de circuits séparés pour la transmission et la réception (une paire torsadée par sens de transmission), la plupart des commutateurs modernes permet de désactiver la détection de collision et de passer en mode full-duplex sur les ports. De la sorte, les machines peuvent émettre et recevoir en même temps (ce qui contribue à nouveau à la performance du réseau). Le mode full-duplex est particulièrement intéressant pour les serveurs qui doivent desservir plusieurs clients. Les commutateurs Ethernet modernes détectent également la vitesse de transmission utilisée par chaque machine (autosensing) et si cette dernière supporte plusieurs vitesses (10 ou 100 ou 1000 megabits/sec) entament avec elle une négociation pour choisir une vitesse ainsi que le mode semi-duplex ou full-duplex de la transmission. Cela permet d'avoir un parc de machines ayant des performances différentes (par exemple un parc d'ordinateurs avec diverses configurations matérielles). Comme le trafic émis et reçu n'est plus transmis sur tous les ports, il devient beaucoup plus difficile d'espionner (sniffer) ce qui se passe. Voilà qui contribue à la sécurité générale du réseau, ce qui est un thème fort sensible aujourd'hui. Pour terminer, l'usage de commutateurs permet de construire des réseaux plus étendus géographiquement. En Ethernet partagé, un message doit pouvoir atteindre toute autre machine dans le réseau dans un intervalle de temps précis (slot time) sans quoi le mécanisme de détection des collisions (CSMA/CD) ne fonctionne pas correctement. Les modèles OSI & TCP/IP Le modèle OSI : Le modèle OSI est un modèle qui comporte 7 couches, tandis que le modèle TCP/IP n'en comporte que 4. En réalité le modèle TCP/IP a été développé à peu près au même moment que le modèle OSI, c'est la raison pour laquelle il s'en inspire mais n'est pas totalement conforme aux spécifications du modèle OSI. I. La couche physique définit la façon dont les II. III. IV. V. VI. VII. données sont physiquement converties en signaux numériques sur le média de communication (impulsions électriques, modulation de la lumière, etc.). La couche liaison de données définit l'interface avec la carte réseau et le partage du média de transmission. La couche réseau permet de gérer l'adressage et le routage des données, c'est-à-dire leur acheminement via le réseau. La couche transport est chargée du transport des données, de leur découpage en paquets et de la gestion des éventuelles erreurs de transmission. La couche session définit l'ouverture et la destruction des sessions de communication entre les machines du réseau. La couche présentation définit le format des données manipulées par le niveau applicatif (leur représentation, éventuellement leur compression et leur chiffrement) indépendamment du système. La couche application assure l'interface avec les applications. Il s'agit donc du niveau le plus proche des utilisateurs, géré directement par les logiciels. Le modèle TCP/IP : TCP/IP regroupe globalement deux notions : La notion de standard : TCP/IP représente la façon dont les communications s'effectuent sur un réseau. La notion d'implémentation : l'appellation TCP/IP est souvent étendue aux logiciels basés sur le protocole TCP/IP. TCP/IP est en fait un modèle sur lequel les développeurs d'applications réseau s'appuient. Les applications sont ainsi des implémentations du protocole TCP/IP. Le modèle TCP/IP, inspiré du modèle OSI, reprend l'approche modulaire (utilisation de modules ou couches) mais en contient uniquement quatre : I. Couche Accès réseau : elle spécifie la forme sous laquelle les données doivent être acheminées quel que soit le type de réseau utilisé II. Couche Internet : elle est chargée de fournir le paquet de données (datagramme) III. Couche Transport : elle assure l'acheminement des données, ainsi que les mécanismes permettant de connaître l'état de la transmission IV. Couche Application : elle englobe les applications standard du réseau (Telnet, SMTP, FTP, ...) Afin de pouvoir appliquer le modèle TCP/IP à n'importe quelles machines, c'est-à-dire indépendamment du système d'exploitation, le système de protocoles TCP/IP a été décomposé en plusieurs modules effectuant chacun une tâche précise. De plus, ces modules effectuent ces tâches les uns après les autres dans un ordre précis, on a donc un système stratifié, c'est la raison pour laquelle on parle de modèle en couches. Le terme de couche est utilisé pour évoquer le fait que les données qui transitent sur le réseau traversent plusieurs niveaux de protocoles. Ainsi, les données (paquets d'informations) qui circulent sur le réseau sont traitées successivement par chaque couche, qui vient rajouter un élément d'information (appelé en-tête) puis sont transmises à la couche suivante. Corrélation entre les différents modèles OSI et TCP/IP Tout d'abord, les points communs. Les modèles OSI et TCP/IP sont tous les deux fondés sur le concept de pile de protocoles indépendants. Ensuite, les fonctionnalités des couches sont globalement les mêmes. Au niveau des différences, on peut remarquer la chose suivante : le modèle OSI faisait clairement la différence entre 3 concepts principaux, alors que ce n'est plus tout à fait le cas pour le modèle TCP/IP. Ces 3 concepts sont les concepts de services, interfaces et protocoles. En effet, TCP/IP fait peu la distinction entre ces concepts, et ce malgré les efforts des concepteurs pour se rapprocher de l'OSI. Cela est dû au fait que pour le modèle TCP/IP, ce sont les protocoles qui sont d'abord apparus. Le modèle ne fait finalement que donner une justification théorique aux protocoles, sans les rendre véritablement indépendants les uns des autres. Enfin, la dernière grande différence est liée au mode de connexion. Certes, les modes orienté connexion et sans connexion sont disponibles dans les deux modèles mais pas à la même couche : pour le modèle OSI, ils ne sont disponibles qu'au niveau de la couche réseau (au niveau de la couche transport, seul le mode orienté connexion n'est disponible), alors qu'ils ne sont disponibles qu'au niveau de la couche transport pour le modèle TCP/IP (la couche Internet n'offre que le mode sans connexion). Le modèle TCP/IP a donc cet avantage par rapport au modèle OSI : les applications (qui utilisent directement la couche transport) ont véritablement le choix entre les deux modes de connexion. Au niveau de son utilisation et implémentation, et ce malgré une mise à jour du modèle en 1994, OSI a clairement perdu la guerre face à TCP/IP. Seuls quelques grands constructeurs dominant conservent le modèle mais il est amené à disparaître d'autant plus vite qu'Internet (et donc TCP/IP) explose. Caractéristiques et Fonctionnement de IPv4 Sur Internet, les ordinateurs communiquent entre eux grâce au protocole IP v4 (Internet Protocol version 4), qui utilise des adresses numériques, appelées adresses IP, composées de 4 nombres entiers (4 octets) entre 0 et 255 et notées sous la forme xxx.xxx.xxx.xxx. Ces numéros servent aux ordinateurs du réseau pour se reconnaître, ainsi chaque ordinateur du réseau possèdre sa propre adresse IP unique. C'est l'IANA (Internet Assigned Numbers Agency) qui est chargée d'attribuer ces numéros. On distingue en fait deux parties dans l'adresse IP: - Une partie des nombres à gauche désigne le réseau (on l'appelle netID). - Les nombres de droite désignent les ordinateurs de ce réseau (on l'appelle host-ID). Différentes adresses dédiées : - Lorsque l'on annule la partie host-id, c'est-à-dire lorsque l'on remplace les bits réservés aux machines du réseau, on obtient ce que l'on appelle l'adresse réseau. - Lorsque l'on annule la partie netid, c'est-à-dire lorsque l'on remplace les bits réservés au réseau, on obtient ce que l'on appelle l'adresse machine. Cette adresse représente la machine spécifiée par le host-ID qui se trouve sur le réseau courant. - Lorsque tous les bits de la partie host-id sont à 1, on obtient ce que l'on appelle l'adresse de diffusion (en anglais broadcast), c'est-à-dire une adresse qui permettra d'envoyer le message à toutes les machines situées sur le réseau spécifié par le netID. - Lorsque tous les bits de la partie netid sont à 1, on obtient ce que l'on appelle l'adresse de diffusion limitée (multicast). L'adresse 127.0.0.1 est appelée adresse de boucle locale (en anglais loopback), car elle désigne la machine locale (en anglais localhost). Notion de classe : Les adresses IP sont donc réparties en classes, c'est-à-dire selon le nombre d'octets qui représentent le réseau. Le but de la division des adresses IP en trois classes A,B et C est de faciliter la recherche d'un ordinateur sur le réseau. En effet avec cette notation il est possible de rechercher dans un premier temps le réseau que l'on désire atteindre puis de chercher un ordinateur sur celui-ci. Ainsi l'attribution des adresses IP se fait selon la taille du réseau. Les adresses de classe A sont réservées aux très grands réseaux, tandis que l'on attribuera les adresses de classe C à des petits réseaux d'entreprise par exemple. Notion de masque : Pour comprendre ce qu'est un masque, il peut-être intéressant de jeter un oeil à la section assembleur qui parle du masquage en binaire. En résumé, on fabrique un masque contenant des 1 aux emplacements des bits que l'on désire conserver, et des 0 pour ceux que l'on veut rendre égaux à zéro. Une fois ce masque créé, il suffit de faire un ET entre la valeur que l'on désire masquer et le masque afin de garder intacte la partie que l'on désire et annuler le reste. Ainsi, un masque réseau (en anglais netmask) se présente sous la forme de 4 octets séparés par des points (comme une adresse IP), il comprend (dans sa notation binaire) des zéros aux niveau des bits de l'adresse IP que l'on veut annuler (et des 1 au niveau de ceux que l'on désire conserver). Vérification des hypothèses