# Modèle OSI Le modèle OSI décrit les fonctions de communication d'un système réseau en 7 couches distinctes. Chaque couche remplit des fonctions spécifiques et communique avec les couches adjacentes. ![image](https://hackmd.io/_uploads/Sk5pCEE3R.png) ![image](https://hackmd.io/_uploads/By2WyH43A.png) ## Interaction entre les couches ### Encapsulation Lorsqu'une application envoie des données, elles sont encapsulées en passant par chaque couche, en commençant par la couche Application (7) et en descendant jusqu'à la couche Physique (1). À chaque étape, des en-têtes ou des informations de contrôle sont ajoutés. ### Décapsulation Le processus inverse se produit à la réception des données, en remontant la pile OSI, couche par couche, jusqu'à ce que les données atteignent l'application destinataire. # Ports Reseaux Les ports réseau sont des points de communication utilisés pour distinguer les différents types de trafic sur un réseau. Ils fonctionnent principalement au niveau de la couche Transport du modèle OSI (couche 4). ## Ports Bien Connus (0-1023) Ces ports sont réservés aux services réseau les plus courants et sont assignés par l'IANA (Internet Assigned Numbers Authority). #### Port 20, 21 : FTP (File Transfer Protocol) Utilisé pour le transfert de fichiers. Port 20 : Pour le transfert de données (Data). Port 21 : Pour le contrôle de la connexion (Command). #### Port 22 : SSH (Secure Shell) Protocole pour une connexion sécurisée à distance, souvent utilisé pour l'administration des serveurs. #### Port 23 : Telnet Protocole non sécurisé pour une connexion à distance, remplacé en grande partie par SSH. #### Port 25 : SMTP (Simple Mail Transfer Protocol) Utilisé pour l'envoi d'emails. #### Port 53 : DNS (Domain Name System) Utilisé pour la résolution des noms de domaine en adresses IP. #### Port 80 : HTTP (Hypertext Transfer Protocol) Protocole de base pour la navigation web non sécurisée. #### Port 110 : POP3 (Post Office Protocol version 3) Utilisé pour la récupération d'emails. #### Port 143 : IMAP (Internet Message Access Protocol) Protocole pour la gestion et la récupération d'emails. #### Port 443 : HTTPS (HTTP Secure) Version sécurisée de HTTP, utilisée pour la navigation web sécurisée via SSL/TLS. #### Port 3389 : RDP (Remote Desktop Protocol) Utilisé pour les connexions à distance vers des ordinateurs utilisant Microsoft Remote Desktop. ## Ports Enregistrés (1024-49151) Ces ports sont utilisés par des applications ou des services enregistrés auprès de l'IANA. #### Port 3306 : MySQL Utilisé par le serveur de base de données MySQL. #### Port 5432 : PostgreSQL Utilisé par le serveur de base de données PostgreSQL. #### Port 8080 : HTTP Alternative Utilisé comme une alternative ou un port proxy pour HTTP. ## Ports Dynamiques ou Éphémères (49152-65535) Ces ports sont utilisés de manière temporaire pour des connexions client-serveur. Ils sont généralement assignés dynamiquement par le système d'exploitation pour des sessions de courte durée. # Domaine de diffusion ![image](https://hackmd.io/_uploads/HyKAyBNnC.png) # Rappel sur la communication ![image](https://hackmd.io/_uploads/rJA4gHV30.png) # Routage Il existe 2 types de routage - Le routage statique - Le routage dynamique ### Routage statique Les routeurs ne partagent pas les informations de routage, il faut donc construire les tables de routage manuellement. On aura tendance a choisir le routage statique quand le nombre d'erreurs possible pour les communications est inferieur ou égal à 2, et que l'installation manuelle est "simple" (par exemple une suite de 4 routeurs en ligne). Un gros avantage de l'installation manuelle, est que l'on peut modifier l'AD des chemins que l'on donne aux routeurs, ce qui nous permet d'établir un ordre de priorité quant au chemin que le routeur va emprunter pour communiquer. On peut aussi donner le même AD à deux chemins différents. ### Routage dynamique Les routeurs partagent automatiquement les informations de routage, les tables de routage sont construites dynamiquement. Un routage dynamique nécessite un protocole de routage. ## Les protocoles de routage Il existe plusieurs protocoles, ici nous en retiendrons 3 - **RIP** (Routing Information Protocol) - **OSPF** (Open Shortest Path First) - **BGP** (Border Gateway Protocol) ## Protocoles de routage interieur Les protocoles **RIP** et **OSPF** Sont des protocoles dit " *interieur* ", ce qui signifie qu'ils sont essentiels pour optimiser la circulation des informations à l’intérieur d’un réseau. ### RIP Le protocole **RIP** est sans doute le plus simple à prendre en main et à comprendre, mais il n'est presque plus utilisé actuellement, bien qu'il soit très adapté pour les petits réseaux. Le protocole **RIP** utilise l’algorithme de Bellman-Ford pour déterminer les chemins les plus courts, en se basant sur le nombre de sauts entre les routeurs. ### OSPF Le protocole **OSPF** fonctionne en évaluant la topologie du réseau et en calculant les chemins les plus courts entre les routeurs. Ce protocole utilise un algorithme à état de lien, établissant une base de données des liaisons et sélectionnant les routes les plus efficaces. C’est ce qui en fait un choix privilégié pour les réseaux complexes et de grande taille. ## Protocoles de routage exterieur Le protocole **BGP** est un protocole dit " *exterieur* ". Spécifiquement conçus pour faciliter le partage d’informations de routage entre différents systèmes autonomes, les protocoles de routage extérieur permettent l’interconnexion de réseaux indépendants. ### BGP Le protocole **BGP** est utilisé sur internet pour échanger des informations de routage entre les systèmes autonomes. Contrairement aux protocoles intérieurs, il ne se concentre pas uniquement sur la distance physique entre les routeurs. Il prend également en compte des politiques de routage, ce qui permet aux administrateurs réseau de prendre des décisions mieux éclairées sur la manière dont le trafic doit être dirigé. # Métrique et distance administrative ## Distance administrative Un réseau peut utiliser plusieurs protocoles de routage, et les routeurs peuvent avoir des informations à propos d’une route à partir de plusieurs sources. Les routeurs doivent alors trouver un moyen pour choisir la meilleure route, et c’est ici qu’intervient la notion de distance administrative (AD). La distance administrative est utilisée par les routeurs pour déterminer quel est le meilleur itinéraire. A chaque route est associé un numéro de distance administrative, et plus ce numéro est bas, plus la route est considérée fiable ; en conséquent ce sera celle empruntée par le routeur pour acheminer le paquet IP de l’utilisateur. ![image](https://hackmd.io/_uploads/ryzP8UVhR.png) ## Métrique Si un routeur apprend deux routes différentes pour le même réseau à partir du même protocole de routage, il doit décider quelle route est la meilleure et par conséquent laquelle sera placée dans la table de routage. La métrique est utilisée pour déterminer quelle route est la meilleure, elle correspond à la *distance* qui sépare un routeur d’un réseau de destination. Chaque protocole de routage utilise sa propre métrique. Par exemple, RIP utilise le nombre de sauts IP nécessaires pour atteindre le réseau de destination, tandis qu’OSPF utilise un coût numérique qui correspond à la bande passante dans les liens franchis. | Protocole de routage | Métrique utilisée | |:--------------------:|:---------------------------:| | RIP | Sauts IP | | OSPF | Coût | | EIGRP | Retard de la bande passante | # Switchs Un switch est un dispositif réseau essentiel dans la gestion des communications au sein d'un réseau local (LAN). Il connecte plusieurs appareils (ordinateurs, serveurs, imprimantes, etc.) et permet l'échange de données entre eux de manière efficace et sécurisée. ## Fonctionnement de Base #### Commutation Un switch reçoit des données d'un appareil source, identifie l'appareil de destination via l'adresse MAC, et transfère les données directement vers l'appareil ciblé. #### Table d'adresses MAC Le switch construit et maintient une table d'adresses MAC qui associe chaque adresse MAC à un port spécifique du switch. Cela permet un routage précis des données. ## Différents Types de Switchs ### Switchs Non-Manageables Simple à utiliser, ces switchs sont plug-and-play et ne nécessitent aucune configuration. #### Caractéristiques * Fonctionnalité de base : Fournit une connectivité entre appareils sans aucune gestion avancée. * Limité : Pas de contrôle ou d'ajustement des performances réseau. * Usage recommandé : Petits réseaux domestiques ou petites entreprises avec des besoins de connectivité simples. ### Switchs Manageables Ces switchs permettent une gestion avancée du réseau avec une interface de gestion pour la configuration. #### Caractéristiques * Contrôle : Permet de configurer des VLANs, de gérer la bande passante, de surveiller le trafic, et plus encore. * Sécurité : Offre des options de sécurité avancées comme les listes de contrôle d'accès (ACL) et la gestion des ports. * Scalabilité : Idéal pour les réseaux qui peuvent croître ou nécessiter des ajustements réguliers. * Usage recommandé : Réseaux d'entreprise, centres de données, ou environnements nécessitant une gestion fine du réseau. ### Switchs Empilables (Stackable) Ces switchs peuvent être connectés ensemble pour fonctionner comme une unité unique, facilitant l'expansion du réseau. #### Caractéristiques * Scalabilité : Permet d'ajouter de la capacité au réseau sans complexité supplémentaire. * Gestion unifiée : Un seul point de gestion pour plusieurs switchs empilés. * Redondance : Offre une tolérance aux pannes en permettant un basculement automatique entre les switchs empilés. * Usage recommandé : Réseaux d'entreprise de moyenne à grande envergure nécessitant une expansion facile et une haute disponibilité. ## Port Mirroring Copie le trafic d'un port spécifique vers un autre port pour l'analyse réseau. Utilisé pour surveiller et diagnostiquer les problèmes de réseau en temps réel. * Usage : Outil précieux pour les administrateurs réseau pour le débogage ou la surveillance de la sécurité. ## Link Aggregation (LACP) Combine plusieurs connexions réseau en une seule pour augmenter la bande passante et fournir une redondance. * Protocole : **LACP** (Link Aggregation Control Protocol) est utilisé pour gérer cette agrégation de liens de manière dynamique. ## Sécurité des Switchs #### Filtrage MAC Limite l'accès au réseau en autorisant uniquement les appareils dont les adresses MAC sont inscrites sur une liste blanche. #### Protection contre les Tempêtes de Broadcast Empêche une surcharge du réseau causée par des tempêtes de diffusion. #### Protection contre le Snooping DHCP Protège contre les attaques DHCP en empêchant les périphériques non autorisés de se comporter comme des serveurs DHCP. # VLAN ## Définition Un **VLAN** (Virtual Local Area Network) est un sous-réseau logique créé à l’intérieur d’un réseau physique. Contrairement à un réseau local traditionnel où tous les appareils sont sur le même segment de réseau, un VLAN permet de regrouper des appareils en fonction de critères comme la fonction, le département ou la sécurité. Chaque VLAN est indépendant des autres, ce qui permet de les configurer ou de les gérer de manière séparée. Chaque trame est marquée avec une étiquette spécifique qui indique à quel VLAN elle appartient. Les commutateurs réseau utilisent ces étiquettes, afin d’acheminer les trames uniquement vers les ports appropriés. Ceci garantit que seuls les appareils du même VLAN puissent communiquer entre eux. Il s’agit d’une méthode efficace d’isolation logique des groupes d’appareils au sein du réseau. ## Les avantages ### Sécurité L’isolation des données sensibles dans des réseaux virtuels distincts empêche en effet les utilisateurs non autorisés d’y accéder. Par exemple, il est possible de regrouper des informations financières dans un VLAN sécurité accessible uniquement par le personnel autorisé. De plus, les contrôles d’accès permettent de restreindre l’accès à certains segments du réseau. ### Trafic réseau Les appareils peuvent être regroupés selon leur fonction ou leurs besoins de bande passante, ce qui aide à réduire la congestion du réseau. En guise d’exemple, on peut imaginer des appareils de voix sur IP regroupés dans un VLAN dédié pour assurer une qualité de service optimale pour les appels téléphoniques. Il est aussi possible de mettre en place des politiques de priorisation du trafic pour garantir que certaines applications ou services bénéficient d’une bande passante plus élevée en cas de besoin. ### Gestion du réseau Des appareils peuvent être ajoutés ou déplacés au sein d’un VLAN existant sans avoir besoin de configurer tout le réseau physique. Ceci simplifie considérablement les opérations, tout en augmentant massivement la flexibilité. Leur utilisaton réduit aussi les coûts liés au câblage physique, car un seul câble peut prendre en charge plusieurs VLAN. # Routage inter-VLAN ## Le Trunking ### Definition Un trunk est un lien entre deux équipements, le plus souvent entre deux switch, configuré de telle sorte que l’on peut y faire circuler des trames ethernet modifiées comportant des informations relatives au VLAN sur lequel elles transitent. ![image](https://hackmd.io/_uploads/r1c7EI43R.png) ### Mise en place Pour mettre en place un lien trunk, on utilise un protocole, il en existe 2 - **ISL** (Inter Switch Link) qui est un protocole propriétaire Cisco qui tend à disparaître. - **dot1Q** ( IEEE 802.1Q ) le protocole standard défini par l’IEEE. Nous utilisons exclusivement **dot1Q**, toutefois il est bon de savoir que chacun a son propre fonctionnement. - **ISL** encapsule toutes les trames, quelque soit le VLAN. - **dot1Q** ne fait qu’insérer un tag (un marqueur) dans l’entête de la trame ethernet et uniquement sur les VLANs autres que le VLAN natif. (Le VLAN natif est celui utilisé par les protocoles comme CDP pour s’échanger les informations). ![image](https://hackmd.io/_uploads/SkL1EU4hC.png) # Sécurité ## ACL ### Definition Les ACL (Access Control List) sont des règles appliquées aux trafics transitant via les interfaces du routeur que ce soit en entrée ( *in* ) ou en sortie ( *out* ). Les ACL filtrent le trafic en demandant aux interfaces d’acheminer ou non les paquets qui y transitent. Pour ce faire, le routeur lit l'en-tête de chaque paquet afin de déterminer s'il doit être acheminé ou non en fonction des conditions définies dans la liste de contrôle d’accès ACL. ### Configuration La Configuration ACL standard s'effectue sur un routeur, directement dans le mode de configuration globale. Ce processus implique l'ajustement précis de la Configuration ACL pour répondre aux besoins spécifiques de sécurité et de gestion du trafic. ![image](https://hackmd.io/_uploads/rklihad42R.png) # QoS ## Définition La QoS (Quality of Services) Permet de trier et de prioriser certains types de trafic réseau (par exemple, voix sur IP, vidéo) pour garantir des performances optimales. ### Example Dans le fonctionnement de la base d'un commutateur (switch), lorsqu'il reçoit une trame Ethernet, il recherche l'adresse MAC de destination et il va transférer la trame vers cette destination. Dans le cas d'un routeur, le principe est identique. C'est-à-dire que lorsqu'il reçoit un paquet IP, il recherche l'adresse IP de destination dans sa table de routage, et envoie le paquet vers la destination. Le routeur ou le switch, ne font différence entre une trame ou un aucun paquet, que ce soit destiné à télécharger une vidéo ou bien à communication téléphonique en voip. Ce mode de fonctionnement est appelé : * " Meilleur effort " * Ou bien FIFO (First In First Out), qui se traduit, en français, par « Premier entré, premier sorti », en gros ça veut dire : « Premier arrivé, premier servi » Ce type de logique par défaut peut parfois poser un problème. ![image](https://hackmd.io/_uploads/Hy8byH_nA.png) sur cette topologie, nous avons un petit réseau, composé de : * 2 routeurs * 2 commutateurs * 2 pièces * 2 téléphones IP Les liaisons sont toutes en Gigabit Ethernet, sauf entre les deux routeurs, où nous avons une liaison série très lente… C'est-à-dire seulement 1,54 Mégabit par seconde. Lorsque le PC et le téléphone IP, de gauche, transmettent des données et des paquets vocaux, destinés aux équipements de droite, et bien, il est fort probable que la liaison série soit encombrée et que le routeur place les paquets en fichier d'attente. Le problème avec ça, c'est que le fichier d'attente d'un routeur n'est pas illimité… Et que doit faire le routeur lorsque son fichier d'attente est plein ? Et bien les paquets seront probablement supprimés. Alors quand il s'agit de paquets de données du PC, ce n'est pas forcément un problème, car les utilisateurs se plaindront uniquement d'une mauvaise vitesse de transfert. Par contre, quand il s'agit de paquets vocaux, et bien là, les utilisateurs se plaindront de ne pas comprendre leurs interlocuteurs. La Quality of Service consiste à utiliser des outils pour changer la façon dont le routeur ou le commutateur traite les différents paquets. Par exemple, nous pouvons configurer le routeur afin que le trafic vocal soit priorisé avant le trafic de données. La QoS permet de traiter 4 types de trafic réseau : * On a le Débit (Bandwidth) * La Gigue (Jitter) * Le délai (Delay) * Et la Perte de paquet (Loss) Avec la Quality of Service, nous pouvons modifier la priorité de certains types de trafic. La configuration du Quality of Service dépendra principalement des applications qui seront utilisées. C’est pourquoi nous allons examiner de plus près, les différentes applications et types de trafic. ## Applications ### Application par lots (Batch Application) Pour le 1ᵉʳ exemple, on va prendre un utilisateur qui souhaite télécharger un fichier sur internet. Par exemple, la version 7.3 de Packet Tracer sur le site de Netacad. Nous allons voir à quel point la bande passante, le délai, la gigue et la perte sont importants pour télécharger un fichier, qui paraît aussi basique que celui-ci. La version Windows en 64 bits fait exactement 146Mo, ou bien 154 019 600 octets. Un paquet IP fait 1500 octets par défaut, sans les en-têtes IP et TCP. Il reste donc 1460 octets pour le segment TCP. Alors, combien de paquets IP faudrait-il pour transférer ce fichier vers son ordinateur ? Pour ça, il faut diviser « 154 019 600 » par « 1460 ». Ce qui donne environ 105 492 paquets IP ### Débit (Bandwidth) Plus on a une bande passante élevée et moins on attendra pour recevoir le fichier. ### Retard (Delay) Entre le serveur Netacad, où est situé le logiciel « Packet Tracer » et le PC, il y a un délai qu’on appelle unidirectionnel. Lorsque l’on clique sur le lien de téléchargement, il ne reste plus qu’à attendre que ça se termine. Il n’y a plus d’interaction entre nous et le téléchargement. **Les paquets arrivent tranquillement, peu importe le retard ou la variation du retard, qu’on appelle la gigue (Jitter), entre les paquets.** ### Perte de paquet (Loss) Les transferts de fichiers comme celui-ci utilise le protocole TCP. Et lorsque certains paquets sont perdus, eh bien TCP retransmettra les données, en s’assurant que le téléchargement arrive complètement sur l’ordinateur. Un navigateur Web qui télécharge un fichier est une application non interactive, qu’on peut aussi appeler une application par lot. La bande passante est agréable à avoir, car elle réduit le temps d’attente pour que le téléchargement se termine. Le retard, la gigue et la perte ne sont pas critique, c’est-à-dire qu’ils importent peu. Avec la Quality of Service, nous pouvons attribuer suffisamment de bande passante à des applications comme celles-ci pour garantir que les téléchargements se terminent à temps et ainsi, réduire au minimum la perte de paquets pour éviter les retransmissions. ### Application interactive Un autre type d’application est l’application interactive. C’est le type d’application que l’on retrouve, quand on utilise Telnet ou SSH pour se connecter à son routeur ou à son commutateur. Ce type d’applications ne nécessite pas beaucoup de bande passante, mais elles sont tout de même assez sensibles au retard et à la perte de paquets. Imaginez devoir attendre un certain délai entre chaque commande passée sur un switch ou un routeur… Ou même en cas de forte perturbation, qu’il y ait une courte pause entre chaque caractère que vous tapez… Cela peut devenir très ennuyeux en pleine configuration. Et bien, avec la Quality of Service, nous pouvons garantir qu’en cas de congestion, les applications interactives soient desservies en priorité, avant les applications par lot, qui elles, sont très gourmandes en bande passante. ### Application voix et vidéo Les applications vocales et vidéo, sont les applications les plus difficiles, que vous pouvez gérer sur votre réseau, car elles sont très sensibles : * Au retard (Delay) * À la gigue (Jitter) * Et à la perte de paquets (loss). Dans l’exemple, nous avons un utilisateur qui parle avec son téléphone IP. La VoIP utilise un codec qui traite le son analogique en un signal numérique. Le son analogique est numérisé, pendant une certaine période de temps, qui est généralement de 20 ms. Avec le codec G711, chaque 20 ms d’audio correspond à 160 octets de données. Le téléphone va créer un paquet IP avec un en-tête UDP et RTP (Realtime Transport Protocol), en y ajoutant les données vocales, avant de le transférer à sa destination. Les en-têtes IP, UDP et RTP ajoutent 40 octets en plus au paquet, ce qui donne un total de 200 octets. Ce qui veut dire, que pour une seconde d’audio, le téléphone va créer 50 paquets IP. Et 50 paquets IP * 200 octets = 10000 octets par seconde, ce qui équivaut à 80 kbps. Le codec G.729 permet d’utiliser moins de bande passante, pour 1 seconde ça revient à 24 kbps, par contre, la qualité audio s’en trouve réduite… La bande passante n’est pas vraiment un problème pour la VoIP, son réel problème est sur le « retard »… Parce que si vous parlez avec quelqu’un au téléphone, fréquemment, c'est en temps réel. Et si le délai est trop élevé, alors la conversation deviendra un peu comme une conversation au talkie-walkie. C’est-à-dire, le genre de conversation, ou vous devez attendre quelques secondes, avant d’obtenir une réponse. La gigue est aussi un problème, car le codec attend de recevoir un certain nombre de paquets IP pour qu’il puisse les reconvertir en un signal analogique. Et la perte de paquets est également un gros problème. Ce n’est pas très agréable de communiquer avec une personne s’il manque plusieurs mots à la conversation… Alors, malgré tous ces problèmes, le trafic vocal sur un réseau de données est tout de même possible, mais il faudra obligatoirement de la QoS pour d’assurer qu’il y a suffisamment de bande passante et pour contrôler le retard, la gigue et la perte de paquets. Et voici des limites recommandées à ne pas dépasser : * One-way delay (Retard) : < 150 ms. * Jitter (Gigue) : <30 ms. * Loss (Perte) : < 1% **Quant au trafic vidéo, il a des exigences similaires au trafic vocal.** Il demande tout de même plus de bande passante que le trafic vocal, mais cela dépend vraiment du codec et du type de vidéo. Par exemple, si j’enregistre une vidéo où je configure un routeur, et bien comme la plupart de l’écran reste fixe, ça demandera moins de bande passante qu’une vidéo de sport. Comme pour le trafic vocal, le trafic vidéo est aussi sensible aux retards, à la gigue et à la perte de paquets. Et voici les recommandations à ne pas dépasser pour de la vidéo : * One-way delay (Retard) : 200 – 400 ms. * Jitter (Gigue) : 30 – 50 ms. * Loss (perte) : 0.1% – 1%