📄 rfc802.txt
字号:
always authorized in this sense.Once a host has been assigned one or more names, it has to letthe IMPs know where it is and what name(s) it is using. Thereare two cases to consider, one for 1822L hosts and another for1822 hosts. The following discussion only pertains to hosts onC/30 IMPs.When an IMP sees an 1822L host come up on a host port, the IMPhas no way of knowing which host has just come up (several hostsmay share the same port, or one host may prefer to be known by - 9 -RFC 802 Andrew G. Malisdifferent names at different times). This requires the host tolet the IMP know what is happening before it can actually sendand receive messages. This function is performed by a new host-to-IMP message, the Name Declaration Message (NDM), which liststhe names that the host would like to be known by. The IMPchecks its tables to see if each of the names is authorized, andsends an NDM Reply to the host saying which names in the list canbe used for sending and receiving messages (i.e., which names areeffective). A host can also use an NDM message to change its listof effective addresses (it can add to and delete from the list)at any time. The only constraint on the host is that any namesit wishes to use can become effective only if they areauthorized.In the second case, if a host comes up on a C/30 IMP using the1822 protocol, the IMP automatically makes the first name the IMPfinds in its tables for that host become effective. Thus, eventhough the host is using the 1822 protocol, it can still receivemessages from 1822L hosts via its 1822L name. Of course, it canalso receive messages from an 1822L host via its 1822L address aswell. (Remember, the distinction between 1822L names andaddresses is that the addresses correspond to physical locationson the network, while the names are strictly logicalidentifiers). The IMPs translate between the different leaders - 10 -RFC 802 Andrew G. Malisand send the proper leader in each case (more on this below).The third question above has by now already been answered. Whenan 1822L host comes up, it uses the NDM message to tell the IMPwhich host it is (which names it is known by). Even if this is ashared port, the IMP knows which host is currently connected.Whenever a host goes down, its names automatically become non-effective. When it comes back up, it has to make them effectiveagain.Several hosts can share the same 1822L name. If more than one ofthese hosts is up at the same time, any messages sent to that1822L name will be delivered to just one of the hosts sharingthat name, and a RFNM will be returned as usual. However, thesending host will not receive any indication of which hostreceived the message, and subsequent messages to that name arenot guaranteed to be sent to the same host. Typically, hostsproviding exactly the same service could share the same 1822Lname in this manner.Similarly, when a host is multi-homed, the same 1822L name mayrefer to more than one host port (all connected to the samehost). If the host is up on only one of those ports, that portwill be used for all messages addressed to it. However, if the - 11 -RFC 802 Andrew G. Malishost were up on more than one port, the message would bedelivered over just one of those ports, and the subnet wouldchoose which port to use. This port selection could change frommessage to message. If a host wanted to insure that certainmessages were delivered to it on specific ports, these messagescould use either the port's 1822L address or a specific 1822Lname that referred to that port alone.Some further details are required on communications between 1822and 1822L hosts. Obviously, when 1822 hosts converse, or when1822L hosts converse, no conversions between leaders and addressformats are required. However, this becomes more complicatedwhen 1822 and 1822L hosts converse with each other.The following figure illustrates how these addressingcombinations are handled, showing how each type of host canaccess every other type of host. There are three types of hosts:"1822 on C/30" signifies an 1822 host that is on a C/30 IMP,"1822L" signifies an 1822L host (on a C/30 IMP), and "1822 onnon-C/30" signifies a host on an non-C/30 IMP (which cannotsupport the 1822L protocol). The table entry shows the protocoland host address format(s) that the source host can use to reachthe destination host. - 12 -RFC 802 Andrew G. Malis Destination Host Source Host | 1822 on C/30 | 1822L | 1822 on non-C/30 --------+----------------+----------------+----------------- | | | 1822 on | 1822 | 1822 | 1822 C/30 | | (note 1) | | | | --------+----------------+----------------+----------------- | | | | 1822L, using | 1822L, using | 1822L, using 1822L | 1822L name or | 1822L name or | 1822L address |address (note 2)| address | only (note 2) | | | --------+----------------+----------------+----------------- | | | 1822 on | 1822 | 1822 | 1822 non-C/30| | (note 1) | | | | --------+----------------+----------------+----------------- Note 1: The message is presented to the destination host with an 1822L leader containing the 1822L addresses of the source and destination hosts. If either address cannot be encoded as an 1822L address, then the message is not delivered and and error message is sent to the source host. Note 2: The message is presented to the destination host with an 1822 leader containing the 1822 address of the source host. Figure 4. Communications between different host types - 13 -RFC 802 Andrew G. Malis2.3 Uncontrolled MessagesUncontrolled messages (see 1822(3.6)) present a unique problemfor the 1822L protocol. Uncontrolled messages use none of thenormal ordering and error-control mechanisms in the IMP, and donot use the normal subnetwork connection facilities. As aresult, uncontrolled messages need to carry all of their overheadwith them, including source and destination addresses. If 1822Laddresses are used when sending an uncontrolled message,additional information is now required by the subnetwork when themessage is transferred to the destination IMP. This means thatless host-to-host data can be contained in the message than ispossible between 1822 hosts.Uncontrolled messages that are sent between 1822 hosts maycontain not more than 991 bits of data. Uncontrolled messagesthat are sent to and/or from 1822L hosts are limited to 32 bitsless, or not more than 959 bits. Messages that exceed thislength will result in an error indication to the host, and themessage will not be sent. This error indication represents anenhancement to the previous level of service provided by the IMP,which would simply discard an overly long uncontrolled messagewithout notification. - 14 -RFC 802 Andrew G. MalisOther enhancements that are provided for uncontrolled messageservice are a notification to the host of any message-relatederrors that are detected by the host's IMP when it receives themessage. A host will be notified if an uncontrolled messagecontains an error in the 1822L name specification, such as thename not being authorized or effective, or if the remote host isunreachable (which is indicated by none of its names beingeffective), or if network congestion control throttled themessage before it left the source IMP. The host will not benotified if the uncontrolled message was lost for some reasononce it was transmitted by the source IMP.2.4 The Short-Blocking FeatureThe short-blocking feature of the 1822 and 1822L protocols isdesigned to allow a host to present messages to the IMP withoutcausing the IMP to not accept further messages from the host forlong amounts of time (up to 15 seconds). It is a replacement forthe non-blocking host interface described in 1822(3.7), and thatdescription should be ignored. - 15 -RFC 802 Andrew G. Malis2.4.1 Host BlockingMost commonly, when a source host submits a message to an IMP,the IMP immediately processes that message and sends it on itsway to its destination host. Sometimes, however, the IMP is notable to process the message immediately. Processing a messagerequires a significant number of resources, and when the networkis heavily loaded, there can sometimes be a long delay before thenecessary resources become available. In such cases, the IMPmust make a decision as to what to do while it is attempting togather the resources.One possibility is for the IMP to stop accepting messages fromthe source host until it has gathered the resources needed toprocess the message just submitted. This strategy is known asblocking the host, and is basically the strategy that has beenused in the ARPANET up to the present. When a host submits amessage to an IMP, all further transmissions from that host tothat IMP are blocked until the message can be processed.It is important to note, however, that not all messages requirethe same set of resources in order to be processed by the IMP.The particular set of resources needed will depend on the messagetype, the message length, and the destination host of the message(see below). Therefore, although it might take a long time to - 16 -RFC 802 Andrew G. Malisgather the resources needed to process some particular message,it might take only a short time to gather the resources needed toprocess some other message. This fact exposes a significantdisadvantage in the strategy of blocking the host. A host whichis blocked may have many other messages to submit which, if onlythey could be submitted, could be processed immediately. It is"unfair" for the IMP to refuse to accept these message until ithas gathered the resources for some other, unrelated message.Why should messages for which the IMP has plenty of resources bedelayed for an arbitrarily long amount of time just because theIMP lacks the resources needed for some other message?A simple way to alleviate the problem would be to place a limiton the amount of time during which a host can be blocked. Thisamount of time should be long enough so that, in mostcircumstances, the IMP will be able to gather the resourcesneeded to process the message within the given time period. If,however, the resources cannot be gathered in this period of time,the IMP will flush the message, sending a reply to the sourcehost indicating that the message was not processed, andspecifying the reason that it could not be processed. However,the resource gathering process would continue. The intention isthat the host resubmit the message in a short time, when,hopefully, the resource gathering process has concluded - 17 -RFC 802 Andrew G. Malissuccessfully. In the meantime, the host can submit othermessages, which may be processed sooner. This strategy does noteliminate the phenomenon of host blocking, but only limits thetime during which a host is blocked. This shorter time limitwill generally fall somewhere in the range of 100 milliseconds to2 seconds, with its value possibly depending on the reason forthe blocking.Note, however, that there is a disadvantage to having shortblocking times. Let us say that the IMP accepts a message if ithas all the resources needed to process it. The ARPANET providesa sequential delivery service, whereby messages with the samepriority, source host, and destination host are delivered to thedestination host in the same order as they are accepted from thesource host. With short blocking times, however, the order inwhich the IMP accepts messages from the source host need not bethe same as the order in which the source host originallysubmitted the messages. Since the two data streams (one in eachdirection) between the host and the IMP are not synchronized, thehost may not receive the reply to a rejected message before itsubmits subsequent messages of the same priority for the samedestination host. If a subsequent message is accepted, the orderof acceptance differs from the order of original submission, andthe ARPANET will not provide the same type of sequential delivery - 18 -RFC 802 Andrew G. Malisthat it has in the past.Up to now, type 0 (regular) messages have only had sub-typesavailable to request the standard blocking timeout. The short-blocking feature makes available new sub-types that allow thehost to request messages to be short-blocking, i.e. only causethe host to be blocked for a short amount of time if the messagecannot be immediately processed. See section 3.1 for a completelist of the available sub-types.If sequential delivery by the subnet is a strict requirement, aswould be the case for messages produced by NCP, the short-blocking feature cannot be used. For messages produced by TCP,however, the use of the short-blocking feature is allowed andrecommended.2.4.2 Reasons for Host BlockageThere are a number of reasons why a message could cause a longblockage in the IMP, which would result in the rejection of ashort-blocking message. The IMP signals this rejection of ashort-blocking message by using the Incomplete Transmission (Type9) message, using the sub-type field to indicate which of theabove reasons caused the rejection of the message. See section - 19 -RFC 802 Andrew G. Malis3.2 for a summary of the Incomplete Transmission message and acomplete list of its sub-types. The sub-types that apply to theshort-blocking feature are:6. Connection setup-delay: Although the IMP presents a simple message-at-a-time interface to the host, it provides an internal connection-oriented (virtual circuit) service, except in the case of uncontrolled messages (see section 2.3). Two messages are considered to be on the same connection if they have the same source host (i.e., they are submitted to the same IMP over the same host interface), the same priority, and the same destination host name or address. The subnet maintains internal connection set-up and tear-down procedures. Connections are set up as needed, and are torn down only after a period of inactivity. Occasionally, network congestion or resource shortage will cause a lengthy delay in connection set-up. During this period, no messages for that connection can be accepted, but other messages can be accepted.7. End-to-end flow control: For every message that a host submits to an IMP (except uncontrolled messages) the IMP eventually returns a reply to the host indicating the disposition of the message. Between the time that the - 20 -RFC 802 Andrew G. Malis
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -