PPPoE Principles and Configuration
PPPoE Principles and Configuration
PPPoE Principles and Configuration
Course Objectives
Have a general knowledge about why PPPoE came into use Grasp the principles of PPPoE protocol Grasp the workflow of PPPoE protocol Have a general knowledge of PPPoE basic configuration
Use Only
<Confidential <Confidential and and Proprietary Proprietary Information Information ofof ZTE ZTE CORPORATION> Corporation >
Course Outline
Chapter 1 PPPoE Protocol Principles Chapter 2 Typical Configuration
Use Only
<Confidential <Confidential and and Proprietary Proprietary Information Information ofof ZTE ZTE CORPORATION> Corporation >
Course Content
Chapter 1 PPPoE Protocol Principles
Section 1 PPPoE Protocol Overview Section 2 PPPoE Discovery Phase Section 3 PPPoE Session Phase
Use Only
<Confidential <Confidential and and Proprietary Proprietary Information Information ofof ZTE ZTE CORPORATION> Corporation >
Definition
PPPoE Point-to-Point Protocol over Ethernet PPP protocol requires P2P relationship for the two communicating parties, not suitable for broadcast in LAN or other PTMP type of networks. Thus PPPoE generated. With PPPoE, multiple hosts on sharing Ethernet are able to perform multiple PPP sessions with Access Concentrator via one or several Bridges.
Flow
In Discovery phase, based upon network topology, host is able to discover several access concentrator and permit user to select one.
Discovery phase is stateless Client/Server, aiming to obtain Ethernet MAC address of PPPoE terminator and establish a unique PPPOE SESSION_ID.
Course Content
Chapter 1 PPPoE Protocol Principles
Section 1 PPPoE Protocol Overview Section 2 PPPoE Discovery Phase Section 3 PPPoE Session Phase
Use Only
<Confidential <Confidential and and Proprietary Proprietary Information Information ofof ZTE ZTE CORPORATION> Corporation >
Discovery phase: to establish P2P connection on Ethernet, it has to know the Ethernet address of peer end and establish a unique Session ID
Users host broadcasts to find all access concentrators ( or switches) and obtain Ethernet MAC address thereof.
Datagram Types
There are four steps in Discovery phase, using following four types of datagram:
PADI PADO
PPPOE_Server
After Discovery phase, both communication ends know the PPPoE SESSION_ID and peer end MAC address, they define a PPPoE session together.
PADI
PADI: PPPOE Active Discovery Initiation Host broadcasts PADI datagram to require service from AC
CODE field is 0x09 SESSION_ID field is 0x0000 PADI should contain at least one ToS tag ToS field is 0x0101
6 7
8 9
0 1
0xffffffff 0xffff Host_mac_addr (Cont.) ETHER_TYPE = 0x8863 SESSION_ID = 0x0000(required) TAG_TYPE = 0x0101 v=1
t=1 CODE = 0x09
Host_mac_addr
ff ff ff ff ff ff 00 00 5e 00 63 03 88 63 11 09 00 00 00 0a 01 01 00 00 01 03 00 02 01 00 >> Dest MAC Addr: ffff.ffff.ffff, Src MAC Addr: 0000.5e00.6303 Discovery Stage, Ver=1, Type=1, Code=PADI, Session ID=0 Tag Service-Name: Tag Host-Uniq: 01 00 | ..
<Confidential and Proprietary Information of ZTE CORPORATION>
PADO
PADO: PPPOE Active Discovery Offer After AC receives PADI packet within service range, it will send PADO as response
CODE field is 0x07 SESSION_ID field is still 0x0000 PADO grouping must contain a tag-type of AC name (tag_type field is 0x0102) and one or several ToS tag to indicate the service type that offer to host.
6 7
8 9
0 1
Host_mac_addr Host_mac_addr Cont. Access_Concentrator_mac_addr (Cont.) ETHER_TYPE = 0x8863 SESSION_ID = 0x0000 TAG_TYPE = 0x0102 v=1 t=1 LENGTH = 0x0026 TAG_LENGTH = 0x0000 CODE = 0x07 Access_Concentrator_mac_addr
00 00 5e 00 63 03 00 00 5e 00 63 00 88 63 11 07 00 00 00 26 01 01 00 00 01 03 00 02 01 00 01 02 00 18 51 75 69 64 77 61 79 2d 77 76 72 70 30 30 30 30 35 65 30 30 36 33 30 30 >> Dest MAC Addr: 0000.5e00.6303, Src MAC Addr: 0000.5e00.6300 Discovery Stage, Ver=1, Type=1, Code=PADO, Session ID=0 Tag Service-Name: Tag Host-Uniq: 01 00 | .. Tag AC-Name: 51 75 69 64 77 61 79 2d 77 76 72 70 30 30 30 30 | ZXR10-wvrp0000 35 65 30 30 36 33 30 30 |
PADR
PADR: PPPOE Active Discovery Request Host might select one proper PADO group among several PADO groups and send PADR to selected AC.
CODE field is 0x19 SESSION_ID field is 0x0000 PADR group must contains a ToS tag to determine the service type requested from AC or switch .
If host does not receive PADO within certain period, it will resend PADI group and double the time-to-wait.
6 7
9 0
00 00 5e 00 63 00 00 00 5e 00 63 03 88 63 11 19 00 00 00 26 01 01 00 00 01 03 00 02 01 00 01 02 00 18 51 75 69 64 77 61 79 2d 77 76 72 70 30 30 30 30 35 65 30 30 36 33 30 30 >> Dest MAC Addr: 0000.5e00.6300, Src MAC Addr: 0000.5e00.6303 Discovery Stage, Ver=1, Type=1, Code=PADR, Session ID=0 Tag Service-Name: Tag Host-Uniq: 01 00 | .. Tag AC-Name: 51 75 69 64 77 61 79 2d 77 76 72 70 30 30 30 30 | ZXR10-wvrp0000 35 65 30 30 36 33 30 30 | 5e006300
PADS
PADS: PPPOE Active Discovery Session-confirmation After received PADR, AC get ready for PPP session and send a PADS group
CODE field is 0x65 SESSION_ID field is the unique PPPoE session identifier generated by AC. PADS group must also contain a type tag of AC in order to determine the service provided to host.
When host receives PADS packets as acknowledgement, two ends enter PPP Session phase.
6 7
8 9
0 1
00 00 5e 00 63 03 00 00 5e 00 63 00 88 63 11 65 00 01 00 26 01 01 00 00 01 03 00 02 01 00 01 02 00 18 51 75 69 64 77 61 79 2d 77 76 72 70 30 30 30 30 35 65 30 30 36 33 30 30 >> Dest MAC Addr: 0000.5e00.6303, Src MAC Addr: 0000.5e00.6300 Discovery Stage, Ver=1, Type=1, Code=PADS, Session ID=1 Tag Service-Name: Tag Host-Uniq: 01 00 | .. Tag AC-Name: 51 75 69 64 77 61 79 2d 77 76 72 70 30 30 30 30 | ZXR10-wvrp0000 35 65 30 30 36 33 30 30 | 5e006300
<Confidential and Proprietary Information of ZTE CORPORATION>
Course Content
Chapter 1 PPPoE Protocol Principles
Section 1 PPPoE Protocol Overview Section 2 PPPoE Discovery Phase Section 3 PPPoE Session Phase
Use Only
<Confidential <Confidential and and Proprietary Proprietary Information Information ofof ZTE ZTE CORPORATION> Corporation >
Users host will perform PPP session with AC based upon the PPP session parameters negotiated in Discovery phase. Once a PPPoE session begins, PPP data is able to send in any other PPP encapsulation. PPPoE Datagram is transferred bearing in Data field of Ethernet frame
SESSION_ID must be the value assigned in Discovery phase and cannot be changed. ETHER_TYPE field is set as 0x8864 CODE must be set as 0x00 PPPoE payload contains a PPP frame, starting from PPP Protocol-ID
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Access_Concentrator_mac_addr Access_Concentrator_mac_addr(c) Host_mac_addr (cont) ETHER_TYPE = 0x8864 SESSION_ID = 0x1234 PPP PROTOCOL = 0xc021 v=1 t=1 LENGTH = 0x???? PPP payload . . . . . . CODE = 0x00 Host_mac_addr
*0.266047 ZXR10-wvrp PPPOEC/8/debugging:Ethernet0/1/0: PPPoE Client OUT, Len =36 00 00 5e 00 63 00 00 00 5e 00 63 03 88 64 11 00 00 01 00 10 c0 21 01 00 00 0e 01 04 05 aa 05 06 66 2d 04 00 >> Dest MAC Addr: 0000.5e00.6300, Src MAC Addr: 0000.5e00.6303 Session Stage, Ver=1, Type=1, Session ID=1
<Confidential and Proprietary Information of ZTE CORPORATION>
PADT
PADT: PPPOE Active Discovery Terminate PADT is used to terminate session, can be sent anytime after session established by host or AC. PADT packet requires no tags.
CODE field is 0xa7 SESSION_ID field is the session identifier of PPP session that to be terminated.
PPP peer end should terminate PPPoE session using PPP protocol. If PPP cannot be used, use PADT as substitute.
1 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 Host_mac_addr Host_mac_addr (Cont.) ETHER_TYPE = 0x8863 SESSION_ID = 0x0001 v=1 Access_Concentrator_mac_addr t=1 CODE = 0xa7 Access_Concentrator_mac_addr (Cont.) LENGTH = 0x0000
00 00 5e 00 63 02 00 00 5e 00 63 00 88 63 11 a7 00 01 00 00 >> Dest MAC Addr: 0000.5e00.6302, Src MAC Addr: 0000.5e00.6300 Discovery Stage, Ver=1, Type=1, Code=PADT, Session ID=1
Course Content
Chapter 2 PPPoE Configuration
Use Only
<Confidential <Confidential and and Proprietary Proprietary Information Information ofof ZTE ZTE CORPORATION> Corporation >
dial configuration in Ethernet Interface mode dialer pppoe-client-pool-member <pool-number> <priority-number> permanent
Dial-on-demand
dial-on-demand trigger rule in Global configuration mode dialer list <group-number> protocol ip {access-list <pool-number>| permit| deny}
Bind
dial-on-demand trigger rule in Dialer interface mode, range 1~100 dialer group <group-number>
Course Content
Chapter 2 PPPoE Configuration
Use Only
<Confidential <Confidential and and Proprietary Proprietary Information Information ofof ZTE ZTE CORPORATION> Corporation >
Configuration Case(1)
Run PPPoE Client on Router R1 , data will reach router first and perform PPPoE encapsulation and then access to PPPoE Server (AC) via Ethernet the R1 connected to, finally reach Internet. No need dial-in software on PC. As a PPPoE Client, R1 will perform permanent dial to PPPoE Server and dialer on Client does not negotiate address from Server. PPPoE Server is a CISCO router, which has configured with Server function.
PC1
PPPoE Server
1 1 .1 1 .1 .1 /1 1 1 1 .1 1 .1 .1 /2 2
R1 PPPoE Cl i ent
PC1
Configuration Case(2)
ZXR10(config)#interface fei_1/1 ZXR10(config-if)#dialer pppoe-client-pool-member 1 1 permanent ZXR10(config-if)#exit ZXR10(config)#interface dialer1 ZXR10(config-if)#ip address 10.10.1.2 255.255.255.0 ZXR10(config-if)#dialer pool 1 ZXR10(config-if)#exit
ZXR10(config)#interface fei_1/1 ZXR10(config-if)#dialer pppoe-client-pool-member 1 1 on-demand ZXR10(config-if)#exit ZXR10(config)#dialer list 10 protocol ip permit ZXR10(config)#interface dialer1 ZXR10(config-if)#ip address 10.10.1.2 255.255.255.0 ZXR10(config-if)#dialer pool 1 ZXR10(config-if)#dialer group 10 ZXR10(config-if)#exit
Summary
PPPoE protocol include two phases: Discovery and Session Phase PPPoE Datagram is transferred borne in Ethernet data field PPPoE Discovery phase have four type of datagram: PADI, PADO, PADR and PADS.
PADT datagram in PPPoE is used to terminate a session. In PPPoE Discovery phase, Ether_Type field is 0x8863 In PPPoE Session phase, Ether_Type field is 0x8864