📄 rfc705.txt
字号:
Network Working GroupRequest for Comments: 705NIC# 33644 FRONT - END PROTOCOL B6700 VERSION 2 September 1975This is a working document which has been developed as the specification and guideline for design of a Burroughs B6700 attachment to an ARPA-Stylenetwork.The approach is to utilize a front-end processor with a new protocol for network operation. That protocol, described herein, has been built uponthe concepts expressed by M.A. Padlipsky, et al, in NIC# 31117, RFC# 647.This proposed, site-specific, FEP implementation is the work of Gerald Bailey and Keith McCloghrie of NSA and of David Grothe of ACC. It has already sustained some corrections provided by MAP. It will be helpfulif interested networkers will review and provide comments to us.Comments to BRYAN@ISI.Roland Bryan - ACC 1Network Working GroupRequest for Comments: 705Front-End Protocol: B6700 Version ***WORKING DOCUMENT*** FRONT-END PROTOCOL PREFACEThis document describes the protocol to be used for connecting a general-purpose computer system (host) to an ARPANET-like network via a "front-end" computer. The main body of the document is aimed at a reader who is not conversant with all the details of network protocols. However, a paragraphmarked with [n], refers a reader familiar with network protocols to then-th item of Appendix A which will amplify that particular paragraph. Further information on the network protocols referred to in this document can be obtained from the Network Information Center.Appendix B contains diagrams showing the transitions between the differentconnection states. Appendices C and D give the implementation details of this protocol in the Front-End and the Hosts.This protocol is predicated upon the assumption that for each host, a lineprotocol, at a lower level, will be established between the device-drivermodules in the Host and the Front-End, and that this line protocol providesFront-End Protocol with error-free transmissions. INTRODUCTION 2A host computer may be connected to a network for a variety of reasons. Network connection may be an attempt to expand the usefulness of theHost to the community of users which it serves by making network resourcesavailable to them. Conversely, the services which the Host provides may be made available to a larger community of users, with the network providing the method of access to those services.In order for members of a network community to communicate in an intelligent way, there must exist a set of protocols. The implementation of these protocols in a host computer is typically called the Network Control Program(NCP). The size and complexity of the NCP is proportional to the number and complexity of protocols which it implements. For an ARPANET like network,both the number and complexity are substantial. ***WORKING DOCUMENT*** 1RFC 705Front-End Protocol ***WORKING DOCUMENT***A host which directly connects into the network must assume the responsibilityfor implementing this set of protocols. That is the "price of admission"to become a network host. It is not necessary to implement every protocoland every option in every host, but even in the simplest case -- implementationof an NCP is not a small task. The intrusion into the normal operatingenvironment of the host is also not small.An alternative method for network connection is to connect the host to someintermediate processor, and in turn, directly connect that processor to thenetwork. This approach is called "Front-Ending." There are many argumentswhich may be posed to justify a host connection to a network through a front-end processor. The most obvious being that the responsibility for implementation of the network protocols (the NCP) can be delegated to thefront-end (FE), thereby reducing the impact on the host.The purpose of this document is not to justify Front-Ending as a philosophy,but rather, to introduce a protocol for communications between a host anda front-end processor which is providing it network access. The Front EndProtocol (FEP) is intended to permit the host to make use of the network through existing protocols, without requiring that it be cognizant of the complexities and implementation detail inherent in their execution.The FEP is sufficiently general to permit its implementation in the host to be in terms of the function the host is performing, or the serviceswhich it is providing. Of primary consideration in specification of FEPwas that it must provide the host with a sufficiently robust command repertoire to perform its network tasks, while buffering it from thedetails of network protocols. CONCEPTS 3Introduction 3aBefore a detailed description of the command structures is undertaken it seems appropriate to introduce several of the concepts upon which the FEPis predicated.The following section serves to briefly describe the FEP commands, and toelaborate on the concepts of addressing and types of connections provided. ***WORKING DOCUMENT*** 2RFC 705Front-End Protocol ***WORKING DOCUMENT***Commands (General) 3b1. BEGIN CommandThis command is sent from the host to the front-end processor. Its functionis to direct the establishment of one or more network connections. The typeand number of connections is specified in the BEGIN command string.2. LISTEN CommandThrough this command the host indicates its willingness to accept requestsfor connection arriving from other hosts. It directs the front-end processorto LISTEN for any such connection requests. The number and type of connections are specified in the command string.3. RESPONSE CommandThe front-end processor uses the RESPONSE command to indicate to the host thata particular path specified in a BEGIN or LISTEN command is now open or thatthe open attempt failed.4. MESSAGE CommandMessage text passing between the host and its front-end processor is sent inthis command string. The MESSAGE command is bi-directional, and is the same for host or front-end.5. INTERRUPT CommandThe INTERRUPT command is sent by either the host of FE. Its most common use isto convey that the user wishes to terminate what he is doing - i.e., he has depressed the Control-C, ATTN, or INT key.6. END CommandOne or more connections may be closed by either the FE or the host issuingthis command. The connection(s) which are affected by the action of the END are specified in the command string.7. REPLY CommandThis command is required to be sent by both the host and FE to acknowledgereceipt of all command types (except REPLY). The success or failure of thecommand being acknowledged is conveyed in the REPLY command string. ***WORKING DOCUMENT*** 3RFC 705Front-End Protocol ***WORKING DOCUMENT***Connections 3cIn order to engage in a meaningful conversation, the parties involved mustbe connected. A network connection is defined by the ARPA Host-Host Protocoldocument (Nic #8246) as follows : "A connection couples two processes sothat output from one process is input to the other. Connections are definedto be unidirectional, so two connections are necessary if a pair of processesare to converse in both directions." The components of a connection, thesockets, are defined: "... a socket forms the reference for one end of aconnection, and a connection is fully specified by a pair of sockets. A socket is identified by a Host number and a 32-bit socket number. The samenumber in different Hosts represents different sockets."The existing network protocols incorporate prescribed strategies for selecting socket assignments, pairing sockets to form connections, and in the number of connections required to implement the protocol.Conversations, in most cases, are bi-directional. Thus to simplify theHost's procedures in these cases, FEP permits duplex connections on whichthe Host can both send and receive. Send only and Receive only connections are also available for those situations where communication is one-way.Thus, FEP provides the flexibility to reduce complexity in the Host, inaddition to accommodating existing protocols and allowing for the development of new protocols.Addressing 3dConversations in FEP are uniquely identified at initiation by some combinationof Host address, Index number, Path number and Socket assignment. The Host address and Socket assignment are required to form the connection(s); there-after the Index and Path are sufficient to identify the conversation.Host AddressIf, through the BEGIN command, the local Host explicitly directs the creationof network connection(s), it must specify the address of the foreign host towhich it desires communication. If the local host indicates a willingness tocommunicate, through the LISTEN command, the Front-End processor will supply the address of the connecting foreign host(s) in its RESPONSE command(s). ***WORKING DOCUMENT*** 4RFC 705Front-End Protocol ***WORKING DOCUMENT*** SocketA socket is either a send socket or a receive socket. This property is called the socket's gender. The sockets at either end of a network connection must be of opposite gender. As previously defined a socketforms the reference for one end of a network connection. To the extentpossible, the FEP shields the Host from the responsibility of assigningsockets for individual conversations. However, because the socket is a fundamental part of the addressing mechanism of the network,the Host may need to be aware of socket assignments when establishingconnections.It is through a "well-advertised" socket that a host provides servicesto other members of the network community. The Initial Connection Protocol (ICP) [1] is used to first connect to the well-advertised socketin order to exchange the number of a presently unused socket which is thenused for the connections required so that the well-advertised socket canbe freed for others attempting to connect.When establishing a conversation (with a BEGIN or LISTEN command) the Host indicates in the value of the CONN-TYPE field whether the socket specified is to be employed directly, or to be used as an initial connection socket.Index/Path Addressing 3eIndexes are values assigned by the local Host to identify network con-versations. When conversations are established (with the BEGIN or LISTEN commands) the Host must specify an index value. This value will beassociated with the resultant conversations for their duration.It is often necessary to affiliate conversations [2]. To accommodate this, data paths are defined such that each index has one or more path(s) associated with it (a path can not exist except as a subordinate to anindex) and all network communication is transmitted on some path.The maximum number of indexes which may be in use at any one time, and themaximum number of paths within one index are installation parameters.Index 0 is reserved for controlling other indexes, and logically represent the"pipe" through which all other indexes "flow." ***WORKING DOCUMENT*** 5RFC 705Front-End Protocol ***WORKING DOCUMENT***Addresses in FEP command strings are conveyed by the pair of fields "INDEX"and "PATH." In commands which cause new indexes to be opened, or new data paths to be added to an existing index (BEGIN or LISTEN), the PATH field indicates the first path to be acted upon by this command. For thosecommands which do not create new paths or indexes, if PATH is 0, then allpaths associated with this INDEX are addressed; if PATH is non-zero, only the specific path within the specified INDEX is addressed.Path Types 3fA path can be one of three types: a. DUPLEX - both the Host and the FE can issue MESSAGE commands on the path. b. SEND - only the Host can issue MESSAGE commands on the path. c. RECEIVE - only the FE can issue MESSAGE commands on the path.The paths within an index may be a mixture of path types but one BEGIN/LISTEN must be used for each contiguous set of the same type.An FEP path is analogous to a network connection with the following exception.Network connections are always simplex. This is true for paths of type SENDor RECEIVE. However, a DUPLEX path is formed by the FE connecting two localsockets to two foreign sockets. This is a "duplex connection" which iscomposed of two network (simplex) connections.Modes of Establishing a Path 3gOne or more paths are established by the action of a single BEGIN or LISTENcommand, with the mode specified in the CONN-TYPE field of the command.Each of the path types is established in one of two modes - directly or via ICP. The gender of the path (its ability to receive or send or both) is notaffected by the mode.When any of the path types is specified with the ICP mode, the socket valuein the SOCKET field is used as the "well-advertised" socket and an actualworking socket will be exchanged according to the Initial Connection Protocol.When the direct mode is indicated, the specified socket is used as the workingsocket. ***WORKING DOCUMENT*** 6RFC 705Front-End Protocol ***WORKING DOCUMENT***In either mode, when multiple paths are indicated, the next higher socketnumber values of the appropriate gender are selected for each path. [3]Translation 3h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -