AccueilCCNACCNA coursDTP - ou comment être fainéant avec le Trunk

DTP – ou comment être fainéant avec le Trunk

Main­te­nant que l’on sait à quoi sert un lien Trunk (cf cha­pitre Trunk) et la confi­gu­ra­tion manuelle asso­ciée, on se rend compte que cela devient vite fati­guant de confi­gu­rer des Trunk sur tous les liens inter-switchs de l’entreprise.

Com­ment pour­rait-on se sim­pli­fier la vie car n’ou­blions pas, un bon infor­ma­ti­cien est un infor­ma­ti­cien fénéant ? Et bien Cis­co a créé un pro­to­cole qui va mon­ter auto­ma­ti­que­ment un Trunk entre 2 switchs, c’est le pro­to­cole DTP.

Définition

DTP pour Dyna­mic Trun­king Pro­co­tol, c’est un pro­to­cole pro­prié­taire Cis­co donc ne fonc­tionne qu’entre switchs Cisco !

Le prin­cipe est très simple, lorsqu’un port monte, des annonces DTP sont envoyées ;

  • si le port est connec­té à un switch voi­sin, ce der­nier va rece­voir l’annonce DTP et y répondre. Des deux côtés, l’activation du Trunk s’effectue ;
  • si le port est connec­té à un pc, ce der­nier ne répon­dra pas à l’annonce car il com­prend pas le pro­to­cole. Sur le port du switch, le Trunk n’est pas acti­vé et donc reste en mode Access.

Vu comme ça, il est évident que c’est simple. En fait, ça l’est beau­coup moins et soyez sûr que vous aurez des ques­tions rela­tives à DTP lors de l’exa­men du CCNA.

Fonctionnement

Un port phy­sique d’un switch peut avoir plu­sieurs état (ou mode) concer­nant le DTP. Ces états sont très impor­tants à connaitre car selon le modèle de votre switch, l’é­tat par défaut n’est pas le même (je sais c’est aber­rant mais c’est comme ça).

Grâce au tableau ci-des­sus, on voit que selon l’é­tat choi­si, le port « sou­haite », « impose » ou « inter­dit » de mon­ter un trunk, tout est une ques­tion de négo­cia­tion avec son voi­sin. Cal­cu­lez les dif­fé­rentes pos­si­bi­li­tés et vous trou­ve­rez le tableau suivant :

Les cases où il y a des « ? » sont les cas où le com­por­te­ment des 2 switchs est incer­tain car la confi­gu­ra­tion est inco­hé­rente : d’un côté on confi­gure le port en Access et de l’autre en Trunk donc ça ne fonc­tion­ne­ra pas.

Configuration

Si l’é­tat par défaut du port ne vous convient pas, vous pou­vez confi­gu­rer le mode DTP comme bon vous semble.

Pre­nons l’exemple des switchs A et B connec­tés entre eux via leur port Fa0/1 res­pec­tifs. Confi­gu­rons le switch A pour qu’il soit en mode dyna­mic desirable

Switch_A(config)# interface fastethernet 0/1 
Switch_A(config-if)# shutdown 
Switch_A(config-if)# switchport mode dynamic desirable
Switch_A(config-if)# no shutdown

Et sur le switch B, on confi­gure le port Fa0/1 en mode auto :

Switch_B(config)# interface fastethernet 0/1 
Switch_B(config-if)# shutdown 
Switch_B(config-if)# switchport mode dynamic auto
Switch_B(config-if)# no shutdown

Au final, véri­fions si le lien entre les 2 switchs monte bien en Trunk (regar­dons sur le switch A):

Switch_A# show interfaces fastethernet 0/1 trunk Port      Mode         Encapsulation  Status        Native vlan
Fa0/1    desirable   802.1q       trunking    1

Port      Vlans allowed on trunk
Fa0/1     1,1002-1005

Port      Vlans allowed and active in management domain
Fa0/1     1,1002-1005

Port      Vlans in spanning tree forwarding state and not pruned
Fa0/1     1,1002-1005

On remarque que le port Fa0/1 est bien en sta­tus trun­king, ce qui veut dire que le lien entre les 2 switchs est bien en Trunk !

Expli­ca­tion :

  • le switch A est en mode dyna­mic desi­rable donc il envoi des invi­ta­tions au switch B pour mon­ter un lien Trunk ;
  • le switch B est en mode dyna­mic auto donc il attend une invi­ta­tion de son voi­sin, qu’il reçoit d’ailleurs. Une fois recue, il active le trunk et répond au switch A ;
  • le lien Trunk monte entre les 2 switchs !

Remarque : on aurait mis le mode dyna­mic auto des 2 côté, cela n’au­rait pas fonc­tion­né car cha­cun aurait alors atten­du une sol­li­ci­ta­tion de son voi­sin. On peut tou­jours attendre longtemps…

Important

Comme dans tout pro­to­cole, le bug ou le plan­tage existe, ce qui a pour consé­quence qu’un lien entre 2 switchs peut ne pas mon­ter en Trunk et donc bas­cu­ler en mode Access. La consé­quence est que les trames uti­li­sa­teurs taguées avec leur VLAN ne peuvent plus pas­ser par ce lien. Gros­so modo, on coupe la com­mu­ni­ca­tion réseau.

Il est donc for­te­ment conseillé de désac­ti­ver le DTP et de for­cer le lien Trunk entre 2 switchs. Je sais, vous allez me dire « alors pour­quoi avoir créé ce pro­to­cole ? ». Il est rela­ti­ve­ment ancien mais doit tout de même être com­pris pour le CCNA. Mon conseil reste le for­cage en sta­tique d’une confi­gu­ra­tion Trunk entre 2 switchs dont voi­ci la configuration :

Switch_A(config)# interface fastethernet 0/1 
Switch_A(config-if)# shutdown 
Switch_A(config-if)# switchport mode trunk
Switch_A(config-if)# switchport nonegociate
Switch_A(config-if)# no shutdown

Idem sur le switch B. Avec ces com­mandes, vous for­cez le trunk (mode trunk) de par et d’autre et vous désac­ti­vez l’en­voi d’in­vi­ta­tion au voi­sin (none­go­ciate), donc vous désac­ti­vez le DTP. Au moins, vous mai­tri­sez votre réseau et son comportement !

16 Commentaires

  1. Mer­ci Bq vrai­ment c’é­tait parfaitement
    Vous m’ai­dez bq , j’é­tais vrai­ment per­du , je ne sais pas com­ment te remercier ?
    Merci

  2. Bon­jour,

    J’ai­me­rai savoir si le vlan natif doit etre inclue dans le trunk,
    c’est à dire :swtich­port trunk allo­wed vlan natifc ou pas et pour­quoi stp

    d’a­vance merci

    • Bon­jour, savoir si le VLAN natif doit être ou non dans le Trunk dépend de son uti­li­sa­tion. La majo­ri­té des socié­tés le laissent tran­si­ter mais ne l’u­ti­lisent pas pour trans­por­ter du tra­fic utilisateur.
      Idem pour le STP, on laisse le pro­ces­sus STP gérer l’arbre pour le VLAN natif (qui pour rap­pel n’est pas for­ce­ment le VLAN 1)

  3. Queles pro­to­coles deta­blir dené­go­cia­tion peuvent etre acti­vés sur les com­mu­ta­teur pour eta­blir l’a­gre­ga­tion de liens???

  4. Je ne sais com­ment te remer­cier. Je t’as­sure que j’é­tais vrai­ment per­du, mais en lisant ton article j’ai bien com­pris le concept.

    Mer­ci beaucoup

  5. Bon­jour, j’ai tes­té de confi­gu­ré un lien sur un switch (sous PT)
    mais celui-ci me ren­voie une erreur !
    il n’a pas l’air de savoir le mode « esirable » ?
    sw(config-if)#switchport mode desirable
    ^
    % Invalid input detected at '^' marker.

    client-sw(config-if)#switchport mode ?
    access Set trun­king mode to ACCESS unconditionally
    dyna­mic Set trun­king mode to dyna­mi­cal­ly nego­tiate access or trunk mode
    trunk Set trun­king mode to TRUNK unconditionally

    • Bon­jour,

      En effet, il y a une petite coquille dans l’ar­ticle, j’ai oublié un « dyna­mic ». La com­mande est « switch­port mode dyna­mic desi­rable ».
      J’ai mis à jour l’ar­ticle, mer­ci pour la remarque 🙂

Répondre à scorp obfuscate Annuler la réponse

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici

Les plus populaires