A Method for Transmitting PPP Over Ethernet (PPPoE)
emg83mxTutorial21 de Enero de 2014
6.304 Palabras (26 Páginas)471 Visitas
A Method for Transmitting PPP Over Ethernet (PPPoE)
Status of this Memo
This memo provides information for the Internet community. It does
not specify an Internet standard of any kind. Distribution of this
memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (1999). All Rights Reserved.
Abstract
The Point-to-Point Protocol (PPP) [1] provides a standard method for
transporting multi-protocol datagrams over point-to-point links.
This document describes how to build PPP sessions and encapsulate PPP
packets over Ethernet.
Applicability
This specification is intended to provide the facilities which are
defined for PPP, such as the Link Control Protocol, Network-layer
Control Protocols, authentication, and more. These capabilities
require a point-to-point relationship between the peers, and are not
designed for the multi-point relationships which are available in
Ethernet and other multi-access environments.
This specification can be used by multiple hosts on a shared,
Ethernet to open PPP sessions to multiple destinations via one or
more bridging modems. It is intended to be used with broadband
remote access technologies that provide a bridged Ethernet topology,
when access providers wish to maintain the session abstraction
associated with PPP.
Mamakos, et. al. Informational [Page 1]
RFC 2516 Transmitting PPP Over Ethernet February 1999
This document describes the PPP Over Ethernet encapsulation that is
being deployed by RedBack Networks, RouterWare, UUNET and others.
1. Introduction
Modern access technologies are faced with several conflicting goals.
It is desirable to connect multiple hosts at a remote site through
the same customer premise access device. It is also a goal to
provide access control and billing functionality in a manner similar
to dial-up services using PPP. In many access technologies, the most
cost effective method to attach multiple hosts to the customer
premise access device, is via Ethernet. In addition, it is desirable
to keep the cost of this device as low as possible while requiring
little or no configuration.
PPP over Ethernet (PPPoE) provides the ability to connect a network
of hosts over a simple bridging access device to a remote Access
Concentrator. With this model, each host utilizes it's own PPP stack
and the user is presented with a familiar user interface. Access
control, billing and type of service can be done on a per-user,
rather than a per-site, basis.
To provide a point-to-point connection over Ethernet, each PPP
session must learn the Ethernet address of the remote peer, as well
as establish a unique session identifier. PPPoE includes a discovery
protocol that provides this.
2. Conventions
The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD,
SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this
document, are to be interpreted as described in [2].
3. Protocol Overview
PPPoE has two distinct stages. There is a Discovery stage and a PPP
Session stage. When a Host wishes to initiate a PPPoE session, it
must first perform Discovery to identify the Ethernet MAC address of
the peer and establish a PPPoE SESSION_ID. While PPP defines a
peer-to-peer relationship, Discovery is inherently a client-server
relationship. In the Discovery process, a Host (the client)
discovers an Access Concentrator (the server). Based on the network
topology, there may be more than one Access Concentrator that the
Host can communicate with. The Discovery stage allows the Host to
discover all Access Concentrators and then select one. When
Discovery completes successfully, both the Host and the selected
Access Concentrator have the information they will use to build their
point-to-point connection over Ethernet.
Mamakos, et. al. Informational [Page 2]
RFC 2516 Transmitting PPP Over Ethernet February 1999
The Discovery stage remains stateless until a PPP session is
established. Once a PPP session is established, both the Host and
the Access Concentrator MUST allocate the resources for a PPP virtual
interface.
4. Payloads
The following packet formats are defined here. The payload contents
will be defined in the Discovery and PPP sections.
An Ethernet frame is as follows:
1
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 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The DESTINATION_ADDR field contains either a unicast Ethernet
destination address, or the Ethernet broadcast address (0xffffffff).
For Discovery packets, the value is either a unicast or broadcast
address as defined in the Discovery section. For PPP session
traffic, this field MUST contain the peer's unicast address as
determined from the Discovery stage.
The SOURCE_ADDR field MUST contains the Ethernet MAC address of the
source device.
The ETHER_TYPE is set to either 0x8863 (Discovery Stage) or 0x8864
(PPP Session Stage).
Mamakos, et. al. Informational [Page 3]
RFC 2516 Transmitting PPP Over Ethernet February 1999
The Ethernet payload for PPPoE is as follows:
1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| VER | TYPE | CODE | SESSION_ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LENGTH | payload ~
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
The VER field is four bits and MUST be set to 0x1 for this version of
the PPPoE specification.
The TYPE field is four bits and MUST be set to 0x1 for this version
of the PPPoE specification.
The CODE field is eight bits and is defined below for the Discovery
and PPP Session stages.
The SESSION_ID field is sixteen bits. It is an unsigned value in
network byte order. It's value is defined below for Discovery
packets. The value is fixed for a given PPP session and, in fact,
defines a PPP session along with the Ethernet SOURCE_ADDR and
DESTINATION_ADDR. A value of 0xffff is reserved for future use and
MUST NOT be used
The LENGTH field is sixteen bits. The value, in network byte order,
indicates the length of the PPPoE payload. It does not include the
length of the Ethernet or PPPoE headers.
5. Discovery Stage
There are four steps to the Discovery stage. When it completes, both
peers know the PPPoE SESSION_ID and the peer's Ethernet address,
which together define the PPPoE session uniquely. The steps consist
of the Host broadcasting an Initiation packet, one or more Access
Concentrators sending Offer packets, the Host sending a unicast
Session Request packet and the selected Access Concentrator sending a
Confirmation packet. When the Host receives the Confirmation packet,
it may proceed to the PPP Session Stage. When the Access
Concentrator
...