📄 rfc994.txt
字号:
time which must elapse before any outstanding segments of the Initial PDU shall be assumed to be lost. When this timer expires, all seg- ments (Derived PDUs) of the Initial PDU held at the reassembly point are discarded, the resources allocated for those segments are freed, and if selected, an Error Report is generated (see Clause 6.10). While the exact relationship between reassembly lifetime and PDU lifetime is a local matter, the Reassembly Function must preserve the intent of the PDU lifetime. Consequently, the reassembly function must discard PDUs whose lifetime would otherwise have expired had they not been under the control of the reassembly function. Note: 1. Methods of bounding reassembly lifetime are discussed in Annex B. 2. The Segmentation and Reassembly functions are intended to be used in such a way that the fewest possible segments are generated at each segmentation point and reassembly takes place at the final destination of a PDU. However, other schemes which (a) interact with the routing algorithm to favor paths on which fewer segments are generated; (b) generate more segments than absolutely required in order to avoid additional segmentation at some subsequent point; or (c) allow partial or full reassembly at some intermediate point along the route are not precluded. The information necessary to enable the use of one of these alternative strategies may be made available through the operation of a Network Layer Management function or by other means. 3. The originator of the Initial PDU determines the value of the Segmentation Permitted flag in the Initial PDU and all Derived PDUs (if any). Partial or full reassembly in an intermediate system (Note 2 (c) above) cannot change this value in the Initial PDU or any PDU derived from it, and cannot therefore add or remove the segmentation part of the header.6.9 Discard PDU Function This function performs all of the actions necessary to free the resources reserved by the network-entity when any of the following situations is encountered (Note: the list is not exhaustive): (a) A violation of protocol procedure has occurred.ISO 8473 [Page 23]RFC 994 December 1986 (b) A PDU is received whose checksum is inconsistent with its contents. (c) A PDU is received, but due to local congestion, it cannot be processed. (d) A PDU is received whose header cannot be analyzed. (e) A PDU is received which cannot be segmented and cannot be forwarded because its length exceeds the maximum service data unit size supported by any underlying service available for transmission of the PDU to the next network-entity on the chosen route. (f) A PDU is received whose destination address is unreachable or unknown. (g) Incorrect or invalid source routing was specified. This may include a syntax error in the source routing field, an unknown or unreachable address in the source routing field, or a path which is not acceptable for other reasons. (h) A PDU is received whose PDU lifetime has expired or whose lifetime expires during reassembly. (i) A PDU is received which contains an unsupported option.6.10 Error Reporting Function6.10.1 Overview This function causes an attempt to return an Error Report PDU to the source network-entity when a protocol data unit is discarded in ac- cordance with Clause 6.9. The Error Report PDU identifies the discarded PDU, specifies the type of error detected, and identifies the location in the header of the discarded PDU at which the error was detected. At least the entire header of the Discarded PDU (and, at the discretion of the originator of the Error Report PDU none, all, or part of the data field) is placed in the data field of the Error Report PDU. The originator of a Data PDU may control the generation of Error Re- port PDUs. An Error Report flag in the original PDU is set by the source network-entity to indicate that an Error Report PDU is to be returned if the Initial PDU or any PDUs derived from it are discard- ed; if the flag is not set, Error Reports are to be suppressed. Note: 1. The suppression of Error Report PDUs is controlled by theISO 8473 [Page 24]RFC 994 December 1986 originating network-entity and not by the NS User. Care should be exercised by the originator with regard to suppressing ER PDUs so that error reporting is not suppressed for every PDU generated. 2. Non-receipt of an Error Report PDU does not imply correct delivery of a PDU issued by a source network-entity.6.10.2 Requirements An Error Report PDU shall not be generated to report the discard of an Error Report PDU. An Error Report PDU shall not be generated to report the discard of a Data PDU unless that PDU has the Error Report flag set to allow Error Reports. If a Data PDU is discarded, and the Error Report flag has been set to allow Error Reports, an Error Report PDU shall be generated if the reason for discard is one of the reasons for discard enumerated in Clause 6.9, subject to the conditions described in Clause 6.10.4. Note: If a Data PDU with the E/R flag set to allow Error Reports is discarded for any other reason, an ER PDU may be generated (as an implementation option).6.10.3 Processing of Error Reports An Error Report PDU is composed from information contained in the header of the discarded Data PDU to which the Error Report refers. The contents of the Source Address field of the discarded Data PDU are used as the Destination Address of the Error Report PDU. This value, which in the context of the Data PDU was used as an NSAP Ad- dress, is used in the context of the Error Report PDU as the network-entity title of the network-entity that originated the Data PDU. The network- entity title of the originator of the Error Report PDU is conveyed in the Source Address field of the header of the Er- ror Report PDU. The value of the Lifetime field is determined in ac- cordance with Clause 6.4. Optional parameters are selected in accor- dance with Clause 6.10.4. Segmentation of Error Report PDUs is not permitted; hence, no Segmen- tation Part is present. The total length of the ER PDU in octets is placed in the Segment Length field of the ER PDU header. This field is not changed during the lifetime of the ER PDU. If the originator of the ER PDU determines that the size of the ER PDU exceeds the max- imum service data unit size of the underlying service, the ER PDU shall be truncated to the maximum service data unit size (see Clause 5.5.3) and forwarded with no other change. Error Report PDUs are routed and forwarded by intermediate-system network-entities in theISO 8473 [Page 25]RFC 994 December 1986 same way as Data PDUs. Note: The requirement that the underlying service assumed by the CLNP must be capable of supporting a service data unit size of at least 512 octets guarantees that the entire header of the discarded Data PDU can be conveyed in the data field of any ER PDU. When an ER PDU is decomposed upon reaching its destination, informa- tion that may be used to interpret and act upon the Error Report is obtained as follows. The network-entity title recovered from the NPAI in the Source Address field of the ER PDU header is used to identify the network-entity which generated the Error Report. The reason for generating the Error Report is extracted from the Options Part of the PDU header. The entire header of the discarded Data PDU (and part or all of the original user data) is extracted from the data field of the ER PDU to assist in determining the nature of the error.6.10.4 Relationship of Data PDU Options to Error Reports The generation of an Error Report is affected by options that are present in the corresponding Data PDU. The presence of options in the original Data PDU that are not supported by the system which has dis- carded that PDU may cause the suppression of an Error Report even if the original Data PDU indicated that an Error Report should be gen- erated in the event of a discard. The processing of an Error Report is also affected by options which are present in the corresponding Data PDU. In particular, options selected for the original Data PDU affect which options are included in the corresponding Error Report PDU. The selection of options for an Error Report PDU is governed by the following requirements: (a) If the Priority Option or the QoS Maintenance Option is selected in the original Data PDU, and the system generating the Error Report PDU supports the option, then the Error Report PDU shall specify the option. (b) If the Security Option is selected in the Data PDU, and the system generating the Error Report supports this option, then the Error Report PDU shall specify the option using the value that was specified in the original Data PDU. If the system does not support the Security Option, an Error Report must not be generated for a Data PDU that selects the Security Option. (c) If the Complete Source Route Option is selected in the original Data PDU, and the system generating the Error Report PDU supports this option, then the error Report shall specify the Complete Source Route option. The Source Route parameter value is obtained by extracting from the original Data PDU that portion of the complete source route that has already been traversed, and reversing theISO 8473 [Page 26]RFC 994 December 1986 order of network-entity titles which comprise the list. If the system does not support the Complete Source Route Option, an Error Report must not be generated for a Data PDU that selects the Complete Source Route option. (d) The Padding, Partial Source Routing, and Record Route Options, if supported, may be specified in the Error Report PDU. Note: The values of the optional parameters in (d) above may be derived as a local matter, or they may be based upon the corresponding values in the original Data PDU.6.11 PDU Header Error Detection The PDU Header Error Detection function protects against failure of intermediate or end-system network-entities due to the processing of erroneous information in the PDU header. The function is realized by a checksum computed on the entire PDU header. The checksum is veri- fied at each point at which the PDU header is processed. If the checksum calculation fails, the PDU must be discarded. If PDU header fields are modified (for example, due to operation of the lifetime function), then the checksum is modified so that the checksum remains valid. The use of the Header Error Detection function is optional, and is selected by the originating network-entity. If the function is not used, the checksum field of the PDU header is set to zero. If the function is selected by the originating network-entity, the value of the checksum field causes the following formulae to be sa- tisfied: (The Sum from i=1 to L of a(i)) (mod 255) = 0 (The Sum from i=1 to L of (L - i + 1) * a(i)) (mod 255) = 0 where L = the number of octets in the PDU header, and a(i) = the value of the octet at position i. The first octet in the PDU header is considered to occupy position i = 0. When the function is in use, neither octet of the checksum field may be set to zero. Note: 1. To ensure that inadvertent modification of a header while a PDU is being processed by an intermediate system (for example, due to a memory fault) may still be detected by the PDU Header Error function, an intermediate system network-ISO 8473 [Page 27]RFC 994 December 1986 entity must not recompute the checksum for the entire header, even if fields are modified. 2. Annex C contains descriptions of algorithms which may be used to calculate the correct value of the checksum field when the PDU is created, and to update the value of the checksum field when the header is modified.6.12 Padding Function The padding function is provided to allow space to be reserved in the PDU header which is not used to support any other function. Octet alignment must be maintained. Note: An example of the use of this function is to cause the data field of a PDU to begin on a convenient boundary for the originating network-entity, such as a computer word boundary.6.13 Security The provision of protection services (e.g., data origin authentica- tion, data confidentiality, and data integrity of a single connectionless-mode NSDU) is performed by the Security Function. The Security Function is related to the Protection from Unauthorized Access Quality of Service parameter described in ISO 8348/AD1, Adden- dum to the Network Service Definition Covering Connectionles
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -