rfc705.txt
来自「RFC 的详细文档!」· 文本 代码 · 共 1,937 行 · 第 1/5 页
TXT
1,937 行
Network Working Group
Request for Comments: 705
NIC# 33644
FRONT - END PROTOCOL
B6700 VERSION
2 September 1975
This is a working document which has been developed as the specification
and guideline for design of a Burroughs B6700 attachment to an ARPA-Style
network.
The approach is to utilize a front-end processor with a new protocol for
network operation. That protocol, described herein, has been built upon
the 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 helpful
if interested networkers will review and provide comments to us.
Comments to BRYAN@ISI.
Roland Bryan - ACC 1
Network Working Group
Request for Comments: 705
Front-End Protocol: B6700 Version
***WORKING DOCUMENT***
FRONT-END PROTOCOL
PREFACE
This 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 paragraph
marked with [n], refers a reader familiar with network protocols to the
n-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 different
connection 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 line
protocol, at a lower level, will be established between the device-driver
modules in the Host and the Front-End, and that this line protocol provides
Front-End Protocol with error-free transmissions.
INTRODUCTION 2
A host computer may be connected to a network for a variety of reasons.
Network connection may be an attempt to expand the usefulness of the
Host to the community of users which it serves by making network resources
available 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***
1
RFC 705
Front-End Protocol
***WORKING DOCUMENT***
A host which directly connects into the network must assume the responsibility
for implementing this set of protocols. That is the "price of admission"
to become a network host. It is not necessary to implement every protocol
and every option in every host, but even in the simplest case -- implementation
of an NCP is not a small task. The intrusion into the normal operating
environment of the host is also not small.
An alternative method for network connection is to connect the host to some
intermediate processor, and in turn, directly connect that processor to the
network. This approach is called "Front-Ending." There are many arguments
which 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 the
front-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 and
a front-end processor which is providing it network access. The Front End
Protocol (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 services
which it is providing. Of primary consideration in specification of FEP
was that it must provide the host with a sufficiently robust command
repertoire to perform its network tasks, while buffering it from the
details of network protocols.
CONCEPTS 3
Introduction 3a
Before a detailed description of the command structures is undertaken it
seems appropriate to introduce several of the concepts upon which the FEP
is predicated.
The following section serves to briefly describe the FEP commands, and to
elaborate on the concepts of addressing and types of connections provided.
***WORKING DOCUMENT***
2
RFC 705
Front-End Protocol
***WORKING DOCUMENT***
Commands (General) 3b
1. BEGIN Command
This command is sent from the host to the front-end processor. Its function
is to direct the establishment of one or more network connections. The type
and number of connections is specified in the BEGIN command string.
2. LISTEN Command
Through this command the host indicates its willingness to accept requests
for connection arriving from other hosts. It directs the front-end processor
to LISTEN for any such connection requests. The number and type of
connections are specified in the command string.
3. RESPONSE Command
The front-end processor uses the RESPONSE command to indicate to the host that
a particular path specified in a BEGIN or LISTEN command is now open or that
the open attempt failed.
4. MESSAGE Command
Message text passing between the host and its front-end processor is sent in
this command string. The MESSAGE command is bi-directional, and is the same
for host or front-end.
5. INTERRUPT Command
The INTERRUPT command is sent by either the host of FE. Its most common use is
to 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 Command
One or more connections may be closed by either the FE or the host issuing
this command. The connection(s) which are affected by the action of the END
are specified in the command string.
7. REPLY Command
This command is required to be sent by both the host and FE to acknowledge
receipt of all command types (except REPLY). The success or failure of the
command being acknowledged is conveyed in the REPLY command string.
***WORKING DOCUMENT***
3
RFC 705
Front-End Protocol
***WORKING DOCUMENT***
Connections 3c
In order to engage in a meaningful conversation, the parties involved must
be connected. A network connection is defined by the ARPA Host-Host Protocol
document (Nic #8246) as follows : "A connection couples two processes so
that output from one process is input to the other. Connections are defined
to be unidirectional, so two connections are necessary if a pair of processes
are to converse in both directions." The components of a connection, the
sockets, are defined: "... a socket forms the reference for one end of a
connection, 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 same
number 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 the
Host's procedures in these cases, FEP permits duplex connections on which
the 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, in
addition to accommodating existing protocols and allowing for the
development of new protocols.
Addressing 3d
Conversations in FEP are uniquely identified at initiation by some combination
of 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 Address
If, through the BEGIN command, the local Host explicitly directs the creation
of network connection(s), it must specify the address of the foreign host to
which it desires communication. If the local host indicates a willingness to
communicate, 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***
4
RFC 705
Front-End Protocol
***WORKING DOCUMENT***
Socket
A 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 socket
forms the reference for one end of a network connection. To the extent
possible, the FEP shields the Host from the responsibility of assigning
sockets 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 establishing
connections.
It is through a "well-advertised" socket that a host provides services
to other members of the network community. The Initial Connection
Protocol (ICP) [1] is used to first connect to the well-advertised socket
in order to exchange the number of a presently unused socket which is then
used for the connections required so that the well-advertised socket can
be 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 3e
Indexes 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 be
associated 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 an
index) and all network communication is transmitted on some path.
The maximum number of indexes which may be in use at any one time, and the
maximum 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***
5
RFC 705
Front-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 those
commands which do not create new paths or indexes, if PATH is 0, then all
paths associated with this INDEX are addressed; if PATH is non-zero, only the
specific path within the specified INDEX is addressed.
Path Types 3f
A 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 SEND
or RECEIVE. However, a DUPLEX path is formed by the FE connecting two local
sockets to two foreign sockets. This is a "duplex connection" which is
composed of two network (simplex) connections.
Modes of Establishing a Path 3g
One or more paths are established by the action of a single BEGIN or LISTEN
command, 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 not
affected by the mode.
When any of the path types is specified with the ICP mode, the socket value
in the SOCKET field is used as the "well-advertised" socket and an actual
working socket will be exchanged according to the Initial Connection Protocol.
When the direct mode is indicated, the specified socket is used as the working
socket.
***WORKING DOCUMENT***
6
RFC 705
Front-End Protocol
***WORKING DOCUMENT***
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?