Network Working Group
Request for Comments: 1763
Category: Standards Track
S. Senum
DigiBoard
March 1995

The PPP Banyan Vines Control Protocol (BVCP)

Status of this Memo

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

Abstract

The Point-to-Point Protocol (PPP) [1] provides a standard method for transporting multi-protocol datagrams over point-to-point links. PPP defines an extensible Link Control Protocol, and proposes a family of Network Control Protocols for establishing and configuring different network-layer protocols.

This document defines the Network Control Protocol for establishing and configuring the Banyan VINES protocol over PPP.

Table of Contents

   1.     Introduction ..........................................    2
      1.1       Specification of Requirements ...................    2
      1.2       Terminology .....................................    3
   2.     A PPP Network Control Protocol for VINES ..............    3
      2.1       Sending VINES Datagrams .........................    4
      2.2       General Considerations ..........................    4
   3.     BVCP Configuration Options ............................    5
      3.1       BV-NS-RTP-Link-Type .............................    5
      3.2       BV-FRP ..........................................    6
      3.3       BV-RTP ..........................................    7
      3.4       BV-Suppress-Broadcast ...........................    8
   SECURITY CONSIDERATIONS ......................................    9
   REFERENCES ...................................................    9
      ACKNOWLEDGEMENTS ..........................................    9
   CHAIR'S ADDRESS ..............................................   10
   AUTHOR'S ADDRESS .............................................   10

1. Introduction

PPP has three main components:

  1. A method for encapsulating multi-protocol datagrams.
  1. A Link Control Protocol (LCP) for establishing, configuring, and testing the data-link connection.
  1. A family of Network Control Protocols for establishing and configuring different network-layer protocols.

In order to establish communications over a point-to-point link, each end of the PPP link must first send LCP packets to configure and test the data link. After the link has been established and optional facilities have been negotiated as needed by the LCP, PPP must send BVCP packets to choose and configure the VINES network-layer protocol. Once BVCP has reached the Opened state, VINES datagrams can be sent over the link.

The link will remain configured for communications until explicit LCP or BVCP packets close the link down, or until some external event occurs (an inactivity timer expires or network administrator intervention).

1.1. Specification of Requirements

In this document, several words are used to signify the requirements of the specification. These words are often capitalized.

   MUST      This word, or the adjective "required", means that the
             definition is an absolute requirement of the specification.
   
   MUST NOT  This phrase means that the definition is an absolute
             prohibition of the specification.
   
   SHOULD    This word, or the adjective "recommended", means that there
             may exist valid reasons in particular circumstances to
             ignore this item, but the full implications must be
             understood and carefully weighed before choosing a
             different course.
   
   MAY       This word, or the adjective "optional", means that this
             item is one of an allowed set of alternatives.  An
             implementation which does not include this option MUST be
             prepared to interoperate with another implementation which
             does include the option.

1.2. Terminology

This document frequently uses the following terms:

   datagram  The unit of transmission in the network layer (such as IP).
             A datagram may be encapsulated in one or more packets
             passed to the data link layer.
   
   frame     The unit of transmission at the data link layer.  A frame
             may include a header and/or a trailer, along with some
             number of units of data.
   
   packet    The basic unit of encapsulation, which is passed across the
             interface between the network layer and the data link
             layer.  A packet is usually mapped to a frame; the
             exceptions are when data link layer fragmentation is being
             performed, or when multiple packets are incorporated into a
             single frame.
   
   peer      The other end of the point-to-point link.

silently discard

This means the implementation discards the packet without further processing. The implementation SHOULD provide the capability of logging the error, including the contents of the silently discarded packet, and SHOULD record the event in a statistics counter.

2. A PPP Network Control Protocol for VINES

The Banyan VINES Control Protocol (BVCP) is responsible for configuring, enabling, and disabling the VINES protocol modules on both ends of the point-to-point link. BVCP uses the same packet exchange mechanism as the Link Control Protocol. BVCP packets may not be exchanged until PPP has reached the Network-Layer Protocol phase. BVCP packets received before this phase is reached should be silently discarded.

The Baynan VINES Control Protocol is exactly the same as the Link Control Protocol [1] with the following exceptions:

   Frame Modifications

The packet may utilize any modifications to the basic frame format which have been negotiated during the Link Establishment phase.

Data Link Layer Protocol Field

Exactly one BVCP packet is encapsulated in the Information field of a PPP Data Link Layer frame where the Protocol field indicates type hex 8035 (Banyan VINES Control Protocol).

   Code field
   
      Only Codes 1 through 7 (Configure-Request, Configure-Ack,
      Configure-Nak, Configure-Reject, Terminate-Request, Terminate-Ack
      and Code-Reject) are used.  Other Codes should be treated as
      unrecognized and should result in Code-Rejects.
   
   Timeouts

BVCP packets may not be exchanged until PPP has reached the Network-Layer Protocol phase. An implementation should be prepared to wait for Authentication and Link Quality Determination to finish before timing out waiting for a Configure-Ack or other response. It is suggested that an implementation give up only after user intervention or a configurable amount of time.

   Configuration Option Types

BVCP has a distinct set of Configuration Options.

2.1. Sending VINES Datagrams

Before any VINES datagrams may be communicated, PPP must reach the Network-Layer Protocol phase, and the Banyan VINES Control Protocol must reach the Opened state.

Exactly one VINES packet is encapsulated in the Information field of a PPP Data Link Layer frame where the Protocol field indicates type hex 0035 (Banyan VINES datagram). The maximum length of a VINES datagram transmitted over a PPP link is the same as the maximum length of the Information field of a PPP data link layer frame.

The format of the Information field itself is the same as that defined in [2].

2.2. General Considerations

VINES supports an Address Resolution Protocol, VINES ARP, primarily used for address assignment. Since this protocol is part of VINES IP, it is fully supported over BVCP. VINES also supports a data-link Echo Protocol (VINES Echo), used to test connectivity to a VINES Server in a LAN environment, which is not supported over BVCP.

3. BVCP Configuration Options

BVCP Configuration Options allow modifications to the standard characteristics of the network-layer protocol to be negotiated. If a Configuration Option is not included in a Configure-Request packet, the default value for that Configuration Option is assumed.

BVCP uses the same Configuration Option format defined for LCP [1], with a separate set of Options.

Up-to-date values of the BVCP Option Type field are specified in the most recent "Assigned Numbers" RFC [3]. Current values are assigned as follows:

      Value   Option
      
        1     BV-NS-RTP-Link-Type
        2     BV-FRP
        3     BV-RTP
        4     BV-Suppress-Broadcast

Note: A suggestion was made to combine the BV-NS-RTP-Link-Type option and the BV-RTP option into a single option that could negotiate one of four settings (S-RTP, NS-RTP-LAN, NS-RTP-WAN, NO-RTP). This suggestion has been rejected because VINES must already deal with a mix of S-RTP and NS-RTP, and that pushing this information down to the PPP layer is not desirable.

3.1. BV-NS-RTP-Link-Type

   Description

This Configuration Option provides a way to negotiate the way the Non-Sequenced Routing Update Protocol (NS-RTP) (pre-VINES 5.5, i.e., 4.11 and 5.0) will run on the link. NS-RTP handles updates differently depending on whether the interface is a LAN type or a WAN type. For a LAN type, the full routing table is rebroadcast every update interval (90 seconds). For a WAN type, the full routing table is only transmitted for the first 3 update intervals after the link comes up. After that only changes are transmitted (for 5 update intervals). Note that this has no effect if Sequenced RTP (VINES 5.5) is being used. More information on this can be found in [2].

This option negotiates what an implementation is willing to receive, and is negotiated separately per side of the PPP connection. The acceptance of this option (by the peer) indicates that the peer will send NS-RTP updates as if the link was a LAN type. The rejection (or absence) of this option indicates that the peer will send NS-RTP updates as if the link was a WAN type.

By default, NS-RTP updates are sent as if the link was a WAN type.

A summary of the BV-NS-RTP-Link-Type Configuration Option format is shown below. The fields are transmitted from left to right.

       0                   1
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |    Length     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      
      Type
      Length

3.2. BV-FRP

   Description

This Configuration Option provides a way to negotiate the use of VINES Fragmentation Protocol (FRP). This protocol is used to allow fragmentation and reassembly of a VINES packet over the link. FRP prepends a two octet field to every packet going over the link that contains a begin and end fragment information and a sequence number. With PPP's default MRU of 1500, FRP is not normally needed, and no FRP header would be sent with the VINES packet. If a MRU of less than 1484 is negotiated, FRP will be needed to send a full size VINES packet over the link. More information on this can be found in [2].

This option negotiates what an implementation is willing to receive, and is negotiated separately per side of the PPP connection. The acceptance of this option (by the peer) indicates that the peer will send VINES packets with a FRP header. The rejection (or absence) of this option indicates that the peer will send VINES packets without a FRP header.

By default, VINES packets are sent without a FRP header.

A summary of the BV-FRP Configuration Option format is shown below. The fields are transmitted from left to right.

       0                   1
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |    Length     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      
      Type
      Length

3.3. BV-RTP

   Description

This Configuration Option provides a way to negotiate whether RTP is used over the link. If dial-up lines with static routes are being used, the use of RTP may be totally suppressed to conserve bandwidth on the link.

This option negotiates what an implementation is willing to receive, and is negotiated separately per side of the PPP connection. The acceptance of this option (by the peer) indicates that the peer will not send RTP packets. The rejection (or absence) of this option indicates that the peer will send any RTP packets.

By default, RTP packets are sent over the link.

A summary of the BV-RTP Configuration Option format is shown below. The fields are transmitted from left to right.

       0                   1
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |    Length     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      
      Type
      Length

3.4. BV-Suppress-Broadcast

   Description

This Configuration Option provides a way to negotiate the sending of VINES broadcast packets, i.e., packets with a destination VINES network address of all ones. This option only affects VINES packets that are not of type VINES ARP or VINES RTP. This option can be used by a VINES Client to request that most of the broadcast packets that would normally be sent to it by a VINES Server be discarded, in order to conserve link bandwidth. Most of the broadcast packets sent by a VINES Server are not useful to a VINES Client.

This option negotiates what an implementation is willing to receive, and is negotiated separately per side of the PPP connection. The acceptance of this option (by the peer) indicates that the peer MUST NOT send any VINES broadcast packets, other than packets of type VINES ARP or VINES RTP. The rejection (or absence) of this option indicates that the peer will send all VINES broadcast packets.

By default, all VINES broadcast packets are sent.

A summary of the BV-Suppress-Broadcast Configuration Option format is shown below. The fields are transmitted from left to right.

       0                   1
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Type      |    Length     |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      
      Type
      Length

Security Considerations

Security issues are not discussed in this memo.

References

   [1] Simpson, W., "The Point-to-Point Protocol (PPP)", STD 51, RFC
       1661, Daydreamer, July 1994.

[2] Banyan, "VINES Protocol Definition", June 1993, Order No.

   [3] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1700,
       USC/Information Sciences Institute, October 1994.

Acknowledgements

Some of the text in this document is taken from previous documents produced by the Point-to-Point Protocol Working Group of the Internet Engineering Task Force (IETF).

In particular, Bill Simpson provided the boiler-plate used to create this document.

Chair's Address

The working group can be contacted via the current chair:

Fred Baker
Cisco Systems
519 Lado Drive
Santa Barbara, California 93111

   Phone: (805) 681-0115
   EMail: fred@cisco.com

Author's Address

Questions about this memo can also be directed to:

Steven J. Senum
DigiBoard
6400 Flying Cloud Drive
Eden Prairie, Minnesota 55344

   Phone: (612) 943-9020
   EMail: sjs@digibd.com