广域网 : 点对点协议 (PPP)

DDR 多链路 PPP - 基本配置和验证

2016 年 10 月 24 日 - 机器翻译
其他版本: PDFpdf | 英语 (2015 年 8 月 22 日) | 反馈


目录


简介

多链路PPP (也指MP、MPPP、MLP或多链路)提供在多个物理WAN链路中进行流量扩展的方法,同时提供信息包分段和重组、正确排序、多厂商互操作性和入站与出站流量负载均衡信息。

MPPP 允许对数据包分段。这些片段通过多条点对点链路同时发送到相同的远程地址。在用户定义的负载阈值下,多个物理链路将恢复运行。此负载可以只在入站数据流、或者只在出站数据流或二者中任意一个中测量;但是,它不能在入站和出站流量的结合负载中测量。

如果是拨号连接,MPPP可在ISDN基本速率接口(BRI)、主速率接口(PRI)配置和异步串行接口中配置。它也可以配置用于非拨号串行接口,但本文对此功能无特别说明。本文档将讨论按需拨号路由 (DDR) 的基本 MPPP 的配置。本文档将不涉及多机箱多链路 PPP;有关详细信息,请参阅多机箱多链路 PPP (MMP) 文档。

开始使用前

规则

有关文档规则的详细信息,请参阅 Cisco 技术提示规则

先决条件

本文档没有任何特定的前提条件。

使用的组件

本文档中的信息基于以下软件和硬件版本。

  • 多链路PPP在Cisco IOSï ¿  ½软件版本11.0(3)首先介绍

  • 在此示例中,使用了 Cisco IOS 软件版本 11.3。

本文档中的信息都是基于特定实验室环境中的设备创建的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您是在真实网络上操作,请确保您在使用任何命令前已经了解其潜在影响。

多链路 PPP 干什么

MPPP 是在多个逻辑数据链路间拆分、再结合与排列数据报的方法。有关 MPPP 的详细说明,请参阅 RFC1990 RFC1990leavingcisco.com 最初的动因是在ISDN中开发多个承载信道,但它同样适用于多个PPP 链路连接二个系统的所有情况(包括异步链路)。

流量通过控制接口(一个虚拟访问接口)路由到MPPP链路时会发生分段,不同分段发送到不同物理链路。在链路的远程终端上,片段被重新组装,然后发送到通往最终目的地的下一跳上。

配置多链路 PPP

这一部分提供了在路由器上配置MPPP的命令和不同方法。

命令

需要的命令 说明
PPP 多链路 在物理接口和拨号程序接口(如果使用Dialer Profile)配置PPP多链路命令(在两个路由器上)。

注意: 如果您添加此命令,您必须断开所有现有连接,然后重新连接,以便应用新的多链路参数。由于多链路在呼叫建立期间完成协商,它的任何更改都不是在已完成链路控制协议(LCP)协商的连接上进行的。

dialer load-threshold 5 outbound 不在拨号程序上的接口负荷(从1到255)将向目的地发送另一个呼叫。带宽被定义为255比率,其中255将是100%的可用带宽。在本例中,当链路上的出站负载是5/255或2%时,将出现另外的信道。根据您的需要变化此值。outbound 参数将负载计算设置为仅计算出站流量。inbound 参数亦然,但仅计算入站流量。使用任一参数将负载设置为高于出站和入站负载。

提示: 通常是用户将配置dialer load-threshold 1命令,因为他们希望他们的所有B信道立即用于每次呼叫。背后的理论是如果所有B信道一次出现,那么整个ISDN管道可以供每次呼叫使用。传递用户数据的时间减少,所以该呼叫的持续时间也应当缩短。

这个理论非常合理,实际上,不要将dialer load-threshold值设置在3以下,是非常好的一个想法。当该值的设置低于“3”时可能导致一次出现多个ISDN信道,这将导致两条信道争用带宽,并且无法连接其中任何一个信道。
可选命令 说明
ppp timeout multilink link remove seconds 本命令可以用于防止多链路连接在负载发生变化时产生倒换。例如,如果负载阈值设置为15 (15/255 = 6%),并且数据流超出阈值时,这时会出现其他线路。当流量低于阈值时,附加线路取消。在数据速率变化剧烈的情况中,多信道停留一段特定的时间则比较有益,即使负载阈值低于指定值。指定多链路超时低于控制所有链路超时的拨号程序空闲超时。
ppp timeout multilink link add seconds 直到高数据流按照指定的时间间隔接收,此命令均可用于防止多条链路添加到MP套件。这样可以防止突发 数据流引发额外的线路。
ppp multilink max-linkppp multilink links maximum(IOS 12.2 或更高版本) 在ppp multilink links maximum命令中设置的值,规定了捆绑中允许的最大链路数量。当超过ppp multilink links maximum命令分配的数量的链路试图进入捆绑时,MLP就挂断其拨号信道,以减少链路的数量。此命令可用于防止多链路连接启动过多连接。
ppp multilink min-linkppp multilink links minimum(IOS 12.2 或更高版本) 设置在ppp multilink links minimum命令中的值,指定了MLP将设法保留在捆绑中的最小链路数量。MLP尝试拨号其他链路,以获取链路参数指定的编号,即使负载没有超出负载阈值。此命令可用于强制启用一定数量的信道
multilink bundle-name 可以使用此命令,来更改识别多链路捆绑的标准。

传统 DDR

本部分说明如何使用传统 DDR(循环组和拨号程序映射)配置多链路 PPP。

方法 1:仅一个物理接口 - 例如 ISDN

由于ISDN接口被视为"拨号程序"接口,我们几乎不需要使用命令,即可使ISDN接口能够进行MPPP连接。例如,除非您使用的BRI或PRI不止一个,否则就没有必要配置拨号程序循环组。

/image/gif/paws/10239/mppp-ddr1.gif

以下是一个配置的BRI示例,进行简单的按需拨号的PPP连接:

!
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
!

只需要在这个接口配置上增加两个命令,就可能实现MPPP。位于呼叫另一端的路由器必须进行类似配置。这两条命令是:

ppp multilink 
dialer load-threshold load [outbound | inbound | either]

方法 2:多个物理接口 - ISDN、异步和序列

如果两个或多个物理接口需要捆绑在一起(例如使用异步或串行接口,或ISDN接口不止一个时),必须使用不同方法。在这些情况下,必须配置拨号循环组,并且必须添加拨号接口到路由器的配置,以便控制MPPP连接。简而言之,“逻辑”接口必须控制“物理”接口。

为了完成此配置,您必须:

  1. 将物理接口置于循环组。

  2. 创建一个逻辑(“拨号程序”)接口作为循环组的主接口。

  3. 配置拨号程序接口,以便执行 MPPP。

遵循以下步骤,在多个接口上配置 MPPP:

  1. 通过使用 dialer rotary-group 编号 命令,将物理接口置于循环组中。在本例中,异步接口位于循环组 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#

    注意: 如果从未配置路由器或者路由器已经设置回到它的默认配置,确保使用no shutdown interface configuration命令。

  2. 要创建拨号程序接口,请使用 interface 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#

    注意: interface dialer命令的编号参数必须与步骤1中配置的循环组编号相同。

    请使用 show running-config 命令,以查看拨号程序接口的默认配置:

    !
    interface Dialer1
     no ip address
     no cdp enable
    !
  3. 其次,配置拨号程序接口,以便拨打或接听电话。MPPP 的必要命令与步骤 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
    !

    有关包含 MPPP 的完整 DDR 配置的示例,请参阅 PPP 支持页

拨号原型(Dialer Profile)

在 Dialer Profiles 上配置多链路 PPP 与传统 DDR 类似。物理接口与拨号程序接口上必须配置 ppp multilink 命令。应该在拨号程序接口上配置 dialer load-threshold 命令。例如,

mppp-ddr2.gif

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

有关 Dialer Profiles 的详细信息,请参阅 Dialer Profiles 配置和故障排除文档

验证 MPPP 操作

要验证 MPPP 连接是否正常工作,请使用 debug ppp negotiation 命令。必须在LCP阶段协商的关键要素包括最大接收重建单元(MRRU)和端点分辨器(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

与LCP协商的其他元素一样,在CONFREQs和CONFACK交换期间,连接的两端的MRRU和EndpointDisc必须一致。连接的两端必须为要建立的协议发送 CONFACK。欲知关于如何阅读debug ppp negotiation output 的更多信息,请参见文档“了解debug ppp negotiation输出”。

当MPPP在PPP 协商的LCP阶段成功完成协商,并且成功实施质询握手验证协议(CHAP)或密码验证协议(PAP)后,Cisco IOS软件将创建虚拟访问接口代表MPPP套件。如需了解虚拟访问接口用法和理论的更多信息,请参阅Cisco IOS文档的虚拟访问PPP功能。

虚拟访问接口在debug ppp negotiation输出中通过下列方式发送信号:

As1 PPP: Phase is VIRTUALIZED

从此时开始,网络控制协议 (NCP) 的 PPP 协商由虚拟访问接口处理。例如:

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)
...

一旦MPPP连接被建立,连接信息便可在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

捆绑名 是连接的客户端设备的认证用户名。成员链接 是作为捆绑活动成员的物理接口的列表。在以上示例中,仅一条链路当前处于活动状态,然而有时路由器能够添加更多链路到捆绑中。要断开一条特定链路(而不是整个捆绑),请使用命令 clear interface 接口。例如,clear interface Async1

命名规则将首先尝试的顺序(如捆绑名称所示)可以通过multilink bundle-name命令更改。

另外,show interface命令对于虚拟访问接口有效,因为它适用于其他任何物理或逻辑接口。将会出现与任何所有show interface output中出现的同类信息。

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

相关信息


Document ID: 10239