Home > PPP over Ethernet (PPPoE) Tutorial

PPP over Ethernet (PPPoE) Tutorial

February 29th, 2016 in ROUTE Knowledge Go to comments

PPPoE stands for Point-to-Point Protocol over Ethernet. It is a means of establishing a point-to-point communications channel over an Ethernet network. But why do we need PPPoE? To understand the reason of PPPoE, we need to understand about Ethernet and PPP.

As we know, Ethernet is not a point-to-point but a multipoint technology (even when two devices are connected back to back). Ethernet is designed to allow multiple devices to share a common medium, called a “broadcast domain”.

While Ethernet is dominating at customer sides, Internet Service Provider (ISP) still like PPP because of authentication (PPP supports CHAP), accounting (checking customer’s bill), link management (ISP can use PPP to assign a public IP address for customer).

However, Ethernet and PPP do not support each other natively. To utilize the benefits of both Ethernet and PPP, a protocol was created: PPPoE, which allows computers to connect to an ISP via a Digital Subscriber Line (DSL) modem.

 

PPPoE_Connection.jpg

PPPoE creates a PPP tunnel over an Ethernet connection by encapsulating a PPP frame inside an Ethernet frame. The modem converts the Ethernet frames to PPP frames by stripping the Ethernet headers. The modem then transmits these PPP frames on the ISP’s DSL network.

Note: PPPoE client functionality can be installed on the DSL modem or on the user computer as a software. If PPPoE is implemented on the DSL modem, all the users behind will share the same PPPoE account of the DSL modem. If PPPoE is installed on user computer, each computer can access different services with different PPPoE accounts. Nowadays PPPoE client functionality is available in most operating systems from Windows, Linux to Mac OS.

The picture below shows the PPPoE Client dialog box to enter username and password before making a PPPoE connection on Windows OS.
PPPoE_Client_Windows.jpg

PPPoE Client on Windows

PPPoE simulates the dial environment where each PPPoE session is treated as a separate phone line, even though they are being transported on a single PVC.

PPPoE is composed of two main phases:

+ Active Discovery Phase: In this phase, the PPPoE client locates a PPPoE server, called an access concentrator. During this phase, a Session ID is assigned and the PPPoE layer is established.
+ PPP Session Phase: In this phase, PPP options are negotiated and authentication is performed. Once the link setup is completed, PPPoE functions as a Layer 2 encapsulation method, allowing data to be transferred over the PPP link within PPPoE headers.

PPPoE Configuration

PPPoE_Topology.jpg

Configuration at Client side (PPPoE Client)

interface Dialer 2
 encapsulation ppp
 ip address negotiated
 ppp chap hostname TUT
 ppp chap password MyPPPoE
 ip mtu 1492
 dialer pool 1

1. First we need to create a dialer interface with the interface Dialer 2 command. Any interface number is good. A dialer interface is a virtual interface and PPP configuration is placed on the dialer interface, not on the physical interface. The PPPoE client can be configured with a static IP address but in most cases it will be automatically assigned a public IP address by the ISP so we used the ip address negotiated command here.

The CHAP hostname and password must be configured so that the PPPoE Server can authenticate the customer. The hostname and password configured on the PPPoE Client router must match the hostname and password configured on the PPPoE Server router. In this case, the commands ppp chap hostname TUT & ppp chap password MyPPPoE tells the router to use “TUT” & “MyPPPoE” as the username & password to authenticate with the server.

The maximum transmission unit (MTU) should be reduced to 1492 (default of 1500) to accommodate the PPPoE headers: 6 bytes for the PPPoE header and 2 more for the PPP protocol ID. This prevents unnecessary fragmentation.

Finally this dialer interface must be linked to a dialer pool with the dialer pool 1 command.

Next we configure the physical interface.

interface Ethernet0/1
 no ip address
 pppoe enable
 pppoe-client dial-pool-number 1

2. The physical Ethernet0/1 interface that connects toward the PPPoE Server is enabled PPPoE with the pppoe enable command. This physical interface is then linked to dialer pool 1 with the pppoe-client dial-pool-number 1 command. Notice that the dialer pool number must match on the dialer interface and physical interface. In other words, the number in the commands “dialer pool <number>” (on Dialer interface 2) and “pppoe-client dial-pool-number <number>” (on interface E0/1) must be the same. But notice that the dialer interface number (interface Dialer 2) does not have to match the dialer pool number. This is how the dialer pool is connected to the interface dialer and physical interface:

dialer_interface_dialer_pool_physical_interface.jpgAlthough this way of configuration is a bit more complex than directly connecting physical interfaces into dialer interface but it makes the configuration more flexible. Imagine you have three dialer interfaces 2, 5, 10 and many physical interfaces. With dialer pools, you can easily change the physical interfaces which need to associate with your dialer interfaces without making change at the physical interface level.

multiple_dialers.jpg

In the next part we will learn how to configure PPPoE at Server side.

Comments
Comment pages
1 3 4 5 1472
  1. Kman
    June 10th, 2019

    Hello guys, in case anyone is kind enough to share the latest CCNP Dumps, please send to my email: kweluokafor @ gmail. com
    Thanks

  2. z3r0
    June 12th, 2019

    Hello friends, i’m about to take the ccnp route exam 300-101, please can you share the last dumps to this email a.leonmr @ gmail.com. Thanks.

Comment pages
1 3 4 5 1472
  1. No trackbacks yet.