Aller au contenu

TP – Mesurer, saturer puis prioriser un lien

BTS SIO SISR 2e année – Bloc 2 – S04 – binôme : un tape, l'autre lit ; on échange les rôles à chaque partie

Note

But. Un lien de 10 Mbit/s est saturé par un gros transfert : une application sensible au délai en souffre. Tu mesures l'état de référence, tu crées le goulot, tu constates la dégradation, tu configures une priorisation, puis tu mesures à nouveau pour le prouver.

Durée : 2 h 30 (parties A à E), plus le bilan. Prérequis : cours S04 lu ; mini-laboratoire de S01.

Note

Comment ce TP fonctionne. Avant de manipuler, tu écris ce que tu anticipes (« J'anticipe »). Puis tu testes et tu notes ce que tu constates. Un bilan de compétences clôt la séance.

Binôme : ____________ / ____________

Contraintes

  • Deux machines virtuelles Debian sur un réseau interne VirtualBox nommé lab-s04 :
Machine Rôle Adresse
SRV Émet le trafic ; c'est sa sortie qui est limitée 192.168.60.10/24
CLI Reçoit le trafic 192.168.60.20/24
  • Installe les paquets avant de passer sur le réseau interne (carte NAT) : sudo apt install -y iperf3 iproute2.
  • Relève le nom de ton interface avec ip -br a et place-le dans une variable (adapte) : IF=enp0s3.
  • Tu notes les résultats chiffrés (captures d'écran datées) : ils serviront de preuve.

Partie A – Mesurer l'état de référence (≈ 20 min)

But : connaître le comportement du lien avant toute modification.

Sur CLI : iperf3 -s. Sur SRV :

ping -c 20 192.168.60.20
iperf3 -c 192.168.60.20 -t 15

Relève :

Mesure Valeur de référence
RTT moyen (ligne rtt min/avg/max/mdev)
Écart-type du RTT (mdev, indicateur de gigue)
Débit maximal (iperf3, Mbit/s)

J'anticipe. Pourquoi le débit mesuré entre deux machines virtuelles n'est-il pas celui d'un vrai lien Internet ? ______________________

Éléments de réponse

Le réseau interne de VirtualBox est logiciel : il n'a pas de limitation physique et son débit dépend de la machine hôte (souvent plusieurs centaines de Mbit/s à plusieurs Gbit/s). C'est pourquoi on crée artificiellement un goulot à la partie B.


Partie B – Créer un goulot et constater la dégradation (≈ 35 min)

But : limiter la sortie de SRV à 10 Mbit/s, sans priorité, et observer l'effet d'un transfert sur la latence.

Sur SRV :

sudo tc qdisc add dev $IF root handle 1: htb default 10
sudo tc class add dev $IF parent 1: classid 1:10 htb rate 10mbit
tc qdisc show dev $IF
tc class show dev $IF

Je comprends. htb default 10 : que signifie le « 10 » ? ______________________

Éléments de réponse

Tout paquet qui ne correspond à aucun filtre est envoyé dans la classe 1:10 (la classe « par défaut »). Ici, toute la sortie passe donc par une seule classe limitée à 10 Mbit/s.

Lance dans deux terminaux de SRV, en même temps :

iperf3 -c 192.168.60.20 -t 30        # terminal 1 : transfert massif
ping -c 25 192.168.60.20             # terminal 2 : mesure du délai pendant le transfert
Mesure Référence (A) Avec goulot et transfert (B)
Débit iperf3
RTT moyen
Écart-type du RTT

J'anticipe. Avant de lancer : que va-t-il arriver au RTT du ping pendant le transfert ? Pourquoi ? ______________________

Éléments de réponse

Le débit se stabilise autour de 10 Mbit/s. Le RTT augmente nettement (de l'ordre de plusieurs dizaines à plusieurs centaines de millisecondes selon la taille de la file) et la gigue aussi : les paquets du ping attendent derrière ceux du transfert dans la file de la classe unique. C'est la latence d'attente en file.

Point de contrôle : capture d'écran de la sortie de ping pendant le transfert.


Partie C – Prioriser le trafic sensible (≈ 40 min)

But : donner la priorité aux paquets ICMP (le ping joue le rôle d'un flux sensible au délai).

Supprime la configuration précédente, puis crée deux classes :

sudo tc qdisc del dev $IF root
sudo tc qdisc add dev $IF root handle 1: htb default 20
sudo tc class add dev $IF parent 1: classid 1:1 htb rate 10mbit
sudo tc class add dev $IF parent 1:1 classid 1:10 htb rate 2mbit ceil 10mbit prio 0
sudo tc class add dev $IF parent 1:1 classid 1:20 htb rate 8mbit ceil 10mbit prio 1
sudo tc filter add dev $IF protocol ip parent 1:0 prio 1 u32 match ip protocol 1 0xff flowid 1:10
Élément Rôle
Classe 1:1 Le lien total, limité à 10 Mbit/s
Classe 1:10 Flux prioritaire : 2 Mbit/s garantis, jusqu'à 10 si le lien est libre, priorité 0 (la plus haute)
Classe 1:20 Flux ordinaires : 8 Mbit/s garantis, priorité 1
Filtre ip protocol 1 = ICMP → classe 1:10

Je comprends. Pourquoi la classe prioritaire n'a-t-elle que 2 Mbit/s garantis alors qu'elle ne porte que des ping ? ______________________

Éléments de réponse

Un flux prioritaire doit être plafonné et dimensionné sur son besoin réel : sinon il pourrait monopoliser le lien et affamer les autres flux (c'est le principe de la LLQ). La garantie n'est pas un maximum : ceil 10mbit lui permet d'utiliser le reste s'il est libre.

Relance les deux mesures simultanées (iperf3 de 30 s et ping), puis note les résultats :

Mesure Référence (A) Goulot sans priorité (B) Avec priorisation (C)
Débit iperf3
RTT moyen
Écart-type du RTT

Observe aussi les compteurs par classe :

tc -s class show dev $IF

Je comprends. Que montrent les compteurs ? Quelle classe a transporté le plus d'octets, et pourquoi ? ______________________

Éléments de réponse

La classe 1:20 porte presque tous les octets (le transfert iperf3) ; la classe 1:10 n'en porte que très peu (les ping). Le RTT du ping est revenu proche de la référence parce que ses paquets ne passent plus derrière ceux du transfert. Le débit d'iperf3 reste proche de 8 à 10 Mbit/s : la priorisation n'a pas créé de bande passante, elle a réparti la file.

Point de contrôle : le tableau complété à trois colonnes et une capture de tc -s class show.


Partie D – Observer un marquage DSCP (≈ 25 min)

But : voir qu'un paquet peut porter sa priorité dans son en-tête.

Sur CLI (dans un terminal) : sudo tcpdump -n -v -i $IF icmp

Sur SRV : ping -c 3 -Q 0xb8 192.168.60.20

L'option -Q 0xb8 fixe le champ « type de service » de l'en-tête IP.

J'anticipe. 0xb8 en décimal vaut 184. Quelle valeur de DSCP obtient-on en retirant les deux derniers bits (184 ÷ 4) ? ______

Éléments de réponse

184 ÷ 4 = 46, soit DSCP EF (expedited forwarding), la valeur usuelle de la voix. Dans la capture, tcpdump affiche tos 0xb8 dans l'en-tête IP des requêtes.

Je comprends. Pourquoi un marquage posé par un poste utilisateur ne doit-il pas être cru aveuglément ? ______________________

Éléments de réponse

N'importe quel utilisateur peut marquer ses paquets « prioritaires » pour s'octroyer de la bande passante. On marque ou on re-marque donc à la frontière de confiance, sur un équipement administré.


Partie E – Écrire la configuration équivalente sur un routeur Cisco (≈ 20 min)

But : transposer le principe sur un équipement d'entreprise.

Sans consulter le cours, écris la configuration d'un routeur qui :

  • identifie le trafic marqué DSCP EF dans une classe VOIX ;
  • lui réserve 128 kbit/s en priorité ;
  • partage équitablement le reste du trafic ;
  • applique la politique en sortie de l'interface serial 0/0/0.

Éléments de réponse
class-map match-any VOIX
 match dscp ef
policy-map QOS-WAN
 class VOIX
  priority 128
 class class-default
  fair-queue
interface serial 0/0/0
 service-policy output QOS-WAN

Vérification : show policy-map interface serial 0/0/0.

Tip

Exécute ta configuration dans le simulateur réseau. Télécharge TP-S04-qos-llq.json, ouvre le simulateur avec Ouvrir, puis saisis ta configuration sur le routeur R1 (le lien WAN est gi0/1, le simulateur n'a pas de port série). Vérifier mon travail contrôle la classe, la priorité de 128 kbit/s et l'application en sortie. Mode d'emploi : Utiliser les TP du simulateur. Ce simulateur sert à s'entraîner : il ne remplace pas le laboratoire réel pour une réalisation d'épreuve.

Nettoyage

Retire la configuration pour que le laboratoire retrouve son comportement initial :

sudo tc qdisc del dev $IF root
tc qdisc show dev $IF

Pour aller plus loin

  • Priorise un flux par port de destination plutôt que par protocole (filtre match ip dport 5060 0xffff) et vérifie avec iperf3 -u -p 5060.
  • Réduis la classe prioritaire à 100 kbit/s et envoie un flux prioritaire plus important : qu'observes-tu sur ce flux ? Que conclure sur le dimensionnement d'une classe prioritaire ?

Retour en entreprise (si ta situation le permet)

  • Observer : quels flux sont les plus sensibles chez ton client (téléphonie, visioconférence, application métier) ? Y a-t-il de la QoS sur le lien Internet ?
  • Documenter : décris en une demi-page les flux de ton entreprise et la priorité que tu donnerais à chacun.

Rendu

Compte rendu PDF, nommé RENDU-B2A2-S04-NOM.pdf, contenant : les tableaux de mesures des parties A à C, les captures datées, la capture tos 0xb8 de la partie D, ta configuration Cisco (partie E) et tes réponses aux questions « J'anticipe » et « Je comprends ».

Prolongement dans InfraLab (facultatif)

Un délai d'engagement se mesure : le simulateur fait courir l'horloge, avec ou sans calendrier ouvré.

Le simulateur InfraLab propose des TP guidés sur ce thème : vue TP, choisis le TP. Ils s'ajoutent à la séance (en classe si le temps le permet, sinon en autonomie) ; ils ne remplacent pas la manipulation sur machine réelle ci-dessus.

TP Titre Durée
22 SLA : tenir les délais 40 min
41 SLA : le week-end compte-t-il ? 35 min

Note

InfraLab simule : le score ne valide aucune compétence. Exporte le rapport du TP (HTML) et joins-le à ton compte rendu.

Bilan de la séance

Remplis ce bilan seul, honnêtement : il sert à décider ce qu'il faut reprendre. Niveau : Non maîtrisé, Maîtrise partielle, Bonne maîtrise ou Excellente maîtrise (le vocabulaire des grilles nationales d'évaluation), ou Non évalué.

Compétence du référentiel Ce que j'ai fait dans cette séance Niveau
B2.1 – Concevoir une solution d'infrastructure réseau
B2.3 – Exploiter, dépanner et superviser une solution d'infrastructure réseau

Note

Les codes sont ceux du référentiel (l'arrêté numérote des activités : les codes « B… » sont un usage courant).

Je sais faire, sans aide :

  • Définir débit, latence, gigue et perte, et les mesurer ;
  • Expliquer pourquoi un lien saturé augmente la latence ;
  • Distinguer marquage (CoS, DSCP) et ordonnancement ;
  • Configurer une priorisation simple et prouver son effet par des mesures ;
  • Écrire une politique de QoS sur un routeur Cisco.

Ce que je dois reprendre : ______________________

Ma question à poser à l'enseignant : ______________________