PPP Multilink : Agrégation de liaisons sérielles PPP

Cela faisait bien longtemps que je n’avais plus posté de nouveau contenu, mais avec l’arrivée de la nouvelle CCNA, de nouveaux sujets apparaissent et me donnent donc de nouvelles idées d’articles…

Parmi les nouveaux sujets de la CCNAv3 … ou du nouvel examen ICND2 (200-105) se trouve la configuration d’agrégation de liens sériels PPP, aussi connu sous le nom de PPP Multilink.

A l’instar des Etherchannel en Ethernet, le PPP Multilink permet de regrouper virtuellement plusieurs liaisons sérielles en une seule interface virtuelle avec pour principaux objectifs l’augmentation de bande passante et la gestion de la redondance.

Qu’est-ce que le PPP Multilink ?

Il s’agit d’un protocole standard qui permet l’agrégation de liaisons PPP en un seul lien PPP. Les liaisons groupées peuvent être de tout type, ISDN, T1, ou tout autre type qui supporte le protocole PPP de base. La configuration multilink doit être effectuée des deux côtés de la liaison, ce qui implique que les différents liens doivent relier les deux mêmes équipements.

La topologie

Pour la démonstration, j’utilise ici deux routeurs interconnectés par deux liaisons sérielles. L’objectif sera donc de les combiner en une interface Multilink que l’on configurera ensuite comme n’importe quelle interface.

La configuration

Pour configurer ce multilink PPP, il faut passer par deux étapes majeures:

  1. Créer l’interface virtuelle Multilink
  2. Configurer les interfaces sérielles à intégrer dans le bundle.

Configuration sur R1

R1#configure terminal
!!!! Création de l'interface Multilink !!!!
R1(config)#interface multilink 1
R1(config-if)#ppp multilink
R1(config-if)#ppp multilink group 1
R1(config-if)#ip address 192.168.0.1 255.255.255.252
R1(config-if)#exit
R1(config)#
!!!! Intégration de l'interface s0/0 dans le bundle
R1(config)#interface serial 0/0
R1(config-if)#encapsulation ppp
R1(config-if)#ppp multilink
R1(config-if)#ppp multilink group 1
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#
!!!! Intégration de l'interface s0/1 dans le bundle
R1(config)#interface serial 0/1
R1(config-if)#encapsulation ppp
R1(config-if)#ppp multilink
R1(config-if)#ppp multilink group 1
R1(config-if)#no shutdown
R1(config-if)#exit
R1(config)#

Parmi les détails importants… Il faut bien entendu que le numéro de groupe multilink indiqué dans la configuration des interfaces corresponde. Comme le montre cette configuration, les interfaces S0/0 et s0/1 ne sont pas adressées. Elles ne servent plus que de liaison physique. L’adressage se fait sur l’interface multilink.

Notez également que si vous devez utiliser un protocole de routage, un processus de NAT ou tout autre élément qui interviendrait au niveau du routage de cette interface, c’est l’interface multilink qui devra être référencée.

Configuration sur R2

R2#configure terminal
!!!! Création de l'interface Multilink !!!!
R2(config)#interface multilink 1
R2(config-if)#ppp multilink
R2(config-if)#ppp multilink group 1
R2(config-if)#ip address 192.168.0.2 255.255.255.252
R2(config-if)#exit
R2(config)#
!!!! Intégration de l'interface s0/0 dans le bundle
R2(config)#interface serial 0/0
R2(config-if)#encapsulation ppp
R2(config-if)#ppp multilink
R2(config-if)#ppp multilink group 1
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#
!!!! Intégration de l'interface s0/1 dans le bundle
R2(config)#interface serial 0/1
R2(config-if)#encapsulation ppp
R2(config-if)#ppp multilink
R2(config-if)#ppp multilink group 1
R2(config-if)#no shutdown
R2(config-if)#exit
R2(config)#

La configuration est quasiment identique, bien entendu. Notez que le numéro de l’interface multilink ne doit pas être forcément le même que sur l’autre routeur. Il en va de même pour le numéro de groupe multilink. Il n’y a pas non plus de relation entre le numéro de l’interface multilink et le numéro du groupe.

Test de communication

R1#ping 192.168.0.2

Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 192.168.0.2, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 1/4/12 ms
R1#

Pas de surprise… tout fonctionne!

Vérification de la configuration

R1#show interface serial 0/0
Serial0/0 is up, line protocol is up
 Hardware is GT96K Serial
 MTU 1500 bytes, BW 1544 Kbit/sec, DLY 20000 usec,
 reliability 255/255, txload 1/255, rxload 1/255
 Encapsulation PPP, LCP Open, multilink Open
 Link is a member of Multilink bundle Multilink1, loopback not set
 Keepalive set (10 sec)
 CRC checking enabled
 Last input 00:00:09, output 00:00:03, output hang never
 Last clearing of "show interface" counters 00:13:07
 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
 Queueing strategy: weighted fair [suspended, using FIFO]
 FIFO output queue 0/40, 0 drops
 5 minute input rate 0 bits/sec, 0 packets/sec
 5 minute output rate 0 bits/sec, 0 packets/sec
 163 packets input, 5310 bytes, 0 no buffer
 Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
 183 packets output, 5770 bytes, 0 underruns
 0 output errors, 0 collisions, 6 interface resets
 0 unknown protocol drops
 0 output buffer failures, 0 output buffers swapped out
 0 carrier transitions
 DCD=up DSR=up DTR=up RTS=up CTS=up
R1#

L’interface fonctionne bien en PPP, et est membre du groupe multilink 1.

R1#show interface multilink 1
Multilink1 is up, line protocol is up
 Hardware is multilink group interface
 Internet address is 192.168.0.1/30
 MTU 1500 bytes, BW 3088 Kbit/sec, DLY 100000 usec,
 reliability 255/255, txload 1/255, rxload 1/255
 Encapsulation PPP, LCP Open, multilink Open
 Open: IPCP, CDPCP, loopback not set
 Keepalive set (10 sec)
 DTR is pulsed for 2 seconds on reset
 Last input 00:00:31, output never, output hang never
 Last clearing of "show interface" counters 00:17:23
 Input queue: 0/75/0/0 (size/max/drops/flushes); Total output drops: 0
 Queueing strategy: fifo
 Output queue: 0/40 (size/max)
 5 minute input rate 0 bits/sec, 0 packets/sec
 5 minute output rate 0 bits/sec, 0 packets/sec
 29 packets input, 5944 bytes, 0 no buffer
 Received 0 broadcasts, 0 runts, 0 giants, 0 throttles
 0 input errors, 0 CRC, 0 frame, 0 overrun, 0 ignored, 0 abort
 29 packets output, 6266 bytes, 0 underruns
 0 output errors, 0 collisions, 1 interface resets
 0 unknown protocol drops
 0 output buffer failures, 0 output buffers swapped out
 0 carrier transitions
R1#

Remarquez ici la bande passante de l’interface qui reprend la valeur combinée des deux interfaces physiques (2x 1544kbits/s).

R1#show ppp multilink

Multilink1
 Bundle name: R2
 Remote Endpoint Discriminator: [1] R2
 Local Endpoint Discriminator: [1] R1
 Bundle up for 00:26:33, total bandwidth 3088, load 1/255
 Receive buffer limit 24000 bytes, frag timeout 1000 ms
 0/0 fragments/bytes in reassembly list
 0 lost fragments, 37 reordered
 0/0 discarded fragments/bytes, 0 lost received
 0x5C received sequence, 0x5C sent sequence
 Member links: 2 active, 0 inactive (max not set, min not set)
 Se0/0, since 00:26:34
 Se0/1, since 00:26:03
No inactive multilink interfaces
R1#

Ici vous retrouvez l’état du lien multilink. vous retrouvez les interfaces qui font partie du bundle, ainsi que les informations relatives au nom de l’équipement distant et des compteurs pour le nombre de paquets transmis, détruits, …

Conclusion

La configuration de base d’une liaison multilink PPP est assez simple et intuitive. Elle permet en outre d’augmenter la bande passante de la liaison sans rendre la topologie plus complexe. Notez toutefois qu’il s’agit ici d’une configuration tout ce qu’il y a de plus basique, il est bien entendu possible de configurer l’authentification, ou encore de paramétrer la répartitions des données sur les liens.

9 Comments on “PPP Multilink : Agrégation de liaisons sérielles PPP

  1. salut. j’ai un problème avec la configuration de la multi-liaison ppp sur GNS3. je configure normalement et tous les interfaces marque up up mais le ping ne passe pas et pourtant les adresses sont sont dans le même sous réseau. qu’elle peut être le problème?

  2. Bonsoir,
    je serais mener a configure deux routeur de meme la facon , une ligne LL 2Mb et l autre LL 2Mb , je dois specifier sur l interface multilink la somme des deux ?
    Merci d avance

  3. Merci Steve,
    tes articles m’ont manqués, ça fait plaisir de te revoir en action, encore plus avec un nouveau concept du CCNAv3 🙂

    • C’est avec plaisir…. il y en aura d’autres dans les semaines à venir au vu des changements survenus.
      Je n’ai pas lâché le blog, mais j’ai une autre passion qui prend de plus en plus de temps depuis près d’un an… donc je fais des choix 😉

      J’espère juste que le plagia d’articles va un peu se calmer… J’en ai encore repéré quelques uns aujourd’hui. C’est assez pénible de voir que certains se permettent de faire du pur copier-coller de contenu.
      Enfin bon, c’est les joies d’Internet 😉

      • J’attends avec impatience les futurs articles alors (en esperant voir du BGP du coup)

        Si ils étaient un peu respectueux de ton travail, ils mettraient au moin un lien vers ton site… M’enfin.