Home

PPPoEHeader

PPPoE header refers to the 6-byte header used in PPP over Ethernet (PPPoE) frames, as defined for PPPoE by standards such as RFC 2516. It sits between the Ethernet header and the PPP payload inside the Ethernet frame and precedes the PPP frame carried within the PPPoE envelope.

The header consists of four fields: Version/Type (1 byte), Code (1 byte), Session ID (2 bytes), and

In typical operation, the PPPoE header is followed by the PPP header (2 bytes) and the PPP

See also: PPP over Ethernet, RFC 2516, PPP, Ethernet.

Length
(2
bytes).
The
Version/Type
field
carries
a
4-bit
version
and
a
4-bit
type;
for
PPPoE
these
indicate
Version
1
and
Type
1,
so
the
combined
octet
is
typically
0x11.
The
Code
field
specifies
the
message
type:
in
the
PPPoE
discovery
stage,
common
codes
are
0x09
for
PADI,
0x07
for
PADO,
0x19
for
PADR,
and
0x65
for
PADS;
in
an
established
session,
the
Code
is
typically
0x00
for
data
frames.
The
Session
ID
identifies
the
PPP
session;
it
is
0x0000
during
discovery
and
is
assigned
by
the
server
for
the
session
thereafter.
The
Length
field
indicates
the
length
of
the
PPP
payload
that
follows
the
PPPoE
header
and
can
range
from
0
to
1492
bytes,
reflecting
the
maximum
PPPoE
payload
allowed
by
the
Ethernet
MTU.
payload
(such
as
an
IP
packet).
The
header
therefore
anchors
the
transition
from
the
Ethernet
domain
to
the
PPP
session,
enabling
multiple
discovery
and
data
frames
within
a
single
Ethernet
link.