problématique des réseaux m2 ifa -...
TRANSCRIPT
1
2008 Problématique Réseaux I 1
Problématique des RéseauxM2 IFA
Jean-Jacques [email protected]
2008 Problématique Réseaux I 2
Bibliographie générale• Andrew Tanenbaum, Réseaux, Pearson, 4ème
édition 2003.• James Kurose et Keith Ross, Analyse structurée des
réseaux, Pearson 2003
• Srinivasan Keshav, An Engineering Approach toComputer Networking, Addison Wesley, 1997
• Christian Huitema, Le routage dans Internet,Eyrolles, 1995.
2008 Problématique Réseaux I 3
Réseau
• Collection de– Nœuds/processus applicatifs– Nœuds internes (ponts, routeurs, …)– Canaux de transmission entre ces nœuds
• « graphe du réseau »
• Qui coopèrent pour échanger desdonnées (informatiques ou autre)
2
2008 Problématique Réseaux I 4
Quelques questions
• Comment identifier et localiser les nœuds ?– adressage
• Comment déterminer la (une) route (et qui le fait )?– routage
• Comment acheminer les données ?– commutation
2008 Problématique Réseaux I 5
Commutation
• Commutation de circuits (téléphone)• Commutation de messages (poste)• Commutation de paquets
– En mode circuit virtuel (X25, ATM)– En mode datagramme (IP, Ethernet)– Hybride (MPLS)
2008 Problématique Réseaux I 6
Commutation de circuit
• Etablir un circuit « physique »– Avant échange de données– Ressources garanties si succès– Multiplexage statique– Lien à 2 Mb/s => 30 circuits à 64 Kb/s– Signalisation/adressage séparé des données– Délai traversée faible (~ délai propagation) et fixe
• Entrée circuit => sortie circuit– Délai avant établissement (~ 1s)– Peu efficace si débit variable
3
2008 Problématique Réseaux I 7
Commutation de paquets
• Données découpées en paquets– Taille fixe ou variable (53 octets => n Ko)– Multiplexage au niveau paquet (statistique)
• Délais de traversée variable– Comment commuter les paquets
• Informations de contrôle dans chaque paquet– N° CV, label, adresse(s), route, …
• Fonction de commutation– FC(info paquet, info locale) => propager(modifier)
paquet
2008 Problématique Réseaux I 8
Routeur/commutateur
RIB
FIB
Signalisation
Données
A, donnéesentrée
FC
Algo routage
sortiepaquet
configuration
2008 Problématique Réseaux I 9
Mode circuit virtuel
• Multiplexage statistique (Comm paquet)• Phase de connexion (Délai de connexion élevé)• Fonction FC calculée au préalable (délai de commutation
faible)• Séparation signalisation / données• Réservation de ressources (possibilité de garanties QoS)• Construire FC par nœud• Info paquet : N° CV (X25, ATM), label (MPLS)
– FC(N° CV entrant, if entrante ) => N° CV sortant, if sortante– Une ligne par CV dans la table
4
2008 Problématique Réseaux I 10
Mode datagramme
• Pas de connexion préalable• Traitement des paquets au fil de l’eau• Fonction FC :
– Info dans le paquet suffisante• FC(« adresse_paquet », info_locale)• Identité destinataire => « adresse_paquet »• Comment le joindre => 2 possibilités
2008 Problématique Réseaux I 11
Mode datagramme (2)
• routage saut par saut (hop by hop)– Adresse destination : index dans
=> Table de « routage » (FIB)– Table construite indépendamment du flux
• Dynamiquement => adaptatif– Taille table = o(# destination) ?
• Internet ~ 108
• Agrégation, route par défaut– Utilisé dans Internet, réseaux Ethernet commutés
2008 Problématique Réseaux I 12
Mode datagramme (3)
• routage par la source– Route calculée par la source– Contenue dans le paquet
• Liste des sauts• Overhead• Contrôle de la route
– ~ circuit virtuel non marqué
– peu adaptatif• Coupure de la route ?
– Ex : Source routing IP, Source route bridging
5
2008 Problématique Réseaux I 13
Adressage
• Identifier un nœud/processus distant• Localiser un nœud/processus distant
– Dans l’absolu– Dans un réseau donné
• Identifier et localiser en même temps ?• Portée d’une adresse
– Locale/globale– Hiérarchique
• Qui les alloue ?
2008 Problématique Réseaux I 14
Exemples identifieur
• N° sécu– Identification parfaite et permanente– Aucune notion de localité– SAAMMDDCCCnnn (« hiérarchique par morceau »)
• N° téléphone portable- Identification parfaite (temporaire, du téléphone)- Pas de localisation (portabilité) => indirection
2008 Problématique Réseaux I 15
Exemples Localisateur• Coordonnées géographiques (ex GPS)
– Indépendant de toute infrastructure réseau– Comment y aller (labyrinthe) ?
• Adresse postale– Hiérarchique => traitement distribué
• N° téléphone fixe– hiérarchique PP ZZ AAAA NNNN– Dépend de la structure du réseau– Possibilité d’abréger (adresse relative)– Déplacement ?– Exceptions 18, 112, 3615 et (0 800)
6
2008 Problématique Réseaux I 16
Et les réseaux informatiques ?
• Adressage à quel niveau ?– Adresses Mac (Ethernet) dans les LAN– Adresses IP niveau « internet »– Noms de domaine dpt-info.u-strasbg.fr– Niveau applicatif URL :
• http://dpt-info.u-strasbg.fr:8080
2008 Problématique Réseaux I 17
Adresses Mac
• Adresses Ethernet/mac/IEEE 802• Identifiant de 48 bits (d’interface LAN)
• 2 bits indicateurs– Bit 0 : multicast ou unicast– Bit 1 : adresse gérée localement ou globalement
• 22 bits identifiant le constructeur (si global)• 24 bits numéro de série (si global)• 00:0d:93:c8:91:9c 000D93 => Apple
• Uniques mondialement/ allouées statiquement (mais modifiable)• Indépendantes de la localisation (routage ?)
2008 Problématique Réseaux I 18
Adresses IP (v4)– Initialement identificateur « presque plat »
• Ident. court (car intégré dans les paquets) 32 bits• Ident. d’interface réseau (pas de machine)• N° réseau | N° machine dans le réseau (hôte)• 8, 16 ou 24 bits | 24, 16 ou 8 bits• 3 classes de réseaux A ( 0xxx), B (10xx), C ( 110x)• Lien avec topologie ( 1 réseau est connexe)• Routage plat dans réseau de classe A ou B ?
7
2008 Problématique Réseaux I 19
Adresses IPv4 (suite)– Notion de sous-réseau
• Niveau hiérarchique supplémentaire• 130.79.90.153 netmask 255.255.254.0• 10000010 01001111 01011010 10011001• 11111111 11111111 11111110 00000000 netmask• Routage réseau > sous-réseau > hôte
– Problèmes• Extinction des adresses de classes A et B
– => multiplication classes C• Explosion des tables de routage
– # réseaux + #sous réseaux voisins
2008 Problématique Réseaux I 20
Adresses IPv4 (suite)
• CIDR Classless InterDomain Routing– « super réseau » agrégation de réseau– Notion de préfixe
• Ex : 192.168.72.0/21 23 réseaux de classe C, 211 adresses
– adresses PA : allouées par fournisseur• Allocation cohérente avec la topologie• Préfixe client ∈ Préfixe fournisseur
– permet l’agrégation• Changt fournisseur => Changt préfixe
– Renumérotation :-(( - fournisseurs multiples ?
– adresses PI (indépendantes fournisseurs)– pas d’agrégation (taille RIB ?)
2008 Problématique Réseaux I 21
Adresses IP
• Localisateur + identificateur :• Adresse de niveau transport
– Connexion TCP via socket– @ IP SRC, @IP DST, port SRC, port DST– Chgt @ IP => Chgt connexion
• Mobilité ?– Identificateur unique vs
• Adresses privées / NAT
8
2008 Problématique Réseaux I 22
Adresses IPv6
• Codées sur 128 bits• Ex :inet6 fe80::20d:93ff:fec8:919c prefixlen 64 scopeid 0x4inet6 2001:660:4701:1001:20d:93ff:fec8:919c prefixlen 64 autoconfinet 130.79.90.153 netmask 0xfffffe00 broadcast 130.79.91.255ether 00:0d:93:c8:91:9c• Standard
– préfixe du lien 64 bits (obtenu du routeur, lien local, …)– identificateur d’interface 64 bits
• (autoconf : contient 48 bits adresse mac)• Anonymat ?
2008 Problématique Réseaux I 23
Routage
• Deux étapes– Collecter des informations sur la topologie
• Dynamiquement ?• Info complète ou abrégée• Qui (tous, centralisé)
– Calculer les routes• Qui (source , serveur de route, tous )• Quand (permanence, à la demande, chgt )• Quelles propriétés ( + court chemin ?, contraintes ?)
2008 Problématique Réseaux I 24
Exemples d’Architecture
• Commutation de trames / bridging• Commutation de CV et ATM• Routage IP
– Intra domaine– Inter domaine– Routage QoS et MPLS
9
2008 Problématique Réseaux I 25
Commutation de trames/bridging
• LAN simple : diffusion, filtrage en réception
• Des ponts (commutateurs de trames)– Commutent des trames entre LAN ≠
• => notion de LAN étendu
• Adressage plat : identifieur = @MAC– Trame : @destination, @source
• Table de commutation (forwarding) :– Entrée : (@MAC, interface de sortie, âge)– Maintenue par les ponts (bridge)
2008 Problématique Réseaux I 26
Algo commutation trames
• Arrivée trame (D, S) par i1– Mettre à jour table pour S : (S, i1, age) (learning)– Si (D, i1) ∈ table => ignorer trame– Sinon si (D, i2) ∈ table => propager par i2– Sinon D ∉ table (inconnu ou multicast/broadcast)
• => envoyer par tout ik ≠ i1• Table renseignée par les données
– Taille en o(#machines) pas d’agrégation– Mobilité ?
2008 Problématique Réseaux I 27
Commutation de trames : STP
• STP : Spanning Tree Protocol• Risque de boucles
– Si le graphe contient des cycles• Parcours N1, N2, …,N1, N2
• Idée : commuter sur une topologie en arbre– Spanning Tree Protocol [ Perlman, IEEE802.1D]– Construction distribuée, dynamique– Autorise la redondance (et tolère les erreurs)
10
2008 Problématique Réseaux I 28
STP
• Modèle de réseau– Graphe biparti
• Nœuds : ponts, réseaux (LAN)– Ponts identifiés par leur adresse Mac et priorité– Réseaux non identifiés explicitement
• Arêtes : connexions pont - réseau (interface)– Identifié par N° interface du pont et priorité– Coût attribué par le pont (ex : k/débit)
• # ponts arbitraire par réseau (et réciproq.)
2008 Problématique Réseaux I 29
STP : arbre
• Construction d’un arbre recouvrant– Enraciné en un pont élu R
• ordre sur ident.– Arbre des plus courts chemins depuis R– Ex aequo départagés
• Ident du père• Ident interface
– Construction distribuée et dynamique– Déterministe (reproductible)
2008 Problématique Réseaux I 30
STP : ponts• Chaque pont P
– Détermine son interface racine r (sauf s’il est racine)• Le meilleur chemin de R à P passe par r (r ∈ arbre)
– Pour chaque autre interface i ≠ r (vers L)• Désignée ssi
– le meilleur chemin de R à L passe par i (i ∈ arbre)– donc une seule interface désignée vers un L
• Non-désignée (bloquante)– sinon ( i ∉ arbre)
– Trames de données• transmises de et vers les interfaces racine et désignée(s)• Filtrées depuis les interfaces bloquantes
11
2008 Problématique Réseaux I 31
STP : messages
• HELLO(R, d, P, I)– R identité racine– d distance de P à la racine– P identité du pont émetteur– I identité de l’interface émettrice
• Emis cycliquement par le pont racine– Hello_intervalle (p.e. 2s)
• Propagés (après MaJ) sur les interfacesdésignées et mis en cache
2008 Problématique Réseaux I 32
Algo STP
• Périodiquement– Supprimer entrées périmées du cache
• Cache_intervalle = K * Hello_intervalle– Si aucun message en cache
• Devenir racine• Émettre cycliquement Hello par interfaces désignées
– Sinon mettre à jour interfaces racine, désignée• Si réception Hello (R,d,P,I)
– Comparer lexicographiquement au meilleur Helloen cache
2008 Problématique Réseaux I 33
Algo STP suite• Si identique
– Pas de changement => propager + MaJ cache• Si meilleur
– Nouveau meilleur chemin• Recalculer racine, interface racine et désignées• Propager + MaJ cache
• Si moins bon et connu– MaJ cache
• Si moins bon et inconnu– Recalculer int. désignées + insérer cache
12
2008 Problématique Réseaux I 34
Analyse STP
• Protocole « unidirectionnel »– Sorte de vecteur de distance pour 1 dest ( R )
• Trafic signalisation par réseau indépendant # ponts• Infos par pont (« état ») dépend # voisins
– mais pas # ponts
• Autoconfigurable• Sensible délai
– Plusieurs secondes Cache_intervalle
2008 Problématique Réseaux I 35
Analyse STP
• Présence de ponts non STP ?• Pas de boucle même transitoire =>
– Enlever avant d’ajouter– Délai avant d’ajouter =>
• Réaction lente, dépend taille réseau
• Ponts transparents– Aucune modification des hôtes
2008 Problématique Réseaux I 36
Pont SRB
• Source Route Bridging (inclus dans IEEE802.5)• Numérotation
– des Ponts P1, P2,– Des LAN L1, L2
• Trame de données contient une route : L1 P1 L2 P3 L4 P5 …
• Découverte des routes– Inondation et enregistrement (route recording)
13
2008 Problématique Réseaux I 37
Ponts SRB
• Avantages– Utilisation de tous les liens/ponts– Si aucune perturbation => route inchangée
• Inconvénients– Overhead (entête SR)– Changements de routes– Non transparent (hôtes participent)
2008 Problématique Réseaux I 38
STP améliorations
• Accélérer mise à jour de l’arbre (RSTP)• Meilleure utilisation des ressources
– VLAN : trames taggées• Plusieurs réseaux virtuels sur le même réseau
– Sécurité, confinement du broadcast
– Tag = « préfixe d’adresse »– Un STP par VLAN
• Répartition de charge• Utilisation liens redondants
2008 Problématique Réseaux I 39
Routeur/commutateurBridging transparent
RIB
FIB
SignalisationHELLO
Données
A, donnéesentrée
FC(D)
Algo routageSTP
sortiepaquet
Configuration (priorité)
Learning SA = @Mac S,D
Liste interfaces actives
CacheHello
14
2008 Problématique Réseaux I 40
Routage IP « classique »• Adresse IP : localisateur + identificateur
– Adressage hiérarchique• Réduction taille FIB (et RIB)• FIB : préfixes réseau, sous-réseaux voisins, défaut• Longest match routing
• Calcul RIB/FIB distribué– Routage saut par saut (risque incohérence, boucle)– Pas de réservation
• Best effort (perte, deséquencement, délai)– Grande robustesse aux changements
2008 Problématique Réseaux I 41
Routage vecteur de distance
• Exemple RIP– Envoyer à ses voisins vecteur
• (Di, di), i= 1…n (extrait de la RIB)– Pour chaque Di (dest.) choisir minimum sur voisins Vj
• di = Min (distance à Vj + d(Vj, Di)) ; le Next Hop est Vj
• Construction FIB : Di, Vj
– Bellman-Ford– Distribué, très simple– Risque de boucle, lenteur convergence– Purement soft state
2008 Problématique Réseaux I 42
Routage Etat des liens
• Exemples OSPF, IS-IS– Routeur responsable liens voisins (arcs)
• Modèle de graphe biparti nœud = routeur ou réseau• Adjacence, routeur désigné d’un réseau
– A chaque changement d’état de lien• Diffusion de proche en proche à tous• Fiabilité diffusion (indispensable)
– Acquittement, N° de série
– A délai près• Base d’état des liens identique sur chaque routeur (RIB)
15
2008 Problématique Réseaux I 43
Etat des liens
• A chaque changement base EL– Calculer plus court chemin vers toutes
destination ( = adresse d’un lien)• Algorithme de Dijkstra arbre + courts chemins• 1er fils chemin vers D = Next hop vers D FIB
– RIB identiques, algo identique• => calcul cohérent (pas de boucle)
2008 Problématique Réseaux I 44
Etat des liens
• Complexité calcul• Pas extensible à très grande échelle
– Taille RIB– Fréquence changements/ diffusion
• Possibilité de découpage hiérarchique– Notion de zones– Liens « résumés » autres zones– Routage hiérarchique (sans adresse hiér.)
2008 Problématique Réseaux I 45
Routeur/commutateurrouteur IP/Ospf
RIB
FIB
Signalisation
Données
A, donnéesentrée
FC
Algo routage
sortiepaquet
configuration
IP destination
Base état des liens
DijkstraOspf EL
SynchroBDEL
longest match
16
2008 Problématique Réseaux I 46
Routage inter-domaine
• Internet découpé en domaines (AS)– Un AS géré par autorité unique
• Entreprise/établissement (propre trafic)• Opérateur, ISP/FAI
– Dans AS : routage par critère technique• Plus court chemin, …• Tout trafic doit être acheminé• RIP, OSPF• Taille du réseau limitée
2008 Problématique Réseaux I 47
Inter-domaine• Trafic entre AS
– Trafic entre voisins
– Trafic en transit
• Source et destinataire hors de l’AS• Faut-il l’accepter ?
– Utilisation ressources propres– Comment le contrôler
2008 Problématique Réseaux I 48
Inter-domaine
• Relation entre AS– Pair à pair
• Établissements partenaires• Opérateurs (échange de trafic)• Avantage réciproque
– Client fournisseur• Entreprise /FAI• En général payant
17
2008 Problématique Réseaux I 49
Graphe de domaines
• Hiérarchie de domaines• Au sommet AS uniquement
fournisseurs– Tier oneEn bas AS feuille (uniquement client)
2008 Problématique Réseaux I 50
Evolution # AS 89-97
2008 Problématique Réseaux I 51
Evolution #AS 97-08
18
2008 Problématique Réseaux I 52
Nombre entrées FIB
2008 Problématique Réseaux I 53
BGP
• Border Gateway Protocol– Annonces de destinations (préfixes)
• Accessibles (ou devenus inaccessibles)• Hard state (limitation du trafic)
– Attributs associés aux annonces• Permettent de mettre en œuvre la politique
– AS Path (BGP = vecteur de chemin)– Local Preference (interne à l’AS)– MED Multi Exit Discriminator etc
2008 Problématique Réseaux I 54
BGP
• Dans un AS– Différents routeurs BGP
• Même base d’annonce• => iBGP entre routeurs
– Full mesh ou réflecteurs
• Routeurs IGP intermédiaires– Redistribution IGP <=> BGP
19
2008 Problématique Réseaux I 55
BGP
• Entre AS– Frontières entre routeurs BGP (eBGP)– Filtrer, modifier, utiliser (FIB) et propager
les annonces– Points de peering (PIX)
• n AS (routeurs BGP) interconnectés localement
2008 Problématique Réseaux I 56
Algo BGP
• Annonce entrante– Filtrer si indésirable– Comparer aux autres annonces même préfixe
(tous attributs)– Si pas la meilleure
• Garder en base, ne pas utiliser ni propager– Si meilleure
• Utiliser (FIB, redistribution IGP)• Pour chaque voisin BGP
– Envoyer en mettant à jour attributs– Ou filtrer (interdire transit)
2008 Problématique Réseaux I 57
BGP analyse
• Métrique BGP– Pas bien définie ( # AS traversés, …)– Non liée à la « distance » au sens IGP– Préfixe peut être injoignable dans réseau connexe
(cohérence des politiques)• Lenteur convergence (à la RIP)• Extensibilité (route flapping) ?• Cohérence/sécurité (trous noirs)
20
2008 Problématique Réseaux I 58
Problème de convergence• Exemple :
Ref : Labovitz et al, Delayed Internet Routing Convergence, IEEE TON, Vol 9, 2001
RAS1
AS0
AS2
Etat initial 0(*R, 1R, 2R) 1(0R,*R,2R) 2(0R, 1R, *R)
2008 Problématique Réseaux I 59
Convergence (1)
• Notation– Asi -> Asj { AS-Path | W } W = withdraw
• On considère un préfixe P accessibleseulement par R
• R perd ce préfixe– R -> 0 W– R -> 1 W– R -> 2 W
2008 Problématique Réseaux I 60
Convergence (2)• Traitement R -> 0 W R -> 1 W R -> 2 W
– 0(∞, *1R, 2R) 1(*0R, ∞,2R) 2(*0R,1R, ∞)• Emission 0 -> 1 01R, 0-> 2 01R, 1 -> 0, 10R 1-> 2 10R, 2 -> 0
20R, 2 -> 1 20R• Traitement 0 -> 1 01R, 0-> 2 01R
– 1(∞, ∞, *2R) 2(01R, *1R, ∞)• Emission 1 -> 0 12R, 1 -> 2 12R, 2 -> 0 21R, 2 -> 1 21R• Traitement 1 -> 0, 10R 1-> 2 10R
– 0(∞, ∞, *2R) 2(*01R, 10R, ∞) (ex æquo : ordre as)• Emission 0 -> 1 02R, 0 -> 2 02R, 2 -> 0 201R, 2 -> 1 201R• …. 48ème étape
– 0(∞, ∞, ∞), 1 (∞, ∞, ∞) ,2 (∞, ∞, ∞)– Updates inutiles émis vers extérieur pendant 47 étapes
21
2008 Problématique Réseaux I 61
Routeur/commutateurrouteur IP/Ospf/BGP
RIB
FIB
Signalisation
Données
A, donnéesentrée
FC
Algo routage
sortiepaquet
configuration
IP destination
Base état des liens
DijkstraOspf EL
SynchroBDEL
RIB
Annonce BGP redistribution
Choix multiprotocole