UE4 – Protocoles de Routage
Histoire de l'Internet 1969 Source : Computer History Museum http://www.computerhistory.org/internet_history/
Histoire de l'Internet 1971 Source : Computer History Museum http://www.computerhistory.org/internet_history/
Les Routeurs sont des Ordinateurs Leonard Kleinrock et le premier IMP Un routeur est un ordinateur Le premier routeur (ARPANET) : IMP (Interface Message Processor) Honeywell 516 minicomputer 30 août 1969
Gateways - Passerelles Pendant des années les fonctions d'un routeur ont été assurées par des ordinateurs "classiques" Le plus souvent, des machines "sans clavier ni écran" cachées dans une armoire Ce n'est qu'à la fin des années 80 que des machines dédiées ont été développées Ces machines restent très proches d'un PC, c'est surtout le système d'exploitation qui est adapté au processus de routage Juniper (version Unix très spécialisée) IOS (système propriétaire CISCO) Zebra/Quagga (paquet Linux)
Caractéristiques physiques
CPU et Mémoire CPU – exécute les opérations du système Random access memory (RAM) Copie actuelle des configurations Table de routage Cache ARP Read-only memory (ROM) Logiciel de diagnostique lors du démarrage Programme de lancement (bootstrap) Version très réduite du système IOS Non-volatile RAM (NVRAM) Stockage des configurations de démarrage Mémoire Flash – Contient le système d’exploitation (Cisco IOS)
Les routeurs et la couche 3 Un routeur est un dispositif de couche 3 car il utilise l’information de couche 3 (adresse IP) pour prendre ses décisions (le routage)
Les Routeurs opèrent dans les couches 1, 2, et 3
Rappel : trame Ethernet Adresses de couche 2 : liaisons à l'intérieurs d'un réseau local (segment) Modifiés à chaque segment traversé Adresses de couche 3 : Adresse IP source et destination Ne changent jamais (sauf si un NAT est utilisé)
Les routeurs transfèrent les paquets : De la source jusqu’à la destination finale Sélection du meilleur chemin (best path) Un routeur connecte plusieurs réseaux : Interfaces dans des réseaux IP différents
? Meilleur chemin Quel chemin choisir ? Les routeurs déterminent le meilleur chemin : Le choix varie selon le protocole de routage Les protocoles de routage utilisent leurs propres règles et métriques Une métrique : Valeur quantitative utilisée pour indiquer la distance à une destination Meilleur chemin (best path) : Le chemin avec la métrique la plus petite
Équilibrage entre les chemins Pour atteindre le réseau 192.168.1.0/24 on a 2 sauts en allant par R2 et 2 sauts par R4 ? ? 192.168.1.0/24 Que arrive-t-il si un routeur détecte deux chemins avec la même métrique vers une destination ? Le routeur fera de l'équilibrage (symétrique) entre les chemins
Équilibrage asymétrique ? T1 ? T3 192.168.1.0/24 Est-ce qu'un routeur peut utiliser des routes avec des coûts différents ? Le seul protocole qui permet l'équilibrage asymétrique est le protocole EIGRP
Transfert de paquets Le transfert de paquets (packet forwarding) inclut deux fonctions: Détermination du chemin à suivre Fonction de transfert (switching)
Détermination du chemin Le routeur reçoit un paquet L'adresse de destination correspond à l'adresse d'un réseau directement connecté Le paquet est transmis à ce réseau Réseau directement connecté La fonction de détermination du chemin est la méthode utilisée pour choisir le chemin de transfert Le routeur regarde sa table de routage à la recherche d'une correspondance avec l'adresse de destination Trois issus possibles : Réseau directement connecté Réseau distant Route indéterminée
Déermination du chemin Le routeur reçoit un paquet L'adresse destination correspond à celle d'un réseau distant qui peut être contacté grâce à d'autres routeurs Le paquet est transmis au routeur suivant (next hop) Réseau distant
Détermination du chemin Le routeur reçoit un paquet L'adresse destination ne corresponde à aucune adresse dans la table de routage Le paquet est rejeté Aucune route Est-ce que cela veut dire que le réseau n'existe pas ? Non, seulement qu'on ne le connais pas…
Transfert de paquets : le switching La fonction de switching est le mécanisme utilisé par le routeur pour : Accepter un paquet dans une interface et Retransmettre ce paquet dans une autre interface La fonction de switching est responsable par l'encapsulation des données dans une trame adaptée au type de réseau
Premier contact Cisco IOS est le système d’exploitation installé sur la majorité du matériel de marque Cisco et qui permet de le configurer La configuration se fait Soit par une interface Web si elle est disponible Soit par une interface en ligne de commande (quasiment toujours disponible) appelée CLI (command-line interface)
Préparation de la connexion La première fois qu’on accède à un dispositif actif (Routeur, Switch manageable), celui-ci n’est pas encore configuré pour l’accès à distance L’administrateur doit donc utiliser le port Console pour se connecter grâce à un câble inversé (roll-over) L’accès se fait par Hyperterminal (windows) ou d’autres clients type minicom Une fois configuré, le dispositif peut être accédé par : Telnet / SSH – à travers le réseau Nécessite une connexion au réseau Le réseau doit être configuré dans les dispositifs (adresses IP, masque, etc.) Le mot de passe Telnet est configuré sur le routeur Modem – personne ne fait plus ça ;)
Connexion au port Console
Mode Utilisateur (routeur) Lors de la connexion au matériel, nous obtenons un prompt du style Router > Le mode Utilisateur permet de consulter la configuration mais ne laisse pas la modifier Certains réseaux permettent l’accès libre des internautes : http://www.routeviews.org/
Privileged EXEC mode L'accès au Privileged EXEC mode se fait depuis le User EXEC mode en tapant la commande enable (ou simplement en) Le prompt est modifié en Router # Certains utilisateurs l’appellent le mode enable La commande disable permet de quitter ce mode
Le mode de configuration Global Permet de configurer le matériel et d'avoir accès à la configuration des interfaces La commande configure terminal (ou conf t si aucune ambiguïté) permet d'accéder à ce mode Nous obtenons les lignes suivantes : Router# configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)# Pour retourner au Privileged EXEC mode, Utilisez la commande end Ou les touches CTRL+Z La commande exit permet de retourner au mode précédent
Différences entre les Modes Router# hostname R1 ^ % Invalid input detected at '^' marker. Router# configure terminal Router(config)# hostname R1 R1(config)#
Abréviations Le principe est simple : « Tant qu’il n’y a pas d’ambigüité, on peut raccourcir »
Configuration des mots de passe Non récommandé, mot de passe en clair ! Encrypts the passwords above, but… Utiliser ceci, le mot de passe est chiffré Router(config)#enable secret <password>
Configuration du message d'accueil
Configuration du message d'accueil Router(config)#hostname Gateway Gateway(config)# Gateway(config)#banner motd # Enter TEXT message. End with the character '#'. Warning! Stay away! # Gateway(config)#end Gateway#exit Press RETURN to get started. Stay away! User Access Verification Password:
Résolution de noms Toute commande "inconnue" est considérée comme étant un nom de machine IOS essaye de trouver l'adresse IP qui correspond à ce nom Un broadcast (255.255.255.255) est envoyé à la recherche d'un serveur DNS Si le service de résolution de noms est actif mais aucun serveur DNS est disponible sur lé réseau, cela peut gêner l'utilisation lorsqu'on rentre une commande incorrecte Router(config)# ip domain-lookup Router#wreh Translating "wreh"...domain server (255.255.255.255) (Takes a few seconds) Router(config)# no ip domain-lookup Translating "wreh" % Unknown command or computer name, or unable to find computer address
Mot de passe Telnet – line vty RouterA>telnet 10.1.1.1 Trying 10.1.1.1 ... Open Password required, but none set [Connection to 10.1.1.1 closed by foreign host] RouterA> User Access Verification Password:cisco RouterB> RouterB>exit RouterB(config)#line vty 0 4 RouterB(config-line)#login RouterB(config-line)#password cisco Configurer le password dans RouterB Telnet marche ! Entrer le password vty Exit permet de quitter la session telnet On doit connaître le mot de passe distant Dans les TPs le mot de passe est presque toujours “cisco”
Telnet et le mode privilège RouterA>telnet 10.1.1.1 Trying 10.1.1.1 ... Open User Access Verification Password:cisco RouterB>ena % No password set RouterB>exit Password:class RouterB#exit [Connection to 10.1.1.1 closed by foreign host] RouterA> Ne peut pas entrer dans le mode privilège car le mot de passe privilège n’a pas été défini (enable secret). Celui-ci ne peut être configuré que par le console RouterB(config)#enable secret class
Le fichier running-config Le fichier running-config est la configuration actuelle sur la mémoire RAM Toute modification de configuration affecte ce fichier Le fichier running-config est perdu à chaque fois que le dispositif est arrêté ou redémarré show running-config est une commande en mode privilège
Le fichier running-config Le fichier startup-config est enregistré sur la mémoire NVRAM Lors du démarrage, le dispositif copie le startup- config sur la mémoire (running-config)
Stockage de configuration du matériel ?
Supprimer la configuration Parfois nécessaire Redémarrer la config si on l'a trop raté Sur le matériel des labs, à la fin des TPs
Liste rapide de commandes Router> user mode Router> enable Router# privilege mode Router# configure terminal Router(config)# exit Router# config t Router(config)# hostname name Router(config)# enable secret password privilege password Router(config)# line console 0 console password Router(config-line)# password password Router(config-line)# login Router(config)# line vty 0 4 telnet password Router(config)# banner motd # message # banner
Configuration du réseau
Interfaces du Routeur Interfaces Fast Ethernet - LANs Plusieurs types de réseaux Différents connecteurs et média (câbles) Fast Ethernet - LANs Serial interfaces – Connexions WAN dont T1, Frame Relay, DSL, et ISDN
Interfaces WAN Point-to-Point, ISDN, et Frame Relay L’encapsulation de la couche 2 peut inclure : PPP Frame Relay HDLC (High-Level Data Link Control) Note : Les adresses MAC ne concernent que les interfaces Ethernet
Les routeurs dans les LANs et WANs Un routeur a deux fonctions : Séparer les réseaux en domaines de collision plus petits Connecter des réseaux de couche 3
Les routeurs et les réseaux WAN Un réseau WAN (longue distance ?) est caracterisé par un data terminal equipment (DTE) et un data circuit-terminating equipment (DCE) Généralement le DCE est localisé du côté du FAI, et le DTE est le dispositif attaché. Dans le "monde réel" cette connexion est faite par un modem ou CSU/DSU
Câbles Série DCE Cable DTE Cable Un routeur est typiquement un dispositif DTE Le côté DTE du câble se connecte à l’interface série du CSU/DSU (côté DCE) astuce : DCE pour “Clock” -> horloge DCE Side DTE Side
Configuration de l’Interface WAN R1(config)# interface Serial0/0 R1(config-if)# ip address 192.168.2.1 255.255.255.0 R1(config-if)# description Link to R2 R1(config-if)# clock rate 64000 à faire du côte DCE R1(config-if)# no shutdown
Différents types d’Interface R1# show ip interface brief Interface IP-Address OK? Method Status Protocol FastEthernet0/0 192.168.1.1 YES manual up up FastEthernet0/1 192.168.1.2 YES manual up up Serial0/0 192.168.2.1 YES manual up up Serial0/1 unassigned YES manual up up FastEthernet 0 = FastEthernet 0/0 FastEthernet 1 = FastEthernet 0/1 = FastEthernet 1/0 Serial 0 = Serial 0/0 = Serial 0/0/0 Serial 1 = Serial 0/1 = Serial 0/0/1
Configuration d’un interface LAN R1(config)# interface FastEthernet0/0 R1(config-if)# ip address 192.168.1.1 255.255.255.0 R1(config-if)# description R1 LAN R1(config-if)# no shutdown Fa0/1
Configuration d'une interface Ethernet changed state to up indique que la connexion physique est active l'interface est bien connectée à un autre dispositif (hub, switch, ...) L'interface reçoit un signal porteur Indique que la connexion dans le Data Link Layer est opérationnelle Pour les interfaces LAN, c'est normalement automatique Pour les interfaces WAN, cela peut demander des ajustements (clock, encapsulation, etc.) R1(config)# interface fastethernet 0/0 R1(config-if)# ip address 172.16.3.1 255.255.255.0 R1(config-if)# no shutdown *Mar 1 01:16:08.212: %LINK-3-UPDOWN: Interface FastEthernet0/0, changed state to up *Mar 1 01:16:09.214: %LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/0, changed state to up
Chaque interface doit appartenir à un réseau différent R1(config)# interface FastEthernet0/1 R1(config-if)# ip address 192.168.1.2 255.255.255.0 192.168.1.0 overlaps with FastEthernet0/0 R1(config-if)# no shutdown FastEthernet0/1: incorrect IP address assignment Fa0/1 192.168.1.1/24 192.168.1.2/24 Même réseau !
Chaque interface doit appartenir à un réseau différent R1# show ip interface brief Interface IP-Address OK? Method Status Protocol FastEthernet0/0 192.168.1.1 YES manual up up Serial0/0 192.168.2.1 YES manual up up FastEthernet0/1 192.168.1.2 YES manual administratively down down Serial0/1 unassigned YES unset administratively down down Fa0/1
Les interfaces et leurs états R1# show interfaces FastEthernet0/0 is administratively down, line protocol is down Hardware is AmdFE, address is 000c.3010.9260 (bia 000c.3010.9260) <output omitted> Serial0/0/0 is administratively down, line protocol is down
Les interfaces et leurs états Affichage des informations en format condensé Note : c'est un outil important pour vérifier les interfaces lors d'un exercice pratique ! R1# show ip interface brief Interface IP-Address OK? Method Status Protocol FastEthernet0/0 unassigned YES manual administratively down down Serial0/0 unassigned YES unset administratively down down FastEthernet0/1 unassigned YES unset administratively down down Serial0/1 unassigned YES unset administratively down down R1#
Les interfaces et leurs états show running-config affiche la configuration courante R1# show running-config <output omitted> interface FastEthernet0/0 mac-address 000c.3010.9260 no ip address duplex auto speed auto shutdown interface FastEthernet0/1 mac-address 000c.3010.9261
show interfaces <interface> Adress MAC Router>show interface ethernet 0 Ethernet0 is administratively down, line protocol is down , using hub 0 Hardware is Lance, address is 0010.7b3a.cf84 (bia 0010.7b3a.cf84) MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, rely 255/255, load 1/255 Encapsulation ARPA, loopback not set, keepalive set (10 sec) ARP type: ARPA, ARP Timeout 04:00:00 Last input never, output 01:05:35, output hang never Last clearing of "show interface" counters never Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 0/75, 0 drops 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec 0 packets input, 0 bytes, 0 no buffer <omitted> Status Encapsulation Ethernet II
Où trouver l'adresse MAC d'une interface Serial ? Router>show interface serial 0 Serial0 is administratively down, line protocol is down Hardware is HD64570 MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec, rely 255/255, load 1/255 Encapsulation HDLC, loopback not set, keepalive set (10 sec) Last input never, output never, output hang never Last clearing of "show interface" counters never Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 0/75, 0 drops 5 minute input rate 0 bits/sec, 0 packets/sec 5 minute output rate 0 bits/sec, 0 packets/sec
Tests de connectivité PING !!! Les exclamations (!) indiquent une réponse positive Si un ou plusieurs points (.) sont reçus, alors le paquet est soit perdu, soit expiré ou ou même pas reçu par la destination
Tests de connectivité La commande traceroute est idéale pour trouver le cheminement des messages Si un routeur n’est pas atteignable (ne pet/veut pas répondre), trois asterisques (*) seront affichés à la place du num traceroute peut être interrompu avec Ctrl-Shift-6
Avant-goût : la table de routage Introduction à la table de routage Réseaux directement connectés
Afficher la table de routage R1# show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set C 192.168.1.0/24 is directly connected, FastEthernet0/0 C 192.168.2.0/24 is directly connected, Serial0/0
Introduction à la table de routage La table de routage est un fichier stockée en mémoire RAM et qui sert à collecter : Les réseaux directement connectés Les réseaux distants R1# show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area * - candidate default, U - per-user static route, o - ODR P - periodic downloaded static route Gateway of last resort is not set C 192.168.1.0/24 is directly connected, FastEthernet0/0 C 192.168.2.0/24 is directly connected, Serial0/0
Introduction à la table de routage Les réseaux directement connectés sont TOUJOURS renseignées dès l'activation de l'interface Un réseau directement connecté est associé à une interface "de sortie" (exit interface) R1# show ip route <output omitted> C 192.168.1.0/24 is directly connected, FastEthernet0/0 C 192.168.2.0/24 is directly connected, Serial0/0 Interface associée
Introduction à la table de routage Un réseau distant est un réseau qui n'est pas directement connecté au routeur Un réseau distant ne peut être accédé qu'en traversant d'autres routeurs Un réseau distant n'est pas automatiquent rajouté à la table de routage. Pour cela il faut : Des routes statiques Des routes apprises grâce à un protocole dynamique Réseau distant R1# show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP <output omitted> C 192.168.1.0/24 is directly connected, FastEthernet0/0 C 192.168.2.0/24 is directly connected, Serial0/0