60
Module M3108 Supervision des r´ eseaux IUT de Villetaneuse epartement R´ eseaux et T´ el´ ecommunications Ann´ ee 2019-2020 http://www.lipn.univ-paris13.fr/ ~ evangelista/cours/M3108

Module M3108 Supervision des r eseaux IUT de Villetaneuse D …evangelista/cours/M3108/M... · 2019-09-11 · lus/modi es par le NMS. I Ces objets donnent des informations sur l’

  • Upload
    others

  • View
    30

  • Download
    1

Embed Size (px)

Citation preview

Module M3108Supervision des reseaux

IUT de VilletaneuseDepartement Reseaux et Telecommunications

Annee 2019-2020

http://www.lipn.univ-paris13.fr/~evangelista/cours/M3108

Contenu du module 2/60

M3108 — Supervision des reseauxhttp://www.lipn.univ-paris13.fr/~evangelista/cours/M3108

I Volume horaire :I 2×3h de Cours/TDsI 5×3h de TPsI 1h + 2h de controles

I Evaluation :I TPs notesI 2 controles

Plan 3/60

1. Introduction a la supervision des reseaux

2. SNMP : protocole de supervision

3. Elements de qualite de service et de statistiques

Supervision des reseaux — Une definition 4/60

Ensemble des techniques permettant de s’assurerdu bon fonctionnement des elements d’un reseau.

I superviser ⇔ surveiller

I tache devolue a l’administrateur du reseauI elements d’un reseau :

I switchs, routeursI ordinateursI imprimantesI services (HTTP, FTP, DHCP, . . . )

. . .I En gros, tout equipement qui a une @IP (plus eventuellement un port).

Pourquoi superviser ? 5/60

I Assurer la continuite des services.I Detecter les pannes pour remettre les equipements en service

I Mesurer les performances du reseauI Assurer une qualite de serviceI Analyser le trafic (reporting)

I Detecter/prevenir les attaques (voir module de securite en S4)

Exemples d’application de la supervision 6/60

1. Surveillance d’un serveur de mailI Un processus verifie periodiquement l’etat du disque dur du serveur de mail.I espace disque libre < 1Go ⇒ il envoie un mail aux utilisateurs pour leur

demander de faire le menage dans leurs mails

2. Surveillance d’une imprimanteI Toutes les 10 sec. on envoie un ping a une imprimante.I 5 pings successifs negatifs ⇒ mail envoye a l’administrateur

3. Blocage d’un attaquantI Sur la passerelle d’acces au reseau on journalise les tentatives de connexion

SSH.I Un processus inspecte periodiquement le journal.I Il bloque les @IP (via l’ajout d’une regle de pare-feu) qui apparaissent trop

frequemment (p.ex., plus de 100 tentatives de connexion en une minute).

4. Prevision du traficI On enregistre dans une base de donnees les dates des requetes envoyees au

serveur Web.I On peut ensuite en extraire des statistiques pour prevoir les pics d’affluence.

Comment superviser ? 7/60

I Outils generalistesI pingI tracerouteI iperfI netstatI wireshark

. . .

I Protocoles de supervisionI CMIP (Common Information Management Protocol)

I normalise par l’OSI, peu utilise

I SNMP? (Simple Network Management Protocol)I simple a mettre en œuvre ⇒ tres repandu

I Outils dediesI Nagios?

I CentreonI Zabbix

. . .

? : vu dans ce module

Avant la supervision 8/60

I La surveillance est utilisee une fois le reseau deploye.I D’autres techniques doivent etre utilisees en amont, par exemple :

I SauvegardesI Ex : copier periodiquement les donnees d’un serveur NFS sur un autre serveur.

I Repartition de charges (load balancing)I principe : un repartiteur redistribue les requetes sur un ensemble de serveurs

repartiteur

requetes HTTP

I Redondance des equipementsI principe : doubler les equipements

S1 S2 Si S1 tombe en panne,

S2 prend le relai.

Un outil de supervision : Nagios 9/60

https://www.nagios.com/

I logiciel libre

I premiere version en 1996I 2 composants :

I un moteur qui execute periodiquement des taches de supervision ;I et une interface web pour visualiser les resultats collectes par le moteur.

I quelques fonctionnalites importantes :I possibilite de superviser

I des equipements (p.ex., verifier qu’une machine repond au pings)I des services (p.ex., verifier qu’apache est actif sur un PC)I des ressources (espace disque, charge du processeur, . . . )

I cartographie du reseauI mise en places d’alerte (envoi de mail/SMS en cas de probleme)

I possibilite de developper des plugins realisant des taches de supervision

I plusieurs forks : icinga, shinken, naemon

Plus de details en TP.

Interface web de Nagios 10/60

Vue en temps reel des services disponibles ou a l’arret.

Source : https://fr.wikipedia.org/wiki/Nagios, consultee le 31/08/2018.

Plan 11/60

1. Introduction a la supervision des reseaux

2. SNMP : protocole de supervision

3. Elements de qualite de service et de statistiques

Plan 12/60

2. SNMP : protocole de supervision2.1 Introduction a SNMP2.2 Les MIBs2.3 La boıte a outils net-snmp2.4 Structure des messages SNMP2.5 De SNMPv1 a SNMPv3

Presentation de SNMP 13/60

I SNMP = Simple Network Management Protocol

I protocole defini par l’IETFI 3 versions definies dans differentes RFCs :

v1 RFCs 1065–1067 (1988) — toujours utiliseev2c RFCs 1441–1452 (1993) — version la plus repandue

(Plusieurs v2 ont ete definies : v2u, v2p, . . . v2c est celle utiliseeactuellement.)

v3 RFC 3410 (2002)

I SNMP s’appuie sur UDP.I Ports utilises :

I 161 pour les requetes et reponsesI 162 pour les traps

I Dans ce cours, on se basera sur la v2c.(cf. section 2.5 pour une description des differences entre les trois versions)

Terminologie 14/60

I SNMP fait intervenir :I un NMS (Network Management System) — la plate-forme de supervision ;I et des agents — processus s’executant sur les equipements supervises.

I Chaque agent a en memoire un ensemble d’objets qui peuvent etrelus/modifies par le NMS.

I Ces objets donnent des informations sur l’etat de l’equipement sur lequels’execute l’agent et peuvent etre utilises pour sa supervision.

I Ils forment une MIB : une Management Information Base.I Les objets de cette MIB sont decrits dans le langage SMI (cf. les exemples

dans la suite).

SMI = Structure of Management Information

I Exemples d’objets :I etats des interfaces reseau (activee/desactivee)I temperature interneI espace disque libre

L’architecture SNMP 15/60

NMS

agent

MIB

agent

MIB

agent

MIB

SNMP est mis en œuvre sur la plupart des equipements reseau (routeurs,switchs, . . . ) et systemes d’exploitation.

Les operations SNMP 16/60

I les requetes

NMS Agent

requete

reponse

I permet de lire/modifier la (les) valeur(s) d’un (de plusieurs) objet(s)

I les notifications (ou traps)

NMS Agentnotification

I permet de prevenir le NMS d’un evenement particulierExemple : l’OS va s’arreter.

I pas d’acquittement

I les informs

NMS Agentinform

acquittement

I notification avec acquittement

Les requetes SNMP 17/60

I getRequestrecupere la valeur d’un (de plusieurs) objet(s)

I setRequestmodifie la valeur d’un (de plusieurs) objet(s)

I getNextRequestrecupere la valeur de l’objet suivant dans la MIB

I getBulkRequestrecupere les valeurs d’un groupe d’objets consecutifs de la MIB

Les communautes SNMP 18/60

I Une communaute designe un ensemble d’agents/NMS auxquels sontassocies des droits.

I communaute ≈ mot de passeI Trois types de droits sont associes a une communaute :

I readOnly — droit en lecture sur les objets de la MIBI readWrite — droit en lecture/ecriture sur les objets de la MIBI trap — droit d’envoyer des traps

I Une communaute peut avoir acces a certaines parties de la MIB et pas ad’autres.

I La communaute est presente dans tous les messages SNMP.

I L’echange se fait en clair (non chiffre) sur le reseau.

⇒ En voyant passer des messages SNMP on peut decouvrir lescommunautes.

⇒ a changer regulierement

Plan 19/60

2. SNMP : protocole de supervision2.1 Introduction a SNMP2.2 Les MIBs2.3 La boıte a outils net-snmp2.4 Structure des messages SNMP2.5 De SNMPv1 a SNMPv3

Structure des MIBs 20/60

I MIB = base de donnees d’objets presente sur un equipement supervise parun agent SNMP

I Les MIBs ont une structure arborescente.

I Cette structure est normalisee (en partie) et extensible (en partie).

I Un objet est un nœud de l’arbre.I Chaque objet a

I un nom symbolique (unique dans tout l’arbre) ;I et un numero.

I Pour designer un objet dans l’arbre on peut utiliser son nom ou son OID.

I OID d’un objet O = liste des numeros des objets sur le chemin de la racinea O separes par des ’.’

I Les agents ne possedent pas tous la meme MIB !

Representation d’une MIB 21/60

racine

ccitt0

iso1

iso - ccitt2

org

3

dod6

internet1

directory

1

mgmt

2

experimental

3

private

4

mib-21

system

1

interfaces2

ip

4

OID = 1.3.6.1.2.1.1

enterprises

1

ibm1

cisco9

nokia94

La branche mib-2 22/60

mib-21.3.6.1.2.1

system

1

interfaces2

ip

4

icmp

5

tcp

6

udp

7

snmp

11

branche normalisee et presente sur tous les agents SNMP (en theorie !)I system (1.3.6.1.2.1.1)

informations generales sur l’equipement sur lequel se trouve l’agent

I interfaces (1.3.6.1.2.1.2)

informations sur les interfaces reseau (ex : statuts des interfaces)

I ip (1.3.6.1.2.1.4)

informations sur la pile IP (ex : contenu de la table de routage)

I tcp (1.3.6.1.2.1.6), udp (1.3.6.1.2.1.7), snmp (1.3.6.1.2.1.11)

statistiques TCP, UDP et SNMP (ex : connexions TCP ouvertes)

La branche system 23/60

system

1.3.6.1.2.1.1

sysDescr

1

sysUpTime

3

sysContact

4

sysName

5

sysLocation

6

sysServices

7

I sysDescr (1.3.6.1.2.1.1.1)description textuelle

I sysUpTime (1.3.6.1.2.1.1.3)temps (exprime en 1

100 de sec.) depuis lequel l’equipement est en marcheI sysContact (1.3.6.1.2.1.1.4)

adresse mail de l’administrateur de l’equipementI sysName (1.3.6.1.2.1.1.5)

nom de l’equipementI sysLocation (1.3.6.1.2.1.1.6)

emplacement physique de l’equipementI sysServices (1.3.6.1.2.1.1.7)

services rendus par l’equipement

La branche enterprises 24/60

enterprises

1.3.6.1.4.1

ibm2

cisco9

novell23

sun42

snmpResearch

99

intel343

I Branche dans laquelle les entreprises peuvent inserer des objets specifiquesa leurs equipements.

I Chaque objet fils de enterprises est gere par la compagnie correspondante.

I Ces MIBs sont dites privees.

La branche snmpTraps 25/60

snmpTraps

1.3.6.1.6.3.1.1.5

coldStart1

warmStart2

linkDown3

linkUp

4

authenticationFailure5

branche contenant la definition des notifications SNMPv2c standard(Les notifications sont aussi definies comme des objets de la MIB.)I coldStart (1.3.6.1.6.3.1.1.5.1)

redemarrage de l’agentI warmStart (1.3.6.1.6.3.1.1.5.2)

redemarrage de l’agent sans changement de configurationI linkDown (1.3.6.1.6.3.1.1.5.3)

interface desactiveeI linkUp (1.3.6.1.6.3.1.1.5.4)

interface activeeI authenticationFailure (1.3.6.1.6.3.1.1.5.5)

pb. d’authentification (p.ex., requete recue avec une mauvaise communaute)

Le langage de description SMI — Exemple 1 26/60

Definition de l’objet system.

iso OBJECT IDENTIFIER ::= { 1 }

org OBJECT IDENTIFIER ::= { iso 3 }

dod OBJECT IDENTIFIER ::= { org 6 }

internet OBJECT IDENTIFIER ::= { dod 1 }

mgmt OBJECT IDENTIFIER ::= { internet 2 }

mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }

system OBJECT IDENTIFIER ::= { mib-2 1 }

Le langage de description SMI — Exemple 2 27/60

Definition de l’objet sysUpTime, fils n°3 de l’objet system.

sysUpTime OBJECT−TYPESYNTAX TimeTicks

ACCESS read-only

STATUS mandatory

DESCRIPTION"The time (in hundredths of a second) since the

network management portion of the system was last

re-initialized ."

::= { system 3 }

Le langage de description SMI — Exemple 3 28/60

Definition de l’objet sysContact, fils n°4 de l’objet system.

sysContact OBJECT−TYPESYNTAX DisplayString (SIZE (0..255))

ACCESS read-write

STATUS mandatory

DESCRIPTION"The textual identification of the contact person

for this managed node , together with information

on how to contact this person ."

::= { system 4 }

Le langage de description SMI — Exemple 4 29/60

Definition de la notification coldStart, fils n°1 de l’objet snmpTraps.

coldStart NOTIFICATION−TYPESTATUS current

DESCRIPTION"A coldStart trap signifies that the SNMP entity ,

supporting a notification originator application , is

reinitializing itself and that its configuration may

have been altered ."

::= { snmpTraps 1 }

Plan 30/60

2. SNMP : protocole de supervision2.1 Introduction a SNMP2.2 Les MIBs2.3 La boıte a outils net-snmp2.4 Structure des messages SNMP2.5 De SNMPv1 a SNMPv3

Presentation de net-snmp 31/60

I boite a outils linux permettant d’effectuer des operations SNMPI principales commandes :

I snmpset, snmpget, snmpgetnext et snmpbulkget : envoi de requetesI snmptrap : envoi de notificationsI snmpinform : envoi de informsI snmpwalk et snmpbulkwalk : exploration d’une branche de la MIB

I Options requises par toutes les commandes :I -v V

version de SNMP utilisee (V = 1, 2c ou 3)I -c COMMUNAUTE

communaute utilisee

Utilisation de snmpset et snmpget 32/60

Pour recuperer la valeur de sysName :

$ snmpget -v2c -cpublic localhost .1.3.6.1.2.1.1.5.0

SNMPv2 -MIB:: sysName .0 = STRING: localhost.localdomain

Pour modifier sa valeur :

$ snmpset -v2c -cprivate localhost .1.3.6.1.2.1.1.5.0 s "pc-de-sami"

SNMPv2 -MIB:: sysName .0 = STRING: pc -de-sami

La valeur de certains objets n’est pas modifiable (p.ex., sysDescr) :

$ snmpset -v2c -cprivate localhost .1.3.6.1.2.1.1.1.0 s "pc-de-sami"

Error in packet.

Reason: notWritable (That object does not support modification)

Failed object: SNMPv2 -MIB:: sysDescr .0

On peut aussi recuperer (ou modifier) plusieurs objets avec une seule requete.

$ snmpget -v2c -cpublic localhost .1.3.6.1.2.1.1.4.0 .1.3.6.1.2.1.1.6.0

SNMPv2 -MIB:: sysContact .0 = STRING: [email protected] -paris13.fr

SNMPv2 -MIB:: sysLocation .0 = STRING: IUTV (O108)

Utilisation de snmpgetnext et snmpwalk 33/60

Avec un getNextRequest, on recupere l’objet suivant dans la MIB (via unparcours de l’arbre) :

$ snmpgetnext -v2c -cpublic -On localhost .1.3.6.1

.1.3.6.1.2.1.1.1.0 = STRING: Linux localhost.localdomain 4.17.19 -200. fc28.x86_64 #1 SMP F r i Aug 24 15 : 47 : 41 UTC 2018 x86 64$ snmpgetnext -v2c -cpublic -On localhost .1.3.6.1.2.1.1.3.0

.1.3.6.1.2.1.1.4.0 = STRING: [email protected] -paris13.fr

snmpwalk permet de retrouver tous les objets dont l’OID est prefixe par unOID donne en argument :

$ snmpwalk -v2c -cpublic localhost .1.3.6.1.2.1.1

.1.3.6.1.2.1.1.1.0 = STRING: Linux localhost.localdomain 4.17.19 -200. fc28.x86_64 #1 SMP F r i Aug 24 15 : 47 : 41 UTC 2018 x86 64

.1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.8072.3.2.10

.1.3.6.1.2.1.1.3.0 = Timeticks: (661096) 1:50:10.96

.1.3.6.1.2.1.1.4.0 = STRING: [email protected] -paris13.fr

.1.3.6.1.2.1.1.5.0 = STRING: pc-de -sami

...

Plan 34/60

2. SNMP : protocole de supervision2.1 Introduction a SNMP2.2 Les MIBs2.3 La boıte a outils net-snmp2.4 Structure des messages SNMP2.5 De SNMPv1 a SNMPv3

Le schema d’encodage TLV 35/60

I schema d’encodage utilise pour tous les messages SNMP

I Tout champ est decompose en trois parties :

Type Length Value1 o. 1 o. N o.

I Type (1 o.) = type du champ (code normalise)

I Length (1 o.) = nb. d’octets dans la partie Value

I Value (N o.) = valeur reelle du champ

Les types primitifs 36/60

I type primitif ⇔ Le champ Value ne peut pas etre redecompose ensous-champs.

Type Code hexadecimal

Integer 0x02String 0x04Null 0x05OID 0x06

IpAddress 0x40Counter 0x41Gauge 0x42

TimeTicks 0x43

Exemples

I 02 01 04 = un entier (02) code sur un octet (01) et valant 4

I 04 02 79 6F = une chaıne de caracteres (04) de deux (02) octets valant“yo” (79 6F en ASCII)

Les types composite 37/60

I type composite ⇔ Le champ Value est une suite de sous-champs(eux-memes encodes en TLV).

Type Code hexadecimal

sequence 0x30getRequest 0xA0

getNextRequest 0xA1response 0xA2

setRequest 0xA3getBulkRequest 0xA5informRequest 0xA6

trap 0xA7

I Le contenu d’un message est donc encode en TLV.

Exemple

I 30 07 02 01 04 04 02 79 6F = une sequence (30) de 7 octetscontenant l’entier 4 et la chaıne de caracteres “yo”

Encodage des OIDs 38/60

Regle de codage des 2 premiers nombres de l’OID

I Les deux premiers nombres x .y d’un OID sont codes sur 1 octet valant40x + y .

I Exemples : la valeur de l’OID 1.3.4.5 sera : 2B 04 05I 2B = 2× 16 + 11 = 43 = 40× 1 + 3

Regle de codage des grands nombres (> 127)

I Probleme : comment coder 400 dans un OID ?I 400 est code sur deux octets : 01 90 en hexadecimal.I Or 01 90 pourrait etre interprete comme deux nombres : 1.144.

I Solution utilisee :I Seuls les 7 bits de poids faible sont utilises pour coder les nombres.I Le 8eme bit (de poids fort) restant vaut

I 0 si l’octet est le dernier apparaissant dans le nombreI 1 si l’octet suivant fait aussi partie du nombre.

I Exemple : 400 = 11 00100002

⇒ 400 sera code 10000011 00010000 en binaire, soit 83 10 en hexa.

Structure generique 39/60

I Les messages SNMP ont tous la meme structure.

I Tous les champs sont encodes selon le schema TLV.

I Un message est encode comme une sequence (au sens TLV) de 3 elements.

Version Community PDU

sequence

I Version = 0 pour SNMPv1, 1 pour SNMPv2c, 3 pour SNMPv3

I Community = chaıne de caracteres contenant la communaute.

I PDU = contenu du message

Le PDU SNMP 40/60

I Structure du PDU identique quel que soit le type du message.

I On utilise les types composite getRequest, setRequest, . . . pour determinerle type du message.

RequestID ErrorCode ErrorIndex VariableList

getRequest, setRequest, . . .

I RequestID = identifiant de requeteI choisi aleatoirement par l’emetteur de la requeteI et recopie dans la reponse

I ErrorCode = code d’erreurI toujours a 0 (pas d’erreur) dans une requete

I ErrorIndex = numero de l’OID dans VariableList qui a cause l’erreur (siErrorCode 6= 0)

I VariableList = sequence de couples (OID, valeur)

Encodage de la liste d’objets 41/60

I Un message SNMP contient toujours une liste (sequence) d’OIDs avecleurs valeurs.

I Chaque couple (OID, valeur) est lui-meme encode comme une sequence.

OID1 Value1. . . OIDn Valuen

sequencesequence sequence

Valeurs associees aux objets envoyes

I Dans les requetes set, les valeurs sont celles que la requete tente d’affecteraux objets.

I Dans les requetes get, les valeurs sont toujours vides (type Null).

I Dans les reponses (qu’elle que soit la requete envoyee) les valeurs sontcelles des objets de la requete (apres modification dans le cas d’un set).

Codes d’erreur 42/60

0x00 pas d’erreur

0x01 reponse trop longue pour etre transportee

0x02 objet demande non present dans la MIB

0x03 le type de la donnee demandee ne correspond pas a celui de laMIB

0x04 tentative de modification d’une variable accessible en lectureseule

0x05 erreur generale

0x06 acces non authorise

Exemple de message getRequest 43/60

I message getRequest envoye par la commande :

$ snmpget -v2c -ccommRO 192.168.15.100 \

1.3.6.1.2.1.1.4.0 \

1.3.6.1.2.1.1.6.0

I getRequest ⇒ Les objets apparaissant dans le message ont la valeur Null.

Exemple de message setRequest 44/60

I message setRequest envoye par la commande :

$ snmpset -v2c -ccommRW 192.168.15.100 \

1.3.6.1.2.1.1.4.0 s [email protected] \

1.3.6.1.2.1.1.6.0 s IUTV

Encodage des notifications 45/60

I Quand un agent envoie une notification, la liste d’objets contient toujours :I objet n°1 : OID = 1.3.6.1.2.1.1.3 (sysUpTime)

temps depuis lequel l’equipement est en marcheI objet n°2 : OID = 1.3.6.1.6.3.1.1.4.1 (snmpTrapOID)

OID de la notification envoyee

I L’agent peut aussi placer dans la notification d’autres objets pouvantdonner des informations utiles au NMS.

Par exemple :I sysName pour avoir le nom de l’equipementI sysContact pour avoir l’adresse electronique de l’administrateurI nom de l’interface desactivee dans le cas d’une notification linkDown

Exemple de notification 46/60

I 1er objet : (sysUpTime, 625508)⇒ equipement demarre depuis 625508 centiemes de seconde

I 2eme objet : (snmpTrapOID, 1.3.6.1.6.3.1.1.5.3)⇒ notification de type linkDown (1.3.6.1.6.3.1.1.5.3, voir diapo 25).

⇒ notification envoyee suite a la desactivation d’une interface reseau

Plan 47/60

2. SNMP : protocole de supervision2.1 Introduction a SNMP2.2 Les MIBs2.3 La boıte a outils net-snmp2.4 Structure des messages SNMP2.5 De SNMPv1 a SNMPv3

Differences entre SNMPv1 et SNMPv2c 48/60

I nouveau type de requete : getBulkRequestI Avec la v1, pour recuperer plusieurs objets consecutifs de la MIB : plusieurs

getNextRequest consecutifs (⇒ nombreux aller-retours).I Un getBulkRequest permet d’en demander plusieurs en meme temps.

I nouveau type de message : inform

I possibilite de communiquer entre NMS

I structure des messages de notification simplifiee

Pas de modifications importantes entre la v1 et la v2c.

Differences entre SNMPv2c et SNMPv3 49/60

I Architecture peer-to-peerI plus de NMS et d’agentsI que des entites SNMPI une entite = le noyau SNMP + des applications (envoi/reception de

notifications, envoi/reception de commandes, . . . )

I Mecanismes de securite ajoutesI authentificationI chiffrement des donnees

Plan 50/60

1. Introduction a la supervision des reseaux

2. SNMP : protocole de supervision

3. Elements de qualite de service et de statistiques

Qualite de service (QoS) — Une definition 51/60

Capacite d’un reseau a vehiculer des flux dans de bonnes conditions.

I flux = sequence de paquets d’une source vers une destination

I Criteres de QoS : fiabilite, delai, gigue, bande passante.

Criteres de QoS 52/60

Soit un flux entre deux points A et B du reseau.

FiabiliteI Taux d’erreur tolerable du flux.

Delai (ou latence)

I Temps mis par un paquet pour traverser le reseau de A a B.I Principales causes :

I temps de traversee des equipements (routeurs)I temps de propagation (eleve pour les reseaux longues distances)

Gigue

I Variation dans les delais d’acheminement.

I utilisation de la variance statistique

I gigue = 0 ⇔ delai d’acheminement constant

Bande passante

I Debit max. de bout en bout entre A et B.

Exigences de QoS selon le type d’application 53/60

Application Fiabilite Delai Gigue BPMail Haute Faible Faible FaibleFTP Haute Faible Faible MoyenneWeb Haute Moyenne Faible MoyenneVoIP Faible Haute Haute Faible

Conf. video Faible Haute Haute Haute

Le SLA (Service Level Agreement) 54/60

I Contrat passe entreI un fournisseur de service (p.ex., un fournisseur d’acces a Internet)I et un client (p.ex., une entreprise)

et definissantI le type de service fourniI et les exigences de QoS attendues.

I Les exigences de QoS peuvent etre fournies sous forme de metriques.Par exemple :I Bande passante garantie de 100 Mb/s.I Taux de perte de paquets < 0.001.I Delai max de bout en bout < 100ms.

. . .

Les metriques IPPM 55/60

I IPPM = IP Performance MeasurementI Groupe de l’IETF charge de la definition

I de metriques reseau pour les reseaux IP ;I et de methodes de calcul de ces metriques.

I Quelques metriques :I RFC 2679 : A One-way Delay Metric for IPPM

mesure du delai d’acheminement

I RFC 2680 : A One-way Packet Loss Metric for IPPM

mesure du taux de perte (dans un seul sens)

I RFC 2681 : A Round-trip Delay Metric for IPPM

mesure du delai aller-retour

Fonctions statistiques — Moyenne, variance et ecart-type 56/60

Une serie statistique X est une suite de valeurs X1, . . . ,Xn.

Moyenne

X =1

n

n∑i=1

Xi

Variance

V (X ) =1

n

n∑i=1

(Xi − X )2

(moyenne des carres des ecarts a la moyenne)

Ecart-typeσ(X ) =

√V (X )

Moyenne mobile de coefficient α

Xα = X n,α avec X n,α = α× Xn + (1− α)× X n−1,α

(moyenne ponderee avec un coeff. de α pour Xn, α× (1− α) pour Xn−1,α× (1− α)2 pour Xn−2, . . . )

Fonctions statistiques — Percentiles 57/60

Soit X = X1, . . . ,Xn une serie statistique.

I EDF (Empirical Distribution Function) mesure la proportion des valeurs dela serie inferieures ou egales a un y donne.

F (y) =nb de valeurs dans la serie ≤ y

n

I I eme percentile = plus petite valeur xi de la serie telle que F (xi ) ≥ I%.

Exemple

I Soit X = 1, 4,−5, 12,−7, 5, 4, 22

I On a :y -20 -5 4 6 20 100

F (y) 0 14

58

34 1 1

I 25eme percentile de X = −5I 50eme percentile de X = 4

Definition des metriques IPPM 58/60

I La plupart des metriques IPPM sont dependantes du type de paquet.I protocole de transportI ports source et destinationI taille du paquet

I Quand une metrique est specifique a un type de paquet, son nom estprefixe par typePaquet.

⇒ Le nom de la metrique est alors typePaquet-metrique.

I Lors de la realisation d’une mesure on doit preciser le type de paquet utilise.

Par exemple : typePaquet → TCP-src1550-dst80-size800

(paquet TCP de 800 octets envoye du port 1550 au port 80)

Exemple de metrique IPPM — Le One-Way-Delay (1/2) 59/60

One-Way-Delay = delai dans un seul sensI Le One-Way-Delay donne une indication plus fine que le Round-Trip-Delay

(delai aller-retour).I Possibilite de routage asymetrique.I Pour de nombreuses applications (p.ex., streaming multimedia), on

s’interesse au delai dans un seul sens.

I Mesure le temps passe par le paquet sur le reseau :

source

destinationone-way-delay

I Necessite une synchronisation des horloges (via GPS, par exemple).

Exemple de metrique IPPM — Le One-Way-Delay (2/2) 60/60

Quelques metriques One-Way-Delay

I typePaquet-One-Way-Delay(Src, Dst, T)

delai entre Src et Dst pour un paquet emis a l’instant T

I typePaquet-One-way-Delay-Percentile(T, I)

Ieme percentile d’une serie de delais T

I typePaquet-One-Way-Delay-Inverse-Percentile(T, S)

pourcentage des valeurs de la serie T dont la valeur est ≤ au seuil S

Exemple

Soit une serie de delais observesT = 100ms, 90ms, 150ms, 80ms, 130ms, 120ms.

I typePaquet-One-Way-Delay-Percentile(T,50) = 100ms

I typePaquet-One-Way-Delay-Inverse-Percentile(T,90ms) = 33.3%