F2R201A

Cette page est dédiée au cours de 3ieme année sur le routage IP et le protocole IPv6. Vous y trouverez les supports de cours version courte (distribuée en cours) et version longue (avec les animations et les corrigés des exercices), les enregistrements vidéo des cours (quand la technique ne me joue pas des tours). Le blog contient également des exercices corrigés, ils sont accessibles en slectionnant le Tag exercice a gauche de cette page. Les réponses aux questions de l’exercice sont dans la partie commentaire. Les commentaires sont ouverts, vous pouvez donc poser des questions, apporter des précisions sur le cours et les exercices. Vous pouvez également vous abonner à un flux RSS pour avoir le cours en podcast ou sur iTunes.

Supports de cours

Version élèves (commentaires)

Version prof (animations)

Vidéos

Le cours commence comme fini RES301 en regardant le Spanning Tree, les VLANs et les réseaux métropolitains. Ici, rien de nouveau, mais comme parfois je suis un peu rapide en 2A, cela permet de revoir les concepts plus tranquillement.

Les deux premières séances ont été maudites. lors de la première, la carte SD n’était pas bien mise dans la caméra ce qui fait que je n’ai pas de video du tableau. La semaine suivante, j’ai bien fait attention, mais la vidéo était floue. J’ai donc agrandi la vidéo de la webcam, mais ce n’est pas très lisible.

On détaille plus les VLAN, on peut également voir l’intégration des VLAN avec un plan d’adressage IP et comment certains équipements peuvent à la fois ponter entre deux ports d’un même VLAN ou router entre deux VLAN différents. Nous regardons également les mécanismes de trunks qui permettent d’étiqueter les trames entre deux commutateurs.

On revoit également le concept de QinQ et de MACinMAC. C’est important pour la suite du cours: 1) les architectures sont très similaire à ce que l’on rencontrera avec MPLS (des équipements de bordure qui savent tout sur les réseaux extérieur, mais des équipements dans le coeur du réseau qui en ont une vision très simplifiée) 2) quand nous verrons a la fin du cours les L2VPN ont pourra faire le lien avec ces réseaux métropolitains.


Changement de salle, la caméra est réparée, mais la mise au point ne l’était pas (au point) et donc toute la vidéo du tableau est floue. De plus le tableau blanc a une très forte tendance à devenir de plus en plus gris, ce qui rend les vidéos illisibles.

Nous allons voir dans ce cours les fondamentaux d’IP, et plus particulièrement, nous allons regarder comment l’adressage est structuré dans les réseaux IP.
Dans cette première partie, nous revenons sur le principe de datagramme et les implications au niveau architectural, en particulier, nous voyons qu’IP est le langage commun entre tous les équipements (équipements terminaux, routeurs,…) et qu’il a été conçu pour “facilement” s’interfacer entre les couches applicatives et les couches utilisées pour la transmission de données. La place de l’adresse dans l’en-tête est également à une place bien précise pour faciliter son traitement par les routeurs. Ce qui posera pas mal de problèmes quand on cherchera a étendre la taille de l’adresse avec IPv6.

On regarde ensuite l’évolution de la notion d’adresse à travers le temps. On commence par la phase de démarrage de l’Internet, où l’adressage n’était pas réellement une contrainte, ce qui a permis au réseau de grossir et par conséquent de devenir attractif. En contre partie, les problèmes liés à des règles d’adressage trop libérales (comme les classes A, B ou C) se sont fait de plus en plus resentir, ce qui a pu faire penser à une mort d réseau Internet.

On présente ensuite l’adressage hiérarchique avec CIDR, quel est son impact dans la définition d’un plan d’adressage, et pourquoi la longueur du préfixe est un élement important qui va un peu complique la recherche d’une route dans la table de routage. On regarde sur un exemple, le concept de la correspondance du plus long préfixe (Longest Prefix Match).

On poursuit avec la traduction d’adresses en IPv4 et les NAT avec tous les problèmes que cela pose (un machine ne connait plus son adresse publique, les flux entrant sont bloqués,…) mais aussi tous les services que cela rend (les flux entrants sont bloqués, on sépare les plans d’adressages internes et externes,…). Nous voyons qu’avec le NAT, le numéro de port devient l’identificateur sur flux et qu’il existe différents types de NAT.

A titre d’exemple, la téléphonie sur IP est l’un des pires calvaire lorsque l’on a à traverser un NAT. On montre deux exemples avec Skype très simplifié et SIP qui oblige l’utilisation de proxies STUN.

Dans cette partie nous suivons la structure de délégation des adresses en commençant par l’IANA, puis les registres (RIR) et les providers. Cette adressage hiérarchique conduit quand même à une certaine rigidité quand un site veut changer de fournisseur ou en cas de multi-domiciliation. Nous voyons pourquoi l’adressage Provider Independant (PI) peut résoudre temporairement le problème pour les grands sites.

Apres la pause, on revient sur la notion de délégation de préfixe, de l’IANA au client des opérateurs et l’on découvre la richesse du site http://www.iana.org pour avoir des informations sur les valuers qui circulent sur le réseau (en particulier les préfixes).

On regarde ensuite un deuxième site web www.cidr-report.org qui va donner l’évolution de la table de routage dans le coeur du réseau. On peut voir que malgré la hiérarchisation cette table grossi rapidement en IPv4. Cela est dû à plusieurs facteurs (impact des préfixes avec classe attribués aux entreprises avant 1993, impact de la multi-domiciliation surtout dans les années 2000 et arrivé des pays émergents sur Internet).

Tout ce cours avait pour but de planter le décors et nous permet de voir les limites de l’Internet IPv4, cela permet d’introduire la nouvelle version de protocole IP (IPv6), comment elle se situe dans l’histoire d’Internet et qu’est ce qu’elle apporte de plus ou non dans le fonctionnement du réseau.

On entame le troisième jour de cours, et là miracle tout marche correctement, on va pouvoir mieux voir mes gribouillages sur le tableau

Dans cette partie nous voyons la représentation textuelle des 128 bits de l’adresse IPv6 et les différents types (globales, lien-local (link-local), Mulitcast) et les différentes méthodes pour construire les identifiants d’interfaces.

Puis nous regardons plus en détail les adresses globales, comment IPv6 pensait pouvoir gérer la multi-domiciliation, et pourquoi ca n’a pas fonctionné suivant les plan, en particulier parce que les opérateurs filtrent les paquets en fonction de leur adresse source.

On regarde plus en détail comment le préfixe global est structuré, et que l’on a beaucoup de marge pour numéroter les réseaux existants.

En poursuivant l’exploration des adresses globale, mais aussi des adresses lien-locales, on tombe sur l’Identifiant d’Interface (IID). Il existe plusieurs manière de le gérer, nous les passons en revues et détaillons les avantages et les inconvénients de chaque méthode.

L’adresse Lien-local est nouvelle et elle présente quelques caractéristiques interessantes, comme le scope qui permet de désigner par quelle interface elle doit sortir, nous étudions au tableau les différents comportements et usages.

Les adresses ULA sont l’équivalent (en mieux) des adresses privées d’IPv4, même si elles ne jouent pas actuellement un rôle très important dans le réseau, elles permettent de séparer les plans d’adressages internes et externes. Un mécanisme de traduction de prefixe (et plus d’adresses) NPTv6 peut être utilisé. Contrairement au NAT44, il est bijectif, sans contexte et bidirectionnel.

On termine le cours avec une présentation des adresses multicast, et en particulier celles qui ont la portée d’un lien et que l’on rencontrera fréquemment dans les réseaux IPv6.

Encore une séance parfaite, du moins du côté de la vidéo, pour le reste, je vous laisse juger

On continue sur le multicast et l’on regarde avec plus de détail, les adresses multicast sollicitées. Ce n’est pas ce qu’il y a de plus important dans le protocole, mais comme ça se retrouve dans les traces de protocoles d’auto-configuration, c’est bien de l’avoir vu une fois.

Enfin, on s’interesse au concept d’Anycast, c’est à dire que l’adresse ne désigne plus une machine, mais un service. Contrairement au multicast, avec l’Anycast on n’atteint qu’une machine à la fois. Ce concept est bien déployé dans l’Internet v4 pour atteindre les serveurs DNS de la racine, par contre quand plusieurs équipements sont sur un même lien, cela reste expérimental.

On peut maintenant disséquer les en-têtes IP. On part du paquet IPv4, on voit quelles ont été les fausses bonnes idées. ce qui nous permet de voir comment les routeurs font pour traiter les paquets standards et retarder ceux avec options.

Vient le tour de la fragmentation qui n’est employée que pour des trafic UD, ce qui fait qu’en IPv6, elle deviendra optionnelle et traitée pour une extension spécifique.

Et finalement le checksum qui n’est plus très utile, et qui en IPv6 sera supprimé du niveau 3 pour être rendu obligatoire au niveau 4.

Après s’être débarrassé de ce qui ne sert plus à rien, on secoue l’en-tête pour changer la place des champs et leur noms, on allonge la taille des champs adresses, on ajoute un champ Flow Label et on obtient un joli en-tête IPv6.

Maintenant que l’en-tête est connue, on peut s’attaquer au mécanisme des extensions qui permettent (en théorie) d’ajouter des fonctionnalités au protocole, sans compliquer son traitement dans le réseau. Pour illustrer le fonctionnement, on regarde l’extension de routage qui permet de spécifier les routeurs par lesquels le paquet doit passer. On voit pourquoi cette extension est supérieure aux options identiques d’IPv4. Tellement supérieure qu’elle a été retirée du protocole car pouvant peremttre des attaques par dénie de service.

Après avoir vu le fonctionnement d’une extension, on peut maintenant se permettre de les enchaîner et l’on voit que l’ordre dans lequel on les place conduit à des comportements différents.

cours 2011-2012

Dans cette partie nous évoquons le protocole Neighbor Discovery, comme pour les cours précédents, ils sont sur le disque dur qui a disparu, on va donc switcher sur la Formation Continue.

On entame la deuxième partie du cours sur le routage. La malédiction continue, cette fois-ci, le fichier est illisible, on va donc revenir en arrière et prendre celui de l’année dernière. Dans ce cours, on voit qu’un protocole de routage est un applicatif qui échange des informations avec ses pairs (d’autres routeur) pour propager une connaissance locale (les préfixes qui sont attachés à ses interfaces) permettant de construire une vision complète du réseau, à partir de cette vision partielle.

On peut aborder le premier protocole de routage RIP basé sur les vecteurs de distance (vector distance), on montre dans le cours que le protocole ne résiste pas au facteur d’échelle est ne peut donc être utilisé que dans topologies simples. Par contre, lorsque l’on maîtrise mieux le risque de boucle comme dans le cas de RPL (utilisé dans les réseaux de capteurs) ils restent d’actualité. On présente aussi les risque  les risque lié à l’injection dans un réseau de fausses annonces de routage

On peut passer aux choses sérieuses en regardant un protocole de routage qui resiste au facteur d’échelle. En fait, on voit qu’un protocole de routage comme OSPF (ou IS-IS)  est en réalité un protocole de synchronisation de base de données, le calcul de la FIB intervient en second en utilisant l’algorithme des plus courts chemins. Dans cette partie du cours nous nous focalisons sur la seconde partie en supposant qu’une baguette magique aide pour que tous les routeurs aient de manière fiable l’ensemble des connaissances locales de routeurs du réseau. A partir de ces information on peut construire un plan du réseau et calculer le plus court chemin vers tous les préfixes du réseaux et déterminer le Prochain Saut que l’on placera dans la FIB.

Les algorithmes d’inondation et de calcul des plus courts chemins,vu précédemment ne sont pas très scalables et doivent être relancés à chaque fois qu’une interface change d’état puisque tous les routeurs doivent travailler sur la même vision du réseau pour éviter les boucles de routage. Pour rendre le réseau plus scalable et introduire de la stabilité et de l’agrégation, le réseau peut être divisé en aires.

L’IGP presente certaines faiblesse, en effet, il n’est pas très raisonnable d’introduire dans le coeur du réseau, l’ensemble des routes de l’Internet. MPLS est une technique qui va permettre d’isoler le traitement qui est fait dans le coeur du réseau, des protocoles que l’on transporte entre les routeurs de bordure. Dans cette partie on présente les mécanismes de bases liés à l’IGP pour établir des chemins.

et après une pause bien méritée, on regarde le fonctionnement de LDP.

Dernière grosse partie du cours, puisque l’on passe aux protocoles de routage externes, et que la problématique est différente. Au lieu de trouver le plus court chemin, on prend en compte des critères politiques. On regarde donc en fonction des informations que l’on envoie à l’intérieur et à l’exterieur du site quelles sont les routes prises par les paquets.

Nous interrogeons la base whois pour voir comment les opérateurs décrivent leur politique de routage en utilisant le langage RPSL. Nous étudions celle de Renater. Enfin nous regardons ce que BGP a dans le ventre, en particulier la différence entre BGP4 limité à IPv4 et MP-BGP qui permet une ouverture du protocole à IPv6, MPLS aux VPN, …

On commence notre longue exploration des attributs BGP. Ils permettent de jouer sur les politiques de routage et le choix des routeurs ou des AS qui font les annonces. On regardera dans cette partie plus particulièrement  l’attribut AS_PATH dont la longueur influe sur le choix de la route et évite la formation de boucle.

On poursuit avec l’utilisation des attributs, comme COMMUNITY pour piloter les règles de selection des routes dans d’autres AS.

Malheureusement pour la dernière partie du cours, le micro n’était pas allumé. C’est dommage car je ne trouve pas le cours de l’année dernière en remplacement. Par contre pour l’explication de 6PE (mais pas de L3VPN) la formation continue sur IPv6 donne quelques explications. Par contre ça couvre mieux les aspects transition/intégration d’IPv6, ça peut être vu comme un bonus 🙂

 

 

 

One Response to “F2R201A”

  1. khadidja says:

Leave a Reply

Your email address will not be published. Required fields are marked *