MODEM access technology faces some mutual contradictory goals, both to connect remote multiple user hosts in front of the same user, but also provide similar access control, billing, etc., and it is possible Reduce the user's configuration operation. PPPoE's goal is to solve the above problem. The PPP over Ethernet technology (PPP over Ethernet) technology after 1998 is based on Redback Network, client software developer Routerware and Worldcom subsidiary UUNET TECHNOLOGIES. Joint on the basis of IETF RFC. developing. By combining the most economical LAN technology - Ethernet and point-to-point protocols, network service providers and telecom operators can use reliable and familiar technologies to speed deploy high-speed Internet services. It enables service providers to provide a broadband access service that supports multi-users through digital subscriber lines, cable modems, or wireless connections. At the same time, this technology also simplifies the configuration operation when the end user is selected. PPPoE Features PPPoE Plus the Ethernet header in front of the standard PPP packet, allows PPPoE to connect remote access devices through simple bridges, and can connect multiple user hosts using the Share of Ethernet, in this model Next, each user host uses its own PPP stack, the user uses the familiar interface. Access control, billing, etc. can be performed for each user. The advantage of PPPoE: installation and operation is similar to the previous dial-up network mode for users to use. The XDSL modem at the user does not have any configuration. Allow multiple users to share a high-speed data access link. Adapt to the requirements of small businesses and remote office. The end user can access multiple ISPs at the same time, and this dynamic service selection function allows ISP easy to create and provide new services. Compatible with existing XDSL Modem and DSLAM. . Can be combined with the ISP access structure. PPPOE frame format parameter values ETHER_TYPE: 0x8863 Discovery Stage 0x8864 PPP Session Stage CODE: 0x00 PPP Session Stage 0x09 PPPOE Active Discovery Initiation (PADI) packet 0x07 PPPOE Active Discovery Offer (PADO) packet 0x19 PPPOE Active Discovery Request (PADR) packet 0x65 PPPOE Active Discovery Session-confirmation (PADS) packet 0xa7 PPPOE Active Discovery Terminate (PADT) packet TAG_TYPES: 0x0000 End-Of-List0x0101 Service-Name0x0102 AC-Name0x0103 Host-Uniq0x0104 AC-Cookie0x0105 Vendor-Specific0x0110 Relay-Session-Id0x0201 Service-Name -Rror0x0202 ac-system-error0x0203 generic-errorpppoE implementation process creates an Ethernet point-to-point spree includes two phases: 1. Discovery phase In the discovery process, the user host is looking for all access devices that can be connected in broadcast mode. Get its Ethernet MAC address. Then select the user host that needs to be connected and finally the session_id of the PPP session you want to build.
The node is the client-server relationship in the discovery process, and one user host (client) eventually discovers an access device (server). In the network topology, there is generally more than one access device to communicate, and the discovery phase allows the user host to discover all access devices and select one. All information for establishing PPP connections on Ethernet is obtained between the User Host and Access Devices when the Discovery phase ends. The Discovery phase remains unconnected until the establishment of a PPP session. Once the PPP connection is established, both user hosts and access devices must allocate resources for PPP virtual ports. The PPP session phase user host performs PPP negotiation with the access device determined in the discovery phase. This negotiation process is not different from the standard PPP negotiation. It is a peer relationship between the PPP session phase node. DISCOVERY Phase Details The Discovery phase includes 4 steps: 1. User hosts issued PPPoE effectively discovered initial (PADI) packets. The address of the Ethernet object is the broadcast address 0xffffff, the Code field is 0x09, and the session_id is 0x0000. The PADI package must contain at least one service name type (Service-name) tag (label type field is 0x0101), and the service provided to the access device. A complete PADI (including PPPoe header) cannot exceed 1484 bytes to leave a sufficient reserved to add a relay-session-id identity. 2. After the access device receives the PADI package within the service, the PPPoE valid discovery provides the PPPo package to respond requests. Its Code field is 0x07, and session_id is still 0x0000. The PADO package must contain an access device name type (AC-NAME) tag (label type field is 0x0102) and one or more service name type tags indicating the type of service available to the user host. 3. User Host Select a suitable access device in multiple PADO packets that may receive, and the principle selected is based on the contents of the access device name type tag and service name type tag according to PADO. The PPPoE Valid Discovery Request (PADR) package is sent to the selected access device. Its Code field is 0x19, and session_id is still 0x0000. The PADR package must be packaged a service name type tab to determine the type of service requesting to the access device. When a user host does not receive PADO in the determination time, he will return a PADI while waiting for twice the time. This process can repeat multiple times as needed. 4. The access device receives the PADR package to start the PPP session, which sends a PPPoE Valid Discovery Session Confirmation (PADS) package. Its Code field is 0x65, and session_id is a unique PPPoE session identification number generated by the access device. 0xfff is a reserved resource, and it is currently not used as session_id. The PADS package must also include a tag for a service name type to confirm the service provided to the user host. When the user host receives the PADS package, the two parties entered the PPP session phase. If the access device does not recognize the tag of the service name type in PADR, it will return to a PADS containing the service name error (Service-name-error "tag, and its session_id is still 0x0000. If the user host does not receive a PADS package at the determined time, it is equally handled as confidering PADO.