RFC 1763
The PPP Banyan Vines Control Protocol (BVCP)
RFC 1763: The PPP Banyan Vines Control Protocol (BVCP) π¦
okay bestie, RFC 1763 is giving PPP meets Banyan VINES energy, and it's a standards track spec π
- Network Working Group πΈ
- Authors: S. Senum, DigiBoard β¨
- Category: Standards Track π
- Date: March 1995 π
- Obsoletes / updates: the title block doesn't list anything this one obsoletes or updates π«Ά
Status of This Memo β¨
so this doc is an Internet standards track protocol for the Internet community, and it's literally asking for discussion and suggestions for improvements π«Ά For the standardization state and status of this protocol, check the current edition of the "Internet Official Protocol Standards" (STD 1). Distribution of this memo is unlimited π
Abstract π
okay so PPP [1] is the standard way to shove multi-protocol datagrams across point-to-point links π It has an extensible Link Control Protocol, plus a whole family of Network Control Protocols for setting up and configuring different network-layer protocols.
this doc defines the Network Control Protocol that sets up and configures Banyan VINES over PPP. Iconic π
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 β¨
okay so PPP has three main components:
- A method for encapsulating multi-protocol datagrams.
- A Link Control Protocol (LCP) for establishing, configuring, and testing the data-link connection.
- A family of Network Control Protocols for establishing and configuring different network-layer protocols.
main character energy: to get a point-to-point link talking, each end of the PPP link must first send LCP packets to configure and test the data link. Once the link is up and any optional facilities have been negotiated as needed by 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 stays configured until explicit LCP or BVCP packets close it down, or until some external event happens (an inactivity timer expires or a network administrator steps in) π
1.1. Specification of Requirements π
in this doc, a few words are used to signify the requirements of the specification. They're often capitalized, so here's the breakdown π
- MUST: this word, or the adjective "required", means that the definition is an absolute requirement of the specification. no wiggle room π
- MUST NOT: this phrase means that the definition is an absolute prohibition of the specification. absolutely not π
- 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. it's giving "think it through first" π§
- 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. so basically, be ready to get along with the people who did pick it π«Ά
1.2. Terminology π¦
this doc keeps using a few terms, so let's get them straight πΈ
- 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. ngl, the logging part is the cute bit π
2. A PPP Network Control Protocol for VINES π
the Banyan VINES Control Protocol (BVCP) is in charge of configuring, enabling, and disabling the VINES protocol modules on both ends of the point-to-point link π It 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, and any BVCP packets that show up before that phase should be silently discarded π
the Banyan 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 while 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 can be communicated, PPP must reach the Network-Layer Protocol phase, and the Banyan VINES Control Protocol must reach the Opened state. no shortcuts, bestie π
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 sent 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 the one defined in [2] πΈ
2.2. General Considerations π
VINES supports an Address Resolution Protocol, VINES ARP, which is mainly used for address assignment. Since this protocol is part of VINES IP, it's fully supported over BVCP β¨
VINES also supports a data-link Echo Protocol (VINES Echo), which is used to test connectivity to a VINES Server in a LAN environment. That one is not supported over BVCP, so it's a no for this one π
3. BVCP Configuration Options πΈ
BVCP Configuration Options let the standard characteristics of the network-layer protocol get modified through negotiation. 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], just with its own 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). That suggestion was rejected because VINES must already deal with a mix of S-RTP and NS-RTP, and pushing this information down to the PPP layer is not desirable π ββοΈ
3.1. BV-NS-RTP-Link-Type π₯
Description
this Configuration Option is how you negotiate the way the Non-Sequenced Routing Update Protocol (NS-RTP) (pre-VINES 5.5, i.e., 4.11 and 5.0) runs on the link. NS-RTP handles updates differently depending on whether the interface is a LAN type or a WAN type. LAN type: the full routing table is rebroadcast every update interval (90 seconds). 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 it's negotiated separately per side of the PPP connection. When the peer accepts this option, it means the peer will send NS-RTP updates as if the link was a LAN type. When the peer rejects this option (or it's absent), 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: 1
Length: 2
that's the end of part 1 π Part 2 picks up with BV-FRP, BV-RTP and BV-Suppress-Broadcast, so keep your eyes peeled π§
3.2. BV-FRP π
Description
okay bestie, this option is how two sides agree to use the VINES Fragmentation Protocol (FRP) π FRP is what lets a VINES packet get chopped into pieces (fragmented) and then stitched back together (reassembled) over the link π§© Here's the tea: FRP slaps a two octet field onto every packet going over the link. That field holds begin and end fragment information plus a sequence number π¦
With PPP's default MRU of 1500, FRP is not normally needed, so no FRP header gets sent with the VINES packet π But if an MRU of less than 1484 gets negotiated, then FRP becomes necessary so a full size VINES packet can still get over the link β¨ If you're obsessed and want more details, check [2] π
This option is all about what an implementation is willing to receive, and it gets negotiated separately for each side of the PPP connection π€ If the peer accepts this option, that means the peer will send VINES packets with a FRP header π If the peer rejects it (or it's just absent), the peer will send VINES packets without a FRP header πΈ
By default, VINES packets are sent without a FRP header. Main character energy π
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: 2
Length: 2
3.3. BV-RTP π¦
Description
so this one negotiates whether RTP gets used over the link at all π If you're on dial-up lines with static routes, RTP can be totally suppressed to save bandwidth on the link. Iconic for a budget-friendly connection π
This option is about what an implementation is willing to receive, and it's negotiated separately per side of the PPP connection π€ If the peer accepts this option, the peer will not send RTP packets π If the peer rejects it (or it's absent), 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: 3
Length: 2
3.4. BV-Suppress-Broadcast π’
Description
this option is for negotiating the sending of VINES broadcast packets, meaning packets with a destination VINES network address of all ones π Quick note: it only affects VINES packets that are not of type VINES ARP or VINES RTP π
A VINES Client can use this option to ask that most of the broadcast packets a VINES Server would normally send to it get discarded, so the link bandwidth stays happy π§ Most broadcast packets sent by a VINES Server aren't actually useful to a VINES Client, so this is a huge vibe π«Ά
This option is about what an implementation is willing to receive, and it's negotiated separately per side of the PPP connection π€ If the peer accepts this option, the peer MUST NOT send any VINES broadcast packets, other than packets of type VINES ARP or VINES RTP π« If the peer rejects it (or it's absent), 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: 4
Length: 2
Security Considerations π
Security issues are not discussed in this memo. Plot twist, but we're keeping it serious here π
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. 003673.
[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. Iconic behaviour from Bill π
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
π¦ where this page comes from
- ietf: rfc1763 1995-03
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms