The demand for high-speed Internet access—faster than what can be attained with analog telephone lines and a traditional modem—has led to the popularity of broadband Internet service. Consumer broadband generally refers to two technologies: cable modem and digital subscriber line (DSL). Cable modem service is provided by CATV companies utilizing their installed infrastructure, over which cable TV signals are sent. DSL runs over copper telephone wires, and DSL Internet service is provided by the telcos themselves and by independent ISPs.
Using one of these two technologies, the service provider has a choice of several networking architectures that can be implemented. The architecture determines how the connection is made at the link level and how users are authenticated on the network.
Many broadband providers are choosing to use Point-to-Point Protocol over Ethernet (PPPoE). Although this has some advantages for the ISP, PPPoE has posed some problems for users in the past. The networking components of earlier Windows operating systems were based on the assumption that most users would connect to the Internet via an analog modem, using PPP over phone lines or the Serial Line Internet Protocol (SLIP). Windows XP has a built-in PPPoE client designed to make it easier for XP users to set up broadband connections. In this article, we discuss what PPPoE is and the reasons so many ISPs use it; how it works "under the hood"; how to configure Windows XP to make a PPPoE connection; and how to troubleshoot common PPPoE problems.
What is PPPoE and why do ISPs use it?
As its name implies, PPPoE is a variation of the Point-to-Point Protocol (PPP) used for dial-up connections using a serial line (as with an analog modem). PPP was designed as an improvement on the older SLIP, which was used for the same purpose but required manual configuration of a number of parameters and worked only with TCP/IP.
TCP/IP required for Internet connection
PPP can be used with IPX, AppleTalk, and other network/transport protocols, as well as with TCP/IP. To connect to the Internet, however, TCP/IP is required.
PPP is a time-proven technology, one that ISPs are familiar with because they’ve used it for years on their dial-up analog connections. It provides some security, along with supporting the ability for the ISP to keep usage records on individual accounts through its password-authentication process.
When an ISP that has offered dial-up service begins offering service to broadband users, it is easier for the ISP to utilize PPPoE because it will work with the technology they already have in place. They will not have to spend time and money to change their existing systems.
PPPoA vs. PPPoE
PPP can also be run over an Asynchronous Transfer Mode (ATM) network. ATM is fast and provides guaranteed bandwidth, but the infrastructure is expensive, so PPPoA isn't nearly as widely used as PPPoE.
PPPoE has a number of features that make it attractive to broadband ISPs: It can support multiuser sessions and multiple PCs (home and small office LANs), and it will work with DSL, cable, and wireless. PPPoE will work with Windows, Macintosh, and Linux systems.
Some users have complained about PPPoE because of the need to install third-party software (with non-XP systems), the incompatibilities some of the third-party programs have caused, and reported performance loss (slow overall Internet performance, slow PING times). It is also important to note that PPPoE makes a dedicated broadband connection behave like a dial-up connection, so that you may lose the "always on" aspect of DSL or cable. On the other hand, terminating the PPPoE session when you’re finished using the Internet does provide a security advantage, since you’re not continuously vulnerable to outside intruders.
How PPPoE works
PPPoE works similarly to a dial-up connection, but it uses the computer’s network card in place of a modem. The ISP must be running a PPPoE server, and the user’s computer must be running PPPoE client software (either the client built into Windows XP or third-party client software on operating systems that do not have the built-in PPPoE support).
Before a PPPoE communication session can be established, the PPPoE Discovery phase occurs. This is initiated when the user attempts to connect to the PPPoE server. The Discovery process is used by the client computer to “discover” the server, which is called an Access Concentrator. If there is more than one Access Concentrator on the network, the client will discover them all and select one during this process. A PPPoE session ID is established during this phase, and the client and server discover one another’s Ethernet (MAC) addresses. Here is the step-by-step process:
- The client computer sends an Initiation packet to start the process. This is a broadcast message (goes to all computers on the network).
- The Access Concentrator(s) sends an Offer packet. If there is more than one Offer sent, the client will select one.
- The client sends a Session Request packet to the selected server. This is a unicast message (a “private” point-to-point communication between the two computers).
- The selected Access Concentrator sends a Confirmation packet to "seal the deal."
- The client and server move on to the PPP Session stage.
You will note that this process is similar to the negotiations that take place between a DHCP client and server.
The PPP connection between the client and the Access Concentrator is established after Discovery is complete and a communication session can take place. When PPPoE is used to send data, a PPP frame is created and encapsulated with a PPPoE header. This frame then becomes the payload of an Ethernet frame, which is sent over the Ethernet network. All the Ethernet packets are sent as unicast messages.
During the session, data is sent as with any PPP communication. Each packet must contain the session ID that was assigned during the Discovery phase.
To terminate a session, the client or server sends a Terminate-Request packet. The server may also send Echo-Request packets at regular intervals to ensure that the client has not abandoned the session. Once the session has been terminated, the client will have to start over and go through the Discovery phase (acquiring a new session ID) to begin communicating again.
More on PPPoE packets
For more detailed technical information about PPPoE packets and the Discovery and Session phases, see "RFC 2516: A Method for Transmitting PPP Over Ethernet."
Configuring the PPPoE client in Windows XP
Generally, broadband ISPs supply a PPPoE client program for their customers to use (for example, EnterNet or WinPoET). With Windows XP, there is no need to install third-party software to create PPPoE connections. The built-in PPPoE client can be used to connect to PPPoE servers that comply with industry standards.
Some versions of third-party PPPoE software will not run on XP; using the built-in client can be a permanent solution or an interim solution until updated versions of the third-party software are available.
Setting up the PPPoE connection
To configure the connection in XP, first open the Network Connections window by choosing Start | Control Panel | Network And Internet Connections. In the left pane, under Network Tasks (see Figure A), choose Create A New Connection.
|Use the Network Connections window to create a new PPPoE connection.|
This action invokes the New Connection Wizard. Select Next to start the wizard. On the following page, Connect To The Internet is selected by default. Ensure that it is selected, and chose Next. On the Getting Ready page, select the second option button, Set Up My Connection Manually, and choose Next. On the Internet Connection page, select the second option button, Connect Using A Broadband Connection That Requires A User Name And Password. Choose Next. On the Connection Name page, enter the name of your ISP, as shown in Figure B.
|Enter the name of your broadband provider on the Connection Name page.|
On the Connection Availability page, you’ll be asked whether you want the new connection to be available to any user logged on to the computer, or only when your user account is logged on. Make the desired selection, and choose Next.
On the Internet Account Information page, shown in Figure C, you will be asked to type in the account name and password assigned by your broadband ISP.
|You must provide the username and password assigned by the ISP.|
You will also have the options to:
- Specify that this account be used when anyone connects to the Internet from this computer (even if logged on to the computer with a different user account).
- Make this the default Internet connection (if you have multiple Internet connections configured).
- Turn on the Internet Connection Firewall for this connection (you should always use a firewall when connecting to the Internet, but you will uncheck this box if you are already using a third-party firewall product).
The last page of the wizard will summarize the selections you've made and give you the option to create a shortcut on your desktop to quickly access the connection, as shown in Figure D.
|The wizard summarizes the choices you've made.|
Click Finish to complete the wizard and create the connection. The new connection will now appear in the Network Connections window, along with any dial-up, LAN, or VPN connections you may have created previously, as shown in Figure E.
|The broadband connection will appear in the Network Connections window.|
Using the PPPoE connection
Once you’ve configured your broadband connection, you can connect to the Internet by choosing the icon (on the desktop or in Network Connections) and selecting the Connect button, as shown in Figure F. Your username and password are saved; to change the saved password, click in the Password field.
|Choose the Connect button to use your broadband connection.|
Troubleshooting PPPoE connections
Troubleshooting a PPPoE connection that does not work is similar to troubleshooting a dial-up connection. If you are unable to connect to the server at all, ensure that your cable or DSL provider is not experiencing an outage. Use standard TCP/IP connectivity tools (PING, IPCONFIG, TRACERT) to attempt to isolate the problem.
If you can connect to the server, but are then immediately disconnected, ensure that your username and password are correct. Check the broadband connection’s properties (right-click the connection in Network Connections and select Properties).
On the Security tab, ensure that the security options are set to allow unsecured passwords. Choose the Advanced option and select Settings, and make sure that it is not set to require data encryption (which will disconnect you if the server does not support encryption). All protocol boxes should be checked under Allow These Protocols.
On the Networking tab, under Type Of Broadband Connection To Make, make sure that you've selected Point-to-Point Protocol over Ethernet (PPPoE) in the drop-down list and that Internet Protocol (TCP/IP) is checked. Highlight it and choose Properties. Ensure that the connection is set to obtain an IP address and a DNS server address automatically (unless the ISP has assigned you a static address and DNS server address to enter here manually).
Generally, the XP PPPoE client can discover the PPPoE service name automatically. However, with some providers, you may need to manually enter a service name. Do this on the General tab of the broadband connection’s properties sheet.
An XP PPPoE bug
If you're using a PPPoE DSL connection to connect to the Internet and sharing your connection with Internet Connection Sharing (ICS), and the ICS clients aren’t able to access some Web sites, this may be due to a known bug in the XP PPPoE client. Microsoft recommends that you try using the RASPPPoE client instead. You can download it here.
Debra Littlejohn Shinder, MCSE, MVP is a technology consultant, trainer, and writer who has authored a number of books on computer operating systems, networking, and security. Deb is a tech editor, developmental editor, and contributor to over 20 additional books on subjects such as the Windows 2000 and Windows 2003 MCSE exams, CompTIA Security+ exam, and TruSecure's ICSA certification.