Point-to-Point Protocol (PPP)
Point-to-Point Protocol (PPP) is a Layer 2 communications protocol. PPP encapsulates multiprotocol data over point-to-point links. PPP encapsulation is the default encapsulation type for physical interfaces.
To configure PPP for subscriber access, see PPP Subscriber Access Networks Overview.
Benefits of PPP
- Flexible
- Built-in testing of the link to reduce packet loss
- Can encapsulate multiple protocols simultaneously on the same link
Limitations of PPP
-
IP class of service (CoS) is not supported on PPP interfaces. All the traffic is sent to the best effort queue (queue 0) and CoS code points are not processed.
-
Fixed classifiers are not supported.
-
The MPLS family is not supported on logical interfaces if you configured PPP encapsulation on the interface.
-
The circuit cross-connect (CCC) version of PPP (configured with the
ppp-ccc
option) and the translational cross-connect (TCC) version of PPP (ppp-tcc
option) are not supported for configuration with theencapsulation
statement.
Supported PPP Interface Standards
Junos OS substantially supports the following RFCs, which define standards for PPP interfaces.
-
RFC 1332, The PPP Internet Protocol Control Protocol (IPCP)
-
RFC 1334, PPP Authentication Protocols
-
RFC 1661, The Point-to-Point Protocol (PPP)
PPP Configuration
- Configure PPP Encapsulation
- Example: PPP Encapsulation
- Configure LCP
- Configure NCP
- PPP Clear Loop Detected Timer for LCP
- Verify the LCP and NCP Configuration
Configure PPP Encapsulation
You can use the following operational mode commands to view the PPP configuration and statistical details:
-
show ppp address-pool
displays PPP address pool information. -
show ppp interface
displays PPP session information for an interface. -
show ppp statistics
displays PPP session statistics. -
show ppp summary
displays summary information about PPP-configured interfaces. -
show interfaces e1-fpc/pic/port
,show interfaces t1-fpc/pic/port
, andshow interfaces ds-fpc/pic/port
display the PPP settings of a specific E1, T1, or DS interface, respectively.
See Also
Example: PPP Encapsulation
Use this example to configure PPP encapsulation on a SONET/SDH interface. The second and
third family
statements allow IS-IS and MPLS to run on the interface.
[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; } }
Configure LCP
PPP uses the Link Control Protocol (LCP) to establish and test a link before transmitting data. LCP can negotiate optional configurations for the link with the other device such as the method used to authenticate the link. To establish and test the link, LCP sends different types of packets to the peer device.
See Also
Configure NCP
After LCP has established a link, PPP uses the Network Control Protocol (NCP) to configure Layer 3 protocols. PPP can use multiple Layer 3 protocols simultaneously. To configure NCP:
See Also
PPP Clear Loop Detected Timer for LCP
When a PPP session detects a loop, the operating system sets the loop detected flag. If the protocol doesn't clear the flag after it clears the loopback, the clear loop detected timer clears the flag after the specified time has elapsed.
To configure the clear loop detected timer for the LCP component of a PPP session,
include the
loopback-clear-timer
statement and specify the number of seconds.
[edit interfaces interface-name unit logical-unit-number ppp-options] user@device# set loopback-clear-timer seconds
You can also include this statement at the [edit logical-systems
logical-system-name interfaces interface-name
unit logical-unit-number ppp-options]
hierarchy level.
To monitor the configuration, issue the show interfaces
interface-name extensive
command.
Verify the LCP and NCP Configuration
To monitor the LCP and NCP configuration, issue the show interfaces
interface-name
command. The operating system displays
the configured options in the PPP parameters
field for the physical
interface.
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 Profiles
When multiple types of profiles are configured, the operating system only implements one
configuration. The operating system prioritizes them as follows, where [edit access
profile profile-name]
overrides all other profile
configurations:
[edit access profile profile-name]
[edit access group-profile profile-name]
[edit access profile profile-name user-group-profile profile-name]
When you configure a profile, you can configure either L2TP or PPP parameters, but not both at the same time.
Access Profiles
To validate PPP connections and session requests, set up access profiles by configuring
the profile statement at the [edit access]
hierarchy level. You can
configure multiple profiles. You can also configure multiple clients for each profile.
See Also
Client-Specific Profile
To define PPP properties for a client-specific access profile, include one or more of
the following statements at the [edit access profile
profile-name client client-name ppp]
hierarchy level.
The properties defined in the profile take precedence over the values defined in the group profile.
[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; } }
The cell-overhead
statement configures the session to use ATM-aware
egress shaping on the IQ2 PIC.
bytes
(in the
encapsulation-overhead
statement) configures the number of bytes used
as overhead for class-of-service calculations.
ip-address
(in the
framed-ip-address
statement) is the IPv4 prefix.
pool-id
(in the framed-pool
statement) is a configured address pool.
seconds
(in the idle-timeout
statement) is the number of seconds a user can remain idle before the session is
terminated. By default, idle timeout is set to 0. You can configure this to be a value
in the range from 0 through 4,294,967,295.
interface-id
(in the interface-id
statement) is the identifier for the interface representing an L2TP session configured
at the [edit interfaces interface-name unit
local-unit-number dial-options]
hierarchy level.
keepalive seconds
is the time period that must
elapse before the Junos OS checks the status of the PPP session by sending an echo
request to the peer. For each session, Junos OS sends a maximum of ten keepalives at
10-second intervals and the session is closed if there is no response. By default, the
time to send a keepalive messages is set to 10 seconds. You can configure
this to be a value in the range from 0 through 32,767 seconds.
keepalive-retries number-of-retries
is the number
of retry attempts for checking the keepalive status of a Point-to-Point (PPP) protocol
session. Configuring a lower number of retries helps reduce the detection time for PPP
client session failures or timeouts if you have configured a keepalive
seconds
value. By default, the number of retries is set
to 10 times. You can configure this to be a value in the range from 3 through 32,767
times.
primary-dns
(in the primary-dns
statement) is an IPv4 address.
secondary-dns
(in the
secondary-dns
statement) is an IPv4 address.
primary-wins
(in the primary-wins
statement) is an IPv4 address.
secondary-wins
(in the
secondary-wins
statement) is an IPv4 address.
When you configure PPP properties for a profile, you typically configure the
chap-secret
statement or pap-password
statement.
Group Profiles
If you need to apply PPP to multiple devices, you might want to configure group profile to define the PPP attributes. Any client referencing the configured group profile inherits all the group profile attributes. This makes it easier to apply PPP on a larger scale.
Configure PPP for a Group Profile
To configure the PPP attributes for a group profile, include the following statements
at the [edit access group-profile profile-name
ppp]
hierarchy level:
[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;
The cell-overhead
statement configures the session to use
Asynchronous Transfer Mode (ATM)-aware egress shaping on the IQ2 PIC.
bytes
(in the
encapsulation-overhead
statement) configures the number of bytes
used as overhead for class-of-service calculations.
pool-id
(in the framed-pool
statement) is the name assigned to the address pool.
seconds
(in the idle-timeout
statement) is the number of seconds a user can remain idle before the session is
terminated. By default, idle timeout is set to 0. You can configure this to be a value
in the range from 0 through 4,294,967,295.
interface-id
(in the
interface-id
statement) is the identifier for the interface
representing an L2TP session configured at the [edit interfaces
interface-name unit local-unit-number
dial-options]
hierarchy level.
seconds
(in the keepalive
statement) is the time period that must elapse before the Junos OS checks the status
of the PPP session by sending an echo request to the peer. For each session, Junos OS
sends out three keepalives at 10-second intervals and the session is close if there is
no response. By default, the time to send a keepalive message is set to 10 seconds.
You configure this to be a value in the range from 0 through 32,767.
primary-dns
(in the primary-dns
statement) is an IP version 4 (IPv4) address.
secondary-dns
(in the
secondary-dns
statement) is an IPv4 address.
primary-wins
(in the
primary-wins
statement) is an IPv4 address.
secondary-wins
(in the
secondary-wins
statement) is an IPv4 address.
Apply a PPP Group Profile to a Tunnel
On Mi7 and M10i routers, you can optionally apply a configured PPP group
profile to a tunnel. For any tunnel client, you can use the
user-group-profile
statement to define default PPP attributes for
all users coming in through a tunnel. The user group profile must define PPP
attributes. If the user group profile is specified, all users (PPP sessions) use the
PPP attributes specified in the user group profile.
When a PPP client enters a tunnel, the Junos OS first applies the PPP user group profile attributes and then any PPP attributes from the local or RADIUS server. The PPP attributes defined in the RADIUS or local server take precedence over the attributes defined in the user group profile.
To apply configured PPP attributes to a PPP client, include the
user-group-profile
statement at the [edit access profile
profile-name
clientclient-name]
hierarchy level:
[edit access profile profile-name client client-name] user-group-profile profile-name;
profile-name
is a PPP group profile configured at
the [edit access group-profile profile-name]
hierarchy level. When a client enters this tunnel, it uses the
user-group-profile
attributes as the default attributes.
Use a wildcard client to define a user group profile:
[edit access profile profile-name] client * { user-group-profile profile-name; }
Compress PPP Fields
By default, PPP does not compress the Layer 2 address, control, and protocol fields. Compressing these fields conserves bandwidth by transmitting less data. For interfaces with PPP, PPP CCC, or PPP TCC encapsulation, the device can compress the Layer 2 address, control, and protocol fields, as defined in RFC 1661, The Point-to-Point Protocol (PPP).
Keep the following in mind when you configure PPP field compression:
-
The PPP session restarts when you configure or modify compression options.
-
The address, control, and protocol fields cannot be compressed in Link Control Protocol (LCP) packets.
Address and Control Field Compression
Use address and control field compression (ACFC) to conserve bandwidth by transmitting less data. By default, the address and control fields of PPP-encapsulated packets are not compressed. This means PPP-encapsulated packets are transmitted with two one-byte fields (0xff and 0x03). If you configure ACFC and ACFC is successfully negotiated with the device's peer, the device transmits packets without these two bytes.
On M320, M120, and T Series routers, ACFC is not supported for any ISO family
protocols. Do not include the acfc
statement at the [edit
interfaces interface-name ppp-options compression]
hierarchy level when you include the family iso
statement at the
[edit interfaces interface-name unit
logical-unit-number]
hierarchy level.
To configure ACFC:
Protocol Field Compression
Use Protocol Field Compression (PFC) to compresses the protocol field of PPP-encapsulated packets. PFC conserves bandwidth by transmitting less data. By default, PPP-encapsulated packets are transmitted with a two-byte uncompressed protocol field. For example, IPv4 packets are transmitted with the protocol field set to 0x0021, and MPLS packets are transmitted with the protocol field set to 0x0281. For all protocols with identifiers in the range 0x0000 through 0x00ff, you can configure the router to compress the protocol field to one byte.
To configure PFC:
Monitor PPP Field Compression
When ACFC and PFC are configured, the local device tries to negotiate ACFC and PFC with
its peer. When you include the compression
statement in the
configuration, the PPP session restarts, and the local router sends the ACFC and PFC
options in the LCP Configure-Request packet. The ACFC and PFC options inform the local
router's peer that the local router can receive packets with compression.
If the peer indicates that it, too, can receive packets with compression, then ACFC and PFC are negotiated. If ACFC is successfully negotiated, the local router can receive packets with or without the address and control bytes included. If PFC is successfully negotiated, the local device can receive packets with either 2-byte (uncompressed) or 1-byte (compressed) protocol fields.
To monitor whether negotiation was successful, issue the show interfaces
interface-name
command. Configured options are displayed
in the Link flags
field for the physical interface. Successfully
negotiated options are displayed in the flags
field for the logical
interface.
In this example, both ACFC and PFC are configured, but neither compression feature has been successfully negotiated:
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
Configure PPP on ACX Series Routers
You can configure PPP encapsulation on physical interfaces on ACX Series routers. PPP is supported on the following MICs on ACX Series routers:
-
On ACX1000 routers with 8-port built-in T1/E1 TDM MICs.
-
On ACX2000, ACX2100, ACX2200, and ACX4000 routers with 16-port built-in T1/E1 TDM MICs.
-
On ACX4000 routers with 16-Port Channelized E1/T1 Circuit Emulation MICs.
-
Starting with Release 12.3X54, you can configure Point-to-Point Protocol (PPP) encapsulation on physical interfaces on Channelized OC3/STM1 (Multi-Rate) Circuit Emulation MIC with SFP on ACX4000 Series routers.
Prepare Interfaces
Configure PPP Encapsulation
- To configure the encapsulation on a physical interface, include the
encapsulation ppp
statement at the[edit interfaces interface-name]
hierarchy level. - (Optional) On interfaces with PPP encapsulation, configure PPP-specific interface
properties by including the
ppp-options
statement at the[edit interfaces interface-name]
hierarchy level. - (Optional) PPP is supported only for IPv4 networks. You can configure the INET
family by including the
family inet
statement at the[edit interfaces interface-name unit logical-unit-number]
hierarchy level. - (Optional) You can configure interfaces with PPP encapsulation to support the PPP Challenge Handshake Authentication Protocol (CHAP) and Password Authentication Protocol (PAP).
Monitor a PPP Session
When PPP session monitoring is enabled, the operating system logs packets that are
exchanged during a PPP session. It logs these packets to /var/log/pppd
by
default, or to the file specified in the traceoptions
statement. When
monitoring is configured, the operational mode commands show ppp summary
and show ppp interface
display a Monitored
flag in the
Session flags
column or line.
To configure PPP session monitoring:
Monitor the PPP Process
You can monitor the operations of the device’s PPP process (pppd) with the
traceoptions
statement. To monitor the device’s pppd: