As per Relevance of the word spanning, we have this rfc below:
Network Working Group F.
Request For Comments: 1638
Category: Standards Track R.
June 1994
PPP Bridging Control Protocol (BCP
Status of this
This document specifies an Internet standards track protocol for
Internet community, and requests discussion and suggestions
improvements. Please refer to the current edition of the "
Official Protocol Standards" (STD 1) for the standardization
and status of this protocol. Distribution of this memo is unlimited
The Point-to-Point Protocol (PPP) [6] provides a standard method
transporting multi-protocol datagrams over point-to-point links.
defines an extensible Link Control Protocol, and proposes a family
Network Control Protocols for establishing and configuring
network-layer protocols
This document defines the Network Control Protocol for
and configuring Remote Bridging for PPP links
Table of
1. Historical Perspective ................................ 2
2. Methods of Bridging ................................... 3
2.1 Transparent Bridging ............................ 3
2.2 Remote Transparent Bridging ..................... 3
2.3 Source Routing .................................. 4
2.4 Remote Source Route Bridging .................... 5
2.5 SR-TB Translational Bridging .................... 6
3. Traffic Services ...................................... 6
3.1 LAN Frame Checksum Preservation ................. 6
3.2 Traffic having no LAN Frame Checksum ............ 6
3.3 Tinygram Compression ............................ 7
3.4 LAN Identification .............................. 7
4. A PPP Network Control Protocol for Bridging ........... 9
4.1 Sending Bridge Frames ........................... 10
4.1.1 Maximum Receive Unit Considerations ............. 10
4.1.2 Loopback and Link Quality Monitoring ............ 11
4.1.3 Message Sequence ................................ 11
Baker & Bowen [Page 1]
RFC 1638 PPP Bridging June 1994
4.1.4 Separation of Spanning Tree Domains ............. 11
4.2 Bridged LAN Traffic ............................. 12
4.3 Spanning Tree Bridge PDU ........................ 16
5. BCP Configuration Options ............................. 17
5.1 Bridge-Identification ........................... 17
5.2 Line-Identification ............................. 19
5.3 MAC-Support ..................................... 20
5.4 Tinygram-Compression ............................ 21
5.5 LAN-Identification .............................. 22
5.6 MAC-Address ..................................... 23
5.7 Spanning-Tree-Protocol .......................... 24
APPENDICES ................................................ 26
A. Tinygram-Compression Pseudo-Code ................... 26
SECURITY CONSIDERATIONS ................................... 27
REFERENCES ................................................ 27
ACKNOWLEDGEMENTS ............................................. 28
CHAIR'S ADDRESS .............................................. 28
AUTHOR'S ADDRESS ............................................. 28
1. Historical
Two basic algorithms are ambient in the industry for Bridging
Local Area Networks. The more common algorithm is
"Transparent Bridging", and has been standardized for Extended
configurations by IEEE 802.1. The other is called "Source
Bridging", and is prevalent on IEEE 802.5 Token Ring LANs
The IEEE has combined these two methods into a device called a
Routing Transparent (SRT) bridge, which concurrently provides
Source Route and Transparent bridging. Transparent and SRT
are specified in IEEE standard 802.1D [3].
Although IEEE committee 802.1G is addressing remote bridging [2],
neither standard directly defines the mechanisms for
remote bridging. Technically, that would be beyond the IEEE 802
committee's charter. However, both 802.1D and 802.1G allow for it
The implementor may model the line either as a component within
single MAC Relay Entity, or as the LAN media between two
bridges
Baker & Bowen [Page 2]
RFC 1638 PPP Bridging June 1994
2. Methods of
2.1. Transparent
As a favor to the uninitiated, let us first describe
Bridging. Essentially, the bridges in a network operate as
entities, largely unaware of each others' presence. A
Bridge maintains a Forwarding Database consisting
{address, interface
records, by saving the Source Address of each LAN transmission
it receives, along with the interface identifier for the interface
was received on. It goes on to check whether the Destination
is in the database, and if so, either discards the message when
destination and source are located at the same interface, or
the message to the indicated interface. A message whose
Address is not found in the table is forwarded to all
except the one it was received on. This behavior applies
Broadcast/Multicast frames as well
The obvious fly in the ointment is that redundant paths in
network cause indeterminate (nay, all too determinate)
behavior to occur. To prevent this, a protocol called the
Tree Protocol is executed between the bridges to detect and
remove redundant paths from the network
One system is elected as the "Root", which periodically emits
message called a Bridge Protocol Data Unit (BPDU), heard by all
its neighboring bridges. Each of these modifies and passes the
on to its neighbors, until it arrives at the leaf LAN segments in
network (where it dies, having no further neighbors to pass
along), or until the message is stopped by a bridge which has
superior path to the "Root". In this latter case, the interface
BPDU was received on is ignored (it is placed in a Hot
status, no traffic is emitted onto it except the BPDU, and
traffic received from it is discarded), until a topology
forces a recalculation of the network
2.2. Remote Transparent
There exist two basic sorts of bridges -- those that
LANs directly, called Local Bridges, and those that interconnect
via an intermediate medium such as a leased line, called
Bridges. PPP may be used to connect Remote Bridges
The IEEE 802.1G Remote MAC Bridging committee has proposed a model
a Remote Bridge in which a set of two or more Remote Bridges that
Baker & Bowen [Page 3]
RFC 1638 PPP Bridging June 1994
interconnected via remote lines are termed a Remote Bridge Group
Within a Group, a Remote Bridge Cluster is dynamically formed
execution of the spanning tree as the set of bridges that may
frames among each other
This model bestows on the remote lines the basic properties of a LAN
but does not require a one-to-one mapping of lines to virtual
segments. For instance, the model of three interconnected
Bridges, A, B and C, may be that of a virtual LAN segment between
and B and another between B and C. However, if a line exists
Remote Bridges B and C, a frame could actually be sent directly
B to C, as long as there was the external appearance that it
travelled through A
IEEE 802.1G thus allows for a great deal of implementation
for features such as route optimization and load balancing, as
as the model is maintained
For simplicity and because the 802.1G proposal has not been
as a standard, we discuss Remote Bridging in this document in
of two Remote Bridges connected by a single line. Within the 802.1
framework, these two bridges would comprise a Remote Bridge Group
This convention is not intended to preclude the use of PPP
in larger Groups, as allowed by 802.1G
2.3. Source
The IEEE 802.1D Committee has standardized Source Routing for any
Type that allows its use. Currently, MAC Types that support
Routing are FDDI and IEEE 802.5 Token Ring
The IEEE standard defines Source Routing only as a component of
SRT bridge. However, many bridges have been implemented which
capable of performing Source Routing alone. These are most
implemented in accordance either with the IBM Token-Ring
Architecture Reference [1] or with the Source Routing Appendix
IEEE 802.1D [3].
In the Source Routing approach, the originating system has
responsibility of indicating the path that the message should follow
It does this, if the message is directed off of the local segment,
including a variable length MAC header extension called the
Information Field (RIF). The RIF consists of one 16-bit word
flags and parameters, followed by zero or more segment-and-
identifiers. Each bridge en route determines from this source
list whether it should accept the message and how to forward it
Baker & Bowen [Page 4]
RFC 1638 PPP Bridging June 1994
In order to discover the path to a destination, the
system transmits an Explorer frame. An All-Routes Explorer (ARE
frame follows all possible paths to a destination. A Spanning
Explorer (STE) frame follows only those paths defined by Bridge
that the Spanning Tree Algorithm has put in Forwarding state.
states do not apply to ARE or Specifically-Routed Frames.
destination system replies to each copy of an ARE frame with
Specifically-Routed Frame, and to an STE frame with an ARE frame.
either case, the originating station may receive multiple replies
from which it chooses the route it will use for future Specifically
Routed Frames
The algorithm for Source Routing requires the bridge to be able
identify any interface by its segment-and-bridge identifier. When
packet is received that has the RIF present, a boolean in the RIF
inspected to determine whether the segment-and-bridge identifiers
to be inspected in "forward" or "reverse" sense. In its search,
bridge looks for the segment-and-bridge identifier of the
the packet was received on, and forwards the packet toward
segment identified in the segment-and-bridge identifier that
it
2.4. Remote Source Route
There is no Remote Source Route Bridge proposal in IEEE 802.1 at
time, although many vendors ship remote Source Routing Bridges
We allow for modelling the line either as a connection
between two halves of a "split" Bridge (the split-bridge model),
as a LAN segment between two Bridges (the independent-bridge model).
In the latter case, the line requires a LAN Segment ID
By default, PPP Source Route Bridges use the independent-
model. This requirement ensures interoperability in the absence
option negotiation. In order to use the split-bridge model, a
MUST successfully negotiate the Bridge-Identification
Option
Although no option negotiation is required for a system to use
independent-bridge model, it is strongly recommended that
using this model negotiate the Line-Identification
Option. Doing so will verify correct configuration of the
Segment Id assigned to the line
When two PPP systems use the split-bridge model, the system
transmits an Explorer frame onto the PPP link MUST update the RIF
behalf of the two systems. The purpose of this constraint is
ensure interoperability and to preserve the simplicity of
Baker & Bowen [Page 5]
RFC 1638 PPP Bridging June 1994
bridging algorithm. For example, if the receiving system did
know whether the transmitting system had updated the RIF, it
have to scan the RIF and decide whether to update it. The choice
the transmitting system for the role of updating the RIF allows
system receiving the frame from the PPP link to forward the
without processing the RIF
Given that source routing is configured on a line or set of lines
the specifics of the link state with respect to STE frames
defined by the Spanning Tree Protocol in use. Choice of the split
bridge or independent-bridge model does not affect spanning
operation. In both cases, the spanning tree protocol is executed
the two systems independently
2.5. SR-TB Translational
IEEE 802 is not currently addressing bridges that translate
Transparent Bridging and Source Routing. For the purposes of
standard, such a device is either a Transparent or a Source
bridge, and will act on the line in one of these two ways, just as
does on the LAN
3. Traffic
Several services are provided for the benefit of different
types and user configurations. These include LAN Frame
Preservation, LAN Frame Checksum Generation, Tinygram Compression
and the identification of closed sets of LANs
3.1. LAN Frame Checksum
IEEE 802.1 stipulates that the Extended LAN must enjoy the
probability of undetected error that an individual LAN enjoys
Although there has been considerable debate concerning the algorithm
no other algorithm has been proposed than having the LAN
Checksum received by the ultimate receiver be the same
calculated by the original transmitter. Achieving this requires,
course, that the line protocols preserve the LAN Frame Checksum
end to end. The protocol is optimized towards this approach
3.2. Traffic having no LAN Frame
The fact that the protocol is optimized towards LAN Frame
preservation raises twin questions: "What is the approach to be
by systems which, for whatever reason, cannot easily support
Checksum preservation?" and "What is the approach to be used when
system originates a message, which therefore has no Frame
precalculated?".
Baker & Bowen [Page 6]
RFC 1638 PPP Bridging June 1994
Surely, one approach would be to require stations to calculate
Frame Checksum in software if hardware support were unavailable;
would meet with profound dismay, and would raise serious questions
interpretation in a Bridge/Router
However, stations which implement LAN Frame Checksum
must already solve this problem, as they do originate traffic
Therefore, the solution adopted is that messages which have no
Checksum are tagged and carried across the line
When a system which does not implement LAN Frame
preservation receives a frame having an embedded FCS, it converts
for its own use by removing the trailing four octets. When
system forwards a frame which contains no embedded FCS to a LAN,
forwards it in a way which causes the FCS to be calculated
3.3. Tinygram
An issue in remote Ethernet bridging is that the protocols that
most attractive to bridge are prone to problems on low speed (64
and below) lines. This can be partially alleviated by observing
the vendors defining these protocols often fill the PDU with
of ZERO. Thus, an Ethernet or IEEE 802.3 PDU received from a
that is (1) smaller than the minimum PDU size, and (2) has a
Frame Checksum present, must be padded by inserting zeroes
the last four octets and the rest of the PDU before transmitting
on a LAN. These protocols are frequently used for
sessions, and therefore are frequently this small
To prevent ambiguity, PDUs requiring padding are explicitly tagged
Compression is at the option of the transmitting station, and
probably performed only on low speed lines, perhaps
configuration control
The pseudo-code in Appendix 1 describes the algorithms
3.4. LAN
In some applications, it is useful to tag traffic by the
community it is a part of, and guarantee that it will be only
onto a LAN which is of the same community. The user community
defined by a LAN ID. Systems which choose to not implement
feature must assume that any frame received having a LAN ID is from
different community than theirs, and discard it
It should be noted that the enabling of the LAN Identification
requires behavior consistent with the following additions to
standard bridging algorithm
Baker & Bowen [Page 7]
RFC 1638 PPP Bridging June 1994
Each bridge port may be considered to have two additional
associated with it: "domain" and "checkDomain".
The variable "domain" (a 32-bit unsigned integer) is assigned a
that uniquely labels a set of bridge ports in an extended network
with a default value of 1, and the values of 0 and 0xffffffff
reserved
The variable "checkDomain" (a boolean) controls whether this value
used to filter output to a bridge port. The variable "checkDomain
is generally set to the boolean value True for LAN bridge ports,
set to the boolean value False for WAN bridge ports
The action of the bridge is then as modified as expressed in
following C code fragments
On a packet being received from a bridge port
if (domainNotPresentWithPacket) {
packetInformation.domain = portInformation[inputPort].domain
} else {
packetInformation.domain = domainPresentWithPacket
}
On a packet being transmitted from a bridge port
if (portInformation[outputPort].checkDomain &&
portInformation[outputPort] != packetInformation.domain) {
discardPacket();
return
}
For example, suppose you have the following configuration
E1 +--+ +--+ E
------------| | | |------------
| | W1 | |
|B1|------------|B2|
E2 | | | | E
------------| | | |------------
+--+ +--+
E1, E2, E3, and E4 are Ethernet LANs (or Token Ring, FDDI, etc.). W
is a WAN (PPP over T1). B1 and B2 are MAC level bridges
You want End Stations on E1 and E3 to communicate, and you want
Stations on E2 and E4 to communicate, but you do not want
Stations on E1 and E3 to communicate with End Stations on E2 and E4.
Baker & Bowen [Page 8]
RFC 1638 PPP Bridging June 1994
This is true for Unicast, Multicast, and Broadcast traffic. If
broadcast datagram originates on E1, you want it only to
propagated to E3, and not on E2 or E4.
Another way of looking at it is that E1 and E3 form a Virtual LAN
and E2 and E4 form a Virtual LAN, as if the following
were actually being used
E1 +--+ W2 +--+ E
------------|B3|------------|B4|------------
+--+ +--+
E2 +--+ W3 +--+ E
------------|B5|------------|B6|------------
+--+ +--+
To accomplish this (using the LAN Identification option), B1 and B
negotiate this option on, and send datagrams with bit 6 set to 1,
with the LAN ID field inserted in the frame. Traffic on E1 and E
would be assigned LAN ID 1, and traffic on E2 and E4 would
assigned LAN ID 2. Thus B1 and B2 can separate traffic going
W1.
Note that execution of the spanning tree algorithm may result in
subdivision of a domain. The administrator of LAN domains
ensure, through spanning tree configuration and topology design,
such subdivision does not occur
4. A PPP Network Control Protocol for
The Bridging Control Protocol (BCP) is responsible for configuring
enabling and disabling the bridge protocol modules on both ends
the point-to-point link. BCP uses the same packet exchange
as the Link Control Protocol. BCP packets may not be exchanged
PPP has reached the Network-Layer Protocol phase. BCP
received before this phase is reached SHOULD be silently discarded
The Bridging Control Protocol is exactly the same as the Link
Protocol [6] with the following exceptions
Frame
The packet may utilize any modifications to the basic frame
which have been negotiated during the Link Establishment phase
Implementations SHOULD NOT negotiate Address-and-Control-Field
Compression or Protocol-Field-Compression on other than low
links
Baker & Bowen [Page 9]
RFC 1638 PPP Bridging June 1994
Data Link Layer Protocol
Exactly one BCP packet is encapsulated in the PPP
field, where the PPP Protocol field indicates type hex 8031 (BCP).
Code
Only Codes 1 through 7 (Configure-Request, Configure-Ack
Configure-Nak, Configure-Reject, Terminate-Request, Terminate-
and Code-Reject) are used. Other Codes SHOULD be treated
unrecognized and SHOULD result in Code-Rejects
BCP packets may not be exchanged until PPP has reached
Network-Layer Protocol phase. An implementation SHOULD
prepared to wait for Authentication and Link Quality
to finish before timing out waiting for a Configure-Ack or
response. It is suggested that an implementation give up
after user intervention or a configurable amount of time
Configuration Option
BCP has a distinct set of Configuration Options, which are
in this document
4.1. Sending Bridge
Before any Bridged LAN Traffic or BPDUs may be communicated, PPP
reach the Network-Layer Protocol phase, and the Bridging
Protocol MUST reach the Opened state
Exactly one Bridged LAN Traffic or BPDU is encapsulated in the
Information field, where the PPP Protocol field indicates type
0031 (Bridged PDU).
4.1.1. Maximum Receive Unit
The maximum length of a Bridged datagram transmitted over a PPP
is the same as the maximum length of the Information field of a
encapsulated packet. Since there is no standard method
fragmenting and reassembling Bridged PDUs, PPP links
Bridging MUST negotiate an MRU large enough to support the MAC
that are later negotiated for Bridging support. Because they
the MAC headers, even bridged Ethernet frames are larger than
default PPP MRU of 1500 octets
Baker & Bowen [Page 10]
RFC 1638 PPP Bridging June 1994
4.1.2. Loopback and Link Quality
It is strongly recommended that PPP Bridge Protocol
utilize Magic Number Loopback Detection and Link-Quality-Monitoring
The 802.1 Spanning Tree protocol, which is integral to
Transparent Bridging and Source Routing (as standardized),
unidirectional during normal operation. Configuration BPDUs
from the Root system in the general direction of the leaves,
any reverse traffic except in response to network events
4.1.3. Message
The multiple link case requires consideration of
sequentiality. The transmitting system may determine either that
protocol being bridged requires transmissions to arrive in the
of their original transmission, and enqueue all transmissions on
given conversation onto the same link to force order preservation,
that the protocol does NOT require transmissions to arrive in
order of their original transmission, and use that knowledge
optimize the utilization of several links, enqueuing traffic
multiple links to minimize delay
In the absence of such a determination, the transmitting system
act as though all protocols require order preservation.
protocols designed primarily for use on a single LAN require
preservation
Work is currently in progress on a protocol to allow use of
PPP links [7]. If approved, this protocol will allow use of
links while maintaining message sequentiality for Bridged LAN
and BPDU frames
4.1.4. Separation of Spanning Tree
It is conceivable that a network manager might wish to inhibit
exchange of BPDUs on a link in order to logically divide two
into separate Spanning Trees with different Roots (and
different Spanning Tree implementations or algorithms). In order
do that, he should configure both ends to not exchange BPDUs on
link. An implementation that does not support any spanning
protocol MUST silently discard any received IEEE 802.1D BPDU packets
and MUST either silently discard or respond to other received
packets with an LCP Protocol-Reject packet
Baker & Bowen [Page 11]
RFC 1638 PPP Bridging June 1994
4.2. Bridged LAN
For Bridging LAN traffic, the format of the frame on the line
shown below. The fields are transmitted from left to right
802.3 Frame
0 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
+-+-+-+-+-+-+-+-+
| HDLC FLAG |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address and Control | 0x00 | 0x31 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|I|Z|0| Pads | MAC Type | LAN ID high word (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN ID low word (optional) | Destination MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source MAC Address | Length/Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LLC data ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN FCS (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| potential line protocol pad |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame FCS | HDLC FLAG |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Baker & Bowen [Page 12]
RFC 1638 PPP Bridging June 1994
802.4/802.5/FDDI Frame
0 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
+-+-+-+-+-+-+-+-+
| HDLC FLAG |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address and Control | 0x00 | 0x31 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|F|I|Z|0| Pads | MAC Type | LAN ID high word (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN ID low word (optional) | Pad Byte | Frame Control |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Destination MAC Address | Source MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Source MAC Address |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LLC data ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| LAN FCS (optional) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| optional Data Link Layer padding |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame FCS | HDLC FLAG |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address and
As defined by the framing in use
PPP
0x0031 for PPP
bit F: Set if the LAN FCS Field is
bit I: Set if the LAN ID Field is
bit Z: Set if IEEE 802.3 Pad must be zero filled to minimum
bit 0: reserved, must be
Any PPP frame may have padding inserted in the "Optional Data
Layer Padding" field. This number tells the receiving system
many pad octets to strip off
Baker & Bowen [Page 13]
RFC 1638 PPP Bridging June 1994
MAC
Up-to-date values of the MAC Type field are specified in the
recent "Assigned Numbers" RFC [4]. Current values are assigned
follows
0:
1: IEEE 802.3/Ethernet with canonical
2: IEEE 802.4 with canonical
3: IEEE 802.5 with non-canonical
4: FDDI with non-canonical
5-10:
11: IEEE 802.5 with canonical
12: FDDI with canonical
"Canonical" is the address format defined as standard
representation by the IEEE. In this format, the bit within
byte that is to be transmitted first on a LAN is represented
the least significant bit. In contrast, in non-canonical form
the bit within each byte that is to be transmitted first
represented as the most-significant bit. Many LAN
implementations use non-canonical form. In both formats,
are represented in the order of transmission
If an implementation supports a MAC Type that is the higher
numbered format of that MAC Type, then it MUST also support
lower-numbered format of that MAC Type. For example, if
implementation supports FDDI with canonical address format,
it MUST also support FDDI with non-canonical address format.
purpose of this requirement is to provide backward
with earlier versions of this specification
A system MUST NOT transmit a MAC Type numbered higher than 4
unless it has received from its peer a MAC-Support
Option indicating that the peer is willing to receive frames
that MAC Type
LAN
This optional 32-bit field identifies the Community of LANs
may be interested to receive this frame. If the LAN ID flag
not set, then this field is not present, and the PDU is
octets shorter
Frame
On 802.4, 802.5, and FDDI LANs, there are a few octets
the Destination MAC Address, one of which is protected by the FCS
Baker & Bowen [Page 14]
RFC 1638 PPP Bridging June 1994
The MAC Type of the frame determines the contents of the
Control field. A pad octet is present to provide 32-bit
alignment
Destination MAC
As defined by the IEEE. The MAC Type field defines the
ordering
Source MAC
As defined by the IEEE. The MAC Type field defines the
ordering
LLC
This is the remainder of the MAC frame which is (or would be
it present) protected by the LAN FCS
For example, the 802.5 Access Control field, and Status
are not meaningful to transmit to another ring, and are omitted
LAN
If present, this is the LAN FCS which was calculated by (or
appears to have been calculated by) the originating station.
the LAN FCS flag is not set, then this field is not present,
the PDU is four octets shorter
Optional Data Link Layer
Any PPP frame may have padding inserted between the
field and the Frame FCS. The Pads field contains the length
this padding, which may not exceed 15 octets
The PPP LCP Extensions [5] specify a self-describing pad
Implementations are encouraged to set the Pads field to zero,
use the self-describing pad instead
Frame
Mentioned primarily for clarity. The FCS used on the PPP link
separate from and unrelated to the LAN FCS
Baker & Bowen [Page 15]
RFC 1638 PPP Bridging June 1994
4.3. Spanning Tree Bridge
This is the Spanning Tree BPDU, without any MAC or 802.2 LLC
(these being functionally equivalent to the Address, Control, and
Protocol Fields). The LAN Pad and Frame Checksum fields are
superfluous and absent
The Address and Control Fields are subject to LCP Address-and
Control-Field-Compression negotiation
A PPP system which is configured to participate in a
spanning tree protocol and receives a BPDU of a different
tree protocol SHOULD reject it with the LCP Protocol-Reject.
system which is configured not to participate in any spanning
protocol MUST silently discard all BPDUs
Spanning Tree Bridge
0 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
+-+-+-+-+-+-+-+-+
| HDLC FLAG |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Address and Control | Spanning Tree Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| BPDU data ... |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Frame FCS | HDLC FLAG |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Address and
As defined by the framing in use
Spanning Tree
Up-to-date values of the Spanning-Tree-Protocol field
specified in the most recent "Assigned Numbers" RFC [4].
values are assigned as follows
Value (in hex)
0201 IEEE 802.1 (either 802.1D or 802.1G
0203 IBM Source Route
0205 DEC LANbridge 100
The two versions of the IEEE 802.1 spanning tree protocol
can be distinguished by fields within the BPDU data
Baker & Bowen [Page 16]
RFC 1638 PPP Bridging June 1994
BPDU
As defined by the specified Spanning Tree Protocol
5. BCP Configuration
BCP Configuration Options allow modifications to the
characteristics of the network-layer protocol to be negotiated. If
Configuration Option is not included in a Configure-Request packet
the default value for that Configuration Option is assumed
BCP uses the same Configuration Option format defined for LCP [6],
with a separate set of Options
Up-to-date values of the BCP Option Type field are specified in
most recent "Assigned Numbers" RFC [4]. Current values are
as follows
1 Bridge-
2 Line-
3 MAC-
4 Tinygram-
5 LAN-
6 MAC-
7 Spanning-Tree-
5.1. Bridge-
The Bridge-Identification Configuration Option is designed for
when the line is an interface between half bridges
virtual or physical LAN segments. Since these remote bridges
modeled as a single bridge with a strange internal interface,
remote bridge needs to know the LAN segment and bridge numbers
the adjacent remote bridge. This option MUST NOT be included
the same Configure-Request as the Line-Identification option
The Source Routing Route Descriptor and its use are specified
the IEEE 802.1D Appendix on Source Routing. It identifies
segment to which the interface is attached by its
segment number, and itself by bridge number on the segment
The two half bridges MUST agree on the bridge number. If a
number is not agreed upon, the Bridging Control Protocol MUST
enter the Opened state
Baker & Bowen [Page 17]
RFC 1638 PPP Bridging June 1994
Since mismatched bridge numbers are indicative of a
error, it is strongly recommended that a system not change
bridge number for the purpose of resolving a mismatch. However
to allow two systems to proceed to the Opened state despite
mismatch, a system MAY change its bridge number to the higher
the two numbers. A higher-numbered system MUST NOT change
bridge number to a lower number
By default, a system that does not negotiate this option
assumed to be configured not to use the model of the two
as two halves of a single source-route bridge. It is
assumed to be configured to use the model of the two systems
two independent bridges
If System A announces LAN Segment AAA, Bridge #1, and System
announces LAN Segment BBB, Bridge #1, then the resulting
Routing configuration (read in the appropriate direction) is
AAA,1,BBB
A summary of the Bridge-Identification Option format is shown below
The fields are transmitted from left to right
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | LAN Segment Number |Bridge#|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
1
4
LAN Segment
A 12-bit number identifying the LAN segment, as defined in
IEEE 802.1D Source Routing Specification
Bridge
A 4-bit number identifying the bridge on the LAN segment,
defined in the IEEE 802.1D Source Routing Specification
Baker & Bowen [Page 18]
RFC 1638 PPP Bridging June 1994
5.2. Line-
The Line-Identification Configuration Option is designed for
when the line is assigned a LAN segment number as though it were
two system LAN segment in accordance with the Source
algorithm. This option MUST NOT be included in the
Configure-Request as the Bridge-Identification option
The Source Routing Route Descriptor and its use are specified
the IEEE 802.1D Appendix on Source Routing. It identifies
segment to which the interface is attached by its
segment number, and itself by bridge number on the segment
The two bridges MUST agree on the LAN segment number. If a
segment number is not agreed upon, the Bridging Control
MUST NOT enter the Opened state
Since mismatched LAN segment numbers are indicative of
configuration error, it is strongly recommended that a system
change its LAN segment number for the purpose of resolving
mismatch. However, to allow two systems to proceed to the
state despite a mismatch, a system MAY change its LAN
number to the higher of the two numbers. A higher-numbered
MUST NOT change its LAN segment number to a lower number
By default, a system that does not negotiate this option
assumed to have its LAN segment number correctly configured by
user
A summary of the Line-Identification Option format is shown below
The fields are transmitted from left to right
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | LAN Segment Number |Bridge#|
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
2
4
Baker & Bowen [Page 19]
RFC 1638 PPP Bridging June 1994
LAN Segment
A 12-bit number identifying the LAN segment, as defined in
IEEE 802.1D Source Routing Specification
Bridge
A 4-bit number identifying the bridge on the LAN segment,
defined in the IEEE 802.1D Source Routing Specification
5.3. MAC-
The MAC-Support Configuration Option is provided to
implementations to indicate the sort of traffic they are
to receive. Negotiation of this option is strongly recommended
By default, when an implementation does not announce the MAC
that it supports, all MAC Types are sent by the peer which
capable of being transported given other configuration parameters
The receiver will discard those MAC Types that it does
support
A device supporting a 1600 octet MRU might not be willing
support 802.5, 802.4 or FDDI, which each support frames
than 1600 octets
By announcing the MAC Types it will support, an implementation
advising its peer that all unspecified MAC Types will
discarded. The peer MAY then reduce bandwidth usage by
sending the unsupported MAC Types
Announcement of support for multiple MAC Types is accomplished
placing multiple options in the Configure-Request
The nature of this option is advisory only. This option MUST
be included in a Configure-Nak
A summary of the MAC-Support Option format is shown below.
fields are transmitted from left to right
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | MAC Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Baker & Bowen [Page 20]
RFC 1638 PPP Bridging June 1994
3
3
MAC
One of the values of the PDU MAC Type field (previously
in the "Bridged LAN Traffic" section) that this system is
to receive and service
5.4. Tinygram-
This Configuration Option permits the implementation to
support for Tinygram compression
Not all systems are prepared to make modifications to messages
transit. On high speed lines, it is probably not worth
effort
This option MUST NOT be included in a Configure-Nak if it has
received in a Configure-Request. This option MAY be included in
Configure-Nak in order to prompt the peer to send the option
its next Configure-Request
By default, no compression is allowed. A system which does
negotiate, or negotiates this option to be disabled, should
receive a compressed packet
A summary of the Tinygram-Compression Option format is shown below
The fields are transmitted from left to right
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Enable/Disable
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
4
Baker & Bowen [Page 21]
RFC 1638 PPP Bridging June 1994
3
Enable/
If the value is 1, Tinygram-Compression is enabled. If the
is 2, Tinygram-Compression is disabled, and no decompression
occur
The implementations need not agree on the setting of
parameter. One may be willing to decompress and the other not
5.5. LAN-
This Configuration Option permits the implementation to
support for the LAN Identification field, and that the system
prepared to service traffic to any labeled LANs beyond the system
A Configure-NAK MUST NOT be sent in response to a Configure
Request that includes this option
By default, LAN-Identification is disabled. All Bridge
Traffic and BPDUs that contain the LAN ID field will be discarded
The peer may then reduce bandwidth usage by not sending
unsupported traffic
A summary of the LAN-Identification Option format is shown below
The fields are transmitted from left to right
0 1 2
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Enable/Disable
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
5
3
Baker & Bowen [Page 22]
RFC 1638 PPP Bridging June 1994
Enable/
If the value is 1, LAN Identification is enabled. If the value
2, LAN Identification is disabled
The implementations need not agree on the setting of
parameter. One may be willing to accept LAN Identification
the other not
5.6. MAC-
The MAC-Address Configuration Option enables the implementation
announce its MAC address or have one assigned. The MAC address
represented in IEEE 802.1 Canonical format, which is to say
the multicast bit is the least significant bit of the first
of the address
If the system wishes to announce its MAC address, it sends
option with its MAC address specified. When specifying a non-
MAC address in a Configure-Request, any inclusion of this
in a Configure-Nak MUST be ignored
If the implementation wishes to have a MAC address assigned,
sends the option with a MAC address of 00-00-00-00-00-00.
that have no mechanism for address assignment will Configure
Reject the option
A Configure-Nak MUST specify a valid IEEE 802.1 format
address; the multicast bit MUST be zero. It is
recommended (although not mandatory) that the "locally
address" bit (the second least significant bit in the first octet
be set, indicating a locally assigned address
A summary of the MAC-Address Option format is shown below.
fields are transmitted from left to right
0 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |MAC byte 1 |L|M| MAC byte 2 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| MAC byte 3 | MAC byte 4 | MAC byte 5 | MAC byte 6 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Baker & Bowen [Page 23]
RFC 1638 PPP Bridging June 1994
6
8
MAC
Six octets of MAC address in 802.1 Canonical order. For clarity
the position of the Local Assignment (L) and Multicast (M)
are shown in the diagram
5.7. Spanning-Tree-
The Spanning-Tree-Protocol Configuration Option enables
Bridges to negotiate the version of the spanning tree protocol
which they will participate
If both bridges support a spanning tree protocol, they MUST
on the protocol to be supported. When the two disagree,
lower-numbered of the two spanning tree protocols should be used
To resolve the conflict, the system with the lower-
protocol SHOULD Configure-Nak the option, suggesting its
protocol for use. If a spanning tree protocol is not agreed upon
except for the case in which one system does not support
spanning tree protocol, the Bridging Control Protocol MUST
enter the Opened state
Most systems will only participate in a single spanning
protocol. If a system wishes to participate simultaneously
more than one spanning tree protocol, it MAY include all of
appropriate protocol types in a single Spanning-Tree-
Configuration Option. The protocol types MUST be specified
increasing numerical order. For the purpose of comparison
negotiation, the protocol numbers MUST be considered to be
single number. For instance, if System A includes protocols 01
and 03 and System B indicates protocol 03, System B
Configure-Nak and indicate a protocol type of 03 since 0103
greater than 03.
By default, an implementation MUST either support the IEEE 802.1
spanning tree or support no spanning tree protocol.
implementation that does not support any spanning tree
MUST silently discard any received IEEE 802.1D BPDU packets,
Baker & Bowen [Page 24]
RFC 1638 PPP Bridging June 1994
MUST either silently discard or respond to other received
packets with an LCP Protocol-Reject packet
A summary of the Spanning-Tree-Protocol Option format is shown below
The fields are transmitted from left to right
0 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 2 3 4
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Protocol 1 | Protocol 2 | ...
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
7
2 octets plus 1 additional octet for each protocol that will
actively supported. Most systems will only support a
spanning tree protocol, resulting in a length of 3.
Protocol
Each Protocol field is one octet and indicates a desired
tree protocol. Up-to-date values of the Protocol field
specified in the most recent "Assigned Numbers" RFC [4].
values are assigned as follows
Value
0 Null (no Spanning Tree protocol supported
1 IEEE 802.1D spanning
2 IEEE 802.1G extended spanning tree
3 IBM Source Route Spanning tree
4 DEC LANbridge 100 Spanning tree
Baker & Bowen [Page 25]
RFC 1638 PPP Bridging June 1994
A. Tinygram-Compression Pseudo-
PPP Transmitter
if (ZeroPadCompressionEnabled &&
BridgedProtocolHeaderFormat == IEEE8023 &&
PacketLength == Minimum8023PacketLength) {
/*
* Remove any continuous run of zero octets preceding
* but not including, the LAN FCS, but not
* into the MAC header
*/
Set (ZeroCompressionFlag); /* Signal receiver */
if (is_Set (LAN_FCS_Present)) {
FCS = TrailingOctets (PDU, 4); /* Store FCS */
RemoveTrailingOctets (PDU, 4); /* Remove FCS */
while (PacketLength > 14 && /* Stop at MAC header or */
TrailingOctet (PDU) == 0) /* last non-zero octet */
RemoveTrailingOctets (PDU, 1);/* Remove zero octet */
Appendbuf (PDU, 4, FCS); /* Restore FCS */
}
else {
while (PacketLength > 14 && /* Stop at MAC header */
TrailingOctet (PDU) == 0) /* or last zero octet */
RemoveTrailingOctets (PDU, 1);/* Remove zero octet */
}
}
PPP Receiver
if (ZeroCompressionFlag) { /* Flag set in header? */
/* Restoring packet to minimum 802.3 length */
Clear (ZeroCompressionFlag);
if (is_Set (LAN_FCS_Present)) {
FCS = TrailingOctets (PDU, 4); /* Store FCS */
RemoveTrailingOctets (PDU, 4); /* Remove FCS */
Appendbuf (PDU, 60 - PacketLength, zeroes);/* Add zeroes */
Appendbuf (PDU, 4, FCS); /* Restore FCS */
}
else {
Appendbuf (PDU, 60 - PacketLength, zeroes);/* Add zeroes */
}
}
Baker & Bowen [Page 26]
RFC 1638 PPP Bridging June 1994
Security
Security issues are not discussed in this memo
[1] IBM, "Token-Ring Network Architecture Reference", 3rd edition
September 1989.
[2] IEEE 802.1, "Draft Standard 802.1G: Remote MAC Bridging",
P802.1G/D7, December 30, 1992.
[3] IEEE 802.1, "Media Access Control (MAC) Bridges", ISO/IEC 15802-
3:1993 ANSI/IEEE Std 802.1D, 1993 edition., July 1993.
[4] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1340,
USC/Information Sciences Institute, July 1992.
[5] Simpson, W., "PPP LCP Extensions", RFC 1570, Daydreamer,
1994.
[6] Simpson, W., "The Point-to-Point Protocol (PPP)", RFC 1548,
Daydreamer, December 1993.
[7] Sklower, K., "A Multilink Protocol for Synchronizing
Transmission of Multi-protocol Datagrams", Work in Progress
August 1993.
Baker & Bowen [Page 27]
RFC 1638 PPP Bridging June 1994
This document is a product of the Point-to-Point Protocol
Working Group
Special thanks go to Steve Senum of Network Systems, Dino
of 3COM, Rick Szmauz of Digital Equipment Corporation, and
Fuqua of IBM
Chair's
The working group can be contacted via the current chair
Fred
Advanced Computer
315 Bollay
Santa Barbara, California 93117
EMail: fbaker@acc.
Author's
Questions about this memo can also be directed to
Rich
International Business Machines
P. O. Box 12195
Research Triangle Park, NC 27709
Phone: (919) 543-9851
EMail: Rich_Bowen@vnet.ibm.
Baker & Bowen [Page 28]
if you see any problems within the linking, don't worry be happy,
this is version 0.1 of the Relevance System and you gotta expect some crappy subroutines sometimes,
just be content we did not write this in Java, which would have made this "bigger and better" HAHAHHA.
RFC documents can be found at I.E.T.F.
Relevance System Copyright © 2002 Spectrum WorldResearch
other technical nosh by ServerMasters Corporation
collaboration of BobX