Paillasse/design/js/contenus-lot-11.js
2026-10-06 23:28:18 +02:00

281 lines
61 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

// Cours complets · lot 11 : Ethernet et commutation, routage dynamique, Wi-Fi, transmission, QoS
(function () {
var reg = function (c) {
(window.CONTENUS_PRO = window.CONTENUS_PRO || []).unshift(c.cours);
(window.CONTENUS_PLUS = window.CONTENUS_PLUS || {})[c.cours.id] = c.plus;
(window.CONTENUS_EXEMPLES = window.CONTENUS_EXEMPLES || {})[c.cours.id] = c.exemples;
(window.CONTENUS_SCHEMAS = window.CONTENUS_SCHEMAS || {})[c.cours.id] = { termes: c.termes, figs: [] };
};
reg({
cours: { id: 'ethernet', match: /Histoire et vocabulaire : LAN|topologies|Ethernet, adresses MAC|commutation|Spanning tree|STP/i,
titre: 'Réseaux locaux : topologies, Ethernet, commutation et Spanning Tree', duree: '',
niveau: 'SNT · Bac pro CIEL · BTS SIO / CIEL · BUT R&T S1 · TSSR',
prerequis: ['Modèle OSI et TCP/IP'],
competences: ['BTS SIO · Bloc 1 · Exploiter les éléments d’un réseau', 'BTS CIEL · C03 · Installer un réseau', 'BUT R&T · Compétence « Connecter »'],
intro: 'Avant les adresses IP et le routage, il y a les câbles, les prises murales, les switchs et les trames Ethernet qui circulent entre eux. C’est à ce niveau que se produisent les pannes les plus spectaculaires d’un réseau d’établissement : une boucle de câblage qui sature tout le bâtiment en quelques secondes, un switch qui ne retrouve plus les postes, un port bloqué en semi-duplex. Ce module présente le vocabulaire des réseaux, la trame Ethernet, le fonctionnement d’un switch et le protocole Spanning Tree qui protège contre les boucles.',
cm: [
{ t: 'Vocabulaire et topologies', d: '', html: 'Un <b>LAN</b> (réseau local) couvre un bâtiment ou un site ; un <b>WAN</b> (réseau étendu) relie des sites distants par des liaisons d’opérateur ; un <b>MAN</b> couvre une agglomération ; Internet est l’interconnexion de milliers de réseaux autonomes. La <b>topologie physique</b> décrit le câblage : en <b>étoile</b> (tous les postes reliés à un switch, la norme actuelle), en <b>étoile étendue</b> ou arbre (switchs d’étage reliés à un cœur de réseau), en <b>maillage</b> (liens redondants entre équipements de cœur). Le bus et l’anneau sont historiques. Dans un établissement, le câblage suit une organisation normalisée : prises murales, baies de brassage par étage (répartiteurs), liaisons montantes en fibre vers le local technique principal.' },
{ t: 'La trame Ethernet', d: '', html: 'Ethernet (IEEE 802.3) transporte les données en <b>trames</b>. Une trame contient l’adresse <b>MAC</b> de destination et de source (6 octets chacune), le champ <b>EtherType</b> (0x0800 pour IPv4, 0x86DD pour IPv6, 0x0806 pour ARP, 0x8100 pour un tag VLAN), les données (46 à 1 500 octets, la <b>MTU</b>), et une somme de contrôle <b>FCS</b> qui permet de détecter les erreurs de transmission. Une adresse MAC s’écrit en hexadécimal (3c:52:82:1a:0f:9b) ; les trois premiers octets (OUI) identifient le fabricant. L’adresse ff:ff:ff:ff:ff:ff est la <b>diffusion</b>.' },
{ t: 'Comment fonctionne un switch', d: '', html: 'Un switch <b>apprend</b> : à chaque trame reçue, il note l’adresse MAC source et le port d’arrivée dans sa <b>table d’adresses MAC</b> (table CAM). Pour transmettre, il cherche l’adresse de destination : si elle est connue, il envoie la trame sur ce seul port ; si elle est inconnue, ou s’il s’agit d’une diffusion, il l’<b>inonde</b> sur tous les ports sauf celui d’arrivée. Les entrées vieillissent (300 secondes par défaut). Chaque port forme son propre <b>domaine de collision</b> en duplex intégral : il n’y a plus de collisions sur un réseau commuté moderne. Tous les ports d’un même VLAN forment un <b>domaine de diffusion</b>.', attention: 'Un port négocié en semi-duplex face à un équipement en duplex intégral (souvent après un réglage manuel d’un seul côté) provoque des erreurs et des collisions tardives : débit effondré sans panne visible. On laisse l’autonégociation des deux côtés ou on force les deux.' },
{ t: 'Le danger des boucles', d: '', html: 'Pour la redondance, on relie souvent les switchs par plusieurs chemins. Mais Ethernet n’a pas de durée de vie comme le TTL d’IP : une trame de diffusion qui entre dans une boucle tourne indéfiniment et se multiplie à chaque switch. En quelques secondes, c’est la <b>tempête de diffusion</b> : tous les liens sont saturés, les processeurs des switchs à 100 %, les tables MAC instables, et plus rien ne fonctionne dans le bâtiment. La cause classique : un câble branché entre deux prises murales, ou un petit switch de bureau relié deux fois.' },
{ t: 'Spanning Tree', d: '', html: 'Le protocole <b>STP</b> (802.1D), et sa version rapide <b>RSTP</b> (802.1w), construit un arbre sans boucle à partir de la topologie redondante. Les switchs échangent des messages <b>BPDU</b>, élisent un <b>pont racine</b> (le plus petit identifiant : priorité puis adresse MAC), calculent pour chaque switch le meilleur chemin vers la racine, et <b>bloquent</b> les ports qui créeraient une boucle. Si un lien actif tombe, un port bloqué passe en transmission : avec RSTP, en une à deux secondes. On fixe soi-même la racine sur le switch de cœur (priorité basse) plutôt que de laisser l’élection au hasard. Sur les ports d’accès, <b>PortFast</b> (edge port) fait passer immédiatement le port en transmission, et <b>BPDU Guard</b> désactive le port si un switch y est branché.', exemple: 'Switch(config)# spanning-tree mode rapid-pvst\nSwitch(config)# spanning-tree vlan 1-4094 priority 4096\nSwitch(config)# interface range fa0/1 - 24\nSwitch(config-if-range)# spanning-tree portfast\nSwitch(config-if-range)# spanning-tree bpduguard enable\n\n# Linux : bridge avec STP\nip link add br0 type bridge stp_state 1\nbridge link show' },
{ t: 'Diagnostiquer la couche 2', d: '', html: 'Les compteurs d’interface révèlent les problèmes physiques : erreurs CRC (câble ou connecteur défectueux, perturbations), collisions tardives (duplex), pertes. <code>ethtool</code> sous Linux affiche la vitesse et le duplex négociés. La table MAC du switch indique où se trouve un poste ; si une même adresse MAC « bascule » sans cesse entre deux ports (MAC flapping), il y a une boucle ou un équipement en double. Pendant une tempête, on repère les ports dont le trafic de diffusion explose, et on les coupe un par un.' }
],
synthese: ['LAN, WAN ; topologie en étoile étendue avec cœur de réseau', 'Trame : MAC destination et source, EtherType, données (MTU 1 500), FCS', 'Le switch apprend les MAC source et inonde l’inconnu et la diffusion', 'Boucle = tempête de diffusion', 'STP/RSTP : pont racine, ports bloqués, BPDU ; racine fixée sur le cœur', 'PortFast et BPDU Guard sur les ports d’accès', 'CRC, duplex, MAC flapping : signatures des pannes de couche 2'],
qcm: [
['Que fait un switch d’une trame dont la MAC de destination est inconnue ?', ['Il la jette', 'Il l’inonde sur tous les ports sauf celui d’arrivée', 'Il l’envoie au routeur', 'Il demande par ARP'], 1, 'Inondation.'],
['Quel EtherType pour IPv4 ?', ['0x0806', '0x0800', '0x86DD', '0x8100'], 1, '0x0806 est ARP.'],
['Quelle est la cause d’une tempête de diffusion ?', ['Un DNS en panne', 'Une boucle de couche 2', 'Un mauvais masque', 'Un virus'], 1, 'Les trames tournent sans fin.'],
['Comment STP choisit-il le pont racine ?', ['Au hasard', 'Plus petit identifiant (priorité puis MAC)', 'Plus grand nombre de ports', 'Plus récent'], 1, 'On fixe la priorité.'],
['Rôle de BPDU Guard ?', ['Accélérer', 'Désactiver un port d’accès qui reçoit des BPDU', 'Chiffrer', 'Choisir la racine'], 1, 'Protège contre les switchs branchés par erreur.'],
['Des erreurs CRC sur un port indiquent plutôt :', ['un problème DNS', 'un câble ou un connecteur défectueux', 'un VLAN incorrect', 'une boucle'], 1, 'Couche physique.']
],
td: [
{ n: 'Échauffement', c: 'Remplir la table MAC d’un switch à quatre ports après les échanges : A (port 1) → B, B (port 2) → A, C (port 3) → diffusion.', r: 'Après A→B : A sur 1, trame inondée sur 2, 3, 4 · après B→A : B sur 2, envoi sur 1 seulement · après C diffusion : C sur 3, inondée sur 1, 2, 4.' },
{ n: 'Application', c: 'Trois switchs reliés en triangle. Le switch S1 a la priorité 4096, S2 et S3 la priorité par défaut 32768. Indiquer la racine, les ports racine et le port bloqué (liens de même coût, S2 a la plus petite MAC).', r: 'Racine S1 · ports racine : S2 et S3 vers S1 · sur le lien S2–S3, le port de S3 (identifiant le plus grand) est bloqué.' },
{ n: 'Approfondissement', c: 'Rédiger la procédure d’intervention face à une tempête de diffusion signalée dans un bâtiment.', r: 'Repérer le switch dont les ports ont un taux de diffusion anormal · déconnecter les liaisons d’accès une par une ou consulter les journaux STP · trouver le câble en boucle · rebrancher · activer BPDU Guard et le contrôle de tempête (storm-control) sur les ports d’accès.' }
],
tp: { type: 'Lab VM', url: 'apercu-labs.html', desc: 'Bridges Linux reliés en boucle.', etapes: ['Capturer des trames et lire les en-têtes', 'Observer l’apprentissage d’un bridge', 'Créer une boucle sans STP et constater', 'Activer STP et lire l’état des ports', 'Couper un lien et mesurer la reconvergence'] },
plusLoin: [['IEEE 802.3 Ethernet', 'https://www.ieee802.org/3/'], ['Cisco Networking Academy · Switching', 'https://www.netacad.com/'], ['man bridge (iproute2)', 'https://man7.org/linux/man-pages/man8/bridge.8.html']] },
plus: { cas: { titre: '', texte: '' },
resolu: { enonce: 'Lundi 9 h 20 : tout le bâtiment B perd le réseau ; les voyants des switchs clignotent en permanence.', etapes: [
['Observer', 'show interfaces counters | include Gi0/1\nGi0/1 InBcastPkts 48 213 908\n→ Des dizaines de millions de trames de diffusion en quelques minutes : tempête.'],
['Localiser', 'show mac address-table | include 0015.5d0a.1107\n20 0015.5d0a.1107 DYNAMIC Fa0/12\n(une seconde plus tard) 20 0015.5d0a.1107 DYNAMIC Gi0/2\n→ La même adresse bascule entre deux ports : boucle entre Fa0/12 et la liaison montante.'],
['Intervenir', '→ shutdown sur Fa0/12 : le trafic redevient normal en quelques secondes. Sur place, un petit switch de bureau est relié à deux prises murales de la salle B112.'],
['Corriger', 'interface range fa0/1 - 24\n spanning-tree portfast\n spanning-tree bpduguard enable\n storm-control broadcast level 5\n→ Le prochain branchement en boucle désactivera automatiquement le port concerné.'],
['Documenter', '→ Compte rendu : cause, durée d’indisponibilité, configuration déployée sur tous les switchs d’accès, et rappel aux utilisateurs de ne pas brancher de switch personnel.']
] },
erreurs: ['Laisser l’élection du pont racine au hasard', 'Pas de BPDU Guard sur les ports d’accès', 'Forcer le duplex d’un seul côté', 'Câbles de brassage non étiquetés', 'Confondre domaine de collision et domaine de diffusion'],
memo: [['Commande', 'Usage'], ['show mac address-table', 'table MAC'], ['show spanning-tree', 'état STP et racine'], ['show interfaces counters errors', 'erreurs par port'], ['ethtool ens18', 'vitesse et duplex sous Linux'], ['ip -s link', 'compteurs Linux'], ['bridge link show', 'état des ports d’un bridge Linux'], ['bridge fdb show', 'table MAC d’un bridge'], ['tcpdump -eni ens18', 'voir les en-têtes Ethernet']],
examen: { titre: 'Sujet type · 20 points', q: ['Décrire une trame Ethernet. (4 pts)', 'Simuler l’apprentissage d’un switch. (4 pts)', 'Expliquer la tempête de diffusion et STP. (6 pts)', 'Déterminer l’arbre STP d’une topologie fournie. (4 pts)', 'Proposer la configuration des ports d’accès. (2 pts)'], r: ['MAC, EtherType, données, FCS', 'table MAC', 'boucle, BPDU, ports bloqués', 'racine, ports racine, bloqués', 'PortFast, BPDU Guard'] },
prof: { deroule: [['Ouverture', 'Visite de la baie de brassage'], ['Cours', 'Trame et switch'], ['Pratique', 'Capture et table MAC'], ['Cours', 'Boucles et STP'], ['Pratique', 'Boucle en lab'], ['Clôture', 'Quiz flash']], diff: 'Élèves en difficulté : schéma à compléter. Élèves avancés : MSTP, agrégation de liens.', eval: 'Lab validé, sujet type.' } },
exemples: [
['Voir les en-têtes Ethernet', 'Analyse de trames.', 'sudo tcpdump -eni ens18 -c 1 arp', 'bc:24:11:5e:2a:10 > ff:ff:ff:ff:ff:ff, ethertype ARP (0x0806), length 42: Request who-has 10.62.40.1 tell 10.62.40.20', 'Diffusion ARP, EtherType 0x0806.'],
['Vitesse et duplex', 'Poste lent.', 'ethtool ens18 | grep -E "Speed|Duplex"', 'Speed: 100Mb/s\nDuplex: Half', '100 Mbit/s en semi-duplex : câble abîmé ou négociation forcée. Un port gigabit sain affiche 1000Mb/s Full.'],
['Erreurs physiques', 'Coupures intermittentes.', 'ip -s link show ens18 | grep -A1 RX', 'RX: bytes packets errors dropped\n 9831022 71233 1842 0', '1 842 erreurs en réception : câble ou connecteur à remplacer.'],
['Table MAC d’un bridge', 'Où est ce poste ?', 'bridge fdb show br br0 | grep 52:54:00:12:34', '52:54:00:12:34:56 dev tap1 master br0', 'La VM est sur le port tap1.'],
['État STP', 'Après activation.', 'bridge -d link show | grep -E "tap|state"', '4: tap1 state forwarding\n5: tap2 state forwarding\n6: tap3 state blocking', 'Le port tap3 est bloqué : la boucle est neutralisée.'],
['Racine STP', 'Vérifier l’élection.', 'show spanning-tree vlan 20 | include Root', 'Root ID Priority 4116 Address 0015.c7a1.0001 This bridge is the root', 'Le switch de cœur est bien la racine.']
],
termes: ['LAN', 'WAN', 'topologie', 'étoile', 'Ethernet', 'trame', 'MAC', 'EtherType', 'FCS', 'MTU', 'switch', 'table MAC', 'inondation', 'domaine de collision', 'domaine de diffusion', 'duplex', 'boucle', 'tempête de diffusion', 'STP', 'RSTP', 'BPDU', 'pont racine', 'PortFast', 'BPDU Guard', 'CRC']
});
reg({
cours: { id: 'routagedyn', match: /\bRIP\b|OSPF|BGP|MPLS|VRRP|Keepalived|routage dynamique|Réseaux avancés|SDN|Réseaux programmables|FRR|CCNA|ROM/i,
titre: 'Routage dynamique et réseaux opérateurs : RIP, OSPF, BGP, MPLS, VRRP et SDN', duree: '',
niveau: 'BTS SIO SISR · BTS CIEL IR · BUT R&T parcours ROM · école d’ingénieurs · Master réseaux',
prerequis: ['Routage statique', 'Algorithmique : graphes et Dijkstra'],
competences: ['BTS SIO SISR · Bloc 2 · Concevoir une infrastructure réseau', 'BUT R&T ROM · Compétence « Connecter » niveau 3', 'Master · Concevoir des réseaux d’opérateurs'],
intro: 'Le routage statique ne passe pas à l’échelle : avec dix routeurs et des liens redondants, maintenir les routes à la main devient impossible, et aucune panne n’est contournée automatiquement. Les protocoles de routage dynamique permettent aux routeurs d’échanger leurs connaissances et de recalculer les chemins en quelques secondes. Ce module présente RIP, OSPF pour l’intérieur d’un réseau, BGP qui relie les réseaux d’Internet, MPLS des opérateurs, VRRP pour la passerelle redondante, et l’approche SDN, avec mise en pratique sur FRRouting.',
cm: [
{ t: 'IGP, EGP et métriques', d: '', html: 'Un <b>système autonome</b> (AS) est un réseau sous une même administration, identifié par un numéro. À l’intérieur, on utilise un <b>IGP</b> (protocole interne : RIP, OSPF, IS-IS) qui cherche le meilleur chemin selon une <b>métrique</b>. Entre AS, on utilise un <b>EGP</b>, en pratique <b>BGP</b>, qui applique des politiques. Chaque protocole a une <b>distance administrative</b> : en cas de routes concurrentes vers le même préfixe, le routeur préfère la source la plus fiable (connectée, statique, OSPF, RIP…).' },
{ t: 'RIP : vecteur de distance', d: '', html: '<b>RIP</b> est un protocole à <b>vecteur de distance</b> : chaque routeur envoie périodiquement (toutes les 30 secondes) sa table à ses voisins, avec un nombre de sauts comme métrique, limité à 15 (16 = inaccessible). Simple, il converge lentement et souffre du problème du comptage à l’infini, atténué par l’horizon partagé et l’empoisonnement de route. On le rencontre encore dans de petits réseaux et dans les programmes pour son intérêt pédagogique ; RIPv2 transporte les masques (CIDR) et s’authentifie.' },
{ t: 'OSPF : état de liens', d: '', html: '<b>OSPF</b> est un protocole à <b>état de liens</b> : chaque routeur décrit ses liens et leur coût dans des annonces (LSA) diffusées à tous les routeurs de la zone, qui construisent ainsi la même carte du réseau, la base LSDB. Chacun calcule ensuite les plus courts chemins avec l’algorithme de <b>Dijkstra</b> (SPF). Le coût par défaut est inversement proportionnel au débit (référence / débit). Les voisins se découvrent par des messages <b>Hello</b> (multicast 224.0.0.5) ; sur un réseau partagé, un routeur désigné (DR) limite les échanges. Pour les grands réseaux, on découpe en <b>zones</b> autour d’une zone 0 (backbone), ce qui limite la taille des bases et permet de résumer les routes. La convergence se fait en quelques secondes, voire moins avec BFD.', exemple: '# FRRouting (vtysh)\nrouter ospf\n ospf router-id 10.255.0.1\n network 10.62.0.0/16 area 0\n passive-interface ens19.20\n!\n# vérifier\nshow ip ospf neighbor\nshow ip route ospf' },
{ t: 'BGP : le routage d’Internet', d: '', html: '<b>BGP</b> relie les quelque 75 000 systèmes autonomes d’Internet. Les routeurs établissent des <b>sessions</b> TCP (port 179) avec leurs voisins, configurés explicitement : <b>eBGP</b> entre AS différents, <b>iBGP</b> à l’intérieur d’un AS. Ils s’échangent des préfixes accompagnés d’<b>attributs</b> : le chemin d’AS traversés (AS_PATH, qui évite les boucles), le prochain saut, la préférence locale, le MED. Le choix du meilleur chemin suit un ordre précis d’attributs et traduit des <b>politiques</b> commerciales (préférer le transitaire le moins cher, ne pas faire transiter le trafic d’un concurrent). Les erreurs de configuration BGP ont provoqué des pannes mondiales ; la validation d’origine <b>RPKI</b> réduit le risque de détournement de préfixes.' },
{ t: 'MPLS', d: '', html: '<b>MPLS</b> commute les paquets selon une <b>étiquette</b> courte ajoutée à l’entrée du réseau de l’opérateur, au lieu de consulter la table de routage IP à chaque saut. Les routeurs de bordure (PE) ajoutent et retirent les étiquettes, les routeurs de cœur (P) les échangent. Le principal usage est le <b>VPN de niveau 3</b> (L3VPN, avec MP-BGP et VRF) que les opérateurs vendent aux entreprises et aux administrations pour relier leurs sites de façon isolée, ainsi que l’ingénierie de trafic. Les réseaux régionaux ou académiques qui relient les établissements reposent souvent sur ce type de service.' },
{ t: 'VRRP : la passerelle redondante', d: '', html: 'Les postes n’ont qu’une passerelle par défaut : si ce routeur tombe, tout un VLAN perd l’accès aux autres réseaux. <b>VRRP</b> (RFC 5798) fait partager à deux routeurs une <b>adresse IP virtuelle</b> et une adresse MAC virtuelle : le routeur <b>maître</b>, de plus haute priorité, répond ; le <b>secondaire</b> écoute ses annonces et prend le relais en quelques secondes si elles cessent. Sous Linux, <b>Keepalived</b> implémente VRRP et peut surveiller un service pour basculer aussi quand il tombe. HSRP est l’équivalent propriétaire de Cisco.', exemple: 'vrrp_instance VLAN20 {\n state MASTER\n interface ens19.20\n virtual_router_id 20\n priority 150\n advert_int 1\n authentication { auth_type PASS; auth_pass s1llabus }\n virtual_ipaddress { 10.62.20.1/23 }\n}' },
{ t: 'SDN et automatisation', d: '', html: 'Le <b>SDN</b> (réseau défini par logiciel) sépare le <b>plan de contrôle</b> (les décisions) du <b>plan de données</b> (l’acheminement), et centralise le contrôle dans un <b>contrôleur</b> programmable par API. Les équipements reçoivent leurs règles du contrôleur (OpenFlow historiquement, ou des API propres). Dans la pratique, les réseaux de campus et de datacenter combinent fabriques EVPN-VXLAN, contrôleurs et <b>automatisation</b> (Ansible, NETCONF/YANG, gNMI) : on décrit l’état voulu du réseau et l’outil configure les équipements, ce qui réduit les erreurs de configuration manuelle.' }
],
synthese: ['IGP dans un AS, BGP entre AS ; distance administrative', 'RIP : sauts, 15 max, convergence lente', 'OSPF : LSA, LSDB, Dijkstra, coût, zone 0, Hello', 'BGP : sessions TCP 179, eBGP/iBGP, AS_PATH, politiques, RPKI', 'MPLS : étiquettes, PE et P, L3VPN', 'VRRP et Keepalived : IP virtuelle, maître et secondaire', 'SDN : contrôle centralisé et programmable, automatisation'],
qcm: [
['Quel algorithme utilise OSPF ?', ['Bellman-Ford', 'Dijkstra', 'Tri fusion', 'Aucun'], 1, 'SPF.'],
['Métrique de RIP ?', ['Débit', 'Nombre de sauts', 'Délai', 'Coût'], 1, '15 au maximum.'],
['Port de BGP ?', ['UDP 520', 'TCP 179', 'IP 89', 'TCP 22'], 1, 'OSPF est le protocole IP 89.'],
['À quoi sert l’AS_PATH ?', ['Chiffrer', 'Éviter les boucles et choisir', 'Compter les sauts IP', 'Authentifier'], 1, 'Liste des AS traversés.'],
['Que fournit VRRP ?', ['Une route', 'Une passerelle virtuelle partagée par deux routeurs', 'Un VLAN', 'Un DNS'], 1, 'Redondance de passerelle.'],
['Zone obligatoire en OSPF multizone ?', ['Zone 1', 'Zone 0', 'Zone 255', 'Aucune'], 1, 'Backbone.'],
['Principal usage commercial de MPLS ?', ['Wi-Fi', 'VPN de niveau 3 inter-sites', 'DNS', 'VoIP'], 1, 'L3VPN.']
],
td: [
{ n: 'Application', c: 'Calculer le coût OSPF d’un lien à 100 Mbit/s et à 10 Gbit/s avec une référence de 100 Gbit/s, puis le chemin choisi entre deux trajets fournis.', r: '100 000 / 100 = 1 000 ; 100 000 / 10 000 = 10 · on additionne les coûts de chaque trajet et on retient le plus faible.' },
{ n: 'Application', c: 'Configurer OSPF sur trois routeurs FRR en zone 0 et vérifier la table de routage.', r: 'router ospf · ospf router-id · network … area 0 sur chacun · show ip ospf neighbor (état Full) · show ip route ospf.' },
{ n: 'Approfondissement', c: 'Concevoir la redondance de passerelle de deux VLAN avec Keepalived, en répartissant la charge (chaque routeur maître d’un VLAN).', r: 'R1 priorité 150 sur VLAN 10, 100 sur VLAN 20 ; R2 l’inverse · vérification par arrêt de R1 : l’IP virtuelle du VLAN 10 passe sur R2.' }
],
tp: { type: 'Lab VM', url: 'apercu-labs.html', desc: 'Quatre routeurs FRRouting en maillage.', etapes: ['Configurer RIP et observer la convergence', 'Remplacer par OSPF', 'Couper un lien et mesurer la reconvergence', 'Établir une session eBGP entre deux AS', 'Mettre en place Keepalived'] },
plusLoin: [['FRRouting · documentation', 'https://docs.frrouting.org/'], ['RFC 2328 · OSPFv2', 'https://www.rfc-editor.org/rfc/rfc2328'], ['RFC 4271 · BGP-4', 'https://www.rfc-editor.org/rfc/rfc4271'], ['MANRS · bonnes pratiques de routage', 'https://www.manrs.org/']] },
plus: { cas: { titre: '', texte: '' },
resolu: { enonce: 'Après le remplacement d’un routeur, le site annexe ne joint plus les serveurs du site principal, alors que les liens sont actifs.', etapes: [
['Vérifier le voisinage', 'show ip ospf neighbor\n(aucun voisin)\n→ Le nouveau routeur n’établit pas d’adjacence OSPF.'],
['Lire les journaux', 'debug ospf packet hello\nOSPF: Hello from 10.255.0.2 … mismatched hello parameters: dead interval 40 / 120\n→ Les intervalles Hello/Dead diffèrent entre les deux routeurs.'],
['Corriger', 'interface ens18\n ip ospf hello-interval 10\n ip ospf dead-interval 40\n→ Paramètres alignés sur le reste du réseau.'],
['Vérifier', 'show ip ospf neighbor → 10.255.0.2 Full/DR\nshow ip route ospf → routes du site principal présentes\nping des serveurs : réponses.'],
['Prévenir', '→ Configuration des routeurs générée par Ansible à partir d’un modèle unique, et contrôle automatique des adjacences par la supervision.']
] },
erreurs: ['Paramètres Hello/Dead ou zone différents entre voisins', 'Oublier passive-interface sur les VLAN d’utilisateurs', 'Annoncer en BGP des préfixes qui ne vous appartiennent pas', 'Même priorité VRRP sur les deux routeurs', 'Mélanger statique et dynamique sans comprendre la distance administrative'],
memo: [['Commande (FRR)', 'Usage'], ['vtysh', 'console de configuration'], ['show ip ospf neighbor', 'adjacences OSPF'], ['show ip ospf database', 'base d’états de liens'], ['show ip route', 'table de routage avec origine'], ['show ip rip', 'routes RIP'], ['show bgp summary', 'sessions BGP'], ['show bgp ipv4 unicast <préfixe>', 'chemins BGP'], ['systemctl status keepalived', 'état VRRP'], ['ip addr | grep secondary', 'IP virtuelle portée']],
examen: { titre: 'Sujet type · 20 points', q: ['Comparer vecteur de distance et état de liens. (4 pts)', 'Calculer des coûts OSPF et un chemin. (4 pts)', 'Configurer OSPF sur une topologie. (5 pts)', 'Expliquer le rôle de BGP et de l’AS_PATH. (4 pts)', 'Proposer une passerelle redondante. (3 pts)'], r: ['RIP / OSPF', 'référence / débit', 'router ospf, network area', 'inter-AS, politiques, boucles', 'VRRP'] },
prof: { deroule: [['Ouverture', 'Couper un lien en routage statique : rien ne se passe'], ['Cours', 'RIP et OSPF'], ['Pratique', 'FRR'], ['Cours', 'BGP, MPLS, VRRP, SDN'], ['Pratique', 'Keepalived'], ['Clôture', 'Quiz flash']], diff: 'Élèves en difficulté : topologie préconfigurée. Élèves avancés : BGP avec filtres, EVPN.', eval: 'Lab validé, sujet type.' } },
exemples: [
['Voisins OSPF', 'Vérifier les adjacences.', 'vtysh -c "show ip ospf neighbor"', 'Neighbor ID Pri State Dead Time Address Interface\n10.255.0.2 1 Full/DR 35.112s 10.255.0.2 ens18', 'Adjacence complète.'],
['Routes apprises', 'Origine des routes.', 'vtysh -c "show ip route" | grep -E "^O|^S"', 'O>* 10.63.0.0/16 [110/20] via 10.255.0.2, ens18\nS>* 0.0.0.0/0 [1/0] via 203.0.113.1, wan0', 'O = OSPF, distance 110, coût 20 ; S = statique.'],
['Mesurer la reconvergence', 'Panne simulée.', 'ping -D -i 0.2 10.63.1.10 (puis coupure du lien principal)', '[…10.4] 64 bytes …\n[…10.6] (pas de réponse)\n…\n[…14.2] 64 bytes …', 'Environ 4 secondes de coupure avant le passage par le chemin de secours.'],
['Session BGP', 'Lab inter-AS.', 'vtysh -c "show bgp summary"', 'Neighbor V AS MsgRcvd MsgSent Up/Down State/PfxRcd\n198.51.100.1 4 64510 42 40 00:18:12 3', 'Session établie, trois préfixes reçus.'],
['Chemin BGP', 'Pourquoi ce chemin ?', 'vtysh -c "show bgp ipv4 unicast 192.0.2.0/24"', 'Paths: (2 available, best #1)\n 64510 64520\n 64511 64530 64520', 'Le premier chemin traverse moins d’AS : il est préféré.'],
['Bascule VRRP', 'Test de redondance.', 'journalctl -u keepalived | tail -1', 'VRRP_Instance(VLAN20) Entering MASTER STATE', 'Le secondaire est devenu maître après l’arrêt du principal.']
],
termes: ['système autonome', 'IGP', 'EGP', 'métrique', 'distance administrative', 'RIP', 'vecteur de distance', 'OSPF', 'état de liens', 'LSA', 'LSDB', 'zone 0', 'Hello', 'BGP', 'eBGP', 'iBGP', 'AS_PATH', 'RPKI', 'MPLS', 'étiquette', 'L3VPN', 'VRRP', 'Keepalived', 'SDN', 'FRRouting']
});
reg({
cours: { id: 'wifi', match: /Wi-Fi : normes|WPA2|WPA3|802\.11|sans fil/i,
titre: 'Wi-Fi : normes 802.11, canaux, sécurité WPA2/WPA3 et 802.1X', duree: '',
niveau: 'SNT · Bac pro CIEL · BTS SIO / CIEL · BUT R&T · TSSR',
prerequis: ['Ethernet', 'VLAN', 'Décibels'],
competences: ['BTS SIO · Bloc 1 · Exploiter un réseau sans fil', 'BTS CIEL · C03 · Installer un réseau', 'BUT R&T · Compétence « Connecter »'],
intro: 'Dans un établissement, le Wi-Fi est souvent le réseau le plus utilisé et le plus critiqué : salles où ça ne passe pas, connexions qui tombent pendant les évaluations en ligne, réseau invités mal isolé. Le sans-fil obéit à la physique des ondes et partage un support commun entre tous les appareils. Ce module présente les normes, la planification des canaux, la sécurité WPA2 et WPA3, l’authentification 802.1X et le diagnostic.',
cm: [
{ t: 'Les normes 802.11', d: '', html: 'Le Wi-Fi suit la famille de normes <b>IEEE 802.11</b>, commercialisées sous des numéros : <b>Wi-Fi 4</b> (802.11n), <b>Wi-Fi 5</b> (802.11ac, 5 GHz), <b>Wi-Fi 6</b> et <b>6E</b> (802.11ax, avec OFDMA et la bande des 6 GHz), <b>Wi-Fi 7</b> (802.11be). Les débits annoncés sont théoriques et partagés entre tous les appareils associés à une borne : dans une salle de 35 élèves, le débit utile par appareil est une fraction du débit affiché. Le Wi-Fi 6 améliore surtout l’efficacité quand beaucoup d’appareils sont connectés, ce qui correspond exactement aux salles de classe.' },
{ t: 'Bandes et canaux', d: '', html: 'La bande des <b>2,4 GHz</b> porte loin mais n’offre que trois canaux sans recouvrement (1, 6, 11 en Europe), et elle est encombrée (Bluetooth, micro-ondes). La bande des <b>5 GHz</b> offre beaucoup plus de canaux, avec des débits supérieurs mais une portée plus courte et une moindre traversée des murs ; certains canaux sont soumis au <b>DFS</b> (détection des radars). La bande des <b>6 GHz</b> (Wi-Fi 6E) est encore plus large et moins encombrée. La <b>planification</b> consiste à attribuer des canaux différents aux bornes voisines et à régler leur puissance pour éviter qu’elles se brouillent : plus de bornes à puissance réduite valent mieux que quelques bornes à pleine puissance.' },
{ t: 'Accès au support', d: '', html: 'Tous les appareils d’un même canal partagent le support : un seul émet à la fois. Le Wi-Fi utilise <b>CSMA/CA</b> : écouter avant d’émettre, attendre un délai aléatoire, et chaque trame est acquittée. Un appareil lointain qui émet à faible débit occupe le canal longtemps et ralentit tous les autres. D’où l’intérêt d’imposer un débit minimal, de favoriser la bande des 5 GHz (band steering) et d’assurer une bonne couverture. La puissance reçue se mesure en <b>dBm</b> : au-delà de −65 dBm la qualité est bonne, en dessous de −75 dBm elle se dégrade.' },
{ t: 'Sécurité : WPA2 et WPA3', d: '', html: 'Le <b>WEP</b> et le WPA d’origine sont cassés et ne doivent plus être utilisés. <b>WPA2</b> chiffre avec AES-CCMP ; en mode <b>Personnel</b> (PSK), une clé partagée unique est vulnérable aux attaques par dictionnaire hors ligne si elle est courte, et tout le monde la connaît. <b>WPA3</b> remplace le PSK par <b>SAE</b>, résistant aux attaques par dictionnaire, et impose la protection des trames de gestion. Pour un réseau invités ouvert, <b>OWE</b> (Enhanced Open) chiffre sans mot de passe.' },
{ t: '802.1X et WPA Entreprise', d: '', html: 'Dans un établissement, un mot de passe partagé pour 1 500 personnes n’a aucun sens : il fuit, et on ne peut révoquer personne. Le mode <b>Entreprise</b> repose sur <b>802.1X</b> : chaque utilisateur s’authentifie avec ses propres identifiants (ou un certificat) auprès d’un serveur <b>RADIUS</b> (FreeRADIUS, NPS), lui-même relié à l’annuaire. La borne n’autorise l’accès qu’après la réponse du serveur, qui peut aussi attribuer un <b>VLAN</b> selon le profil (élève, enseignant, administration). Le serveur présente un certificat que les appareils doivent vérifier, sinon un faux point d’accès peut capter les identifiants. <b>eduroam</b> utilise ce mécanisme pour permettre aux étudiants et chercheurs de se connecter dans les établissements partenaires du monde entier.' },
{ t: 'Diagnostiquer', d: '', html: 'Les plaintes sur le Wi-Fi ont des causes variées : couverture insuffisante, brouillage entre bornes sur le même canal, trop d’appareils sur une borne, appareil ancien qui ne gère que le 2,4 GHz, authentification RADIUS en échec, DHCP saturé. Sous Linux, <code>iw dev wlan0 link</code> donne le signal et le débit, <code>iw dev wlan0 scan</code> les réseaux voisins et leurs canaux ; un analyseur de spectre ou une application de relevé de site permet de cartographier la couverture. Les contrôleurs de bornes centralisent ces indicateurs.' }
],
synthese: ['Wi-Fi 4, 5, 6/6E, 7 ; débit partagé entre appareils', '2,4 GHz : canaux 1, 6, 11 ; 5 et 6 GHz : plus de canaux, moins de portée', 'CSMA/CA, un émetteur à la fois ; signal en dBm', 'WEP et WPA cassés ; WPA2-AES, WPA3-SAE, OWE', '802.1X + RADIUS : identifiants individuels, VLAN dynamique, certificat vérifié', 'Diagnostic : couverture, canaux, charge, authentification, DHCP'],
qcm: [
['Canaux sans recouvrement à 2,4 GHz en Europe ?', ['1, 2, 3', '1, 6, 11', '36, 40, 44', 'Tous'], 1, 'Trois canaux.'],
['Pourquoi éviter un mot de passe Wi-Fi partagé pour tout un établissement ?', ['Trop long', 'Il fuit et on ne peut révoquer personne', 'Interdit', 'Plus lent'], 1, 'Mode Entreprise.'],
['Que remplace SAE dans WPA3 ?', ['AES', 'Le PSK de WPA2', 'RADIUS', 'Le DHCP'], 1, 'Résiste au dictionnaire hors ligne.'],
['Signal de −80 dBm :', ['excellent', 'faible, qualité dégradée', 'impossible', 'trop fort'], 1, 'Viser au-dessus de −65.'],
['Quel serveur authentifie en 802.1X ?', ['DNS', 'RADIUS', 'DHCP', 'NTP'], 1, 'Relié à l’annuaire.'],
['Pourquoi réduire la puissance des bornes ?', ['Économie seule', 'Limiter le brouillage entre bornes voisines', 'Obligation', 'Sécurité'], 1, 'Meilleure réutilisation des canaux.']
],
td: [
{ n: 'Application', c: 'Attribuer les canaux 2,4 GHz à neuf bornes réparties en grille 3 × 3 pour limiter le brouillage.', r: 'Alternance 1, 6, 11 en ligne et en colonne, de sorte que deux bornes adjacentes n’aient jamais le même canal.' },
{ n: 'Application', c: 'Concevoir les réseaux Wi-Fi d’un lycée : élèves, personnels, invités, objets.', r: 'Un SSID 802.1X avec VLAN attribué par RADIUS selon le profil (élèves, personnels) · un SSID invités OWE ou portail, VLAN isolé, accès Internet seul · un SSID objets WPA2/3-PSK par usage, VLAN dédié.' },
{ n: 'Approfondissement', c: 'Une salle se plaint de lenteurs pendant les évaluations en ligne. Proposer une démarche de diagnostic chiffrée.', r: 'Mesurer le signal et le débit sur plusieurs postes · compter les appareils associés à la borne · vérifier canal et voisins · consulter les journaux RADIUS et DHCP · solution possible : borne supplémentaire, 5 GHz forcé, débit minimal.' }
],
tp: { type: 'Lab VM', url: 'apercu-labs.html', desc: 'FreeRADIUS et point d’accès hostapd simulé.', etapes: ['Lire les réseaux voisins', 'Configurer WPA2-PSK puis WPA3-SAE', 'Installer FreeRADIUS', 'Authentifier en 802.1X', 'Attribuer un VLAN selon l’utilisateur'] },
plusLoin: [['Wi-Fi Alliance', 'https://www.wi-fi.org/'], ['ANSSI · Recommandations de sécurité relatives aux réseaux Wi-Fi', 'https://cyber.gouv.fr/publications/recommandations-de-securite-relatives-aux-reseaux-wi-fi'], ['eduroam France', 'https://www.eduroam.fr/'], ['FreeRADIUS', 'https://freeradius.org/documentation/']] },
plus: { cas: { titre: '', texte: '' },
resolu: { enonce: 'Depuis la rentrée, les élèves de la salle C204 perdent le Wi-Fi plusieurs fois par heure, alors que la salle voisine fonctionne.', etapes: [
['Mesurer', 'iw dev wlan0 link\nsignal: -72 dBm\ntx bitrate: 6.5 MBit/s\n→ Signal faible et débit très bas.'],
['Observer l’environnement', 'iw dev wlan0 scan | grep -E "SSID|freq|signal"\nfreq: 2437 signal: -58 dBm SSID: Lycee\nfreq: 2437 signal: -61 dBm SSID: Lycee\n→ Deux bornes sur le même canal 6 à 2,4 GHz se brouillent.'],
['Consulter le contrôleur', '→ 41 appareils associés à la borne du couloir, aucun à celle de la salle, éteinte depuis des travaux.'],
['Corriger', '→ Remise en service de la borne de la salle, canal 36 à 5 GHz, réduction de la puissance de la borne du couloir, débit minimal de 12 Mbit/s.'],
['Vérifier', 'signal: -54 dBm · tx bitrate: 433 MBit/s · aucune déconnexion sur une heure de test.\n→ Le plan des bornes et des canaux est mis à jour.']
] },
erreurs: ['Utiliser WEP ou WPA', 'Clé partagée unique pour tout l’établissement', 'Toutes les bornes à pleine puissance', 'Bornes voisines sur le même canal', 'Ne pas vérifier le certificat RADIUS', 'Réseau invités non isolé'],
memo: [['Commande / réglage', 'Usage'], ['iw dev wlan0 link', 'signal et débit'], ['iw dev wlan0 scan', 'réseaux et canaux voisins'], ['nmcli dev wifi', 'liste des réseaux'], ['iw reg get', 'réglementation du pays'], ['hostapd -dd', 'débogage d’un point d’accès'], ['radtest user mdp localhost 0 secret', 'tester FreeRADIUS'], ['journalctl -u freeradius', 'authentifications'], ['wpa_cli status', 'état côté client']],
examen: { titre: 'Sujet type · 20 points', q: ['Comparer les bandes 2,4, 5 et 6 GHz. (4 pts)', 'Planifier les canaux d’un étage. (4 pts)', 'Comparer WPA2-PSK, WPA3-SAE et WPA Entreprise. (5 pts)', 'Décrire une authentification 802.1X. (4 pts)', 'Diagnostiquer un cas fourni. (3 pts)'], r: ['portée, canaux, débit', 'alternance', 'voir cours', 'client, borne, RADIUS, annuaire', 'signal, canal, charge'] },
prof: { deroule: [['Ouverture', 'Relevé du signal dans la salle'], ['Cours', 'Normes et canaux'], ['Pratique', 'Scan et planification'], ['Cours', 'Sécurité et 802.1X'], ['Pratique', 'FreeRADIUS'], ['Clôture', 'Quiz flash']], diff: 'Élèves en difficulté : plan d’étage fourni. Élèves avancés : EAP-TLS, roaming 802.11r.', eval: 'Lab validé, sujet type.' } },
exemples: [
['Qualité de connexion', 'Poste lent.', 'iw dev wlan0 link', 'Connected to 3c:52:82:aa:10:01 (on wlan0)\n\tfreq: 5180\n\tsignal: -58 dBm\n\ttx bitrate: 866.7 MBit/s VHT-MCS 9 80MHz', 'Bonne connexion en 5 GHz, canal 36.'],
['Réseaux voisins', 'Planification.', 'nmcli -f SSID,CHAN,SIGNAL,SECURITY dev wifi', 'SSID CHAN SIGNAL SECURITY\nLycee 36 82 WPA2 802.1X\nLycee 6 54 WPA2 802.1X\nFreebox-xx 6 47 WPA2', 'Le canal 6 est partagé avec une box voisine.'],
['Tester RADIUS', 'Nouvelle configuration.', 'radtest lea.martin "MotDePasse" 127.0.0.1 0 testing123', 'Received Access-Accept Id 14 from 127.0.0.1:1812\n\tTunnel-Private-Group-Id:0 = "20"', 'Authentification acceptée, VLAN 20 attribué.'],
['Échec d’authentification', 'Un élève ne se connecte pas.', 'journalctl -u freeradius | grep -i reject | tail -1', 'Login incorrect (mschap: MS-CHAP2-Response is incorrect): [eleve.x] (from client borne-c2 port 0 cli 98-3B-…)', 'Mot de passe incorrect, ou mot de passe changé sans mise à jour sur l’appareil.'],
['Réglementation', 'Canaux disponibles.', 'iw reg get | head -3', 'country FR: DFS-ETSI\n\t(2400 - 2483 @ 40), (N/A, 20), (N/A)\n\t(5170 - 5250 @ 80), (N/A, 23), (N/A), AUTO-BW', 'Puissances maximales autorisées en France par bande.'],
['Sécurité annoncée', 'Audit du réseau invités.', 'nmcli -f SSID,SECURITY dev wifi | grep Invites', 'Lycee-Invites --', 'Réseau ouvert sans chiffrement : passer en OWE et isoler le VLAN.']
],
termes: ['Wi-Fi', '802.11', 'Wi-Fi 6', '2,4 GHz', '5 GHz', '6 GHz', 'canal', 'DFS', 'CSMA/CA', 'dBm', 'SSID', 'WEP', 'WPA2', 'WPA3', 'SAE', 'OWE', 'PSK', '802.1X', 'RADIUS', 'FreeRADIUS', 'eduroam', 'band steering']
});
reg({
cours: { id: 'transmission', match: /Couche physique|câbles, fibre|Codage en ligne|multiplexage|Fibre optique, réseaux radio|4G et 5G|Transmission|Électronique \(option ER\)/i,
titre: 'Transmission : câbles, fibre optique, codage, multiplexage et réseaux mobiles', duree: '',
niveau: 'Bac pro CIEL · BTS CIEL IR / ER · BUT R&T · BUT GEII',
prerequis: ['Mathématiques : décibels, signal'],
competences: ['BTS CIEL · C02 · Analyser une transmission', 'BUT R&T · Compétence « Connecter » · couche physique'],
intro: 'Tout ce qui circule sur un réseau finit en signal électrique, lumineux ou radio. Le choix d’un câble, d’une fibre ou d’une technologie radio détermine le débit, la portée et la fiabilité d’une liaison, et la plupart des pannes « mystérieuses » ont une cause physique. Ce module présente les supports de transmission, le codage et le multiplexage, la fibre optique et ses mesures, et l’architecture des réseaux mobiles 4G et 5G.',
cm: [
{ t: 'Paires torsadées', d: '', html: 'Le câble <b>à paires torsadées</b> relie les postes aux switchs. La torsade réduit la diaphonie et les perturbations. Les <b>catégories</b> fixent les performances : Cat 5e (1 Gbit/s), Cat 6 (1 Gbit/s, 10 Gbit/s sur 55 m), Cat 6A (10 Gbit/s sur 100 m), Cat 8 (25 à 40 Gbit/s sur 30 m, en datacenter). Le blindage (U/UTP, F/UTP, S/FTP) protège des perturbations. La longueur maximale d’un lien Ethernet cuivre est de <b>100 mètres</b> (90 m de câble fixe et 10 m de cordons). Le <b>PoE</b> (802.3af, at, bt) alimente bornes Wi-Fi, téléphones et caméras par le même câble. Les liens se certifient avec un testeur : affaiblissement, diaphonie, longueur, câblage croisé.' },
{ t: 'Fibre optique', d: '', html: 'La fibre transporte la lumière dans un cœur de verre, par réflexion totale. La fibre <b>multimode</b> (cœur de 50 µm, OM3/OM4/OM5) convient aux courtes distances, quelques centaines de mètres, avec des émetteurs peu coûteux ; la fibre <b>monomode</b> (cœur de 9 µm, OS2) porte sur des dizaines de kilomètres. On l’utilise pour les liaisons entre bâtiments et entre baies (insensible aux perturbations électriques et aux différences de potentiel), ainsi que pour les accès FTTH. Les connecteurs courants sont LC et SC ; les modules <b>SFP</b> dans les switchs convertissent le signal. Le <b>bilan optique</b> additionne les pertes (atténuation par kilomètre, connecteurs, épissures) ; un <b>réflectomètre</b> (OTDR) localise un défaut sur la fibre.', attention: 'Ne jamais regarder l’extrémité d’une fibre ou d’un module en fonctionnement : les lasers utilisés, souvent infrarouges donc invisibles, peuvent endommager la rétine.' },
{ t: 'Codage et débit', d: '', html: 'Le <b>codage en ligne</b> transforme les bits en signal adapté au support : NRZ, Manchester (Ethernet 10 Mbit/s, une transition par bit qui permet la synchronisation), codages par blocs comme 8b/10b ou 64b/66b qui ajoutent quelques bits pour garantir assez de transitions, et modulations à plusieurs niveaux (PAM-4) pour les hauts débits. Le <b>débit</b> en bit/s se distingue de la <b>rapidité de modulation</b> en bauds (symboles par seconde) : avec 16 niveaux par symbole, chaque symbole porte 4 bits. La <b>formule de Shannon</b> borne le débit d’un canal : C = B·log₂(1 + S/B), avec la bande passante B et le rapport signal sur bruit.' },
{ t: 'Multiplexage', d: '', html: 'Le <b>multiplexage</b> partage un support entre plusieurs communications. <b>Temporel</b> (TDM) : chacun son créneau de temps. <b>Fréquentiel</b> (FDM) : chacun sa bande de fréquences, comme les canaux radio. En longueur d’onde (<b>WDM</b>) sur fibre : plusieurs couleurs de lumière dans la même fibre, jusqu’à des dizaines de canaux en DWDM. L’<b>OFDM</b> découpe un canal en centaines de sous-porteuses orthogonales : c’est la base du Wi-Fi, de la 4G, de la 5G et de la TNT. L’<b>OFDMA</b> attribue ces sous-porteuses à des utilisateurs différents en même temps.' },
{ t: 'Réseaux mobiles 4G et 5G', d: '', html: 'Un réseau mobile se compose d’un <b>réseau d’accès radio</b> (antennes : eNodeB en 4G, gNodeB en 5G) et d’un <b>cœur de réseau</b> qui gère l’authentification par la carte SIM, la mobilité et la connexion à Internet (EPC en 4G, 5G Core). La 4G (LTE) utilise l’OFDMA et le MIMO. La 5G ajoute de nouvelles bandes (3,5 GHz en France, et les ondes millimétriques à 26 GHz), une latence réduite, et le <b>découpage en tranches</b> (network slicing) qui offre des réseaux virtuels aux caractéristiques garanties. Les réseaux dédiés aux objets (NB-IoT, LTE-M) en sont une déclinaison basse consommation. Les fréquences sont attribuées par l’<b>Arcep</b>.' },
{ t: 'Diagnostiquer la couche physique', d: '', html: 'Une liaison qui fonctionne « parfois » a souvent une cause physique : câble écrasé, connecteur mal serti, longueur excessive, fibre sale ou trop courbée, module SFP incompatible. Les indicateurs : erreurs CRC sur le port, vitesse négociée inférieure à l’attendu, puissance optique reçue hors plage (lue sur le module avec <code>ethtool -m</code>). On nettoie systématiquement les connecteurs de fibre avant de les brancher.' }
],
synthese: ['Cuivre : catégories, 100 m maximum, PoE, certification', 'Fibre multimode (courte distance) et monomode (longue) ; SFP, bilan optique, OTDR ; sécurité laser', 'Codage en ligne ; débit en bit/s et rapidité en bauds ; Shannon', 'Multiplexage TDM, FDM, WDM, OFDM/OFDMA', '4G/5G : accès radio et cœur, bandes, tranches ; Arcep', 'CRC, vitesse négociée, puissance optique'],
qcm: [
['Longueur maximale d’un lien Ethernet cuivre ?', ['50 m', '100 m', '500 m', '2 km'], 1, '90 m + cordons.'],
['Quelle fibre pour relier deux bâtiments distants de 5 km ?', ['Multimode OM3', 'Monomode OS2', 'Cat 6A', 'Coaxial'], 1, 'Longue distance.'],
['16 niveaux par symbole à 1 000 bauds donnent :', ['1 000 bit/s', '4 000 bit/s', '16 000 bit/s', '250 bit/s'], 1, 'log₂16 = 4 bits par symbole.'],
['Technique de multiplexage du Wi-Fi et de la 4G ?', ['TDM', 'OFDM', 'Manchester', 'WDM'], 1, 'Sous-porteuses orthogonales.'],
['Qui attribue les fréquences en France ?', ['La CNIL', 'L’Arcep', 'L’ANSSI', 'L’Afnic'], 1, 'Régulateur des télécoms.'],
['Que permet le PoE ?', ['Chiffrer', 'Alimenter un appareil par le câble réseau', 'Doubler le débit', 'Allonger le câble'], 1, 'Bornes, caméras, téléphones.']
],
td: [
{ n: 'Application', c: 'Calculer le bilan d’une liaison fibre monomode de 8 km (0,35 dB/km), avec 2 connecteurs (0,5 dB chacun) et 3 épissures (0,1 dB), et la comparer au budget du module (puissance émise −3 dBm, sensibilité −20 dBm).', r: '8 × 0,35 + 2 × 0,5 + 3 × 0,1 = 4,1 dB · puissance reçue ≈ −7,1 dBm, budget 17 dB : marge de 12,9 dB.' },
{ n: 'Application', c: 'Appliquer la formule de Shannon à un canal de 20 MHz avec un rapport signal sur bruit de 30 dB.', r: 'S/B = 1 000 · C = 20 × 10⁶ × log₂(1 001) ≈ 199 Mbit/s.' },
{ n: 'Approfondissement', c: 'Choisir et justifier les supports pour un nouveau bâtiment : postes, bornes Wi-Fi 6E, caméras, liaison vers le bâtiment principal à 300 m.', r: 'Cat 6A pour les postes et bornes (10 Gbit/s possible, PoE++ pour les bornes) · caméras en PoE · liaison en fibre OM4 ou monomode avec deux paires pour la redondance.' }
],
tp: { type: 'Atelier', url: 'apercu-td-imprimable.html', desc: 'Câblage, certification et mesures.', etapes: ['Sertir et tester un câble', 'Lire un rapport de certification', 'Calculer un bilan optique', 'Lire les informations d’un module SFP', 'Mesurer un débit réel'] },
plusLoin: [['Arcep · fréquences et réseaux mobiles', 'https://www.arcep.fr/'], ['3GPP · spécifications 4G et 5G', 'https://www.3gpp.org/'], ['Fibre optique : guide FTTH (Arcep)', 'https://www.arcep.fr/la-regulation/grands-dossiers-reseaux-fixes/la-fibre.html']] },
plus: { cas: { titre: '', texte: '' },
resolu: { enonce: 'La liaison fibre entre le bâtiment principal et le gymnase tombe plusieurs fois par jour depuis des travaux de voirie.', etapes: [
['Lire l’état du port', 'show interfaces gi1/0/48 | include errors|rate\n1532 input errors, 1530 CRC\n→ Erreurs nombreuses sur la liaison.'],
['Mesurer la puissance optique', 'show interfaces gi1/0/48 transceiver\nRx Power: -23.4 dBm (seuil bas -20.0)\n→ La puissance reçue est sous la sensibilité du module.'],
['Localiser', '→ Mesure au réflectomètre : événement de forte atténuation à 182 m, au niveau de la tranchée des travaux.'],
['Réparer', '→ Intervention du prestataire : fibre écrasée, épissure réalisée. Puissance reçue après réparation : −6,8 dBm.'],
['Prévenir', '→ Seconde liaison par un autre cheminement pour la redondance, supervision de la puissance optique avec alerte à −15 dBm.']
] },
erreurs: ['Dépasser 100 m en cuivre', 'Mélanger multimode et monomode', 'Brancher une fibre sans la nettoyer', 'Regarder une fibre allumée', 'Confondre bauds et bit/s', 'Ignorer les erreurs CRC'],
memo: [['Élément', 'À retenir'], ['Cat 6A', '10 Gbit/s sur 100 m'], ['OM4 · OS2', 'multimode courte distance · monomode longue'], ['LC · SC', 'connecteurs de fibre'], ['SFP, SFP+, QSFP', 'modules optiques'], ['ethtool -m ens18', 'informations du module optique'], ['C = B·log₂(1 + S/B)', 'Shannon'], ['débit = rapidité × log₂(niveaux)', 'bits par seconde'], ['OFDM · WDM', 'multiplexages'], ['eNodeB · gNodeB', 'antennes 4G · 5G']],
examen: { titre: 'Sujet type · 20 points', q: ['Choisir les supports d’un cas donné. (5 pts)', 'Calculer un bilan optique. (4 pts)', 'Calculer un débit à partir de la rapidité et des niveaux. (3 pts)', 'Comparer quatre multiplexages. (4 pts)', 'Décrire l’architecture d’un réseau 5G. (4 pts)'], r: ['cuivre, fibre, PoE', 'somme des pertes', 'R × log₂ n', 'TDM, FDM, WDM, OFDM', 'accès radio, cœur, tranches'] },
prof: { deroule: [['Ouverture', 'Démonter un câble Cat 6A et une jarretière fibre'], ['Cours', 'Supports'], ['Atelier', 'Sertissage et tests'], ['Cours', 'Codage et multiplexage'], ['Cours', '4G et 5G'], ['Clôture', 'Quiz flash']], diff: 'Élèves en difficulté : fiches matériel. Élèves avancés : calculs de Shannon, OTDR.', eval: 'Atelier et sujet type.' } },
exemples: [
['Informations d’un module optique', 'Diagnostic fibre.', 'sudo ethtool -m ens1f0 | grep -E "Identifier|Wavelength|Rcvr signal"', 'Identifier: 0x03 (SFP)\nLaser wavelength: 1310nm\nReceiver signal average optical power: 0.2081 mW / -6.82 dBm', 'Module monomode 1310 nm, puissance reçue correcte.'],
['Vitesse négociée', 'Lien gigabit attendu.', 'ethtool ens18 | grep Speed', 'Speed: 100Mb/s', 'Une paire défectueuse limite souvent le lien à 100 Mbit/s : retester le câble.'],
['Erreurs physiques', 'Lien instable.', 'ip -s link show ens18 | sed -n "4p"', ' 9821331 71001 1240 0', '1 240 erreurs en réception.'],
['Débit réel', 'Mesurer un lien.', 'iperf3 -c 10.62.40.20 -t 10', '[ 5] 0.00-10.00 sec 1.09 GBytes 939 Mbits/sec sender', '939 Mbit/s sur un lien gigabit : normal compte tenu des en-têtes.'],
['Puissance PoE', 'Borne qui redémarre.', 'show power inline gi1/0/12', 'Interface Admin Oper Power(W) Class\nGi1/0/12 auto on 25.4 4', 'La borne consomme 25,4 W, classe 4 (802.3at) : vérifier le budget PoE total du switch.'],
['Calcul de Shannon', 'Exercice.', 'python3 -c "import math; print(20e6*math.log2(1+1000)/1e6)"', '199.3', 'Environ 199 Mbit/s au maximum.']
],
termes: ['paire torsadée', 'Cat 6A', 'PoE', 'fibre optique', 'multimode', 'monomode', 'SFP', 'bilan optique', 'OTDR', 'codage en ligne', 'Manchester', 'baud', 'Shannon', 'multiplexage', 'TDM', 'FDM', 'WDM', 'OFDM', 'OFDMA', '4G', '5G', 'gNodeB', 'network slicing', 'Arcep']
});
reg({
cours: { id: 'qos', match: /QoS : files|marquage, tc|qualité de service/i,
titre: 'Qualité de service : files d’attente, marquage DSCP et mise en forme avec tc', duree: '',
niveau: 'BTS SIO SISR · BUT R&T parcours ROM · école d’ingénieurs',
prerequis: ['Téléphonie sur IP', 'Pare-feu'],
competences: ['BUT R&T ROM · Garantir la qualité des services', 'BTS SIO SISR · Optimiser l’infrastructure'],
intro: 'Quand un lien est saturé, tout le monde ralentit : la visioconférence se hache, la téléphonie devient inaudible et les évaluations en ligne expirent, pendant qu’une mise à jour système télécharge des gigaoctets. La qualité de service consiste à décider qui passe en premier. Ce module présente le marquage, les files d’attente, la limitation de débit et leur mise en œuvre sous Linux avec tc.',
cm: [
{ t: 'Le problème : la congestion', d: '', html: 'Un lien sature quand le trafic entrant dépasse sa capacité, typiquement à la sortie vers Internet. Les paquets s’accumulent dans des <b>files d’attente</b> : la latence augmente, puis les files débordent et des paquets sont perdus. Sans politique, la file est unique et premier arrivé, premier servi : une voix qui supporte mal 30 ms de retard attend derrière des paquets de téléchargement. Des files trop grandes provoquent aussi le <b>bufferbloat</b>, des latences de plusieurs centaines de millisecondes.' },
{ t: 'Classifier et marquer', d: '', html: 'On commence par <b>classifier</b> le trafic (par port, adresse, VLAN, application) puis on le <b>marque</b> pour que les équipements suivants le reconnaissent. En IP, le champ <b>DSCP</b> (6 bits de l’en-tête) porte la classe : <b>EF</b> (46) pour la voix, <b>AF41</b> pour la visioconférence, <b>CS6</b> pour les protocoles de routage, <b>0</b> (best effort) par défaut, <b>CS1</b> pour le trafic de moindre priorité (sauvegardes, mises à jour). En Ethernet, le champ PCP du tag VLAN porte une priorité de 0 à 7. On marque au plus près de la source et on ne fait confiance qu’aux marquages des équipements maîtrisés.' },
{ t: 'Ordonnancer : les files', d: '', html: 'L’<b>ordonnanceur</b> décide quelle file sert en premier. Une <b>file prioritaire</b> stricte sert la voix avant tout le reste, avec une limite pour qu’elle ne puisse pas affamer les autres. Le <b>partage pondéré</b> (WFQ, HTB) garantit à chaque classe une part du débit et lui permet d’emprunter le débit inutilisé. Les algorithmes de gestion active de file comme <b>fq_codel</b> et <b>CAKE</b> limitent le bufferbloat en maintenant des files courtes et en traitant équitablement les flux.' },
{ t: 'Limiter et mettre en forme', d: '', html: 'La <b>limitation</b> (policing) jette ce qui dépasse un débit, la <b>mise en forme</b> (shaping) retarde pour lisser. Le principe du seau à jetons : chaque paquet consomme des jetons, qui se rechargent à un débit fixé, avec une rafale autorisée. Pour que la QoS ait un effet sur un lien vers une box ou un opérateur, il faut <b>mettre en forme légèrement sous le débit réel</b> du lien : sinon la file se forme dans l’équipement de l’opérateur, où l’on n’a aucune maîtrise.' },
{ t: 'tc sous Linux', d: '', html: 'L’outil <code>tc</code> configure le contrôle du trafic du noyau : des <b>qdisc</b> (disciplines de file), éventuellement hiérarchiques, avec des <b>classes</b> et des <b>filtres</b>. Le plus simple et souvent le plus efficace aujourd’hui est <b>CAKE</b>, qui combine mise en forme, équité entre flux et prise en compte du DSCP en une ligne.', exemple: '# Mise en forme sortante à 95 Mbit/s pour une sortie de 100 Mbit/s, prise en compte du DSCP\nsudo tc qdisc replace dev wan0 root cake bandwidth 95mbit diffserv4 nat\ntc -s qdisc show dev wan0\n\n# Variante HTB : 20 % garantis à la voix, le reste partagé\ntc qdisc add dev wan0 root handle 1: htb default 30\ntc class add dev wan0 parent 1: classid 1:1 htb rate 95mbit\ntc class add dev wan0 parent 1:1 classid 1:10 htb rate 20mbit ceil 95mbit prio 0\ntc class add dev wan0 parent 1:1 classid 1:30 htb rate 75mbit ceil 95mbit prio 1\ntc filter add dev wan0 parent 1: protocol ip u32 match ip dsfield 0xb8 0xfc flowid 1:10' },
{ t: 'Mesurer', d: '', html: 'Une politique de QoS se vérifie par la mesure : latence sous charge (ping pendant un téléchargement saturant), gigue et pertes de la voix (statistiques RTP), compteurs de chaque classe (<code>tc -s class show</code>). L’objectif est une latence quasi constante même lorsque le lien est saturé.' }
],
synthese: ['Congestion : files, latence, pertes, bufferbloat', 'Classifier, marquer DSCP (EF voix, AF41 visio, CS1 faible priorité)', 'File prioritaire limitée, partage pondéré, fq_codel et CAKE', 'Policing jette, shaping retarde ; mettre en forme sous le débit réel', 'tc : qdisc, classes, filtres ; CAKE en une ligne', 'Mesurer la latence sous charge'],
qcm: [
['Marquage DSCP de la voix ?', ['0', 'EF (46)', 'CS1', 'AF11'], 1, 'Expedited Forwarding.'],
['Qu’est-ce que le bufferbloat ?', ['Une attaque', 'Une latence excessive due à des files trop grandes', 'Un câble', 'Un codec'], 1, 'Files saturées.'],
['Différence entre policing et shaping ?', ['Aucune', 'Le policing jette, le shaping retarde', 'Le shaping chiffre', 'Le policing accélère'], 1, 'Seau à jetons.'],
['Pourquoi mettre en forme sous le débit réel du lien ?', ['Économie', 'Pour que la file se forme sur notre équipement, où la politique s’applique', 'Obligation', 'Pour le Wi-Fi'], 1, 'Sinon chez l’opérateur.'],
['Quelle qdisc combine mise en forme et équité entre flux ?', ['pfifo', 'CAKE', 'noqueue', 'ingress'], 1, 'Simple et efficace.'],
['Classe pour les sauvegardes et mises à jour ?', ['EF', 'CS1', 'CS6', 'AF41'], 1, 'Moindre priorité.']
],
td: [
{ n: 'Application', c: 'Proposer une politique de QoS pour la sortie Internet d’un lycée (200 Mbit/s) : voix, visioconférence, évaluations en ligne, navigation, mises à jour.', r: 'Voix EF, file prioritaire limitée à 10 % · visio AF41 et évaluations (destinations connues) 30 % garantis · navigation 40 % · mises à jour CS1 10 % garantis, empruntable · mise en forme à 190 Mbit/s.' },
{ n: 'Application', c: 'Mesurer le bufferbloat d’une liaison : protocole de mesure.', r: 'ping continu vers une cible proche · lancer un téléchargement saturant (iperf3) · relever la latence pendant la charge · répéter après activation de CAKE.' },
{ n: 'Approfondissement', c: 'Interpréter les compteurs tc -s d’une classe dont les « dropped » augmentent fortement.', r: 'La classe dépasse son débit garanti sans pouvoir emprunter : soit la politique est trop restrictive, soit un flux non prévu y est classé ; vérifier les filtres et ajuster rate/ceil.' }
],
tp: { type: 'Lab VM', url: 'apercu-labs.html', desc: 'Lien saturé entre deux VM.', etapes: ['Mesurer la latence sous charge', 'Marquer le trafic voix', 'Appliquer CAKE', 'Construire une hiérarchie HTB', 'Comparer les mesures'] },
plusLoin: [['man tc · tc-cake', 'https://man7.org/linux/man-pages/man8/tc-cake.8.html'], ['Bufferbloat.net', 'https://www.bufferbloat.net/'], ['RFC 4594 · classes de service DiffServ', 'https://www.rfc-editor.org/rfc/rfc4594']] },
plus: { cas: { titre: '', texte: '' },
resolu: { enonce: 'Pendant l’épreuve d’examen en ligne, les visioconférences de la salle des professeurs se figent et des élèves perdent leur session.', etapes: [
['Mesurer', 'ping 1.1.1.1 pendant la journée : 12 ms ; à 10 h : 480 ms\n→ Latence multipliée par 40 : bufferbloat sur la sortie.'],
['Identifier', 'iftop -i wan0 : 160 Mbit/s vers des serveurs de mises à jour\n→ Les postes d’une salle ont lancé une mise à jour du système d’exploitation.'],
['Corriger', 'tc qdisc replace dev wan0 root cake bandwidth 190mbit diffserv4 nat\n+ marquage CS1 des serveurs de mises à jour\n→ Les mises à jour ne passent plus qu’avec le débit inutilisé.'],
['Vérifier', 'ping sous charge : 18 ms · visioconférences fluides · aucune session d’examen perdue.'],
['Prévenir', '→ Mises à jour planifiées hors heures de cours et cache local de mises à jour ; politique de QoS documentée.']
] },
erreurs: ['Configurer la QoS sans mettre en forme sous le débit réel', 'Faire confiance aux marquages des postes', 'File prioritaire sans limite', 'Ne pas mesurer avant et après', 'Classer tout en haute priorité'],
memo: [['Commande', 'Usage'], ['tc qdisc show dev wan0', 'discipline en place'], ['tc -s qdisc show dev wan0', 'statistiques'], ['tc qdisc replace … root cake bandwidth Xmbit', 'mise en forme simple'], ['tc -s class show dev wan0', 'compteurs par classe'], ['tc filter show dev wan0', 'filtres'], ['iperf3 -c hôte', 'saturer et mesurer'], ['ping -i 0.2', 'latence sous charge'], ['iftop -i wan0', 'flux en cours']],
examen: { titre: 'Sujet type · 20 points', q: ['Expliquer congestion et bufferbloat. (3 pts)', 'Proposer une politique de classes pour un cas donné. (6 pts)', 'Comparer policing et shaping. (3 pts)', 'Écrire une configuration tc. (5 pts)', 'Proposer un protocole de mesure. (3 pts)'], r: ['files', 'classes et DSCP', 'jeter / retarder', 'cake ou htb', 'latence sous charge'] },
prof: { deroule: [['Ouverture', 'Appel VoIP pendant un téléchargement saturant'], ['Cours', 'Classes et files'], ['Pratique', 'CAKE'], ['Pratique', 'HTB'], ['Clôture', 'Quiz flash']], diff: 'Élèves en difficulté : CAKE seulement. Élèves avancés : HTB et filtres.', eval: 'Mesures avant/après, sujet type.' } },
exemples: [
['Latence sous charge', 'Diagnostic du bufferbloat.', 'ping -c 5 1.1.1.1 (pendant iperf3 saturant)', 'time=412 ms\ntime=455 ms\ntime=398 ms', 'Latence très élevée sous charge.'],
['Activer CAKE', 'Correction.', 'sudo tc qdisc replace dev wan0 root cake bandwidth 95mbit diffserv4 nat', '(aucune sortie)', 'Mise en forme à 95 % du débit.'],
['Après correction', 'Même mesure.', 'ping -c 5 1.1.1.1 (pendant iperf3)', 'time=17 ms\ntime=19 ms\ntime=16 ms', 'La latence reste basse malgré la saturation.'],
['Statistiques CAKE', 'Contrôle.', 'tc -s qdisc show dev wan0 | grep -A4 Tin', ' Bulk Best Effort Video Voice\n pkts 8121 912334 44012 18233\n drops 84 2210 3 0', 'Aucune perte dans la classe Voix.'],
['Vérifier le marquage', 'La voix est-elle marquée ?', 'sudo tcpdump -ni ens18 -v -c 1 udp portrange 10000-20000 | grep tos', 'IP (tos 0xb8, …)', '0xb8 = DSCP EF.'],
['Flux en cours', 'Qui sature ?', 'sudo iftop -i wan0 -t -s 5 | head -4', '1 10.62.20.57 => 151.101.2.132 48.2Mb\n2 10.62.20.58 => 151.101.2.132 47.9Mb', 'Plusieurs postes téléchargent depuis le même serveur de mises à jour.']
],
termes: ['QoS', 'congestion', 'file d’attente', 'bufferbloat', 'DSCP', 'EF', 'AF41', 'CS1', 'best effort', 'PCP', 'ordonnanceur', 'file prioritaire', 'WFQ', 'HTB', 'fq_codel', 'CAKE', 'policing', 'shaping', 'seau à jetons', 'tc', 'qdisc']
});
})();