📄 rfc2097.txt
字号:
Network Working Group G. PallRequest for Comments: 2097 Microsoft Corp.Category: Standards Track January 1997 The PPP NetBIOS Frames Control Protocol (NBFCP)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. The NBF protocol [3] was originally called the NetBEUI protocol. This document defines the Network Control Protocol for establishing and configuring the NBF protocol over PPP. The NBFCP protocol is only applicable for an end system to connect to a peer system or the LAN that peer system is connected to. It is not applicable for connecting two LANs together due to NetBIOS name limitations and NetBIOS name defense mechanisms.Table of Contents 1. Introduction .......................................... 2 1.1 Specification of Requirements ................... 2 1.2 Terminology ..................................... 3 2. A PPP Network Control Protocol for NBF ................ 3 2.1 Sending NBF Datagrams ........................... 4 2.2 Bridging NBF Datagrams........................... 5 2.3 NetBIOS Name Defense............................. 5 3. NBFCP Configuration Options ........................... 6 3.1 Name-Projection.................................. 6 3.2 Peer-Information................................. 8 3.3 Multicast-Filtering.............................. 10 3.4 IEEE-MAC-Address-Required........................ 11 SECURITY CONSIDERATIONS ...................................... 12 REFERENCES ................................................... 12Pall Standards Track [Page 1]RFC 2097 NBFCP January 1997 ACKNOWLEDGEMENTS ............................................. 13 CHAIR'S ADDRESS .............................................. 13 AUTHOR'S ADDRESS ............................................. 131. Introduction PPP has three main components: 1. A method for encapsulating multi-protocol datagrams. 2. A Link Control Protocol (LCP) for establishing, configuring, and testing the data-link connection. 3. 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 NBFCP packets to choose and configure the NBF network-layer protocol. Once NBFCP has reached the Opened state, NBF datagrams can be sent over the link. The link will remain configured for communications until explicit LCP or NBFCP 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 should be understood and carefully weighed before choosing a different course.Pall Standards Track [Page 2]RFC 2097 NBFCP January 1997 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: 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. end-system A user's machine. It only sends packets to servers and other end-systems. It doesn't pass any packets through itself. router Allows packets to pass through, usually from one ethernet segment to another. Sometimes these are called "intermediate-systems". bridge Allows packets to pass through with the data field unmodified. Usually from one ethernet segment to another or from one ethernet segment to a token-ring segment. gateway Allows packets to be sent from one network protocol to the same or different network protocol. For example, NetBIOS packets from an NBF network to a TCP/IP network which has implemented RFC 1001 and RFC 1002. local access only server A server which does not pass any packets through itself to other servers.2. A PPP Network Control Protocol for NBF The NBF Control Protocol (NBFCP) is responsible for configuring, enabling, and disabling the NBF protocol modules on both ends of the point-to-point link. NBFCP uses the same packet exchange mechanism as the Link Control Protocol. NBFCP packets MUST NOT be exchanged until PPP has reached the Network-Layer Protocol phase. NBFCP packets received before this phase is reached should be silentlyPall Standards Track [Page 3]RFC 2097 NBFCP January 1997 discarded. The NBF 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 NBFCP packet is encapsulated in the Information field of a PPP Data Link Layer frame where the Protocol field indicates type hex 803f (NBF 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 NBFCP packets MUST 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. Also, because NetBIOS name defense takes time (typically a minimum of 3 seconds if names are added in parallel), it is suggested that if Name-Projection is negotiated, the timeouts are increased to 10 seconds. Configuration Option Types NBFCP has a distinct set of Configuration Options.2.1. Sending NBF Datagrams Before any NBF packets may be communicated, PPP must reach the Network-Layer Protocol phase, and the NBF Control Protocol must reach the Opened state. Unless otherwise negotiated, exactly one NBF packet is encapsulated in the Information field of a PPP Data Link Layer frame where thePall Standards Track [Page 4]RFC 2097 NBFCP January 1997 Protocol field indicates type hex 003f (NBF datagram). Since NBF datagrams for PPP do not contain a datagram length field, the encapsulated NBF packet MUST NOT contain any extra octet padding except when Self-Defining-Padding is negotiated. The maximum length of an NBF datagram transmitted over a PPP link is the same as the maximum length of the Information field of a PPP data link layer frame. Since there is no standard method for fragmenting and reassembling NBF datagrams, PPP links supporting NBF MUST allow at least 576 octets in the information field of a data link layer frame. It is recommended that an implementation allow 1500 octets in the information field unless the IEEE-MAC-Address-Required boolean option is negotiated (see below).2.2 Bridging NBF Datagrams There exist at least four different MAC header implementations for NBF packets: 802.3 Ethernet, 802.5 Token-Ring, DIX Ethernet, and FDDI. Because NBF is not a routable protocol, some PPP implementations may require IEEE MAC addresses to properly route or bridge NBF packets. Some PPP implementations may require the entire MAC media header in order to properly route or bridge NBF packets. Other smarter implementations may only require the IEEE MAC addreses, and still other implementations (such as NetBIOS gateways) may not require any MAC address fields. NBFCP implementations which require IEEE Addresses should negotiate the NBFCP IEEE-MAC-Address-Required boolean configuartion option so that the MAC header can be provided in the NBF packet. If IEEE-MAC-Address-Required boolean configuration option is negotiated, all NBF datagrams MUST be sent with the specified 12 octet IEEE MAC address header. Since negotiation of this option occurs after the LCP phase, NBF packets MAY exceed the negotiated PPP MRU size. A PPP implementation which negotiates this option MUST allow reception of PPP NBF packets 12 octets larger than the negotiated MRU size.2.3 NetBIOS Name Defense In order to guarantee uniqueness of NetBIOS Names on the network, NBFCP requires that end-system implementations MUST negotiate the Name-Projection configuration option.Pall Standards Track [Page 5]RFC 2097 NBFCP January 19973. NBFCP Configuration Options NBFCP 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. NBFCP uses the same Configuration Option format defined for LCP [1], with a separate set of Options. Up-to-date values of the NBFCP Option Type field are specified in the most recent "Assigned Numbers" RFC [2]. Current values are assigned as follows: 1 Name-Projection 2 Peer-Information 3 Multicast-Filtering 4 IEEE-MAC-Address-Required3.1. Name-Projection Description This Configuration Option provides a method for the peer to provide the NetBIOS names registered on its network. The sender of the Configure-Request states which NetBIOS names should be added by the remote peer. More than one Name-Projection option MAY appear in a single Configure-Request. Implementations which do not attempt to add any NetBIOS names MUST Configure-Reject the Name-Projection Configuration Option. If the Name-Projection Configuration Option is not offered by the remote peer, but is required by the local peer, the local peer should Configure-Nak the request and indicate that it wishes the remote peer to add zero NetBIOS names because it is the only known acceptable value. The remote peer may then terminate NBFCP, attempt to add zero NetBIOS names, or attempt add one or more NetBIOS names. When the receiving peer cannot add all the requested names, it MUST Configure-Nak with the complete list of names requested. Those names which could be added should have the Added field set to zero. Those names which could not be added should have the Added field set to an appropriate non-zero return code. The sender of this Configuration Option SHOULD then resend the Configure-Request with the successfully added names.Pall Standards Track [Page 6]RFC 2097 NBFCP January 1997 The implementation may choose to fail configuration if the complete list of NetBIOS names is not accepted. By failing, the implementation should terminate NBFCP by sending a Terminate- Request packet. Because adding NetBIOS names can take time (usually 3 seconds) and because PPP may default the restart timer to 3 seconds, the restart timer SHOULD default to 10 seconds when configuring NetBIOS names. A summary of the Name-Projection Configuration Option format is shown below. The fields are transmitted from left to right. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Type | Length | 1st NetBIOS-Name +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 1st NetBIOS-Name (cont.) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 1st NetBIOS-Name (cont.) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 1st NetBIOS-Name (cont.) +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -