Affichage des articles dont le libellé est Protocoles. Afficher tous les articles
Affichage des articles dont le libellé est Protocoles. Afficher tous les articles

5 novembre 2010

RÉSUMÉ SUR LE ROUTAGE À VECTEUR DE DISTANCE

Les algorithmes à vecteur de distance entrent dans la catégorie des algorithmes d'optimisation qui nécessitent plus de bande passante que de puissance en processus. Cette caractéristique fait en sorte que le routage converge plus lentement mais aussi qu'il est plus simple à implémenter. On citera RIP et IGRP comme protocoles de routage utilisant l'algorithme. Les protocoles à vecteur de distance sont particulèrement sensibles aux boucles de routage. Diverses solutions sont proposées pour pallier à cette faiblesse.
1. Concepts de base
Les algorithmes de routage à vecteur de distance (Bellman-Ford) transmettent d'un routeur à l'autre des copies périodiques d'une table de routage. Ces mises à jour régulières entre les routeurs permettent de communiquer les modifications de topologie. Chaque routeur reçoit une table de routage des routeurs voisins auxquels il est directement connecté.
L'algorithme cumule les distances afin de tenir à jour la base de données contenant les informations de topologie du réseau. Toutefois, les algorithmes de routage à vecteur de distance ne permettent pas à un routeur de connaître la topologie exacte d'un interréseau.
1.1. Découverte d'un réseau à vecteur de distance
Chaque entrée de la table de routage pour chaque réseau correspond à un vecteur de distance cumulé, qui indique la distance au réseau dans une direction donnée. Chaque réseau directement connecté à un routeur à une valeur de 0 et ainsi de suite.

1.2. Mise à jour des tables de routage

-  Les mises à jour s'effectuent de routeurs en routeurs.
-  Les mises à jour s'effectuent périodiquement.
-  Les mises à jour consistent en des envois des tables entières.
-  Les mises à jour sont envoyées à l'adresse de diffusion (broadcast) 255.255.255.255

2. Le problème des boucles de routage (routing loops) et mesure infinie (counting to infinity).

Une boucle de routage est une route diffusée pour des paquets qui n'atteignent jamais leur destination : ils passent de façon répétée par la même série de nœuds de réseau. Ce phénomène est dû à une convergence lente des informations de routage. Un routeur éloigné fait croire à des routeurs bien informés d'une route modifiée qu'il dispose d'une nouvelle route (à coût plus élévé) vers ce réseau.
Une métrique de mesure infinie est le résultat d'une boucle de routage qui engage les routeurs à incrémenter à l'infini la métrique de mesure.

3. Solutions

-  Définir un nombre maximum de sauts
-  Route poisoning : lorsqu'une route vers un réseau tombe, le réseau est immédiatement averti d'une métrique de distance infinie (le maximum de sauts +1), plus aucune incrémentation n'est possible.
-  Split horizon : puisque toutes les interfaces d'un routeur sont censées envoyer des mises à jour de routage, le mécanisme Split horizon empêche à un routeur d'envoyer des informations (de métrique plus élevée) à travers l'interface de laquelle il a recu l'information.
-  Compteur de retenue (Holddown Timer) : Après avoir retenu qu'une route vers un réseau est tombée, le routeur attend une certaine période de temps avant de valider n'importe quelle autre information de routage à propos de ce réseau.
Si l'information d'une route tombée redevenant accessible est apprise du même voisin en dedans les délais, la route est réinscrite dans la table de routage. Si l'information d'une route de nouveau accessible provient d'un autre voisin avec une meilleure métrique, la route est réinscrite dans la table de routage et le compteur est arrêté (il n'y'a plus d'attente).
-  Triggered Update : Une mise à jour est envoyée immédiatement avant l'expiration du compteur (délai) lorsque une route est tombée. Utilisée avec la mesure de métrique infinie , cette solution assure que tous les routeurs ont la connaissance des routes tombées avant que n'importe quel compteur expire.
-  Split Horizon avec Poison Reverse : le protocole de routage avertit de toutes les routes sortant d'une interface,à part celles qui ont été apprises d'une mise à jour plus récente venant dans cette interface sont marquée d'une métrique de distance infinie.

Note perso : Les solutions énumérées sont à connaitre par coeur ,avant de les mettre en pratique . Ce sont des techniques fondamentales ,on l'aura compris . "No pain,No Gain" so be the winners guys ! 

Publié par mohzginga99 à 02:54:49 dans Réseaux .Internetworking CCNA Cisco. Commentaires (0) 

CONFIGURATION D'UN DOMAINE VTP (CISCO) | 24 MARS 2010

Publié par mohzginga99 à 04:20:22 dans Réseaux .Internetworking CCNA Cisco. Commentaires (0) 

CONFIGURATION D'UN SWITCH ET VIDÉOS CCNA CISCO | 21 MARS 2010

Configuration d'un Switch

Copie d'un fichier de configuration sur un serveur tftp

Protocole cdp

Configuration d'un domaine vtp

A suivre . 

Configuration d’un serveur DHCP sur routeur Cisco

Ce billet va vous expliquer les différentes étapes pour la configuration d’un serveur DHCP sur un routeur Cisco.
Tout d’abord, l’idéal est que vous soyez connecté sur le routeur en question en mode configuration terminal avec les privilèges enable.
Création du scope DHCP
ip dhcp pool NOM_POOL
: Déclaration d’un pool DHCP en lui affectant un nom arbitraire
network ADRESSE_RESEAU_POOL MASQUE_SOUS_RESEAU
: Déclaration de la plage réseau à utiliser
domain-name NOM_DOMAINE
: Nom de domaine utilisé par le client
default-router IP_PASSERELLE_DEFAUT
: Passerelle par défaut à communiquer aux clients DHCP
dns-server IP_DNS1 IP_DNS2
: Adresses IP des serveurs DNS à communiquer aux clients DHCP
netbios-name-server IP_WINS
: Adresses IP des serveurs WINS à communiquer aux clients DHCP (si existants)
lease DUREE_LEASE
: Durée du bail avant expiration (1 jour par défaut)
Réservation d’une adresse dans le DHCP
Pour créer une réservation DHCP dans ce pool, il suffit d’exécuter les commandes suivantes :
ip dhcp pool NOM_POOL
: Configuration dans le pool précédemment déclaré
host IP_A_ATTRIBUER MASQUE_SS_RESEAU
: Déclaration de l’adresse IP à réserver dan le DHCP
client-identifier ADRESSE_MAC
: Déclaration de l’adresse MAC du client auquel affecter l’adresse IP précédente
Exclusion des adresses IP du pool DHCP (IP Fixes par exemple)
ip dhcp excluded-address IP_A_EXCLURE
: Déclaration pour une seule IP à exclure
ip dhcp excluded-address IP_A_EXCLURE_DEBUT IP_A_EXCLURE_FIN
: Déclaration pour une plage d’adresses à exclure
Vérification
Pour vérifier les distributions des adresses IP des pools créés, la commande suivante peut s’avére utile :
show ip dhcp binding

VLAN Trunking Protocol (VTP)

Le protocole VTP développé par Cisco permet de centraliser la gestion de la base des données des équipements Cisco d’un réseau et d’en faciliter l’exploitation. Il est constitué de trois modes :
  • Serveur : Il s’agit d’un équipement sur lequel il est possible de créer, modifier, ou supprimer des VLANs et de les transmettre au domaine VTP.
  • Client : Il s’agit d’un équipement qui va recevoir les informations des serveurs VTP qui se situent dans le même domaine VTP, les prendre en compte, et les retransmettre aux switchs qui lui sont interconnectés
  • Transparent : Le switch va recevoir les informations des serveurs VTP du même domaine et les retransmettre sans les prendre en compte. Il est possible de créer, modifier ou supprimer des VLANs en local sur ce switch sans que ceux-ci soient répercutés sur les autres équipements du même domaine.
Par ailleurs, la configuration est relativement simple. Il faut dans un premier temps définir la version du protocole VTP utilisé, ainsi que le nom du domaine et un mot de passe pour ce domaine. Prenons l’exemple d’un 2960 qui sera serveur pour le domaine « telecomreseaux » et dont le mot de passe sera « telecomreseaux » :
 Sw0(config)#vtp version 2
Sw0(config)#vtp mode server
Sw0(config)#vtp domain telecomreseaux
Sw0(config)#vtp password telecomreseaux
Notre équipement est donc maintenant déclaré en tant que serveur VTP pour le domaine telecomreseaux.  La commande show vtp status permet de voir l’état de la configuration VTP d’un équipement :
Sw0#show vtp status
VTP Version                     : 2
Configuration Revision          : 0
Maximum VLANs supported locally : 255
Number of existing VLANs        : 5
VTP Operating Mode              : Server
VTP Domain Name                 : telecomreseaux
VTP Pruning Mode                : Disabled
VTP V2 Mode                     : Enabled
VTP Traps Generation            : Disabled
MD5 digest                      : 0×75 0×51 0xC7 0×36 0×64 0xC3 0xFA 0×48
Configuration last modified by 0.0.0.0 at 3-1-93 00:02:17
Local updater ID is 0.0.0.0 (no valid interface found)
Sw0#
Enfin, nous pouvons activer le « pruning » qui permet de diminuer la bande passante utilisée par le protocole en supprimante la propagation des messages de broadcast, multicast et autres messages unicast sur les liens trunk.
Sw0(config)#vtp pruning
Pruning switched on
Créons maintenant deux VLANs 20 et 30 ce qui nous indique le résultat suivant lors d’un show vlan
Sw0#show vlan
VLAN Name                             Status    Ports
—- ——————————– ——— ——————————-
1    default                          active    Fa0/1, Fa0/2, Fa0/3, Fa0/4
                                                Fa0/5, Fa0/6, Fa0/7, Fa0/8
                                                Fa0/9, Fa0/10, Fa0/11, Fa0/12
                                                Fa0/13, Fa0/14, Fa0/15, Fa0/16
                                                Fa0/17, Fa0/18, Fa0/19, Fa0/20
                                                Fa0/21, Fa0/22, Fa0/23, Fa0/24
                                                Gig1/1, Gig1/2
20   VLAN0020                         active   
30   VLAN0030                         active   
1002 fddi-default                     active   
1003 token-ring-default               active   
1004 fddinet-default                  active   
1005 trnet-default                    active  
Sur le switch client, il suffit de rentrer exactement les mêmes commandes que pour le serveur, excepté pour le pruning qui se déclare uniquement sur le serveur VTP et la commande vtp mode server qui devient doncvtp mode client. Les deux VLANs précédemment créées seront donc automatiquement propagés sur notre client VTP.
Le VTP revision number est en fait un nombre que le switch configuré en serveur VTP incrémente unitairement  à chaque ajout ou suppression de VLAN. Lorsque le domaine VTP est modifié sur le serveur VTP, ce nombre est alors réinitialisé à 0. Il pourra alors se révéler utile de vérifier ce numéro de révision pour s’assurer qu’une modification effectuée sur un serveur VTP a bien été repercuté sur les clients VTP.

Introduction au multihoming avec BGP sur Cisco – Partie 1

Ce billet a pour but d’introduire quelques notions pour réaliser une architecture basée sur du multihoming. Tout d’abord, je pense qu’il peut être approprié de rappeler la définition du multihoming : permet d’augmenter la fiabilité des accès physiques à Internet et d’augmenter le taux de disponibilité de ce service. En règle générale, cette configuration sera utilisée pour la mise en place de deux connexions d’opérateurs distincts.
Dans ce billet, nous allons partir du principe que l’architecture est la suivante :








La topologie présentée est relativement simple. Nous avons trois routeurs distincts, dont un qui appartient à la société lambda que nous appelerons donc CLIENT. Les deux autres sont des routeurs fournis par des opérateurs distincts, respectivement FAI1 et FAI2. Le but de l’exercice est ici de fournir une topologie d’accès à Internet simple mais redondée afin d’améliorer la disponibilité du service.
Les numéros d’AS ainsi que l’adressage IP est ici purement arbitraire et à des fins didactrices. De plus, la topologie ainsi présentée a été réalisée via GNS3 sur lequel vous pourrez trouver différentes informations sur ce blog.
Configuration de réseau base des équipements
Commençons par le commencement ! Pour cela, nous déclarons l’ensemble des interfaces nécessaires à la réalisation de la maquette de cette manière au niveau du routeur « CLIENT » :
CLIENT(config)#int fast0/0
CLIENT(config-if)#ip address 10.0.0.2 255.255.255.252
CLIENT(config-if)#no shut
CLIENT(config)#int fast 1/0
CLIENT(config-if)#ip address 20.0.0.2 255.255.255.252
CLIENT(config-if)#no shut
CLIENT(config)#int loopback 0
CLIENT(config-if)#ip address 1.0.0.1 255.255.255.0
CLIENT(config-if)#no shut
CLIENT(config)#int loopback 1
CLIENT(config-if)#ip address 2.0.0.1 255.255.255.0
CLIENT(config-if)#no shut
Ensuite, nous réalisons la configuration des interfaces physiques et loopback sur les deux routeurs FAI :
FAI1#conf t
FAI1(config)#int fast0/0
FAI1(config-if)#ip address 10.0.0.1 255.255.255.252
FAI1(config-if)#no shut
FAI1(config)#int loopback 0
FAI1(config-if)#ip address 3.0.0.1 255.0.0.0
FAI1(config-if)#no shut
FAI2#conf t
FAI2(config)#int fast0/0
FAI2(config-if)#ip address 20.0.0.1 255.255.255.252
FAI2(config-if)#no shut
FAI2(config)#int loopback 0
FAI2(config-if)#ip address 4.0.0.1 255.0.0.0
L’ensemble de la configuration réseau de base est donc achevée à cette étape. Pour tester celle-ci, rien de plus simple que quelques pings pour s’en assurer :
FAI1#ping 10.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 10.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 68/73/84 ms
FAI2#ping 20.0.0.2
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 20.0.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 48/108/200 ms
Configuration du protocole de routage dynamique BGP (Border Gateway Protocol)
On distingue deux versions de BGP : iBGP et eBGP. Le premier s’utilise sur des routeurs appartenant à un même AS, tandis que le eBGP est chargé du routage entre des routeurs d’AS différents. Pour rappel, un AS, ou Autonomous System, est une notion purement administrative destinée à définir des domaines de responsabilité précis. Typiquement, on peut grossièrement dire qu’un FAI représente un AS tandis que son concurrent en représentera un autre.
Dans notre cas, nous allons configurer du eBGP, dans la mesure où chacun de nos routeurs sont situés dans des AS différents. En outre, BGP s’appuie sur le protocole TCP pour échanger les informations de routage entre les différents équipements. Par défaut, BGP utilise l’adresse IP de l’interface la plus proche des routeurs « peers » avec qui les connexions s’établissent. Il est alors intéressant d’utiliser une loopback interface pour effectuer ce peering, cela empêchant de rompre une session BGP si une interface physique était utilisée pour établir cette relation et que celle-ci venait à tomber alors que plusieurs AS Paths sont disponibles entre ces peers.  le but de ce billet étant d’aborder les principes de configuration du BGP sur Cisco,  nous verrons cette configuration ultérieurement.
Au niveau du routeur Client, voici la configuration à renseigner :
CLIENT(config)#router bgp 100
CLIENT(config-router)#network 1.0.0.0
CLIENT(config-router)#network 2.0.0.0
CLIENT(config-router)#neighbor 10.0.0.1 remote-as 200
CLIENT(config-router)#neighbor 20.0.0.1 remote-as 300
La commande router bgp 100 permet d’activer le BGP en spécifiant le numéro d’AS 100. Ensuite, la commande network permet de définir les subnets à diffuser dans ce process BGP. Enfin, les deux commandes neighbor permettent d’indique l’adresse des peers BGP et leur numéro d’AS respectifs.
On procède à ce même type de configuration sur chacun des routeurs FAI :
FAI1(config)#router bgp 200
FAI1(config-router)#network 3.0.0.0
FAI1(config-router)#neighbor 10.0.0.2 remote-as 100
Les logs du routeur nous indiquent alors l’information suivante :
*Mar  1 00:17:31.763: %BGP-5-ADJCHANGE: neighbor 10.0.0.2 Up
*Mar  1 00:17:32.679: %BGP-5-ADJCHANGE: neighbor 10.0.0.1 Up
L’adjacence est alors établie entre nos deux peers. Nous réalisons les mêmes commandes pour notre troisième routeur FAI2 :
FAI2(config)#router bgp 300
FAI2(config-router)#network 4.0.0.0
FAI2(config-router)#neighbor 20.0.0.2 remote-as 100
Le résultat de cette commande au niveau des logs est identique :
*Mar  1 00:18:58.987: %BGP-5-ADJCHANGE: neighbor 20.0.0.2 Up
*Mar  1 00:19:06.415: %BGP-5-ADJCHANGE: neighbor 20.0.0.1 Up
A l’issue de cette phase de configuration, nous avons donc les sessions BGP établies suivantes :
  • Client <-> FAI1
  • Client <-> FAI2
La commande show ip route nous permet de vérifier le contenu de la table de routage de nos équipements :
CLIENT#show ip route
Codes: C – connected, S – static, 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
       i – IS-IS, su – IS-IS summary, 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
     1.0.0.0/24 is subnetted, 1 subnets
C       1.0.0.0 is directly connected, Loopback0
     2.0.0.0/24 is subnetted, 1 subnets
C       2.0.0.0 is directly connected, Loopback1
B    3.0.0.0/8 [20/0] via 10.0.0.1, 00:00:31
B    4.0.0.0/8 [20/0] via 20.0.0.1, 00:00:15
     20.0.0.0/30 is subnetted, 1 subnets
C       20.0.0.0 is directly connected, FastEthernet1/0
     10.0.0.0/30 is subnetted, 1 subnets
C       10.0.0.0 is directly connected, FastEthernet0/0
Outre les subnets directement connectés, nous voyons bien apparaître les routes vers les adresses de loopback de nos deux routeurs FAI indiquées en tant que B pour BGP.
Regardons à présent le résultat de cette commande sur le routeur FAI2 :
FAI2#show ip route
Codes: C – connected, S – static, 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
       i – IS-IS, su – IS-IS summary, 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
B    3.0.0.0/8 [20/0] via 20.0.0.2, 00:02:07
C    4.0.0.0/8 is directly connected, Loopback0
     20.0.0.0/30 is subnetted, 1 subnets
C       20.0.0.0 is directly connected, FastEthernet0/0
Celle-ci fait état d’une route pour la loopback du routeur FAI1 ( 3.0.0.0 / 8 ) via notre routeur Client. eBGP est par défaut transitif, c’est à dire que les routes apprises par un routeur via un process BGP sera redistribuée à l’ensemble des routeurs avec qui les sessions BGP sont établies. Dans le cas d’une architecture de multihoming, cela est problématique car notre routeur Client est alors placé en tant qu’AS de transit pour des flux Internet entre deux routeurs opérateurs.
Dans ce cas là, il est nécessaire de filtrer au niveau du routeur les annonces qu’il diffuse et celles qu’il peut recevoir. Nous détaillerons dans un billet ultérieur l’ensemble des possibilités liées à ce filtrage.
Dans notre exemple, nous allons simplement commencer par empêcher notre routeur Client d’être transitif pour les routes autres que celles qu’il génère en local. Dans la pratique, les routeurs FAI filtreront de base les routes qu’ils diffusent pour ne conserver que le strict minimum.
Sur le routeur client, nous effectuons donc les manipulations suivantes :
CLIENT(config)#ip as-path access-list 10 permit ^$
CLIENT(config-router)#neighbor 10.0.0.1 filter-list 10 out
CLIENT(config-router)#neighbor 20.0.0.1 filter-list 10 out
Nous créeons donc une access list 10 via la commande ip as-path access-list qui n’autorise que ^$. Vous en conviendrez, ce ^$ n’est pas très explicite en soi mais rappelera probablement à certaines personnes les expressions régulières. Il est en effet possible d’utiliser des expressions régulières pour diffuser et recevoir uniquement ce qui nous intéresse. Dans cet exemple, l’expression ^$ correspond aux annonces générées par notre AS local uniquement.
Il est ensuite nécessaire de remplacer la commande neighbor x.x.x.x par neighbor x.x.x.x filter-list 10 out,qui, d’une manière assez intuitive permet de déduire que les annonces sortantes sont filtrées via cette access-list. Dans le cas de changement au niveau des paramètres BGP, il peut être opportun de réinitialiser les sessions BGP via la commande clear ip bgp *.
Vérifions à présent que ceci est fonctionnel au niveau des annonces reçues par le routeur FAI1 :
FAI1#show ip route
Codes: C – connected, S – static, 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
       i – IS-IS, su – IS-IS summary, 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
B    1.0.0.0/8 [20/0] via 10.0.0.2, 00:01:11
B    2.0.0.0/8 [20/0] via 10.0.0.2, 00:01:11
C    3.0.0.0/8 is directly connected, Loopback0
     10.0.0.0/30 is subnetted, 1 subnets
C       10.0.0.0 is directly connected, FastEthernet0/0
FAI1#
Nous voyons en effet que la loopback du FAI2 n’est plus présente dans la table du routeur FAI1, ce qui est donc le résultat attendu.
Ce premier billet nous permet donc de prendre connaissance avec BGP et une implémentation somme toute classique. Les billets ultérieurs permettront d’enrichir cette topologie et d’aborder les questions de routes par défaut.