11 Replies Latest reply: Apr 26, 2012 2:13 AM by sg4rb0sss RSS

    PPPoE vs Ethernet (802.3 & 802.2)



      I'm trying to understand how PPPoE is implemented and this raises some (may be out of CCNA) questions to me. But, I really want to understand how this protocol works. I did, unfortunately, not find practical tutorials explaining that subject.


      Let's take the example of a home internet user connected via an ISP. I did understand that the telco local loop plays (kind-of) the role of a LAN segment connecting the user's PC (PPPoE client) to a PPPoE server (hosted to the ISP's office). If I'm right, my two questions are :

      1) Is the local loop (of a DSL or Cable) compatible with Ethernet protocols 802.2 and 802.3 ; in terms, for example, of cable type, cable length, etc. ? Or, are some physical or logical adaptations done on the local loop for making it ready for Ethernet ?

      2) Is the MAC address to which user's PC send data the PPPoE server's MAC address ?

      Thanks in advance for any help !

        • 1. Re: PPPoE vs Ethernet (802.3 & 802.2)

          Great questions!  I would also like to know the answers

          • 3. Re: PPPoE vs Ethernet (802.3 & 802.2)

            Hi KayouMT-NET,


            Lets look at the ethernet frame.



            Section 4. Payload  

            An Ethernet frame is as follows:



                               0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5


                              |       DESTINATION_ADDR |

                              |          (6 octets)           |

                              |                               |


                              | SOURCE_ADDR |

                              |          (6 octets)           |

                              |                               |


                              |    ETHER_TYPE  (2 octets)     |


                              ~                               ~

                              ~           payload             ~

                              ~                               ~


                              |           CHECKSUM            |







            DESTINATION_ADDR = unicast Ethernet destination address, Ethernet broadcast address (0xffffffff)


            SOURCE_ADDR=  The SOURCE_ADDR field MUST contains the _Ethernet MAC address_ of the _source device_

            To answer your 2nd question:


            2) Is the MAC address to which user's PC send data the PPPoE server's MAC address ?


            According to the RFC,  during the discovery process if the ethernet frame originates from the host then the mac address field is that of the _source device_. In this case therefore the specific host.


            But you must realise the  whole point of the discovery process is the host trying to figure out the _the destination mac address_ of the concentrator without it  how will the host know which concentrator to establish a session with? So i guess once the session is established the ethernet frame will have destination mac address as well.


            Depending on the phase,  the destination IP address is the unicast address or broadcast address( of the concentrator/server).


            That being said, why not connect two routers, configure PPPoE,  use a sniffer(wireshark), turn debugs on and observe for yourself the whole process. Much more interesting.







            Message was edited by: chemilio

            • 4. Re: PPPoE vs Ethernet (802.3 & 802.2)

              So wierd, I know how dsl works, i know how pppoe, fttc, & every type of internet works.  I've actually setup a isp from scratch in real life too for work, but I can't answer your question lol.  Here is a link that might be useful:


              • 5. Re: PPPoE vs Ethernet (802.3 & 802.2)
                That being said, why not connect two routers, configure PPPoE,  use a sniffer(wireshark), turn debugs on and observe for yourself the whole process. Much more interesting.

                Hi Chemilio,


                Thanks for your interesting suggestion. I could try to lab this issue with my GNS3 environment. What, unfortunately, I do not know how to simulate in my lab is :


                - the Cable/DSL local loop

                - the PPPoE server

                - All the cabling and connecting stuff between my home PC and the PPPoE server (on the ISP side).

                • 6. Re: PPPoE vs Ethernet (802.3 & 802.2)

                  Hi KayouMT-NET


                  Simulating a basic PPPoE connection in GNS3 is not that hard to do, but the configuration can become confusing and daunting if you don't understand all of the moving parts.  All you need is 2 routers connected to each other with an ethernet connection.




                  The server side configuration will go something like this.


                  1. Create a loopback interface and assign an IP address

                  2. Create a bba group and give it a name

                  3. Bind the virtual-template interface to the bba group

                  4. Bind the bba group to a physical interface.

                  5. Create a local uername and password

                  6. Create a local address pool that the client will use to get an IP address

                  7. Apply unnumbered interface to the virtual-template

                  8. Apply authentication to the virtual-template interface


                  On the client side of things we'll do the following


                  1. Enable PPPoE on the physical interface towards the server

                  2. Bind the dialer pool to the physical interface

                  3. Create a dialer list profile

                  4. Create a dialer interface.

                  5. Change the encapsulation to PPP

                  6. Reduce the MTU on the dialer to account for extra encapsulation and avoid fragmentatin problems.

                  7. Bind the dialer group to the interface that will be referenced on the physical interface.

                  8. Bind the dialer pool on the interface that references the dialer list

                  9. Enable PPP authentication.

                  10. Tell the client how to get the IP address.


                  Here is the server side configuration


                  username R2 password 0 CCNA


                  ip local pool PPPOEPOOL


                  bba-group pppoe CCNA

                  virtual-template 1


                  interface FastEthernet0/0

                  no ip address

                  pppoe enable group CCNA


                  interface Virtual-Template1

                  mtu 1492

                  ip unnumbered Loopback0

                  peer default ip address pool PPPOEPOOL

                  ppp authentication chap


                  Now for the client side configuration


                  dialer-list 1 protocol ip permit


                  interface FastEthernet0/0

                  no ip address

                  pppoe enable group CCNA

                  pppoe-client dial-pool-number 1


                  interface Dialer0

                  mtu 1492

                  ip address negotiated

                  encapsulation ppp

                  dialer pool 1

                  dialer-group 1

                  ppp chap password 0 CCNA


                  This is definitely beyond the scope of the CCNA and I wouldn't worry about this at all right now, but since you were curious, I thought I'd share with you.


                  Have fun!

                  • 7. Re: PPPoE vs Ethernet (802.3 & 802.2)

                    Hi KayouMT-NET,


                    I don't know how you could simulate the L1 stuff . To simulate the pc you can use a loopback interface with /32.


                    But  we are interested to simulate what is happening at L2(MAC address) and L3.


                    I think if you follow what this guy has done with GN3 to set up PPPoE with two routers and then hook  wireshark to see whats happening





                    Lastly I admit this is beyond CCNA level so I am also still learning about this stuff.





                    • 8. Re: PPPoE vs Ethernet (802.3 & 802.2)

                      Hi KayouMT,


                      I've got a little config guide you can use to configure pppoe on my blog.  Might be helpful for testing.  See link below:


                      • 9. Re: PPPoE vs Ethernet (802.3 & 802.2)

                        Hi guys,

                        Thanks for your feedbacks !


                        I'm sure the lab stuff you sent me will help me understand PPPoE. But, in my point of view, the questions I'm asking are not an issue that needs to be tested in lab. The issue is to know how, in really life, our home PC physically and locally communicate to ISP via PPPoE :


                        - What L2/L3 addresses are used ?

                        - What are the types and length of cables transporting PPPoE packets ?

                        - What devices participate in that communication ?

                        - What other protocols are used ?


                        • 10. Re: PPPoE vs Ethernet (802.3 & 802.2)

                          Ok. In this first image shows most of the components.  The MDF and DSLAM are in your local exchange. There's usually an ATM circuit to the ISP's network.


                          The BRAS is usually the layer 2 access concetrator (LAC).  Take at look at the diagram below. Ignore the PSTN bit.  The person who made this diagram below tried to summarise the first diagram by just calling it the PSTN:


                          When the user hits the LAC, their realm (which will usually be something like test@thisismyrealm.com) will be checked. If it is legitimate, the LAC will build a l2tp tunnel to the LNS. The LNS will then check the CPE's username and password against a stored list of usernames/passwords in the radius server.  If there's a match, the user will get an IP address, and a session to the LNS. Once you can get to the ISPs LNS, the ISP will route your traffic out to their upstream provider, and out to the internet.

                          • 11. Re: PPPoE vs Ethernet (802.3 & 802.2)

                            Just wanted to add.  This is really an amazing document for describing dsl