PPP is a Layer2 protocol which provides a standard method for transporting multi protocol over Point to point link. It comprises of LCP and NCP sub layers.
LCP – Establishing, Configuring and testing the link.
NCP – Establish and configure different network layer protocol (Layer3)

Simple PPP Configuration:
Simple PPP Configuration involves enabling the PPP encapsulation on the interface and configuring respective IP address on either side. It can be noted that, a /32 entry of peer’s IP address will be installed in routing table as directly connected interface. This /32 entry is mandatory when the setup is dialup with ip address of the PPP interface configured as “ip unnumbered loopback
In the below mentioned example, R1 is configured with 150.1.13.1/24 address which will be installed in R3’s routing table as directly connected interface.
R1(config-if)#do sh run int s2/2
Building configuration...
Current configuration : 133 bytes
!
interface Serial2/2
ip address 150.1.13.1 255.255.255.0
no ip directed-broadcast
encapsulation ppp
serial restart-delay 0
end
R1(config-if)#
R1#sh ip route 150.1.13.3
Routing entry for 150.1.13.3/32
Known via "connected", distance 0, metric 0 (connected, via interface)
Routing Descriptor Blocks:
* directly connected, via Serial2/2
Route metric is 0, traffic share count is 1
R1#
R3#sh run int s2/2
Building configuration...
Current configuration : 157 bytes
!
interface Serial2/2
ip address 150.1.13.3 255.255.255.0
no ip directed-broadcast
encapsulation ppp
serial restart-delay 0
end
R3#sh ip route 150.1.13.1
Routing entry for 150.1.13.1/32
Known via "connected", distance 0, metric 0 (connected, via interface)
Routing Descriptor Blocks:
* directly connected, via Serial2/2
Route metric is 0, traffic share count is 1
R3#
R3#sh logg
Syslog logging: enabled (1 messages dropped, 0 messages rate-limited, 0 flushes,
0 overruns)
Console logging: disabled
Monitor logging: level debugging, 0 messages logged
Buffer logging: level debugging, 46 messages logged
Logging Exception size (8192 bytes)
Count and timestamp logging messages: disabled
Persistent logging: disabled
Trap logging: level informational, 48 message lines logged
Log Buffer (1000000 bytes):
01:15:00: Se2/2 LCP: Lower layer not up, Fast Starting
01:15:00: Se2/2 PPP: Interface state UP
01:15:00: Se2/2 PPP: Treating connection as a dedicated line
01:15:00: Se2/2 PPP: Phase is ESTABLISHING, Active Open
01:15:00: Se2/2 LCP: O CONFREQ [Closed] id 57 len 10
01:15:00: Se2/2 LCP: MagicNumber 0x024F2320 (0x0506024F2320)
01:15:00: %LINK-3-UPDOWN: Interface Serial2/2, changed state to up
01:15:00: Se2/2 PPP: Interface state UP
01:15:00: Se2/2 IP: LCP not open, discarding packet
01:15:00: Se2/2 LCP: I CONFREQ [REQsent] id 3 len 10
01:15:00: Se2/2 LCP: MagicNumber 0x004F3852 (0x0506004F3852)
01:15:00: Se2/2 LCP: O CONFACK [REQsent] id 3 len 10
01:15:00: Se2/2 LCP: MagicNumber 0x004F3852 (0x0506004F3852)
01:15:00: Se2/2 LCP: I CONFACK [ACKsent] id 57 len 10
01:15:00: Se2/2 LCP: MagicNumber 0x024F2320 (0x0506024F2320)
01:15:00: Se2/2 LCP: State is Open
01:15:00: Se2/2 PPP: Phase is UP
01:15:00: Se2/2 IPCP: O CONFREQ [Closed] id 3 len 10
01:15:00: Se2/2 IPCP: Address 150.1.13.3 (0x030696010D03)
01:15:00: Se2/2 CDPCP: O CONFREQ [Closed] id 2 len 4
01:15:00: Se2/2 IPCP: I CONFREQ [REQsent] id 2 len 10
01:15:00: Se2/2 IPCP: Address 150.1.13.1 (0x030696010D01)
01:15:00: Se2/2 IPCP: O CONFACK [REQsent] id 2 len 10
01:15:00: Se2/2 IPCP: Address 150.1.13.1 (0x030696010D01)
01:15:00: Se2/2 CDPCP: I CONFREQ [REQsent] id 2 len 4
01:15:00: Se2/2 CDPCP: O CONFACK [REQsent] id 2 len 4
01:15:00: Se2/2 IPCP: I CONFACK [ACKsent] id 3 len 10
01:15:00: Se2/2 IPCP: Address 150.1.13.3 (0x030696010D03)
01:15:00: Se2/2 IPCP: State is Open
01:15:00: Se2/2 CDPCP: I CONFACK [ACKsent] id 2 len 4
01:15:00: Se2/2 CDPCP: State is Open
01:15:00: Se2/2 IPCP: Install route to 150.1.13.1
01:15:01: %LINEPROTO-5-UPDOWN: Line protocol on Interface Serial2/2, changed sta
te to up
R3#
The default behavior of installing the /32 address can be disabled as below,
R1#sh run int s2/2
Building configuration...
Current configuration : 128 bytes
!
interface Serial2/2
ip address 150.1.13.1 255.255.255.0
encapsulation ppp
serial restart-delay 0
no clns route-cache
end
R1#
R1#sh ip route 150.1.13.3
Routing entry for 150.1.13.3/32
Known via "connected", distance 0, metric 0 (connected, via interface)
Routing Descriptor Blocks:
* directly connected, via Serial2/2
Route metric is 0, traffic share count is 1
R1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R1(config)#int s2/2
R1(config-if)#shut
R1(config-if)#no peer neighbor-route
R1(config-if)#no shut
R1(config-if)#
R1#
R1#sh ip route 150.1.13.3
Routing entry for 150.1.13.0/24
Known via "connected", distance 0, metric 0 (connected, via interface)
Routing Descriptor Blocks:
* directly connected, via Serial2/2
Route metric is 0, traffic share count is 1
R1#ping 150.1.13.3
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 150.1.13.3, timeout is 2 seconds:
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/27/72 ms
R1#
Address Negotiation:
In dialup kind of setup, we can have the client negotiate and obtain the IP address from server as part of LCP negotiation (IPCP). It can be done in 3 ways as below,
- DHCP
- Local Pool
- Static address
Address negotiation using Local Pool:
R1#sh run | inc pool
ip local pool POOL 150.1.13.3 150.1.13.4
R1#sh run int s2/2
Building configuration...
Current configuration : 168 bytes
!
interface Serial2/2
ip address 150.1.13.1 255.255.255.0
no ip directed-broadcast
encapsulation ppp
peer default ip address pool POOL
serial restart-delay 0
end
R1#
|------------R3 Configs------------|
R3(config-if)#do sh run int s2/2
Building configuration...
Current configuration : 119 bytes
!
interface Serial2/2
ip address negotiated
no ip directed-broadcast
encapsulation ppp
serial restart-delay 0
end
R3(config-if)#int s2/2
R3(config-if)#no ip addr
R3#
R3#sh run int s2/2
Building configuration...
Current configuration : 111 bytes
!
interface Serial2/2
no ip address
no ip directed-broadcast
encapsulation ppp
serial restart-delay 0
end
R3#
R3#conf t
Enter configuration commands, one per line. End with CNTL/Z.
R3(config)#int s2/2
R3(config-if)#shut
R3(config-if)# ip address negotiated
R3(config-if)#
R3(config-if)#do sh ip int brief
Interface IP-Address OK? Method Status Protocol
Serial2/2 unassigned YES manual administratively down down
R3(config-if)#no shut
R3(config-if)#do sh ip int brief
Interface IP-Address OK? Method Status Protocol
Serial2/2 150.1.13.3 YES IPCP up up
R3(config-if)#
R1#show ip local pool
Pool Begin End Free In use
POOL 150.1.13.3 150.1.13.4 1 1
R1#
Address negotiation using static address:
R1#sh run int s2/2
Building configuration...
Current configuration : 169 bytes
!
interface Serial2/2
ip address 150.1.13.1 255.255.255.0
no ip directed-broadcast
encapsulation ppp
peer default ip address 150.1.13.3
serial restart-delay 0
end
R1#
R3(config-if)#do sh run int s2/2
Building configuration...
Current configuration : 121 bytes
!
interface Serial2/2
no ip address
no ip directed-broadcast
encapsulation ppp
shutdown
serial restart-delay 0
end
R3(config-if)#do sh ip int brief | inc 2/2
Serial2/2 unassigned YES manual administratively down down
R3(config-if)#ip address negotiated
R3(config-if)#no shut
R3(config-if)#do sh ip int brief | inc 2/2
Serial2/2 150.1.13.3 YES IPCP up up
R3(config-if)#
Routing over PPP negotiated link:
RIP | RIP on receiving an update packet, by default will validate the source and check if it is from same subnet. If not, the update packet will be ignored with “RIP: ignored v2 packet from 150.1.3.3 (sourced from one of our addresses)” error message. This issue can be solved by disabling the source validation in RIP protocol as below, R3(config)#router rip R3(config-router)#no auto-summary R3(config-router)#ver 2 R3(config-router)#no validate-update-source |
OSPF | AFAIK, OSPF is not supported on link with /32 subnet mask. OSPF on receiving hello packet from a neighbor will check Area, Subnet Mask, Hello Interval, Dead Interval, Authentication, Options. If the subnet mask is different from the one received in hello packet, the packet will ignored and there is no way to disable the check. |
EIGRP | No Special configuration is required with EIGRP |
BGP | iBGP doesn’t require any special configuration. When configuring eBGP, the client with /32 subnet mask will assume the neighbor is not directly connected and will require “neighbor |
No comments:
Post a Comment