home *** CD-ROM | disk | FTP | other *** search
/ Unix System Administration Handbook 1997 October / usah_oct97.iso / rfc / 1600s / rfc1638.txt < prev    next >
Text File  |  1994-06-07  |  58KB  |  1,572 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                           F. Baker
  8. Request For Comments: 1638                                           ACC
  9. Category: Standards Track                                       R. Bowen
  10.                                                                      IBM
  11.                                                                  Editors
  12.                                                                June 1994
  13.  
  14.  
  15.                   PPP Bridging Control Protocol (BCP)
  16.  
  17. Status of this Memo
  18.  
  19.    This document specifies an Internet standards track protocol for the
  20.    Internet community, and requests discussion and suggestions for
  21.    improvements.  Please refer to the current edition of the "Internet
  22.    Official Protocol Standards" (STD 1) for the standardization state
  23.    and status of this protocol.  Distribution of this memo is unlimited.
  24.  
  25. Abstract
  26.  
  27.    The Point-to-Point Protocol (PPP) [6] provides a standard method for
  28.    transporting multi-protocol datagrams over point-to-point links.  PPP
  29.    defines an extensible Link Control Protocol, and proposes a family of
  30.    Network Control Protocols for establishing and configuring different
  31.    network-layer protocols.
  32.  
  33.    This document defines the Network Control Protocol for establishing
  34.    and configuring Remote Bridging for PPP links.
  35.  
  36. Table of Contents
  37.  
  38.      1.     Historical Perspective ................................    2
  39.      2.     Methods of Bridging ...................................    3
  40.         2.1       Transparent Bridging ............................    3
  41.         2.2       Remote Transparent Bridging .....................    3
  42.         2.3       Source Routing ..................................    4
  43.         2.4       Remote Source Route Bridging ....................    5
  44.         2.5       SR-TB Translational Bridging ....................    6
  45.      3.     Traffic Services ......................................    6
  46.         3.1       LAN Frame Checksum Preservation .................    6
  47.         3.2       Traffic having no LAN Frame Checksum ............    6
  48.         3.3       Tinygram Compression ............................    7
  49.         3.4       LAN Identification ..............................    7
  50.      4.     A PPP Network Control Protocol for Bridging ...........    9
  51.         4.1       Sending Bridge Frames ...........................   10
  52.            4.1.1  Maximum Receive Unit Considerations .............   10
  53.            4.1.2  Loopback and Link Quality Monitoring ............   11
  54.            4.1.3  Message Sequence ................................   11
  55.  
  56.  
  57.  
  58. Baker & Bowen                                                   [Page 1]
  59.  
  60. RFC 1638                      PPP Bridging                     June 1994
  61.  
  62.  
  63.            4.1.4  Separation of Spanning Tree Domains .............   11
  64.         4.2       Bridged LAN Traffic .............................   12
  65.         4.3       Spanning Tree Bridge PDU ........................   16
  66.      5.     BCP Configuration Options .............................   17
  67.         5.1       Bridge-Identification ...........................   17
  68.         5.2       Line-Identification .............................   19
  69.         5.3       MAC-Support .....................................   20
  70.         5.4       Tinygram-Compression ............................   21
  71.         5.5       LAN-Identification ..............................   22
  72.         5.6       MAC-Address .....................................   23
  73.         5.7       Spanning-Tree-Protocol ..........................   24
  74.         APPENDICES ................................................   26
  75.         A.     Tinygram-Compression Pseudo-Code ...................   26
  76.         SECURITY CONSIDERATIONS ...................................   27
  77.         REFERENCES ................................................   27
  78.      ACKNOWLEDGEMENTS .............................................   28
  79.      CHAIR'S ADDRESS ..............................................   28
  80.      AUTHOR'S ADDRESS .............................................   28
  81.  
  82. 1.  Historical Perspective
  83.  
  84.    Two basic algorithms are ambient in the industry for Bridging of
  85.    Local Area Networks.  The more common algorithm is called
  86.    "Transparent Bridging", and has been standardized for Extended LAN
  87.    configurations by IEEE 802.1.  The other is called "Source Route
  88.    Bridging", and is prevalent on IEEE 802.5 Token Ring LANs.
  89.  
  90.    The IEEE has combined these two methods into a device called a Source
  91.    Routing Transparent (SRT) bridge, which concurrently provides both
  92.    Source Route and Transparent bridging.  Transparent and SRT bridges
  93.    are specified in IEEE standard 802.1D [3].
  94.  
  95.    Although IEEE committee 802.1G is addressing remote bridging [2],
  96.    neither standard directly defines the mechanisms for implementing
  97.    remote bridging.  Technically, that would be beyond the IEEE 802
  98.    committee's charter.  However, both 802.1D and 802.1G allow for it.
  99.    The implementor may model the line either as a component within a
  100.    single MAC Relay Entity, or as the LAN media between two remote
  101.    bridges.
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Baker & Bowen                                                   [Page 2]
  115.  
  116. RFC 1638                      PPP Bridging                     June 1994
  117.  
  118.  
  119. 2.  Methods of Bridging
  120.  
  121. 2.1.  Transparent Bridging
  122.  
  123.    As a favor to the uninitiated, let us first describe Transparent
  124.    Bridging.  Essentially, the bridges in a network operate as isolated
  125.    entities, largely unaware of each others' presence.  A Transparent
  126.    Bridge maintains a Forwarding Database consisting of
  127.  
  128.                            {address, interface}
  129.  
  130.    records, by saving the Source Address of each LAN transmission that
  131.    it receives, along with the interface identifier for the interface it
  132.    was received on.  It goes on to check whether the Destination Address
  133.    is in the database, and if so, either discards the message when the
  134.    destination and source are located at the same interface, or forwards
  135.    the message to the indicated interface.  A message whose Destination
  136.    Address is not found in the table is forwarded to all interfaces
  137.    except the one it was received on.  This behavior applies to
  138.    Broadcast/Multicast frames as well.
  139.  
  140.    The obvious fly in the ointment is that redundant paths in the
  141.    network cause indeterminate (nay, all too determinate) forwarding
  142.    behavior to occur.  To prevent this, a protocol called the Spanning
  143.    Tree Protocol is executed between the bridges to detect and logically
  144.    remove redundant paths from the network.
  145.  
  146.    One system is elected as the "Root", which periodically emits a
  147.    message called a Bridge Protocol Data Unit (BPDU), heard by all of
  148.    its neighboring bridges.  Each of these modifies and passes the BPDU
  149.    on to its neighbors, until it arrives at the leaf LAN segments in the
  150.    network (where it dies, having no further neighbors to pass it
  151.    along), or until the message is stopped by a bridge which has a
  152.    superior path to the "Root".  In this latter case, the interface the
  153.    BPDU was received on is ignored (it is placed in a Hot Standby
  154.    status, no traffic is emitted onto it except the BPDU, and all
  155.    traffic received from it is discarded), until a topology change
  156.    forces a recalculation of the network.
  157.  
  158. 2.2.  Remote Transparent Bridging
  159.  
  160.    There exist two basic sorts of bridges -- those that interconnect
  161.    LANs directly, called Local Bridges, and those that interconnect LANs
  162.    via an intermediate medium such as a leased line, called Remote
  163.    Bridges.  PPP may be used to connect Remote Bridges.
  164.  
  165.    The IEEE 802.1G Remote MAC Bridging committee has proposed a model of
  166.    a Remote Bridge in which a set of two or more Remote Bridges that are
  167.  
  168.  
  169.  
  170. Baker & Bowen                                                   [Page 3]
  171.  
  172. RFC 1638                      PPP Bridging                     June 1994
  173.  
  174.  
  175.    interconnected via remote lines are termed a Remote Bridge Group.
  176.    Within a Group, a Remote Bridge Cluster is dynamically formed through
  177.    execution of the spanning tree as the set of bridges that may pass
  178.    frames among each other.
  179.  
  180.    This model bestows on the remote lines the basic properties of a LAN,
  181.    but does not require a one-to-one mapping of lines to virtual LAN
  182.    segments.  For instance, the model of three interconnected Remote
  183.    Bridges, A, B and C, may be that of a virtual LAN segment between A
  184.    and B and another between B and C.  However, if a line exists between
  185.    Remote Bridges B and C, a frame could actually be sent directly from
  186.    B to C, as long as there was the external appearance that it had
  187.    travelled through A.
  188.  
  189.    IEEE 802.1G thus allows for a great deal of implementation freedom
  190.    for features such as route optimization and load balancing, as long
  191.    as the model is maintained.
  192.  
  193.    For simplicity and because the 802.1G proposal has not been approved
  194.    as a standard, we discuss Remote Bridging in this document in terms
  195.    of two Remote Bridges connected by a single line.  Within the 802.1G
  196.    framework, these two bridges would comprise a Remote Bridge Group.
  197.    This convention is not intended to preclude the use of PPP bridging
  198.    in larger Groups, as allowed by 802.1G.
  199.  
  200. 2.3.  Source Routing
  201.  
  202.    The IEEE 802.1D Committee has standardized Source Routing for any MAC
  203.    Type that allows its use.  Currently, MAC Types that support Source
  204.    Routing are FDDI and IEEE 802.5 Token Ring.
  205.  
  206.    The IEEE standard defines Source Routing only as a component of an
  207.    SRT bridge.  However, many bridges have been implemented which are
  208.    capable of performing Source Routing alone.  These are most commonly
  209.    implemented in accordance either with the IBM Token-Ring Network
  210.    Architecture Reference [1] or with the Source Routing Appendix of
  211.    IEEE 802.1D [3].
  212.  
  213.    In the Source Routing approach, the originating system has the
  214.    responsibility of indicating the path that the message should follow.
  215.    It does this, if the message is directed off of the local segment, by
  216.    including a variable length MAC header extension called the Routing
  217.    Information Field (RIF).  The RIF consists of one 16-bit word of
  218.    flags and parameters, followed by zero or more segment-and-bridge
  219.    identifiers.  Each bridge en route determines from this source route
  220.    list whether it should accept the message and how to forward it.
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Baker & Bowen                                                   [Page 4]
  227.  
  228. RFC 1638                      PPP Bridging                     June 1994
  229.  
  230.  
  231.    In order to discover the path to a destination, the originating
  232.    system transmits an Explorer frame.  An All-Routes Explorer (ARE)
  233.    frame follows all possible paths to a destination.  A Spanning Tree
  234.    Explorer (STE) frame follows only those paths defined by Bridge ports
  235.    that the Spanning Tree Algorithm has put in Forwarding state.  Port
  236.    states do not apply to ARE or Specifically-Routed Frames.  The
  237.    destination system replies to each copy of an ARE frame with a
  238.    Specifically-Routed Frame, and to an STE frame with an ARE frame.  In
  239.    either case, the originating station may receive multiple replies,
  240.    from which it chooses the route it will use for future Specifically-
  241.    Routed Frames.
  242.  
  243.    The algorithm for Source Routing requires the bridge to be able to
  244.    identify any interface by its segment-and-bridge identifier.  When a
  245.    packet is received that has the RIF present, a boolean in the RIF is
  246.    inspected to determine whether the segment-and-bridge identifiers are
  247.    to be inspected in "forward" or "reverse" sense.  In its search, the
  248.    bridge looks for the segment-and-bridge identifier of the interface
  249.    the packet was received on, and forwards the packet toward the
  250.    segment identified in the segment-and-bridge identifier that follows
  251.    it.
  252.  
  253. 2.4.  Remote Source Route Bridging
  254.  
  255.    There is no Remote Source Route Bridge proposal in IEEE 802.1 at this
  256.    time, although many vendors ship remote Source Routing Bridges.
  257.  
  258.    We allow for modelling the line either as a connection residing
  259.    between two halves of a "split" Bridge (the split-bridge model), or
  260.    as a LAN segment between two Bridges (the independent-bridge model).
  261.    In the latter case, the line requires a LAN Segment ID.
  262.  
  263.    By default, PPP Source Route Bridges use the independent-bridge
  264.    model.  This requirement ensures interoperability in the absence of
  265.    option negotiation.  In order to use the split-bridge model, a system
  266.    MUST successfully negotiate the Bridge-Identification Configuration
  267.    Option.
  268.  
  269.    Although no option negotiation is required for a system to use the
  270.    independent-bridge model, it is strongly recommended that systems
  271.    using this model negotiate the Line-Identification Configuration
  272.    Option.  Doing so will verify correct configuration of the LAN
  273.    Segment Id assigned to the line.
  274.  
  275.    When two PPP systems use the split-bridge model, the system that
  276.    transmits an Explorer frame onto the PPP link MUST update the RIF on
  277.    behalf of the two systems.  The purpose of this constraint is to
  278.    ensure interoperability and to preserve the simplicity of the
  279.  
  280.  
  281.  
  282. Baker & Bowen                                                   [Page 5]
  283.  
  284. RFC 1638                      PPP Bridging                     June 1994
  285.  
  286.  
  287.    bridging algorithm.  For example, if the receiving system did not
  288.    know whether the transmitting system had updated the RIF, it would
  289.    have to scan the RIF and decide whether to update it.  The choice of
  290.    the transmitting system for the role of updating the RIF allows the
  291.    system receiving the frame from the PPP link to forward the frame
  292.    without processing the RIF.
  293.  
  294.    Given that source routing is configured on a line or set of lines,
  295.    the specifics of the link state with respect to STE frames are
  296.    defined by the Spanning Tree Protocol in use.  Choice of the split-
  297.    bridge or independent-bridge model does not affect spanning tree
  298.    operation.  In both cases, the spanning tree protocol is executed on
  299.    the two systems independently.
  300.  
  301. 2.5.  SR-TB Translational Bridging
  302.  
  303.    IEEE 802 is not currently addressing bridges that translate between
  304.    Transparent Bridging and Source Routing.  For the purposes of this
  305.    standard, such a device is either a Transparent or a Source Routing
  306.    bridge, and will act on the line in one of these two ways, just as it
  307.    does on the LAN.
  308.  
  309. 3.  Traffic Services
  310.  
  311.    Several services are provided for the benefit of different system
  312.    types and user configurations.  These include LAN Frame Checksum
  313.    Preservation, LAN Frame Checksum Generation, Tinygram Compression,
  314.    and the identification of closed sets of LANs.
  315.  
  316. 3.1.  LAN Frame Checksum Preservation
  317.  
  318.    IEEE 802.1 stipulates that the Extended LAN must enjoy the same
  319.    probability of undetected error that an individual LAN enjoys.
  320.    Although there has been considerable debate concerning the algorithm,
  321.    no other algorithm has been proposed than having the LAN Frame
  322.    Checksum received by the ultimate receiver be the same value
  323.    calculated by the original transmitter.  Achieving this requires, of
  324.    course, that the line protocols preserve the LAN Frame Checksum from
  325.    end to end.  The protocol is optimized towards this approach.
  326.  
  327. 3.2.  Traffic having no LAN Frame Checksum
  328.  
  329.    The fact that the protocol is optimized towards LAN Frame Checksum
  330.    preservation raises twin questions: "What is the approach to be used
  331.    by systems which, for whatever reason, cannot easily support Frame
  332.    Checksum preservation?" and "What is the approach to be used when the
  333.    system originates a message, which therefore has no Frame Checksum
  334.    precalculated?".
  335.  
  336.  
  337.  
  338. Baker & Bowen                                                   [Page 6]
  339.  
  340. RFC 1638                      PPP Bridging                     June 1994
  341.  
  342.  
  343.    Surely, one approach would be to require stations to calculate the
  344.    Frame Checksum in software if hardware support were unavailable; this
  345.    would meet with profound dismay, and would raise serious questions of
  346.    interpretation in a Bridge/Router.
  347.  
  348.    However, stations which implement LAN Frame Checksum preservation
  349.    must already solve this problem, as they do originate traffic.
  350.    Therefore, the solution adopted is that messages which have no Frame
  351.    Checksum are tagged and carried across the line.
  352.  
  353.    When a system which does not implement LAN Frame Checksum
  354.    preservation receives a frame having an embedded FCS, it converts it
  355.    for its own use by removing the trailing four octets.  When any
  356.    system forwards a frame which contains no embedded FCS to a LAN, it
  357.    forwards it in a way which causes the FCS to be calculated.
  358.  
  359. 3.3.  Tinygram Compression
  360.  
  361.    An issue in remote Ethernet bridging is that the protocols that are
  362.    most attractive to bridge are prone to problems on low speed (64 KBPS
  363.    and below) lines.  This can be partially alleviated by observing that
  364.    the vendors defining these protocols often fill the PDU with octets
  365.    of ZERO.  Thus, an Ethernet or IEEE 802.3 PDU received from a line
  366.    that is (1) smaller than the minimum PDU size, and (2) has a LAN
  367.    Frame Checksum present, must be padded by inserting zeroes between
  368.    the last four octets and the rest of the PDU before transmitting it
  369.    on a LAN.  These protocols are frequently used for interactive
  370.    sessions, and therefore are frequently this small.
  371.  
  372.    To prevent ambiguity, PDUs requiring padding are explicitly tagged.
  373.    Compression is at the option of the transmitting station, and is
  374.    probably performed only on low speed lines, perhaps under
  375.    configuration control.
  376.  
  377.    The pseudo-code in Appendix 1 describes the algorithms.
  378.  
  379. 3.4.  LAN Identification
  380.  
  381.    In some applications, it is useful to tag traffic by the user
  382.    community it is a part of, and guarantee that it will be only emitted
  383.    onto a LAN which is of the same community.  The user community is
  384.    defined by a LAN ID.  Systems which choose to not implement this
  385.    feature must assume that any frame received having a LAN ID is from a
  386.    different community than theirs, and discard it.
  387.  
  388.    It should be noted that the enabling of the LAN Identification option
  389.    requires behavior consistent with the following additions to the
  390.    standard bridging algorithm.
  391.  
  392.  
  393.  
  394. Baker & Bowen                                                   [Page 7]
  395.  
  396. RFC 1638                      PPP Bridging                     June 1994
  397.  
  398.  
  399.    Each bridge port may be considered to have two additional variables
  400.    associated with it: "domain" and "checkDomain".
  401.  
  402.    The variable "domain" (a 32-bit unsigned integer) is assigned a value
  403.    that uniquely labels a set of bridge ports in an extended network,
  404.    with a default value of 1, and the values of 0 and 0xffffffff being
  405.    reserved.
  406.  
  407.    The variable "checkDomain" (a boolean) controls whether this value is
  408.    used to filter output to a bridge port.  The variable "checkDomain"
  409.    is generally set to the boolean value True for LAN bridge ports, and
  410.    set to the boolean value False for WAN bridge ports.
  411.  
  412.    The action of the bridge is then as modified as expressed in the
  413.    following C code fragments:
  414.  
  415.       On a packet being received from a bridge port:
  416.  
  417.       if (domainNotPresentWithPacket) {
  418.           packetInformation.domain = portInformation[inputPort].domain;
  419.       } else {
  420.           packetInformation.domain = domainPresentWithPacket;
  421.       }
  422.  
  423.       On a packet being transmitted from a bridge port:
  424.  
  425.       if (portInformation[outputPort].checkDomain &&
  426.           portInformation[outputPort] != packetInformation.domain) {
  427.           discardPacket();
  428.           return;
  429.       }
  430.  
  431.    For example, suppose you have the following configuration:
  432.  
  433.            E1     +--+            +--+     E3
  434.       ------------|  |            |  |------------
  435.                   |  |     W1     |  |
  436.                   |B1|------------|B2|
  437.            E2     |  |            |  |     E4
  438.       ------------|  |            |  |------------
  439.                   +--+            +--+
  440.  
  441.    E1, E2, E3, and E4 are Ethernet LANs (or Token Ring, FDDI, etc.).  W1
  442.    is a WAN (PPP over T1).  B1 and B2 are MAC level bridges.
  443.  
  444.    You want End Stations on E1 and E3 to communicate, and you want End
  445.    Stations on E2 and E4 to communicate, but you do not want End
  446.    Stations on E1 and E3 to communicate with End Stations on E2 and E4.
  447.  
  448.  
  449.  
  450. Baker & Bowen                                                   [Page 8]
  451.  
  452. RFC 1638                      PPP Bridging                     June 1994
  453.  
  454.  
  455.    This is true for Unicast, Multicast, and Broadcast traffic.  If a
  456.    broadcast datagram originates on E1, you want it only to be
  457.    propagated to E3, and not on E2 or E4.
  458.  
  459.    Another way of looking at it is that E1 and E3 form a Virtual LAN,
  460.    and E2 and E4 form a Virtual LAN, as if the following configuration
  461.    were actually being used:
  462.  
  463.            E1     +--+     W2     +--+     E3
  464.       ------------|B3|------------|B4|------------
  465.                   +--+            +--+
  466.  
  467.            E2     +--+     W3     +--+     E4
  468.       ------------|B5|------------|B6|------------
  469.                   +--+            +--+
  470.  
  471.    To accomplish this (using the LAN Identification option), B1 and B2
  472.    negotiate this option on, and send datagrams with bit 6 set to 1,
  473.    with the LAN ID field inserted in the frame.  Traffic on E1 and E3
  474.    would be assigned LAN ID 1, and traffic on E2 and E4 would be
  475.    assigned LAN ID 2.  Thus B1 and B2 can separate traffic going over
  476.    W1.
  477.  
  478.    Note that execution of the spanning tree algorithm may result in the
  479.    subdivision of a domain.  The administrator of LAN domains must
  480.    ensure, through spanning tree configuration and topology design, that
  481.    such subdivision does not occur.
  482.  
  483. 4.  A PPP Network Control Protocol for Bridging
  484.  
  485.    The Bridging Control Protocol (BCP) is responsible for configuring,
  486.    enabling and disabling the bridge protocol modules on both ends of
  487.    the point-to-point link.  BCP uses the same packet exchange mechanism
  488.    as the Link Control Protocol.  BCP packets may not be exchanged until
  489.    PPP has reached the Network-Layer Protocol phase.  BCP packets
  490.    received before this phase is reached SHOULD be silently discarded.
  491.  
  492.    The Bridging Control Protocol is exactly the same as the Link Control
  493.    Protocol [6] with the following exceptions:
  494.  
  495.    Frame Modifications
  496.  
  497.       The packet may utilize any modifications to the basic frame format
  498.       which have been negotiated during the Link Establishment phase.
  499.  
  500.       Implementations SHOULD NOT negotiate Address-and-Control-Field-
  501.       Compression or Protocol-Field-Compression on other than low speed
  502.       links.
  503.  
  504.  
  505.  
  506. Baker & Bowen                                                   [Page 9]
  507.  
  508. RFC 1638                      PPP Bridging                     June 1994
  509.  
  510.  
  511.    Data Link Layer Protocol Field
  512.  
  513.       Exactly one BCP packet is encapsulated in the PPP Information
  514.       field, where the PPP Protocol field indicates type hex 8031 (BCP).
  515.  
  516.    Code field
  517.  
  518.       Only Codes 1 through 7 (Configure-Request, Configure-Ack,
  519.       Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack
  520.       and Code-Reject) are used.  Other Codes SHOULD be treated as
  521.       unrecognized and SHOULD result in Code-Rejects.
  522.  
  523.    Timeouts
  524.  
  525.       BCP packets may not be exchanged until PPP has reached the
  526.       Network-Layer Protocol phase.  An implementation SHOULD be
  527.       prepared to wait for Authentication and Link Quality Determination
  528.       to finish before timing out waiting for a Configure-Ack or other
  529.       response.  It is suggested that an implementation give up only
  530.       after user intervention or a configurable amount of time.
  531.  
  532.    Configuration Option Types
  533.  
  534.       BCP has a distinct set of Configuration Options, which are defined
  535.       in this document.
  536.  
  537. 4.1.  Sending Bridge Frames
  538.  
  539.    Before any Bridged LAN Traffic or BPDUs may be communicated, PPP MUST
  540.    reach the Network-Layer Protocol phase, and the Bridging Control
  541.    Protocol MUST reach the Opened state.
  542.  
  543.    Exactly one Bridged LAN Traffic or BPDU is encapsulated in the PPP
  544.    Information field, where the PPP Protocol field indicates type hex
  545.    0031 (Bridged PDU).
  546.  
  547. 4.1.1.  Maximum Receive Unit Considerations
  548.  
  549.    The maximum length of a Bridged datagram transmitted over a PPP link
  550.    is the same as the maximum length of the Information field of a PPP
  551.    encapsulated packet.  Since there is no standard method for
  552.    fragmenting and reassembling Bridged PDUs, PPP links supporting
  553.    Bridging MUST negotiate an MRU large enough to support the MAC Types
  554.    that are later negotiated for Bridging support.  Because they include
  555.    the MAC headers, even bridged Ethernet frames are larger than the
  556.    default PPP MRU of 1500 octets.
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Baker & Bowen                                                  [Page 10]
  563.  
  564. RFC 1638                      PPP Bridging                     June 1994
  565.  
  566.  
  567. 4.1.2.  Loopback and Link Quality Monitoring
  568.  
  569.    It is strongly recommended that PPP Bridge Protocol implementations
  570.    utilize Magic Number Loopback Detection and Link-Quality-Monitoring.
  571.    The 802.1 Spanning Tree protocol, which is integral to both
  572.    Transparent Bridging and Source Routing (as standardized), is
  573.    unidirectional during normal operation.  Configuration BPDUs emanate
  574.    from the Root system in the general direction of the leaves, without
  575.    any reverse traffic except in response to network events.
  576.  
  577. 4.1.3.  Message Sequence
  578.  
  579.    The multiple link case requires consideration of message
  580.    sequentiality.  The transmitting system may determine either that the
  581.    protocol being bridged requires transmissions to arrive in the order
  582.    of their original transmission, and enqueue all transmissions on a
  583.    given conversation onto the same link to force order preservation, or
  584.    that the protocol does NOT require transmissions to arrive in the
  585.    order of their original transmission, and use that knowledge to
  586.    optimize the utilization of several links, enqueuing traffic to
  587.    multiple links to minimize delay.
  588.  
  589.    In the absence of such a determination, the transmitting system MUST
  590.    act as though all protocols require order preservation.  Many
  591.    protocols designed primarily for use on a single LAN require order
  592.    preservation.
  593.  
  594.    Work is currently in progress on a protocol to allow use of multiple
  595.    PPP links [7].  If approved, this protocol will allow use of multiple
  596.    links while maintaining message sequentiality for Bridged LAN Traffic
  597.    and BPDU frames.
  598.  
  599. 4.1.4.  Separation of Spanning Tree Domains
  600.  
  601.    It is conceivable that a network manager might wish to inhibit the
  602.    exchange of BPDUs on a link in order to logically divide two regions
  603.    into separate Spanning Trees with different Roots (and potentially
  604.    different Spanning Tree implementations or algorithms).  In order to
  605.    do that, he should configure both ends to not exchange BPDUs on a
  606.    link.  An implementation that does not support any spanning tree
  607.    protocol MUST silently discard any received IEEE 802.1D BPDU packets,
  608.    and MUST either silently discard or respond to other received BPDU
  609.    packets with an LCP Protocol-Reject packet.
  610.  
  611.  
  612.  
  613.  
  614.  
  615.  
  616.  
  617.  
  618. Baker & Bowen                                                  [Page 11]
  619.  
  620. RFC 1638                      PPP Bridging                     June 1994
  621.  
  622.  
  623. 4.2.  Bridged LAN Traffic
  624.  
  625.    For Bridging LAN traffic, the format of the frame on the line is
  626.    shown below.  The fields are transmitted from left to right.
  627.  
  628.    802.3 Frame format
  629.  
  630.     0                   1                   2                   3
  631.     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
  632.    +-+-+-+-+-+-+-+-+
  633.    |   HDLC FLAG   |
  634.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  635.    |      Address and Control      |      0x00     |      0x31     |
  636.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  637.    |F|I|Z|0| Pads  |    MAC Type   |  LAN ID high word (optional)  |
  638.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  639.    |   LAN ID low word (optional)  |      Destination MAC Address  |
  640.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  641.    |                       Destination MAC Address                 |
  642.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  643.    |                       Source MAC Address                      |
  644.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  645.    |     Source MAC Address        |      Length/Type              |
  646.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  647.    |               LLC data       ...
  648.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  649.    |                   LAN FCS (optional)                          |
  650.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  651.    |                potential line protocol pad                    |
  652.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  653.    |          Frame FCS            |   HDLC FLAG   |
  654.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  655.  
  656.  
  657.  
  658.  
  659.  
  660.  
  661.  
  662.  
  663.  
  664.  
  665.  
  666.  
  667.  
  668.  
  669.  
  670.  
  671.  
  672.  
  673.  
  674. Baker & Bowen                                                  [Page 12]
  675.  
  676. RFC 1638                      PPP Bridging                     June 1994
  677.  
  678.  
  679.    802.4/802.5/FDDI Frame format
  680.  
  681.     0                   1                   2                   3
  682.     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
  683.    +-+-+-+-+-+-+-+-+
  684.    |   HDLC FLAG   |
  685.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  686.    |      Address and Control      |      0x00     |      0x31     |
  687.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  688.    |F|I|Z|0| Pads  |    MAC Type   |  LAN ID high word (optional)  |
  689.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  690.    |   LAN ID low word (optional)  |   Pad Byte    | Frame Control |
  691.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  692.    |                       Destination MAC Address                 |
  693.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  694.    |     Destination MAC Address   |  Source MAC Address           |
  695.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  696.    |                       Source MAC Address                      |
  697.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  698.    |               LLC data       ...
  699.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  700.    |                   LAN FCS (optional)                          |
  701.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  702.    |              optional Data Link Layer padding                 |
  703.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  704.    |          Frame FCS            |   HDLC FLAG   |
  705.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  706.  
  707.    Address and Control
  708.  
  709.       As defined by the framing in use.
  710.  
  711.    PPP Protocol
  712.  
  713.       0x0031 for PPP Bridging
  714.  
  715.    Flags
  716.  
  717.       bit F:  Set if the LAN FCS Field is present
  718.       bit I:  Set if the LAN ID Field is present
  719.       bit Z:  Set if IEEE 802.3 Pad must be zero filled to minimum size
  720.       bit 0:  reserved, must be zero
  721.  
  722.    Pads
  723.  
  724.       Any PPP frame may have padding inserted in the "Optional Data Link
  725.       Layer Padding" field.  This number tells the receiving system how
  726.       many pad octets to strip off.
  727.  
  728.  
  729.  
  730. Baker & Bowen                                                  [Page 13]
  731.  
  732. RFC 1638                      PPP Bridging                     June 1994
  733.  
  734.  
  735.    MAC Type
  736.  
  737.       Up-to-date values of the MAC Type field are specified in the most
  738.       recent "Assigned Numbers" RFC [4].  Current values are assigned as
  739.       follows:
  740.  
  741.           0: reserved
  742.           1: IEEE 802.3/Ethernet  with canonical addresses
  743.           2: IEEE 802.4           with canonical addresses
  744.           3: IEEE 802.5           with non-canonical addresses
  745.           4: FDDI                 with non-canonical addresses
  746.        5-10: reserved
  747.          11: IEEE 802.5           with canonical addresses
  748.          12: FDDI                 with canonical addresses
  749.  
  750.       "Canonical" is the address format defined as standard address
  751.       representation by the IEEE.  In this format, the bit within each
  752.       byte that is to be transmitted first on a LAN is represented as
  753.       the least significant bit.  In contrast, in non-canonical form,
  754.       the bit within each byte that is to be transmitted first is
  755.       represented as the most-significant bit.  Many LAN interface
  756.       implementations use non-canonical form.  In both formats, bytes
  757.       are represented in the order of transmission.
  758.  
  759.       If an implementation supports a MAC Type that is the higher-
  760.       numbered format of that MAC Type, then it MUST also support the
  761.       lower-numbered format of that MAC Type.  For example, if an
  762.       implementation supports FDDI with canonical address format, then
  763.       it MUST also support FDDI with non-canonical address format.  The
  764.       purpose of this requirement is to provide backward compatibility
  765.       with earlier versions of this specification.
  766.  
  767.       A system MUST NOT transmit a MAC Type numbered higher than 4
  768.       unless it has received from its peer a MAC-Support Configuration
  769.       Option indicating that the peer is willing to receive frames of
  770.       that MAC Type.
  771.  
  772.    LAN ID
  773.  
  774.       This optional 32-bit field identifies the Community of LANs which
  775.       may be interested to receive this frame.  If the LAN ID flag is
  776.       not set, then this field is not present, and the PDU is four
  777.       octets shorter.
  778.  
  779.    Frame Control
  780.  
  781.       On 802.4, 802.5, and FDDI LANs, there are a few octets preceding
  782.       the Destination MAC Address, one of which is protected by the FCS.
  783.  
  784.  
  785.  
  786. Baker & Bowen                                                  [Page 14]
  787.  
  788. RFC 1638                      PPP Bridging                     June 1994
  789.  
  790.  
  791.       The MAC Type of the frame determines the contents of the Frame
  792.       Control field.  A pad octet is present to provide 32-bit packet
  793.       alignment.
  794.  
  795.    Destination MAC Address
  796.  
  797.       As defined by the IEEE.  The MAC Type field defines the bit
  798.       ordering.
  799.  
  800.    Source MAC Address
  801.  
  802.       As defined by the IEEE.  The MAC Type field defines the bit
  803.       ordering.
  804.  
  805.    LLC data
  806.  
  807.       This is the remainder of the MAC frame which is (or would be were
  808.       it present) protected by the LAN FCS.
  809.  
  810.       For example, the 802.5 Access Control field, and Status Trailer
  811.       are not meaningful to transmit to another ring, and are omitted.
  812.  
  813.    LAN FCS
  814.  
  815.       If present, this is the LAN FCS which was calculated by (or which
  816.       appears to have been calculated by) the originating station.  If
  817.       the LAN FCS flag is not set, then this field is not present, and
  818.       the PDU is four octets shorter.
  819.  
  820.    Optional Data Link Layer Padding
  821.  
  822.       Any PPP frame may have padding inserted between the Information
  823.       field and the Frame FCS.  The Pads field contains the length of
  824.       this padding, which may not exceed 15 octets.
  825.  
  826.       The PPP LCP Extensions [5] specify a self-describing pad.
  827.       Implementations are encouraged to set the Pads field to zero, and
  828.       use the self-describing pad instead.
  829.  
  830.    Frame FCS
  831.  
  832.       Mentioned primarily for clarity.  The FCS used on the PPP link is
  833.       separate from and unrelated to the LAN FCS.
  834.  
  835.  
  836.  
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Baker & Bowen                                                  [Page 15]
  843.  
  844. RFC 1638                      PPP Bridging                     June 1994
  845.  
  846.  
  847. 4.3.  Spanning Tree Bridge PDU
  848.  
  849.    This is the Spanning Tree BPDU, without any MAC or 802.2 LLC header
  850.    (these being functionally equivalent to the Address, Control, and PPP
  851.    Protocol Fields).  The LAN Pad and Frame Checksum fields are likewise
  852.    superfluous and absent.
  853.  
  854.    The Address and Control Fields are subject to LCP Address-and-
  855.    Control-Field-Compression negotiation.
  856.  
  857.    A PPP system which is configured to participate in a particular
  858.    spanning tree protocol and receives a BPDU of a different spanning
  859.    tree protocol SHOULD reject it with the LCP Protocol-Reject.  A
  860.    system which is configured not to participate in any spanning tree
  861.    protocol MUST silently discard all BPDUs.
  862.  
  863.    Spanning Tree Bridge PDU
  864.  
  865.     0                   1                   2                   3
  866.     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
  867.    +-+-+-+-+-+-+-+-+
  868.    |   HDLC FLAG   |
  869.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  870.    |      Address and Control      |     Spanning Tree Protocol    |
  871.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  872.    |              BPDU data       ...                              |
  873.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  874.    |          Frame FCS            |   HDLC FLAG   |
  875.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  876.  
  877.    Address and Control
  878.  
  879.       As defined by the framing in use.
  880.  
  881.    Spanning Tree Protocol
  882.  
  883.       Up-to-date values of the Spanning-Tree-Protocol field are
  884.       specified in the most recent "Assigned Numbers" RFC [4].  Current
  885.       values are assigned as follows:
  886.  
  887.          Value (in hex)  Protocol
  888.  
  889.          0201            IEEE 802.1 (either 802.1D or 802.1G)
  890.          0203            IBM Source Route Bridge
  891.          0205            DEC LANbridge 100
  892.  
  893.       The two versions of the IEEE 802.1 spanning tree protocol frames
  894.       can be distinguished by fields within the BPDU data.
  895.  
  896.  
  897.  
  898. Baker & Bowen                                                  [Page 16]
  899.  
  900. RFC 1638                      PPP Bridging                     June 1994
  901.  
  902.  
  903.    BPDU data
  904.  
  905.       As defined by the specified Spanning Tree Protocol.
  906.  
  907. 5.  BCP Configuration Options
  908.  
  909.    BCP Configuration Options allow modifications to the standard
  910.    characteristics of the network-layer protocol to be negotiated.  If a
  911.    Configuration Option is not included in a Configure-Request packet,
  912.    the default value for that Configuration Option is assumed.
  913.  
  914.    BCP uses the same Configuration Option format defined for LCP [6],
  915.    with a separate set of Options.
  916.  
  917.    Up-to-date values of the BCP Option Type field are specified in the
  918.    most recent "Assigned Numbers" RFC [4].  Current values are assigned
  919.    as follows:
  920.  
  921.  
  922.          1       Bridge-Identification
  923.          2       Line-Identification
  924.          3       MAC-Support
  925.          4       Tinygram-Compression
  926.          5       LAN-Identification
  927.          6       MAC-Address
  928.          7       Spanning-Tree-Protocol
  929.  
  930. 5.1.  Bridge-Identification
  931.  
  932.    Description
  933.  
  934.       The Bridge-Identification Configuration Option is designed for use
  935.       when the line is an interface between half bridges connecting
  936.       virtual or physical LAN segments.  Since these remote bridges are
  937.       modeled as a single bridge with a strange internal interface, each
  938.       remote bridge needs to know the LAN segment and bridge numbers of
  939.       the adjacent remote bridge.  This option MUST NOT be included in
  940.       the same Configure-Request as the Line-Identification option.
  941.  
  942.       The Source Routing Route Descriptor and its use are specified by
  943.       the IEEE 802.1D Appendix on Source Routing.  It identifies the
  944.       segment to which the interface is attached by its configured
  945.       segment number, and itself by bridge number on the segment.
  946.  
  947.       The two half bridges MUST agree on the bridge number.  If a bridge
  948.       number is not agreed upon, the Bridging Control Protocol MUST NOT
  949.       enter the Opened state.
  950.  
  951.  
  952.  
  953.  
  954. Baker & Bowen                                                  [Page 17]
  955.  
  956. RFC 1638                      PPP Bridging                     June 1994
  957.  
  958.  
  959.       Since mismatched bridge numbers are indicative of a configuration
  960.       error, it is strongly recommended that a system not change its
  961.       bridge number for the purpose of resolving a mismatch.  However,
  962.       to allow two systems to proceed to the Opened state despite a
  963.       mismatch, a system MAY change its bridge number to the higher of
  964.       the two numbers.  A higher-numbered system MUST NOT change its
  965.       bridge number to a lower number.
  966.  
  967.       By default, a system that does not negotiate this option is
  968.       assumed to be configured not to use the model of the two systems
  969.       as two halves of a single source-route bridge.  It is instead
  970.       assumed to be configured to use the model of the two systems as
  971.       two independent bridges.
  972.  
  973.    Example
  974.  
  975.       If System A announces LAN Segment AAA, Bridge #1, and System B
  976.       announces LAN Segment BBB, Bridge #1, then the resulting Source
  977.       Routing configuration (read in the appropriate direction) is then
  978.       AAA,1,BBB.
  979.  
  980.    A summary of the Bridge-Identification Option format is shown below.
  981.    The fields are transmitted from left to right.
  982.  
  983.     0                   1                   2                   3
  984.     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
  985.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  986.    |     Type      |    Length     | LAN Segment Number    |Bridge#|
  987.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  988.  
  989.  
  990.    Type
  991.  
  992.       1
  993.  
  994.    Length
  995.  
  996.       4
  997.  
  998.    LAN Segment Number
  999.  
  1000.       A 12-bit number identifying the LAN segment, as defined in the
  1001.       IEEE 802.1D Source Routing Specification.
  1002.  
  1003.    Bridge Number
  1004.  
  1005.       A 4-bit number identifying the bridge on the LAN segment, as
  1006.       defined in the IEEE 802.1D Source Routing Specification.
  1007.  
  1008.  
  1009.  
  1010. Baker & Bowen                                                  [Page 18]
  1011.  
  1012. RFC 1638                      PPP Bridging                     June 1994
  1013.  
  1014.  
  1015. 5.2.  Line-Identification
  1016.  
  1017.    Description
  1018.  
  1019.       The Line-Identification Configuration Option is designed for use
  1020.       when the line is assigned a LAN segment number as though it were a
  1021.       two system LAN segment in accordance with the Source Routing
  1022.       algorithm.  This option MUST NOT be included in the same
  1023.       Configure-Request as the Bridge-Identification option.
  1024.  
  1025.       The Source Routing Route Descriptor and its use are specified by
  1026.       the IEEE 802.1D Appendix on Source Routing.  It identifies the
  1027.       segment to which the interface is attached by its configured
  1028.       segment number, and itself by bridge number on the segment.
  1029.  
  1030.       The two bridges MUST agree on the LAN segment number.  If a LAN
  1031.       segment number is not agreed upon, the Bridging Control Protocol
  1032.       MUST NOT enter the Opened state.
  1033.  
  1034.       Since mismatched LAN segment numbers are indicative of a
  1035.       configuration error, it is strongly recommended that a system not
  1036.       change its LAN segment number for the purpose of resolving a
  1037.       mismatch.  However, to allow two systems to proceed to the Opened
  1038.       state despite a mismatch, a system MAY change its LAN segment
  1039.       number to the higher of the two numbers.  A higher-numbered system
  1040.       MUST NOT change its LAN segment number to a lower number.
  1041.  
  1042.       By default, a system that does not negotiate this option is
  1043.       assumed to have its LAN segment number correctly configured by the
  1044.       user.
  1045.  
  1046.    A summary of the Line-Identification Option format is shown below.
  1047.    The fields are transmitted from left to right.
  1048.  
  1049.     0                   1                   2                   3
  1050.     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
  1051.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1052.    |     Type      |    Length     | LAN Segment Number    |Bridge#|
  1053.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1054.  
  1055.  
  1056.    Type
  1057.  
  1058.       2
  1059.  
  1060.    Length
  1061.  
  1062.       4
  1063.  
  1064.  
  1065.  
  1066. Baker & Bowen                                                  [Page 19]
  1067.  
  1068. RFC 1638                      PPP Bridging                     June 1994
  1069.  
  1070.  
  1071.    LAN Segment Number
  1072.  
  1073.       A 12-bit number identifying the LAN segment, as defined in the
  1074.       IEEE 802.1D Source Routing Specification.
  1075.  
  1076.    Bridge Number
  1077.  
  1078.       A 4-bit number identifying the bridge on the LAN segment, as
  1079.       defined in the IEEE 802.1D Source Routing Specification.
  1080.  
  1081. 5.3.  MAC-Support
  1082.  
  1083.    Description
  1084.  
  1085.       The MAC-Support Configuration Option is provided to permit
  1086.       implementations to indicate the sort of traffic they are prepared
  1087.       to receive.  Negotiation of this option is strongly recommended.
  1088.  
  1089.       By default, when an implementation does not announce the MAC Types
  1090.       that it supports, all MAC Types are sent by the peer which are
  1091.       capable of being transported given other configuration parameters.
  1092.       The receiver will discard those MAC Types that it does not
  1093.       support.
  1094.  
  1095.       A device supporting a 1600 octet MRU might not be willing to
  1096.       support 802.5, 802.4 or FDDI, which each support frames larger
  1097.       than 1600 octets.
  1098.  
  1099.       By announcing the MAC Types it will support, an implementation is
  1100.       advising its peer that all unspecified MAC Types will be
  1101.       discarded.  The peer MAY then reduce bandwidth usage by not
  1102.       sending the unsupported MAC Types.
  1103.  
  1104.       Announcement of support for multiple MAC Types is accomplished by
  1105.       placing multiple options in the Configure-Request.
  1106.  
  1107.       The nature of this option is advisory only.  This option MUST NOT
  1108.       be included in a Configure-Nak.
  1109.  
  1110.    A summary of the MAC-Support Option format is shown below.  The
  1111.    fields are transmitted from left to right.
  1112.  
  1113.     0                   1                   2
  1114.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
  1115.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1116.    |     Type      |    Length     |    MAC Type   |
  1117.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1118.  
  1119.  
  1120.  
  1121.  
  1122. Baker & Bowen                                                  [Page 20]
  1123.  
  1124. RFC 1638                      PPP Bridging                     June 1994
  1125.  
  1126.  
  1127.    Type
  1128.  
  1129.       3
  1130.  
  1131.    Length
  1132.  
  1133.       3
  1134.  
  1135.    MAC Type
  1136.  
  1137.       One of the values of the PDU MAC Type field (previously described
  1138.       in the "Bridged LAN Traffic" section) that this system is prepared
  1139.       to receive and service.
  1140.  
  1141. 5.4.  Tinygram-Compression
  1142.  
  1143.       Description
  1144.  
  1145.       This Configuration Option permits the implementation to indicate
  1146.       support for Tinygram compression.
  1147.  
  1148.       Not all systems are prepared to make modifications to messages in
  1149.       transit.  On high speed lines, it is probably not worth the
  1150.       effort.
  1151.  
  1152.       This option MUST NOT be included in a Configure-Nak if it has been
  1153.       received in a Configure-Request.  This option MAY be included in a
  1154.       Configure-Nak in order to prompt the peer to send the option in
  1155.       its next Configure-Request.
  1156.  
  1157.       By default, no compression is allowed.  A system which does not
  1158.       negotiate, or negotiates this option to be disabled, should never
  1159.       receive a compressed packet.
  1160.  
  1161.    A summary of the Tinygram-Compression Option format is shown below.
  1162.    The fields are transmitted from left to right.
  1163.  
  1164.     0                   1                   2
  1165.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
  1166.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1167.    |     Type      |    Length     | Enable/Disable|
  1168.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1169.  
  1170.  
  1171.    Type
  1172.  
  1173.       4
  1174.  
  1175.  
  1176.  
  1177.  
  1178. Baker & Bowen                                                  [Page 21]
  1179.  
  1180. RFC 1638                      PPP Bridging                     June 1994
  1181.  
  1182.  
  1183.    Length
  1184.  
  1185.       3
  1186.  
  1187.    Enable/Disable
  1188.  
  1189.       If the value is 1, Tinygram-Compression is enabled.  If the value
  1190.       is 2, Tinygram-Compression is disabled, and no decompression will
  1191.       occur.
  1192.  
  1193.       The implementations need not agree on the setting of this
  1194.       parameter.  One may be willing to decompress and the other not.
  1195.  
  1196.  
  1197. 5.5.  LAN-Identification
  1198.  
  1199.    Description
  1200.  
  1201.       This Configuration Option permits the implementation to indicate
  1202.       support for the LAN Identification field, and that the system is
  1203.       prepared to service traffic to any labeled LANs beyond the system.
  1204.  
  1205.       A Configure-NAK MUST NOT be sent in response to a Configure-
  1206.       Request that includes this option.
  1207.  
  1208.       By default, LAN-Identification is disabled.  All Bridge LAN
  1209.       Traffic and BPDUs that contain the LAN ID field will be discarded.
  1210.       The peer may then reduce bandwidth usage by not sending the
  1211.       unsupported traffic.
  1212.  
  1213.    A summary of the LAN-Identification Option format is shown below.
  1214.    The fields are transmitted from left to right.
  1215.  
  1216.     0                   1                   2
  1217.     0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
  1218.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1219.    |     Type      |    Length     | Enable/Disable|
  1220.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1221.  
  1222.  
  1223.    Type
  1224.  
  1225.       5
  1226.  
  1227.    Length
  1228.  
  1229.       3
  1230.  
  1231.  
  1232.  
  1233.  
  1234. Baker & Bowen                                                  [Page 22]
  1235.  
  1236. RFC 1638                      PPP Bridging                     June 1994
  1237.  
  1238.  
  1239.    Enable/Disable
  1240.  
  1241.       If the value is 1, LAN Identification is enabled.  If the value is
  1242.       2, LAN Identification is disabled.
  1243.  
  1244.       The implementations need not agree on the setting of this
  1245.       parameter.  One may be willing to accept LAN Identification and
  1246.       the other not.
  1247.  
  1248. 5.6.  MAC-Address
  1249.  
  1250.    Description
  1251.  
  1252.       The MAC-Address Configuration Option enables the implementation to
  1253.       announce its MAC address or have one assigned.  The MAC address is
  1254.       represented in IEEE 802.1 Canonical format, which is to say that
  1255.       the multicast bit is the least significant bit of the first octet
  1256.       of the address.
  1257.  
  1258.       If the system wishes to announce its MAC address, it sends the
  1259.       option with its MAC address specified.  When specifying a non-zero
  1260.       MAC address in a Configure-Request, any inclusion of this option
  1261.       in a Configure-Nak MUST be ignored.
  1262.  
  1263.       If the implementation wishes to have a MAC address assigned, it
  1264.       sends the option with a MAC address of 00-00-00-00-00-00.  Systems
  1265.       that have no mechanism for address assignment will Configure-
  1266.       Reject the option.
  1267.  
  1268.       A Configure-Nak MUST specify a valid IEEE 802.1 format physical
  1269.       address; the multicast bit MUST be zero.  It is strongly
  1270.       recommended (although not mandatory) that the "locally assigned
  1271.       address" bit (the second least significant bit in the first octet)
  1272.       be set, indicating a locally assigned address.
  1273.  
  1274.    A summary of the MAC-Address Option format is shown below.  The
  1275.    fields are transmitted from left to right.
  1276.  
  1277.     0                   1                   2                   3
  1278.     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
  1279.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1280.    |     Type      |    Length     |MAC byte 1 |L|M|  MAC byte 2   |
  1281.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1282.    |  MAC byte 3   |  MAC byte 4   |  MAC byte 5   |  MAC byte 6   |
  1283.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290. Baker & Bowen                                                  [Page 23]
  1291.  
  1292. RFC 1638                      PPP Bridging                     June 1994
  1293.  
  1294.  
  1295.    Type
  1296.  
  1297.       6
  1298.  
  1299.    Length
  1300.  
  1301.       8
  1302.  
  1303.    MAC Byte
  1304.  
  1305.       Six octets of MAC address in 802.1 Canonical order.  For clarity,
  1306.       the position of the Local Assignment (L) and Multicast (M) bits
  1307.       are shown in the diagram.
  1308.  
  1309. 5.7.  Spanning-Tree-Protocol
  1310.  
  1311.    Description
  1312.  
  1313.       The Spanning-Tree-Protocol Configuration Option enables the
  1314.       Bridges to negotiate the version of the spanning tree protocol in
  1315.       which they will participate.
  1316.  
  1317.       If both bridges support a spanning tree protocol, they MUST agree
  1318.       on the protocol to be supported.  When the two disagree, the
  1319.       lower-numbered of the two spanning tree protocols should be used.
  1320.       To resolve the conflict, the system with the lower-numbered
  1321.       protocol SHOULD Configure-Nak the option, suggesting its own
  1322.       protocol for use.  If a spanning tree protocol is not agreed upon,
  1323.       except for the case in which one system does not support any
  1324.       spanning tree protocol, the Bridging Control Protocol MUST NOT
  1325.       enter the Opened state.
  1326.  
  1327.       Most systems will only participate in a single spanning tree
  1328.       protocol.  If a system wishes to participate simultaneously in
  1329.       more than one spanning tree protocol, it MAY include all of the
  1330.       appropriate protocol types in a single Spanning-Tree-Protocol
  1331.       Configuration Option.  The protocol types MUST be specified in
  1332.       increasing numerical order.  For the purpose of comparison during
  1333.       negotiation, the protocol numbers MUST be considered to be a
  1334.       single number.  For instance, if System A includes protocols 01
  1335.       and 03 and System B indicates protocol 03, System B should
  1336.       Configure-Nak and indicate a protocol type of 03 since 0103 is
  1337.       greater than 03.
  1338.  
  1339.       By default, an implementation MUST either support the IEEE 802.1D
  1340.       spanning tree or support no spanning tree protocol.  An
  1341.       implementation that does not support any spanning tree protocol
  1342.       MUST silently discard any received IEEE 802.1D BPDU packets, and
  1343.  
  1344.  
  1345.  
  1346. Baker & Bowen                                                  [Page 24]
  1347.  
  1348. RFC 1638                      PPP Bridging                     June 1994
  1349.  
  1350.  
  1351.       MUST either silently discard or respond to other received BPDU
  1352.       packets with an LCP Protocol-Reject packet.
  1353.  
  1354.    A summary of the Spanning-Tree-Protocol Option format is shown below.
  1355.    The fields are transmitted from left to right.
  1356.  
  1357.     0                   1                   2                   3
  1358.     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
  1359.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1360.    |     Type      |    Length     |  Protocol 1   |  Protocol 2   | ...
  1361.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  1362.  
  1363.  
  1364.    Type
  1365.  
  1366.       7
  1367.  
  1368.    Length
  1369.  
  1370.       2 octets plus 1 additional octet for each protocol that will be
  1371.       actively supported.  Most systems will only support a single
  1372.       spanning tree protocol, resulting in a length of 3.
  1373.  
  1374.    Protocol n
  1375.  
  1376.       Each Protocol field is one octet and indicates a desired spanning
  1377.       tree protocol.  Up-to-date values of the Protocol field are
  1378.       specified in the most recent "Assigned Numbers" RFC [4].  Current
  1379.       values are assigned as follows:
  1380.  
  1381.  
  1382.            Value     Protocol
  1383.  
  1384.              0       Null (no Spanning Tree protocol supported)
  1385.              1       IEEE 802.1D spanning tree
  1386.              2       IEEE 802.1G extended spanning tree protocol
  1387.              3       IBM Source Route Spanning tree protocol
  1388.              4       DEC LANbridge 100 Spanning tree protocol
  1389.  
  1390.  
  1391.  
  1392.  
  1393.  
  1394.  
  1395.  
  1396.  
  1397.  
  1398.  
  1399.  
  1400.  
  1401.  
  1402. Baker & Bowen                                                  [Page 25]
  1403.  
  1404. RFC 1638                      PPP Bridging                     June 1994
  1405.  
  1406.  
  1407. A.  Tinygram-Compression Pseudo-Code
  1408.  
  1409.     PPP Transmitter:
  1410.  
  1411.     if (ZeroPadCompressionEnabled &&
  1412.         BridgedProtocolHeaderFormat == IEEE8023 &&
  1413.         PacketLength == Minimum8023PacketLength) {
  1414.      /*
  1415.       * Remove any continuous run of zero octets preceding,
  1416.       * but not including, the LAN FCS, but not extending
  1417.       * into the MAC header.
  1418.       */
  1419.         Set (ZeroCompressionFlag);            /* Signal receiver */
  1420.         if (is_Set (LAN_FCS_Present)) {
  1421.             FCS = TrailingOctets (PDU, 4);    /* Store FCS */
  1422.             RemoveTrailingOctets (PDU, 4);    /* Remove FCS */
  1423.             while (PacketLength > 14 &&       /* Stop at MAC header or */
  1424.                    TrailingOctet (PDU) == 0)  /*  last non-zero octet */
  1425.                 RemoveTrailingOctets (PDU, 1);/* Remove zero octet */
  1426.             Appendbuf (PDU, 4, FCS);          /* Restore FCS */
  1427.         }
  1428.         else {
  1429.             while (PacketLength > 14 &&       /* Stop at MAC header */
  1430.                    TrailingOctet (PDU) == 0)  /*  or last zero octet */
  1431.                 RemoveTrailingOctets (PDU, 1);/* Remove zero octet */
  1432.         }
  1433.     }
  1434.  
  1435.     PPP Receiver:
  1436.  
  1437.     if (ZeroCompressionFlag) {                /* Flag set in header? */
  1438.      /* Restoring packet to minimum 802.3 length */
  1439.         Clear (ZeroCompressionFlag);
  1440.         if (is_Set (LAN_FCS_Present)) {
  1441.             FCS = TrailingOctets (PDU, 4);   /* Store FCS */
  1442.             RemoveTrailingOctets (PDU, 4);   /* Remove FCS */
  1443.             Appendbuf (PDU, 60 - PacketLength, zeroes);/* Add zeroes */
  1444.             Appendbuf (PDU, 4, FCS);         /* Restore FCS */
  1445.         }
  1446.         else {
  1447.             Appendbuf (PDU, 60 - PacketLength, zeroes);/* Add zeroes */
  1448.         }
  1449.     }
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.  
  1456.  
  1457.  
  1458. Baker & Bowen                                                  [Page 26]
  1459.  
  1460. RFC 1638                      PPP Bridging                     June 1994
  1461.  
  1462.  
  1463. Security Considerations
  1464.  
  1465.    Security issues are not discussed in this memo.
  1466.  
  1467. References
  1468.  
  1469.    [1] IBM, "Token-Ring Network Architecture Reference", 3rd edition,
  1470.        September 1989.
  1471.  
  1472.    [2] IEEE 802.1, "Draft Standard 802.1G: Remote MAC Bridging",
  1473.        P802.1G/D7, December 30, 1992.
  1474.  
  1475.    [3] IEEE 802.1, "Media Access Control (MAC) Bridges", ISO/IEC 15802-
  1476.        3:1993 ANSI/IEEE Std 802.1D, 1993 edition., July 1993.
  1477.  
  1478.    [4] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1340,
  1479.        USC/Information Sciences Institute, July 1992.
  1480.  
  1481.    [5] Simpson, W., "PPP LCP Extensions", RFC 1570, Daydreamer, January
  1482.        1994.
  1483.  
  1484.    [6] Simpson, W., "The Point-to-Point Protocol (PPP)", RFC 1548,
  1485.        Daydreamer, December 1993.
  1486.  
  1487.    [7] Sklower, K., "A Multilink Protocol for Synchronizing the
  1488.        Transmission of Multi-protocol Datagrams", Work in Progress,
  1489.        August 1993.
  1490.  
  1491.  
  1492.  
  1493.  
  1494.  
  1495.  
  1496.  
  1497.  
  1498.  
  1499.  
  1500.  
  1501.  
  1502.  
  1503.  
  1504.  
  1505.  
  1506.  
  1507.  
  1508.  
  1509.  
  1510.  
  1511.  
  1512.  
  1513.  
  1514. Baker & Bowen                                                  [Page 27]
  1515.  
  1516. RFC 1638                      PPP Bridging                     June 1994
  1517.  
  1518.  
  1519. Acknowledgments
  1520.  
  1521.    This document is a product of the Point-to-Point Protocol Extensions
  1522.    Working Group.
  1523.  
  1524.    Special thanks go to Steve Senum of Network Systems, Dino Farinacci
  1525.    of 3COM, Rick Szmauz of Digital Equipment Corporation, and Andrew
  1526.    Fuqua of IBM.
  1527.  
  1528. Chair's Address
  1529.  
  1530.    The working group can be contacted via the current chair:
  1531.  
  1532.    Fred Baker
  1533.    Advanced Computer Communications
  1534.    315 Bollay Drive
  1535.    Santa Barbara, California  93117
  1536.  
  1537.    EMail: fbaker@acc.com
  1538.  
  1539. Author's Address
  1540.  
  1541.    Questions about this memo can also be directed to:
  1542.  
  1543.    Rich Bowen
  1544.    International Business Machines Corporation
  1545.    P. O. Box 12195
  1546.    Research Triangle Park, NC  27709
  1547.  
  1548.    Phone: (919) 543-9851
  1549.    EMail: Rich_Bowen@vnet.ibm.com
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570. Baker & Bowen                                                  [Page 28]
  1571.  
  1572.