⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rfc705.txt

📁 RFC 相关的技术文档
💻 TXT
📖 第 1 页 / 共 5 页
字号:
FEP is device independent.  For the present however, an initial implementationwill be accomplished using the DEC PDP/11 computer as the FE device and thefront-end software is to be based upon an extended version of the original ELFsystem developed at SCRL.For more detailed information, see Appendix C.	by :								  9		G. W. Bailey	(BAILEY@OFFICE-1)		K. McCloghrie   (MCCLOGHRIE@OFFICE-1)                        ***WORKING DOCUMENT***                                  28RFC 705Front-End Protocol                        ***WORKING DOCUMENT***                              APPENDIX A				  10                              References[1]	ICP is used in this document in a less strict manner than specified	in NIC 7101, in that it is not necessarily two simplex connections	that are set up as the result of the exchange of the socket number	on the initial connection.[2]	An example of connections needing to be affiliated, is in the	implementation of FTP, where the control connection and the data	connection have a defined relationship in their socket assignments.[3]	Note that a range of socket numbers is reserved for use by an index	when it is set-up (cf. AEN).	However, socket numbers for the paths of an index are not necessarily	contiguous.  For instance, when the next path opened after a SEND	path is another SEND path, or when a path other than the first of an	index is opened with ICP specified.  Nevertheless, if a protocol	requires contiguous sockets, then the opening of the paths in a logical	manner will provide the contiguity.[4]	One possible translation will be from a Network Virtual Terminal on	the network side to a local terminal type on the Host side.[5]	The FE will directly equate the INTERRUPT command with the Host-Host	protocol INR/INS commands.[6]	Note that the READY indication in a REPLY is, in the general case,	not directly related to a network RFNM; unless it is heavily loaded, 	the FE will be buffering possibly more than one message (in either	direction) until flow control mechanism allow the messages to be sent	on.	However, it is possible that a particular Host might wish to have	knowledge of receipt of a previous message before transmitting the	next.  In this case, the FEP implementation could be set up to only	indicate READY after receiving the RFNM and possibly only send RFNMs	after receiving a REPLY containing an ACK.                        ***WORKING DOCUMENT***                                  29RFC 705Front-End Protocol                        ***WORKING DOCUMENT***                              APPENDIX B				  11                            State DiagramsIn the state diagrams below the following notation is used:	REPLY(A)    - REPLY with ACK=1, READY/NOT-READY irrelevant	REPLY(N)    - REPLY with NAK=1, READY/NOT-READY irrelevant	REPLY(R)    - REPLY with ACK=0, NAK=0, READY=1	REPLY(A+R)  - REPLY with ACK=1, READY=1	REPLY(N+R)  - REPLY with NAK=1, READY=1	REPLY(A+NR) - REPLY with ACK=1, NOT-READY=1	REPLY(N+NR) - REPLY with NAK=1, NOT-READY=1                       State Diagram for INDEX	/ ------\                   /-------\           /-----\	!       !BEGIN(new index)   !       !           !     !	!       !->--------------->-!Index  !           !     !	!Index  !LISTEN(new index)  !Open   !           !     !	!Closed !                   !Pending!           !Index!	!       !           REPLY(N)!       !REPLY(A)   !Open !	!       !-<---------------<-!       !->------->-!     !	!       !                   \-------/           !     !	!       !                                       !     !	!       !             /-------\      END(Path=0)!     !	!       !             !       !-<-------------<-!     !	!       !     REPLY(A)!Index  !                 !     !	!       !-<---------<-!Close  !REPLY(N)         !     !	!       !             !Pending!->------------->-!     !        \-------/             \-------/                 \-----/                        ***WORKING DOCUMENT***                                  30RFC 705Front-End Protocol                        ***WORKING DOCUMENT***                        APPENDIX B (continued)                     State Diagram for Whole Path	/------\BEGIN       /----------\	!      !->-------->-!          !	!      !LISTEN      !Connection!               	!Path  !            !Pending   !REPLY(A)        /-------\	!Closed!    REPLY(N)!          !->------------>-!       !	!      !-<--------<-!          !                !       !	!      !            \----------/                !Path   !	!      !                                        !Conn-  !	!      !            /-----\     RESPONSE(CODE>0)! ecting!	!      !            !     !-<-----------------<-!       !	!      !            !Path !                     !       !	!      !    REPLY(A)!Abort!          END(PATH>0)!       !	!      !-<--------<-!Pend-!-<-----------------<-!       !	!      !            ! ing !                     !       !	!      !            !     !REPLY(N)             !       !	\------/            !     !->----------------->-!       !                            \-----/                     !       !                                                        !       !                             /-------\                  !       !                             !       !  RESPONSE(CODE=0)!       !           /----\            !Path   !-<--------------<-!       !	   !    !            !Open   !                  !       !	   !Path!            !Pending!REPLY(N)          !       !           !Open!    REPLY(A)!       !->-------------->-!       !	   !    !-<--------<-!       !                  \-------/	   \----/            \-------/                        ***WORKING DOCUMENT***                                  31RFC 705Front-End protocol                        ***WORKING DOCUMENT***                        APPENDIX B (continued)               State Diagram for Each Direction of Path	/----\MESSAGE             /-------\             /-------\	!    !->---------------->-!       !REPLY(A+NR)  !       !	!Path!INTERRUPT           !Command!->--------->-!Message!	!Open!                    !Blocked!REPLY(N+NR)  !Blocked!	!    !                    !       !             !       !	!    !          REPLY(A+R)!       !    INTERRUPT!       !	!    !-<----------------<-!       !-<---------<-!       !	!    !          REPLY(N+R)\-------/             !       !	!    !                                  REPLY(R)!       !	!    !-<----------------------<---------------<-!       !	!    !                                          !       !	!    !END(PATH>0)         /-------\  END(PATH>0)!       !	!    !->---------------->-!       !-<---------<-!       !	!    !                    !       !             !       !	!    !          REPLY(N+R)!Path   !REPLY(N)     !       !	!    !-<----------------<-!Close  !->--------->-!       !	\----/                    !Pending!             \-------/                                  !       !	/------\          REPLY(A)!       !	!Path  !-<--------------<-!       !	!Closed!                  !       !	!      !                  \-------/	\------/                        ***WORKING DOCUMENT***                                  32RFC 705Front-End Protocol                        ***WORKING DOCUMENT***                              APPENDIX C                       Front-End ImplementationIntroductionA Network Access System (NAS), developed for a DEC PDP/11 computer, supportsthe current Imp-Host, Host-Host and ICP protocols.  The implementation ofthese protocols facilitate process-process communications across the networkand multi-user TELNET access to foreign hosts.  This NAS provides the FE environment in which FEP is implemented.The NAS system is comprised of a Kernel or executive section and a NetworkControl Program (NCP) plus a collection of modules to support deviceinterfaces, handle terminals, and implement applications, as appropriate.  Thesoftware is modular and extensible.The KERNELThe Kernel of the system consists of a set of functional modules which performthe task of resource management in a multiprocessing environment.  This allowsprocesses to be created, vie for processor service according to priority, intercommunicate, and be terminated.  System primitives exist for varioustasks such as process creation and synchronization, storage allocation, andsharing of the interval timer.The term process used here describes an autonomous sequence of states broughtabout by the PDP-11 processor; a process' state is characterized by the set ofprocessor registers, a stock, and process-owned storage areas.  Process share storage areas which are accessed only (eq. pure code).  Processes also sharestorage areas which may be updated (eq. control tables).  In this case anallocation mechanism is utilized to prevent simultaneous ownership of an updatable storage area.  The storage area is thus viewed as a sequentially sharable resource which is allocated by the process, modified, and thenreleased.Processes are given control of the processor by a single procedure called theDispatcher.  Processes are said to be in a ready state or in a waiting state.When a process blocks itself, control is given to the highest priority readyprocess.                        ***WORKING DOCUMENT***                                  33RFC 705Front-End Protocol                        ***WORKING DOCUMENT***Each process has an associated input message queue.  This queue is the vehiclefor interprocess communication.  A process is blocked (put into a wait state)when its input message queue becomes empty (voluntary wait), or when an interrupt occurs (involuntary wait) because a higher priority process is toreceive control of the processor.  A process may voluntarily block itselfwaiting for any signal, or it may block itself for a specific event to beposted to its input message queue.The Network Control ProgramThe NCP provides "third level" protocol functions to local processes.  Itcontains a process which decodes and passes messages which have been receivedfrom the IMP and placed on the IMP-Host queue.  This process interacts withother processes which call the NCP to establish connections or to transmitdata.  Thus the NCP is essentially divided into two parts:    1)	a process which handles incoming messages from the network,	interprets IMP-Host and Host-Host control messages, and forwards	regular messages on established connections; and     2)	a set of primitives which allow local processes to establish	connections to other processes across the network, and to perform	requests for data to be transferred on these connections.There are two primary data structures used by the NCP to monitor the statusof network connections.  The first is called the Host Table, and describesthat which is peculiar to each given host; the second is referred to as aConnection Table and contains all information on the state of a local NCP socket (connection).  Connection Tables may be created either throughexternal requests (e.q., an RFC is received from a remote host) or throughinternal requests (e.g., a local process performs a LISTEN).Flow control is that portion of the NCP which governs the flow of data onconnections.  There are two procedures which perform this task; one which handles receive connections and one which handles send connections.  Theseprocedures receive control when an event has occurred which may now make it possible to transfer data on a connection.Both send and receive flow control procedures have the responsibility of movingdata between local process buffers and messages being received or transmittedover the network.  In addition, they handle the formatting and unpacking of                        ***WORKING DOCUMENT***                                  34RFC 705Front-End Protocol                        ***WORKING DOCUMENT***messages received.  Local processes are unaware that data is being transmittedas discrete messages.The NCP watchdog process monitors the state of network connections, checkingfor error conditions and performing garbage collection tasks.  It receives control at periodic intervals and scans the list of known hosts, looking forexisting connections.  For each host to which an input or output connectionexists, the Watchdog causes a Host-Host NOP message to be sent.  Thus if aremote Host crashes while data is being awaited, local processes are informedof the error condition.  The NCP takes notice of the remote crash when itreceives a IMP--Host type 7 control message (Destination Host Dead).  It thenautomatically closes all connections to that Host, and notifies using processesof that fact.A second function of the NCP Watchdog is to check for connections hung becauseof an outstanding RFNM.  If a RFNM is not received for a specified interval,the message is discarded, and the associated connection closed.The FEP HandlerThe Front-End Protocol is implemented as a collection of related, butspecialized processes which manage network connections on the one side, andmanage FEP paths and indexes on the other.  Some FEP processes are NCP users.They cause network connections to be made, rule on incoming RFCs, and bothaccept and generate network data.  Other FEP processes support the Host.These processes parse incoming commands, create indexes and paths, controlthe generation of replies and generally manage the paths.  Certain FEP processes control specialized tasks such as translation of data, servicing of LISTEN commands and generation of RESPONSE commands.Two data structures provide control information for FEP activities.  An IndexTable exists for each active index.  Each Index Table associates one or morePath Table entries.  Information in the Path Table reflects the state of thepath, the translation type specified for data on this path, and necessaryinformation to associate the path to any appropriate NCP Connection Tables.The Path Table is the common interface for all of the FEP modules.  Most FEPprocesses are activated to service some event which is usually associated toa path.  The action of the process will likely be dic

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -