📄 rfc663.txt
字号:
used for closing connections which have sufferred anirrecoverable loss of messages.(Comments: A connection may be closed in any one of the followingthree ways: 1. A connection which has not yet been opened succesfullymay be closed by the CLS command. All connectionsinvolving type A hosts must be closed using the CLScommand. 2. Connections between type B hosts may be closed usingCLS2 command. A connection is considered closed onlyif matching CLS2 commands have been exchanged between - 13 -the sender and the receiver. 3. Those connections between type B hosts, that havesufferred an irrecoverable loss of messages, must beclosed by the ECLS command.)3.2.6 RSS - REQUEST STATUS FROM SENDER____8_______8______I I II RSS I LINK II_______I_________I_A sending host may issue an RSS command to find out about thestatus of transmission on a particular connection or the controllink.3.2.7 RSR - REQUEST STATUS FROM RECEIVER____8_________8_____I I II RSR I LINK |I________I_________I_A receiver can issue an RSR command to find out about the statusof transmission on a particular connection or the control link.3.2.8 SFR - STATUS FROM RECEIVER____8_________8_________8_________8____I I I I II SFR I LINK I LRN I MSN II_________I_________I_________I________I_A receiving host may issue this command to inform the senderabout the state of a particular connection or the control link.3.2.9 SFS - STATUS FROM SENDER - 14 -____8_________8_________8_________8____I I I I II SFS I LINK I LRN I MSN II_________I_________I_________I________I_A sending host may issue this command to inform the receiverabout the state of a particular connection or the control link.3.3 THE PROTOCOL3.3.1 PART ONEAll type A hosts must use zero MSN and LRN values on the messagessent out by them. When communicating with a host of type A, atype B host must simulate the behaviour of type A host.(Comments: Notice that this simulation is not complicated atall. All that is required is that hosts that adopt thisprotocol must not use it when communicating with the hosts thathave not adopted it.)3.3.2 PART TWOThis part of the protocol is stated as a set of rules which mustbe observed by all type B hosts when communicating with othertype B hosts.3.3.2.1 RESPONSIBILITIES OF HOSTS AS SENDERS (1). A type B sending host must use message sequence numberson all regular messages that it sends to other type Bhosts as specified in the definition of the messagesequence numbers (Section 3.1.3). (2). A type B sending host must use link resynch numbers onall regular messages that it sends to other type Bhosts as specified in the definition of link resynchnumber (Section 3.1.4). (3). A sending host may retransmit a message if it suspectsthat the message may have been lost in the networkduring previous transmission. (4). A sending host may issue an RSS command to the receiverto determine the state of transmission on any link. (5). A sending host must use the ECLS command to close aconnection, if the connection is being closed due to an - 15 -irrecoverable transmission error. Otherwise, it mustthe CLS2 command.3.3.2.2 RESPONSIBILITIES OF HOSTS AS RECEIVERS (1). A receiver host will maintain LRN and MSN values foreach link on which it receives messages. Initial valueof LRN will be zero, and initial value of MSN will beone. For each receive link, the host should beprepared to receive a message with LRN and MSN valuesspecified by its tables. When the host has receivedthe expected message on a given link, it will changeits table MSN value as specified in the definition ofMSN. (2). On a given link, if a host receives a message with anLRN value smaller than the one in use, it will ignorethe message. (3). If a host receives a duplicate message (same LRN andMSN values), it will ignore the duplicate. (4). A host will examine the MSN values on all regularmessages that it receives to detect loss of messages.If on any link, one or more messages are found missing,it will concern itself with only the first message lostand take the following series of action: 1. Increase its own LRN value for this link by one. 2. Send an LMR command to the sending host with LRN field set to the new value and MSN field set to the sequence number of the first message lost. 3. Realizing that LMR command will cause the allocation to be reset to zero, it will send more allocation. This is not applicable to the control links.However, if a host does not want to initiate therecovery procedures, it may simply close the connectionby an ECLS command. (5). A receiver host may issue the RSR command to determinethe state of transmission on any link. (6). If a connection is being closed due to an irrecoverableerror, a receiving host must use the ECLS command.Otherwise it must use the CLS2 command. - 16 -3.3.2.3 SENDING HOST'S RESPONSE TO CONTROL MESSAGES (1). RSR command: the sender must transmit a SFS command tothe receiver for the link involved. (2). ECLS command: The sender must cease transmission, if ithas not already done so, and issue an ECLS command ifit has not already issues either a ECLS or CLS2command. (3) CLS2 command: The sender must compare the LRN and MSNvalues of the CLS2 command with its own values of theLRN and MSN for the connection involved. If an erroris indicated, it may either close the connection withan ECLS, or initiate recovery action as specified inthe section 3.3.2.1. (4). LMR command for a connection (i.e., not a controllink): The sender may follow any one of the followingthree courses of action: 1. Close the connection with an ECLS command. 2. Set the allocations for the link involved to zero, set LRN to that specified in the LMR command, and restart communication at the point of break. 3. Set the allocations for the link involved to zero, set the LRN to that specified in the LMR command, and send an LMS command to the receiver host informing him that one or more of the lost messages can not be retransmitted. After sending an LMS command, a sending host must not transmit any more messages on the link involved until and unless it receives an LMA command from the receiver host.(Comments: As we have mentioned before (Section 2.3), thedecision regarding which course of action to follow depends upona number of factors. For example, if a host has implemented onlythe detection of lost messages aspect of our protocol (and norecovery), then it will chose the first option of closing theconnection.) (5). LMR for a control link: The sender may take one of thefollowing two actions: 1. Set the LRN to that specified in the LMR command and begin retransmission of lost messages 2. Set the LRN to that specified by the LMR command, and insert a Reset command at the break point. - 17 -(Comment: If a sending host can not retransmit messages lost ona control link, then this protocol requires that allcommunication between the two host be broken, and reinitialized.We do not explicitly specify the actions that are associated withthe exchange of Reset commands. These actions are specified bythe Host-to-Host protocol.) (6). LMA command: When a sending host receives an LMAcommand matching an LMS command previously issued byit, it may resume transmission.(Comments: The protocol does not require the sending host to takeany specific action with regard to a SFR. However, a sending hostmay use the information contained in the SFR command regardingthe state of transmission. From a SFR command a sender host maydetermine what messages have been received properly. The sendermay use this information to cleanup its buffer space orretransmit messages that it might suspect are lost.)3.3.2.4 RECEIVING HOST'S RESPONSE TO CONTROL MESSAGES (1). RSS command: A receiver is obligated to transmit a SFRto the sender for the link involved. (2). ECLS command: The receiver must close the connectionby issuing an ECLS command if it has not already doneso. (3). CLS2 command: A receiver must compare the LRN and MSNvalues of the command with its own values for theconnection involved. If an error is indicated, it mayeither close the connection by an ECLS command orinitiate recovery procedures as specified in section3.3.2.2. (4). LMS command: The receiver may take one of the followingtwo courses of action: (1). Close the connection specified by the LMS command, by issuing an ECLS command. (2). Set the link involved to be prepared to receive messages starting with the sequence number MSN + COUNT, where MSN and COUNT are those specified by the LMS command. (Comment: This action implies that receiver is willing to accept the loss of messages specified by the LMS command.)(Comments: The protocol does not require the receiver to take anyspecific action with regard to a SFS command. However a receiver - 18 -host may use the information contained in it.)4.0 CONCLUDING REMARKSThe design of this protocol has been governed by three majorprinciples. First, we believe that to be useful within the ARPANetwork, any new protocol must be compatible with the existingprotocols, so that each host can make the transition to the newprotocol at its own pace and without large investment. Secondly,the protocol should tie into the recovery mechanism of theIMP-to-Host Protocol. The price we pay for this is the small MSNfield and a message oriented protocol rather than a byte streamoriented protocol. The third consideration has been flexibility.While this protocol guarantees detection of lost messages, thephilosophy behind the recovery procedures is that a host shouldhave several options, each option providing a different degree ofsophistication. A host can implement a recovery procedure thatis most suitable for its needs and the capabilities of itsmachine. Even though two hosts may have implemented differentrecovery procedures, they can communicate with each other in acompatible way. In a network of independent machines of widelyvarying capabilities and requirements, this seems to be the onlyway of implementing such a protocol. Even though this protocolprovides a variety of options in a given error situation, thechoice of a specific action must be consistent with the basicrequirements of the communication path. For example, partialrecovery is not acceptable during file transfers. We fullyexpect the File Transfer Protocol to specify that if anirrecoverable error occurs, the file transfer must be aborted. - 19 -
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -