Il protocollo PPP (noto anche come MP, MPPP, MLP o Multilink) fornisce un metodo per distribuire il traffico su più collegamenti WAN fisici, fornendo al tempo stesso la frammentazione e il riassemblaggio dei pacchetti, la corretta sequenza, l'interoperabilità tra più fornitori e il bilanciamento del carico sul traffico in entrata e in uscita.
Il protocollo MPPP consente la frammentazione dei pacchetti. Questi frammenti vengono inviati contemporaneamente a più collegamenti point-to-point allo stesso indirizzo remoto. I collegamenti fisici multipli vengono generati in risposta a una soglia di carico definita dall'utente. Il carico può essere misurato solo sul traffico in entrata, solo sul traffico in uscita o su entrambi. tuttavia, non può essere misurato sul carico combinato del traffico in entrata e in uscita.
Per le connessioni dial, il protocollo MPPP può essere configurato per le interfacce BRI (Basic Rate Interfaces) e PRI (Primary Rate Interfaces) ISDN, nonché per le interfacce seriali asincrone. Può essere configurata anche per le interfacce seriali non di composizione, sebbene questa funzionalità non sia descritta in modo specifico in questo documento. In questo documento viene descritta la configurazione di base del protocollo MPPP per il routing DDR (Dial-on-Demand Routing). Multicassis Multilink PPP non verrà trattato in questo documento; per ulteriori informazioni, vedere la documentazione di Multicassis Multilink PPP (MMP).
Per ulteriori informazioni sulle convenzioni usate, consultare il documento Cisco sulle convenzioni nei suggerimenti tecnici.
Non sono previsti prerequisiti specifici per questo documento.
Le informazioni fornite in questo documento si basano sulle versioni software e hardware riportate di seguito.
Il protocollo Multilink PPP è stato introdotto per la prima volta nel software Cisco IOS® versione 11.0(3)
Nell'esempio è stato usato il software Cisco IOS versione 11.3.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
MPPP è un metodo per suddividere, ricombinare e sequenziare datagrammi su più collegamenti dati logici. Per una buona descrizione del protocollo MPPP, vedere la RFC 1990 RFC 1990 . Inizialmente era motivata dal desiderio di sfruttare più canali di supporto in ISDN, ma è ugualmente applicabile a qualsiasi situazione in cui più collegamenti PPP connettono due sistemi, inclusi i collegamenti asincroni.
Il traffico indirizzato su un collegamento MPPP tramite l'interfaccia di controllo (un'interfaccia di accesso virtuale) verrà frammentato, e i frammenti verranno inviati sui diversi collegamenti fisici. All'estremità remota del collegamento, i frammenti vengono ricomposti e inoltrati all'hop successivo verso la destinazione finale.
In questa sezione vengono illustrati i comandi e i diversi metodi di configurazione del protocollo MPPP su un router.
Comando necessario | Descrizione |
---|---|
ppp multilink | Configurare il comando PPP multilink (su entrambi i router) nell'interfaccia fisica e nell'interfaccia di connessione (se si utilizzano profili dialer). Nota: se si aggiunge questo comando, è necessario disconnettere tutte le connessioni esistenti e quindi riconnettersi per applicare i nuovi parametri di connessione multipla. Poiché la connessione multipla viene negoziata durante la configurazione della chiamata, le modifiche alla connessione multipla non vengono implementate sulle connessioni che hanno completato la negoziazione LCP (Link Control Protocol). |
dialer load-threshold 5 in uscita | Caricamento dell'interfaccia (da 1 a 255) oltre il quale il dialer inizia una nuova chiamata verso la destinazione. La larghezza di banda viene definita come un rapporto di 255, dove 255 equivale al 100% della larghezza di banda disponibile. In questo esempio, il canale aggiuntivo verrà attivato quando il carico in uscita sul collegamento è 5/255 o 2%. Variate questo valore in base alle vostre esigenze. L'argomento outbound imposta il calcolo del carico in modo che venga eseguito solo sul traffico in uscita. L'argomento inbound ha lo stesso effetto, ma solo per il traffico in entrata. L'utilizzo di entrambi gli argomenti imposta il carico come il più grande tra i carichi in entrata e in uscita. Suggerimento: spesso i clienti configurano il comando dialer load-threshold 1 perché desiderano che tutti i canali B vengano utilizzati immediatamente per ogni chiamata. La teoria alla base di questa teoria è che se tutti i canali B si alzano contemporaneamente e l'intera pipe ISDN viene utilizzata per ogni chiamata, la chiamata dovrebbe avere una durata inferiore perché il trasferimento dei dati utente impiegherà meno tempo. Anche se questa teoria è valida, in pratica è una buona idea non impostare mai il valore di soglia di carico del dialer su un valore inferiore a "3". Impostando questo valore su un valore inferiore a "3", è possibile che più canali ISDN si attivino contemporaneamente e che si verifichi una contesa tra i due canali. |
Comandi facoltativi | Descrizione |
timeout ppp collegamento multiplo rimozione secondi | Questo comando può essere utilizzato per impedire che le connessioni a connessione multipla lampeggino quando il carico varia. Ad esempio, quando la soglia di carico è impostata su 15 (ovvero 15/255 = 6%) e il traffico supera la soglia, vengono visualizzate altre linee. Quando il traffico scende sotto la soglia, le linee aggiuntive vengono scartate. In situazioni in cui le velocità di trasmissione dei dati sono molto variabili, è vantaggioso che i canali multipli rimangano attivi per un determinato periodo di tempo anche se la soglia di carico scende al di sotto del valore specificato. Assegnare questo timeout di connessione multipla a un valore inferiore a quello specificato per il timeout di inattività della connessione telefonica che controlla il timeout di tutti i collegamenti. |
aggiunta di secondi per il collegamento multiplo timeout ppp | Questo comando può essere utilizzato per impedire l'aggiunta di più collegamenti al bundle MP fino a quando non si riceve un traffico elevato per un intervallo specificato. In questo modo è possibile evitare che alcuni picchi di traffico causino inutilmente l'aumento delle linee. |
max-link o max link link link ppp massimo (IOS 12.2 o versione successiva) | Il valore impostato nel comando ppp multilink links maximum specifica il numero massimo di collegamenti consentiti in un fascio. Quando un numero di collegamenti superiore al numero assegnato con il comando ppp multilink links maximum tenta di accedere al bundle, MLP disconnette i canali dialer per ridurre il numero di collegamenti. Questa opzione può essere utilizzata per evitare che una connessione a connessione multipla porti a un numero eccessivo di connessioni. |
minimo collegamenti min-link o collegamenti multilink ppp (IOS 12.2 o versione successiva) | Il valore impostato nel comando minimo collegamenti multipli ppp specifica il numero minimo di collegamenti che MLP cercherà di mantenere in un pacchetto. MLP tenta di richiamare altri collegamenti per ottenere il numero specificato dall'argomento links, anche se il carico non supera la soglia di carico. Questa opzione può essere utilizzata per forzare un certo numero di canali verso l'alto |
multilink bundle-name | Questo comando può essere utilizzato per modificare i criteri con cui viene identificato un fascio di connessione multipla. |
In questa sezione viene descritto come configurare Multilink PPP utilizzando DDR (Rotary Group and Dialer Map) legacy.
Poiché le interfacce ISDN sono considerate interfacce "dialer", sono necessari pochi comandi per realizzare un'interfaccia ISDN in grado di realizzare connessioni MPPP. Ad esempio, non è necessario configurare un gruppo rotante dialer a meno che non si utilizzi più di un BRI o PRI.
Di seguito è riportato un esempio di BRI configurato per eseguire una semplice connessione PPP dial-on-demand:
! interface BRI0 ip address 192.168.12.3 255.255.255.240 encapsulation ppp dialer map IP 192.168.12.1 name ROUTER1 5554321 dialer-group 1 ppp authentication chap isdn spid1 40855512120000 5551212 isdn spid2 40855512340000 5551234 !
Per rendere possibile il protocollo MPPP, è necessario aggiungere solo due comandi alla configurazione di questa interfaccia. Il router all'altra estremità della chiamata deve essere configurato in modo simile. I due comandi sono:
ppp multilink
dialer load-threshold load [outbound | inbound | either]
Nei casi in cui due o più interfacce fisiche devono essere raggruppate (ad esempio, quando si utilizzano interfacce asincrone o seriali, o più interfacce ISDN), è necessario utilizzare un metodo diverso. In questi casi, è necessario configurare un gruppo rotante di dialer e aggiungere un'interfaccia Dialer alla configurazione del router per controllare la connessione MPPP. In breve, un'interfaccia "logica" deve controllare le interfacce "fisiche".
A tale scopo, è necessario:
Posizionare le interfacce fisiche in un gruppo rotante.
Create un'interfaccia logica ("Dialer") come guida per il gruppo rotante.
Configurare l'interfaccia Dialer per l'esecuzione di MPPP.
Per configurare MPPP su più interfacce, attenersi alla procedura seguente:
Inserire le interfacce fisiche in un gruppo rotante utilizzando il comando dialer rotary-group number. Nell'esempio, l'interfaccia asincrona viene inserita nel gruppo rotante 1:
router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. router(config)#interface async 1 router(config-if)#dialer rotary-group 1 router(config-if)#^Z router#
Nota: assicurarsi di usare il comando di configurazione dell'interfaccia no shutdown se il router non è mai stato configurato o se è stato ripristinato la configurazione predefinita.
Per creare un'interfaccia Dialer, utilizzare il comando di configurazione globale interface dialer number. Nell'esempio viene creata l'interfaccia Dialer 1:
router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. router(config)#interface dialer 1 router(config-if)#end router#
Nota: l'argomento numero del comando interface dialer deve essere uguale al numero del gruppo rotante configurato nel passaggio 1.
Utilizzare il comando show running-config per verificare la configurazione predefinita di un'interfaccia dialer:
! interface Dialer1 no ip address no cdp enable !
Configurare quindi l'interfaccia Dialer per effettuare o ricevere chiamate. I comandi essenziali per MPPP sono gli stessi del Passo 1:
! interface Dialer1 ip address 192.168.10.1 255.255.255.0 encapsulation ppp dialer in-band dialer idle-timeout 300 dialer map ip 192.168.10.11 name RemoteRouter broadcast 5551234 dialer load-threshold 100 dialer-group 1 no fair-queue ppp multilink ppp authentication chap !
Per esempi di configurazioni DDR complete con MPPP, vedere la pagina di supporto PPP
La configurazione di Multilink PPP sui profili dialer è simile a quella del DDR legacy. Il comando ppp multilink deve essere configurato sia sull'interfaccia fisica che sull'interfaccia di connessione. Il comando dialer load-threshold deve essere configurato sull'interfaccia Dialer. Ad esempio,
interface BRI0 no ip address encapsulation ppp dialer pool-member 1 isdn switch-type basic-5ess ppp authentication chap ppp multilink ! -- Configure multilink on both physical and dialer interfaces ! interface Dialer1 ip address 172.22.85.1 255.255.255.0 encapsulation ppp dialer pool 1 ! -- Defines the pool of physical resources from which the Dialer ! -- interface may draw B channels as needed. dialer remote-name R1 dialer string 6661000 dialer load-threshold 128 outbound dialer-group 5 ppp authentication chap ppp multilink ! -- Configure multilink on both physical and dialer interfaces
Per ulteriori informazioni sui profili dialer, consultare il documento relativo alla configurazione e alla risoluzione dei problemi dei profili dialer
Per verificare il corretto funzionamento di una connessione MPPP, utilizzare il comando debug ppp negotiation. Gli elementi critici da negoziare nella fase LCP sono l'unità di ricezione ricostruita massima (MRRU) e il discriminatore endpoint (EndpointDisc):
As1 LCP: O CONFREQ [Listen] id 1 len 26 As1 LCP: AuthProto CHAP (0x0305C22305) As1 LCP: MagicNumber 0x10963BD1 (0x050610963BD1) As1 LCP: MRRU 1524 (0x110405F4) As1 LCP: EndpointDisc 1 Local (0x13070174657374) As1 LCP: I CONFREQ [REQsent] id 3 Len 27 As1 LCP: MRU 1500 (0x010405DC) As1 LCP: MagicNumber 0x2CBF9DAE (0x05062CBF9DAE) As1 LCP: MRRU 1500 (0x110405DC) As1 LCP: EndpointDisc 1 Local (0x1306011AC16D) As1 LCP: I CONFACK [REQsent] id 1 Len 26 As1 LCP: AuthProto CHAP (0x0305C22305) As1 LCP: MagicNumber 0x10963BD1 (0x050610963BD1) As1 LCP: MRRU 1524 (0x110405F4) As1 LCP: EndpointDisc 1 Local (0x13070174657374) As1 LCP: O CONFACK [ACKrcvd] id 3 Len 24 As1 LCP: MRU 1500 (0x010405DC) As1 LCP: MagicNumber 0x2CBF9DAE (0x05062CBF9DAE) As1 LCP: MRRU 1500 (0x110405DC) As1 LCP: EndpointDisc 1 Local (0x1306011AC16D) As1 LCP: State is Open
Come per gli altri elementi della negoziazione LCP, l'MRRU e l'EndpointDisc devono essere concordati da entrambe le estremità della connessione durante lo scambio di CONFREQ e CONFACK. Entrambe le estremità della connessione devono inviare CONFACK affinché il protocollo venga stabilito. Per ulteriori informazioni su come leggere l'output della negoziazione debug ppp, consultare il documento Descrizione dell'output della negoziazione debug ppp.
Dopo che il protocollo MPPP è stato negoziato correttamente durante la fase LCP della negoziazione PPP e il completamento del protocollo CHAP (Challenge Handshake Authentication Protocol) o PAP (Password Authentication Protocol), il software Cisco IOS creerà un'interfaccia di accesso virtuale per rappresentare il bundle MPPP. Per ulteriori informazioni sugli utilizzi e la teoria delle interfacce di accesso virtuale, vedere la sezione Funzionalità PPP di accesso virtuale nella documentazione di Cisco IOS.
La creazione dell'interfaccia di accesso virtuale viene segnalata nell'output della negoziazione PPP di debug dai seguenti elementi:
As1 PPP: Phase is VIRTUALIZED
A partire da questo punto, la negoziazione PPP dei protocolli di controllo di rete viene gestita dall'interfaccia di accesso virtuale. Ad esempio:
Vi1 PPP: Treating connection as a dedicated line Vi1 PPP: Phase is ESTABLISHING, Active Open Vi1 LCP: O CONFREQ [Closed] id 1 Len 37 ... Vi1 PPP: Phase is UP Vi1 IPCP: O CONFREQ [Closed] id 1 len 10 Vi1 IPCP: Address 192.168.10.1 (0x0306C0A80A01) ...
Una volta stabilita la connessione MPPP, le informazioni sulla connessione sono disponibili nell'output del comando show ppp multilink:
router#show ppp multilink Virtual-Access1, bundle name is RemoteRouter 0 lost fragments, 0 reordered, 0 unassigned, sequence 0x29/0x17 rcvd/sent 0 discarded, 0 lost received, 1/255 load Member links: 1 (max not set, min not set) Async1
Il nome del bundle è il nome utente autenticato del dispositivo client connesso. I collegamenti dei membri sono un elenco delle interfacce fisiche che sono membri attivi del bundle. Nell'esempio di cui sopra, solo un collegamento è attualmente attivo, ma il router può aggiungere altri collegamenti al bundle in un determinato momento.Per disconnettere un collegamento specifico (piuttosto che l'intero bundle), usare il comando clear interfaceinterfaccia. Ad esempio, deselezionare l'interfaccia Async1.
L'ordine in cui verrà tentata per prima la convenzione di denominazione (come indicato in Nome pacchetto) può essere modificato utilizzando il comando multilink bundle-name.
Inoltre, il comando show interface è valido per l'interfaccia di accesso virtuale così come per qualsiasi altra interfaccia fisica o logica. Verranno presentate le stesse informazioni visualizzate in qualsiasi altro output show interface.
router#show interface virtual-access 1 Virtual-Access1 is up, line protocol is up Hardware is Virtual Access interface Description: Multilink PPP to RemoteRouter ! -- This VAccess interface is conencted to "RemoteRouter" Internet address is 192.168.10.1/24 MTU 1500 bytes, BW 7720 Kbit, DLY 100000 usec, reliability 255/255, txload 1/255, rxload 1/255 Encapsulation PPP, loopback not set Keepalive set (10 sec) DTR is pulsed for 5 seconds on reset LCP Open, multilink Open ! -- multilink state should be Open for a successful connection Open: IPCP Last input 00:00:01, output never, output hang never Last clearing of "show interface" counters 04:25:13 Queueing strategy: fifo Output queue 0/40, 0 drops; input queue 0/75, 0 drops 5 minute input rate 12000 bits/sec, 2 packets/sec 5 minute output rate 12000 bits/sec, 2 packets/sec 2959 packets input, 2075644 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 2980 packets output, 2068142 bytes, 0 underruns 0 output errors, 0 collisions, 0 interface resets 0 output buffer failures, 0 output buffers swapped out 0 carrier transitions
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
09-Sep-2005 |
Versione iniziale |