点对点协议 (PPP)
点对点协议 (PPP) 是第 2 层通信协议。PPP 通过点对点链路封装多协议数据。PPP 封装是物理接口的默认封装类型。
要为订阅者访问配置 PPP,请参阅 PPP 订阅者访问网络概述。
PPP 的优势
- 灵活
- 对链路进行内置测试,以减少数据包丢失
- 可以在同一链路上同时封装多个协议
PPP 的局限性
-
PPP 接口不支持 IP 服务等级 (CoS)。所有信息流均发送至尽力服务队列(队列 0),并且不会处理 CoS 代码点。
-
不支持固定分类器。
-
如果在接口上配置了 PPP 封装,逻辑接口上将不支持 MPLS 系列。
-
PPP 的电路交叉连接 (CCC) 版本(使用 选项配置
ppp-ccc
)和 PPP 的转换交叉连接 (TCC) 版本 (ppp-tcc
选项)不支持使用 语句进行配置encapsulation
。
支持的 PPP 接口标准
Junos OS 实质上支持以下 RFC,这些 RFC 定义了 PPP 接口的标准。
-
RFC 1332, PPP 互联网协议控制协议 (IPCP)
-
RFC 1334, PPP 身份验证协议
-
RFC 1661, 点对点协议 (PPP)
PPP 配置
配置 PPP 封装
您可以使用以下操作模式命令查看 PPP 配置和统计详细信息:
-
show ppp address-pool
显示 PPP 地址池信息。 -
show ppp interface
显示接口的 PPP 会话信息。 -
show ppp statistics
显示 PPP 会话统计信息。 -
show ppp summary
显示有关 PPP 配置接口的汇总信息。 -
show interfaces e1-fpc/pic/port
、show interfaces t1-fpc/pic/port
和show interfaces ds-fpc/pic/port
分别显示特定 E1、T1 或 DS 接口的 PPP 设置。
另请参阅
示例:PPP 封装
使用此示例在 SONET/SDH 接口上配置 PPP 封装。第二个和第三 family
个语句允许在接口上运行 IS-IS 和 MPLS。
[edit interfaces] so-7/0/0 { encapsulation ppp; unit 0 { point-to-point; family inet { address 192.168.1.113/32 { destination 192.168.1.114; } } family iso; family mpls; } }
配置 LCP
PPP 使用链路控制协议 (LCP) 在传输数据之前建立并测试链路。LCP 可以与其他设备协商链路的可选配置,例如用于验证链路的方法。要建立并测试链路,LCP 会将不同类型的数据包发送至对等设备。
另请参阅
配置 NCP
LCP 建立链路后,PPP 使用网络控制协议 (NCP) 配置第 3 层协议。PPP 可同时使用多个第 3 层协议。要配置 NCP:
另请参阅
用于 LCP 的 PPP 清除环路检测定时器
当 PPP 会话检测到环路时,操作系统会设置环路检测到的标记。如果协议在清除环路后未清除标志,则在指定时间过后,清除环路检测到的计时器将清除标志。
要为 PPP 会话的 LCP 组件配置明确环路检测到的计时器,请包括语 loopback-clear-timer
句并指定秒数。
[edit interfaces interface-name unit logical-unit-number ppp-options] user@device# set loopback-clear-timer seconds
您还可以在层次结构级别中 [edit logical-systems logical-system-name interfaces interface-name unit logical-unit-number ppp-options]
包含此语句。
要监控配置,请发出 show interfaces interface-name extensive
命令。
验证 LCP 和 NCP 配置
要监控 LCP 和 NCP 配置,请发出 show interfaces interface-name
命令。操作系统在字段中 PPP parameters
显示物理接口的已配置选项。
user@host> run show interfaces t1-0/0/0:1:1.0 detail Logical interface t1-0/0/0:1:1.0 (Index 67) (SNMP ifIndex 40) (Generation 156) Flags: Hardware-Down Device-Down Point-To-Point SNMP-Traps 0x4000 Encapsulation: PPP PPP parameters: LCP restart timer: 2000 msec NCP restart timer: 2000 msec Protocol inet, MTU: 1500, Generation: 163, Route table: 0 Flags: Protocol-Down Addresses, Flags: Dest-route-down Is-Preferred Is-Primary Destination: 198.51.100/24, Local: 198.51.100.2, Broadcast: 198.51.100.255,
PPP 配置文件
配置多种类型的配置文件时,操作系统仅实施一个配置。操作系统按如下顺序分配优先级,其中 [edit access profile profile-name]
替代所有其他配置文件配置:
[edit access profile profile-name]
[edit access group-profile profile-name]
[edit access profile profile-name user-group-profile profile-name]
配置配置文件时,可以同时配置 L2TP 或 PPP 参数,但不能同时配置这两个参数。
访问配置文件
要验证 PPP 连接和会话请求,请在层次结构级别上配置配置文件语句 [edit access]
,以设置访问配置文件。您可以配置多个配置文件。您还可以为每个配置文件配置多个客户端。
另请参阅
客户端特定配置文件
要为客户端特定的访问配置文件定义 PPP 属性,请在 [edit access profile profile-name client client-name ppp]
层次结构级别中包含以下一个或多个语句。
配置文件中定义的属性优先于组配置文件中定义的值。
[edit access profile profile-name] client client-name { chap-secret chap-secret; group-profile profile-name; pap-password pap-password; ppp { cell-overhead; encapsulation-overhead bytes; framed-ip-address; framed-pool framed-pool; idle-timeout seconds; interface-id interface-id; keepalive seconds; primary-dns primary-dns; primary-wins primary-wins; secondary-dns secondary-dns; secondary-wins secondary-wins; } }
该 cell-overhead
语句将会话配置为在 IQ2 PIC 上使用 ATM 感知出口整形。
bytes
(语句中 encapsulation-overhead
)配置用作服务等级计算开销的字节数。
ip-address
(语句中 framed-ip-address
)是 IPv4 前缀。
pool-id
(语句中 framed-pool
)是一个配置的地址池。
seconds
(语句中 idle-timeout
)是指用户在终止会话之前可以保持空闲的秒数。默认情况下,空闲超时设置为 0。您可将此配置为范围为 0 到 4,294,967,295 的值。
interface-id
(语句中 interface-id
)是代表在层次结构级别上配置的 L2TP 会话的接口的 [edit interfaces interface-name unit local-unit-number dial-options]
标识符。
keepalive seconds
是 Junos OS 通过向对等方发送回应请求检查 PPP 会话状态之前必须缩短的时间段。对于每个会话,Junos OS 会以 10 秒的时间间隔发送最多 10 个激活,如果没有响应,会话将关闭。默认情况下,发送 激活 消息的时间设置为 10 秒。您可以将此配置为 0 到 32,767 秒范围内的值。
keepalive-retries number-of-retries
是检查点对点 (PPP) 协议会话的激活状态的重试尝试数。配置较低数量的重试有助于缩短 PPP 客户端会话故障或超时的检测时间(如果您已配置了值 keepalive seconds
)。默认情况下,重婚次数设置为 10 倍。您可将此配置为 3 至 32,767 次范围内的值。
primary-dns
(语句中 primary-dns
)是一个 IPv4 地址。
secondary-dns
(语句中 secondary-dns
)是一个 IPv4 地址。
primary-wins
(语句中 primary-wins
)是一个 IPv4 地址。
secondary-wins
(语句中 secondary-wins
)是一个 IPv4 地址。
为配置文件配置 PPP 属性时,通常会 chap-secret
配置语句或 pap-password
语句。
组配置文件
如果您需要将 PPP 应用到多个设备,则可能需要配置组配置文件以定义 PPP 属性。引用配置的组配置文件的任何客户端都会继承所有组配置文件属性。这样可以更轻松地大规模应用 PPP。
为组配置文件配置 PPP
要为组配置文件配置 PPP 属性,请在层次结构级别上 [edit access group-profile profile-name ppp]
包含以下语句:
[edit access group-profile profile-name ppp] cell-overhead; encapsulation-overhead bytes; framed-pool pool-id; idle-timeout seconds; interface-id interface-id; keepalive seconds; ppp-options { aaa-options aaa-options-name; chap; ignore-magic-number-mismatch; initiate-ncp (ip | ipv6 | dual-stack-passive) ipcp-suggest-dns-option; mru; mtu; pap; peer-ip-address-optional; } primary-dns primary-dns; primary-wins primary-wins; secondary-dns secondary-dns; secondary-wins secondary-wins;
该 cell-overhead
语句将会话配置为在 IQ2 PIC 上使用异步传输模式 (ATM) 感知出口整形。
bytes
(语句中 encapsulation-overhead
)配置用作服务等级计算开销的字节数。
pool-id
(语句中 framed-pool
)是分配给地址池的名称。
seconds
(语句中 idle-timeout
)是指用户在终止会话之前可以保持空闲的秒数。默认情况下,空闲超时设置为 0。您可将此配置为范围为 0 到 4,294,967,295 的值。
interface-id
(语句中 interface-id
)是代表在层次结构级别上配置的 L2TP 会话的接口的 [edit interfaces interface-name unit local-unit-number dial-options]
标识符。
seconds
(语句中 keepalive
)是 Junos OS 通过向对等方发送回应请求来检查 PPP 会话状态之前必须缩短的时间段。对于每个会话,Junos OS 会以 10 秒的时间间隔发出三个激活,如果没有响应,会话将关闭。默认情况下,发送激活消息的时间设置为 10 秒。将此配置为范围为 0 到 32,767 的值。
primary-dns
(语句中 primary-dns
)是 IP 版本 4 (IPv4) 地址。
secondary-dns
(语句中 secondary-dns
)是一个 IPv4 地址。
primary-wins
(语句中 primary-wins
)是一个 IPv4 地址。
secondary-wins
(语句中 secondary-wins
)是一个 IPv4 地址。
将 PPP 组配置文件应用于隧道
在 Mi7 和 M10i 路由器上,您可以选择将已配置的 PPP 组配置文件应用于隧道。对于任何通道客户端,均可使用 语 user-group-profile
句为通过隧道进入的所有用户定义默认 PPP 属性。用户组配置文件必须定义 PPP 属性。如果指定了用户组配置文件,则所有用户(PPP 会话)均使用用户组配置文件中指定的 PPP 属性。
当 PPP 客户端进入隧道时,Junos OS 将首先应用 PPP 用户组配置文件属性,然后应用来自本地或 RADIUS 服务器的任何 PPP 属性。在 RADIUS 或本地服务器中定义的 PPP 属性优先于用户组配置文件中定义的属性。
要将已配置的 PPP 属性应用于 PPP 客户端,请在层次结构级别中[edit access profile profile-name clientclient-name]
包含user-group-profile
语句:
[edit access profile profile-name client client-name] user-group-profile profile-name;
profile-name
是层级配置的 [edit access group-profile profile-name]
PPP 组配置文件。当客户端进入此通道时,它将 user-group-profile
属性用作默认属性。
使用通配符客户端定义用户组配置文件:
[edit access profile profile-name] client * { user-group-profile profile-name; }
压缩 PPP 字段
默认情况下,PPP 不会压缩第 2 层地址、控制和协议字段。压缩这些字段可减少数据传输,从而节省带宽。对于 PPP、PPP CCC 或 PPP TCC 封装的接口,设备可以压缩 RFC 1661 “点对点协议 (PPP)”中定义的第 2 层地址、控制和协议字段。
配置 PPP 字段压缩时,请记住以下内容:
-
配置或修改压缩选项时,PPP 会话将重新启动。
-
地址、控制和协议字段无法在链路控制协议 (LCP) 数据包中压缩。
地址和控制字段压缩
使用地址和控制字段压缩 (ACFC) 来减少数据传输,从而节省带宽。默认情况下,PPP 封装数据包的地址和控制字段不会压缩。这意味着 PPP 封装的数据包使用两个一字节字段(0xff和0x03)进行传输。如果配置 ACFC,并且 ACFC 已成功与设备对等方协商,则设备将传输数据包,而不会出现这两个字节。
在 M320、M120 和 T 系列路由器上,任何 ISO 系列协议都不支持 ACFC。在层次结构级别中包含语句时,family iso
不要在[edit interfaces interface-name ppp-options compression]
层次结构级别上[edit interfaces interface-name unit logical-unit-number]
包含acfc
语句。
要配置 ACFC:
协议字段压缩
使用协议字段压缩 (PFC) 压缩 PPP 封装数据包的协议字段。PFC 通过减少数据传输来节省带宽。默认情况下,PPP 封装的数据包将使用两字节未压缩的协议字段进行传输。例如,IPv4 数据包随协议字段一起传输至0x0021,MPLS 数据包将随协议字段设置为0x0281进行传输。对于范围0x0000至0x00ff中标识符的所有协议,可配置路由器将协议字段压缩为一个字节。
要配置 PFC:
监控 PPP 字段压缩
配置 ACFC 和 PFC 时,本地设备尝试与其对等方协商 ACFC 和 PFC。在配置中包含 compression
语句时,PPP 会话将重新启动,并且本地路由器会在 LCP Configure-Request 数据包中发送 ACFC 和 PFC 选项。ACFC 和 PFC 选项通知本地路由器的对等方,本地路由器可以接收压缩数据包。
如果对等方表示也可接收压缩数据包,则协商 ACFC 和 PFC。如果 ACFC 已成功协商,则本地路由器可以接收包含或不包含地址和控制字节的数据包。如果 PFC 成功协商,本地设备可以接收带有 2 字节(未压缩)或 1 字节(压缩)协议字段的数据包。
要监控协商是否成功,请发出 show interfaces interface-name
命令。配置的选项显示在物理接口的字段中 Link flags
。逻辑接口的 flags
字段中显示已成功协商的选项。
在此示例中,ACFC 和 PFC 均已配置,但均未成功协商任何压缩功能:
user@device# run show interfaces so-0/1/1 Physical interface: so-0/1/1, Enabled, Physical link is Up Interface index: 133, SNMP ifIndex: 27 Link-level type: PPP, MTU: 4474, Clocking: Internal, SONET mode, Speed: OC3, Loopback: None, FCS: 16, Payload scrambler: Enabled Device flags : Present Running Interface flags: Point-To-Point SNMP-Traps 16384 Link flags : No-Keepalives ACFC PFC LCP state: Opened NCP state: inet: Opened, inet6: Not-configured, iso: Not-configured, mpls: Not-configured CHAP state: Not-configured CoS queues : 4 supported Last flapped : 2004-12-29 10:49:32 PST (00:18:35 ago) Input rate : 0 bps (0 pps) Output rate : 0 bps (0 pps) SONET alarms : None SONET defects : None Logical interface so-0/1/1.0 (Index 68) (SNMP ifIndex 169) Flags: Point-To-Point SNMP-Traps ACFC Encapsulation: PPP Protocol inet, MTU: 4470 Flags: None Addresses, Flags: Is-Preferred Is-Primary Destination: 198.51.100/24, Local: 198.51.100.2, Broadcast: 198.51.100.255
在 ACX 系列路由器上配置 PPP
您可以在 ACX 系列路由器的物理接口上配置 PPP 封装。PPP 在 ACX 系列路由器上的以下 MIC 上受支持:
-
在带有 8 端口内置 T1/E1 TDM MIC 的 ACX1000 路由器上。
-
在带有 16 端口内置 T1/E1 TDM MIC 的 ACX2000、ACX2100、ACX2200 和 ACX4000 路由器上。
-
在带 16 端口通道化 E1/T1 电路仿真 MIC 的 ACX4000 路由器上。
-
从版本 12.3X54 开始,您可以在通道化 OC3/STM1(多速率)电路仿真 MIC(ACX4000 系列路由器上)的物理接口上配置点对点协议 (PPP) 封装。
准备接口
配置 PPP 封装
- 要在物理接口上配置封装,请将语句包含
encapsulation ppp
在[edit interfaces interface-name]
层次结构级别。 - (可选)在具有 PPP 封装的接口上,通过在层次结构级别上
[edit interfaces interface-name]
包括ppp-options
语句来配置 PPP 特定接口属性。 - (可选)PPP 仅支持 IPv4 网络。您可以通过在层次结构级别中包括
family inet
语句[edit interfaces interface-name unit logical-unit-number]
来配置 INET 系列。 - (可选)您可以使用 PPP 封装配置接口,以支持 PPP 挑战握手身份验证协议 (CHAP) 和密码身份验证协议 (PAP)。
监控 PPP 会话
启用 PPP 会话监控时,操作系统将记录 PPP 会话期间交换的数据包。它将这些数据包记录到/var/log/pppd
默认情况下,或记录到语句中traceoptions
指定的文件。配置监控时,操作模式命令show ppp summary
并在show ppp interface
列或行中Session flags
显示Monitored
一面标志。
要配置 PPP 会话监控:
监控 PPP 进程
您可以使用语句监控设备 PPP 进程 (pppd) 的 traceoptions
操作。要监控设备的 pppd: