- 论坛徽章:
- 0
|
man pppoe
DESCRIPTION
pppoe is a user-space client for PPPoE (Point-to-Point Protocol over Ethernet) for Linux and other UNIX systems. pppoe works in concert with the pppd PPP daemon to provide a PPP connection over Ethernet, as is used by many ADSL service providers.
.....
PPPOE BACKGROUND
PPPoE (Point-to-Point Protocol over Ethernet) is described in RFC 2516 and is a protocol which allows the session abstraction to be maintained over bridged Ethernet networks.
PPPoE works by encapsulating PPP frames in Ethernet frames. The protocol has two distinct stages: The discovery and the session stage.
In the discovery stage, the host broadcasts a special PADI (PPPoE Active Discovery Initiation) frame to discover any access concentrators. The access concentrators (typically, only one access concentrator) reply with PADO (PPPoE Active Discovery Offer) packets, announcing their presence and the services they offer. The host picks one of the access concentrators and transmits a PADR (PPPoE Active Discovery Request) packet, asking for a session. The access concentrator replies with a PADS (PPPoE Active Discovery Session-Confirmation) packet. The protocol then moves to the session stage.
In the session stage, the host and access concentrator exchange PPP frames embedded in Ethernet frames. The normal Ethernet MTU is 1500 bytes, but the PPPoE overhead plus two bytes of overhead for the encapsulated PPP frame mean that the MTU of the PPP interface is at most 1492 bytes. This causes all kinds of problems if you are using a Linux machine as a firewall and interfaces behind the firewall have an MTU greater than 1492. In fact, to be safe, I recommend setting the MTU of machines behind the firewall to 1412, to allow for worst-case TCP and IP options in their respective headers.
Normally, PPP uses the Link Control Protocol (LCP) to shut down a PPP link. However, the PPPoE specification allows the link to be shut down with a special PADT (PPPoE Active Discovery Terminate) packet. This client recognizes this packet and will correctly terminate if a terminate request is received for the PPP session.
[ 本帖最后由 hahasasa 于 2007-9-17 12:00 编辑 ] |
|