📄 rfc1622.txt
字号:
In this case, a value of 101 in the Options Present field indicates that the PDN Address and Fragmentation options are present in the Options Part, and that the foo option is not present. Note that an Options Present value of 0 indicates that there are no options present, regardless of the value of the Options Contents field. Note also that no more than 8 options, not including the default first option (the Options Descriptor), can be present in any Options Part. The Options Contents/Options Present method of processing options allows for efficient processing of options. First, a router can ignore any options that may be present but that do not impact it (for instance, a router not attached to a PDN need not consider the PDN Address option). Second, the desired option can be very quickly retrieved, because the first option, the Options Descriptor option, contains the offset of each of the up to eight options indicated by the Options Present field. 2.1.5 Packet SubID This field is used by Pip hosts to correctly associate received PCMP messages with local control blocks. This is necessary because the semantics of the Transit Part can change while a packet is in transit. Therefore, a router sending a PCMP message cannot necessarily provide all of the information needed by the Pip host to correctly identify the context of the received message (that is, which "packet flow" it is identified with). A PCMP message uses the Protocol, Source ID, Dest ID, and Packet SubID to define the PCMP messages context. It is not sufficient to use just Protocol, Source ID, and Dest ID, because two hosts running the same protocol between them may have multiple "flows", forFrancis [Page 6]RFC 1622 Pip Header Processing May 1994 instance, a data flow, a video flow, and an audio flow in the case of multi-media. Each flow may have a different Transit Part, and take different paths. Therefore, the Packet SubID field is needed to further differentiate. 2.1.6 Protocol Indicates the protocol header found in the payload. The values for this field are the same as those used for IPv4. 2.1.7 Dest ID The Dest ID field indicates the Pip ID of the final recipient of the Pip packet. This field is examined by both hosts and routers. When a Pip System processes the Routing Directive (RD), it may determine that it needs to examine the Dest ID for further processing. This may happen both when a host or router receives a Pip packet destined for itself, or when a router receives a packet that should be forwarded based on Dest ID (as indicated by the RD). When a Pip system determines at forwarding time that a packet is destined for itself, it checks the Dest ID to verify if that packet is destined for it. If the complete Dest ID matches one of its own Pip IDs, then the packet is for it, and is passed to the layer indicated by the Protocol field (in the Host Part). (The Pip system may of course wish to check a security option before passing a packet to an upper layer.) If the complete Dest ID field does not match one of its own IDs, then an ID/RD Mismatch PCMP message is sent to the source of the packet, as indicated by the Source ID and potentially source information in the RD. The purpose of this message is to flush the ID to RD binding in the source Pip host. 2.1.8 Source ID This is the Pip ID of the source of the packet. It is passed to upper layers for the purposes of identifying the context for the packet. 2.1.9 Payload Length The Payload Length gives the length of the Pip packet payload in units of 8 bits. The Payload Length does not include the length of the Pip header.Francis [Page 7]RFC 1622 Pip Header Processing May 1994 2.1.10 Host Version The Host Version field indicates what "version" of Pip software the sending host has implemented. This is to allow a host to inform a router which ancillary protocols/messages the host is able to accept. It is envisioned that over time, new host functions will be developed. Different hosts will install these new functions at different times. This field allows routers to know what functions the host can and cannot handle. 2.1.11 Payload Offset The Payload Offset indicates the position of the Payload Part. The unit of measure of the Payload Offset is 32-bit words, counting the first word of the Pip Header as word 0. If a Pip system encapsulates a Transit Part in another Transit Part, then the Payload Offset is increased by the length of the new Transit Part. 2.1.12 Hop Count The Hop Count is decremented by every router that forwards the Pip packet. If a system receives a Pip header with a Hop Count equal to 0, and is not the recipient of the packet, then the packet is discarded and a PCMP Destination Unreachable is routed to the system indicated by the Routing Directive. (In other words, a host can legally receive a Transit Part with a Hop Count of 0, and indeed a host doesn't look at the Hop Count field upon reception.)Francis [Page 8]RFC 1622 Pip Header Processing May 19942.2 Transit Part The Transit Part is formatted as shown in Figure 2. length, in bits +===========================+ | Reserved | 16 +---------------------------+ | Transit Part Offset | 8 +---------------------------+ | HD Contents | 8 +===========================+ | Handling Directive (HD) | 32 ---------------+===========================+ ^ | FTIF Offset | 8 | +---------------------------+ | | RC Contents | 8 | +---------------------------+ | | Routing Context (RC) | 16 Routing +===========================+ | FTIF 1 | 16 Directive +---------------------------+ | | FTIF 2 | 16 | +---------------------------+ | . | . | . | +---------------------------+ | | FTIF N | 16 | +---------------------------+ v | Padding | Variable ---------------+===========================+ Figure 2: Transit Part An explanation of each field follows. 2.2.1 Transit Part Offset This field gives the position of the first word of the next Transit Part. The unit of measure of the Transit Part Offset is 32-bit words, counting the first word of the current Transit Part as word 0. If there is no next Transit Part, then this field is written as all 0's.Francis [Page 9]RFC 1622 Pip Header Processing May 1994 2.2.2 HD Contents The HD Contents field indicates how the Handling Directive (HD) field should be interpreted. The HD field is divided into multiple fields, each representing a different handling function. Each individual field in the HD is called an HD Unit (HDU). The Options Contents field indirectly indicates which HDUs are in the HD field, and where they are. We say indirectly because the mapping referred to by the HD Contents field is stored locally. In other words, without additional information (the mapping), it is not possible to examine the HD Contents field and know what the HDU locations are. Any of 256 possible HD Contents values can be active at a given time. (Note that the means by which the meaning of the HD Contents values are assigned and conveyed to routers and hosts is outside the scope of this specification.) 2.2.3 Handling Directive (HD) The HD is a general purpose field used for the purpose of triggering special packet handling by a Pip system. The HD field does not influence a Pip router's next hop choice for a Pip packet, nor does it influence a Pip host's determination as to whether the Pip packet is destined for it. Examples of special packet handling would be "low priority queueing", or "high priority discard", etc. (Note that the Transit Options also influence "handling", in the sense that handling is essentially defined here to mean "anything that is not routing. The HD field, though, is intended for the most common types of handling--handling that is expected to be in a significant percentage of packets.) Both hosts and routers use the HD field. (Hosts may make use of the HD field for packet handling for both incoming and outgoing packets.) There is a complete distinction between the syntax and the semantics of the HD field. (This can be contrasted with, for instance, IP, which couples the semantics and syntax of the TOS bits. That is, the IP specification itself determines, to a first degree, how the TOS bits are interpreted.) Each Pip system can modify the semantic meaning of the HD, for instance, by increasing or decreasing the queueing priority of a packet. This is called packet tagging. From an abstract modeling perspective, the HD is handled as follows: 1. Extract the semantic meaning(s) (the handling instructions associated with the HDUs) from the HD field. Transmitting Pip hosts determine the semantic meaning by some other means, such as the upper layer protocol. If the receiving system decapsulatesFrancis [Page 10]RFC 1622 Pip Header Processing May 1994 multiple Pip headers, then the HD semantics are extracted from the lowest Pip header for which it is not the target (see example on tunneling below). 2. Handle the Pip packet according to those instructions. In some cases, it is possible that the Pip system does not understand the semantics of one or more HDUs of the HD field. For each HDU whose semantics are not understood, however, the pip system at least knows whether to 1) pass the HDU on untouched, 2) set it to all 0s, 3) set it to all 1s, 4) discard the packet silently, or 5) discard the packet with a PCMP HDU Not Understood packet. 3. Modify the semantic meaning if necessary. Note also that if the Pip packet is replicated for multicast, each packet has its HD semantics modified individually. .LP .in 3 2.2.4 Tunneling .LP Consider two Pip systems, X and Y, separated by one or intermediate Pip systems. X wishes to tunnel a Transit Part to Y. Y is therefore the target system of the tunnel. A Transit Part He arrives at X. In order to forward the Transit Part to Y, X encapsulates He in another Transit Part, Hy. Y is the target system for Transit Part Hy. X sets the HD of He to what it would have been if Y was directly connected to X (that is, there were no intermediate Pip systems between X and Y). Further, it is intended that Y will derive its HD semantics from the HD of Transit Part He, not Transit Part Hy. .sp .KS ----0-----o-----o-----o-----o-----0---- X I J K L Y Now consider the operation of Pip system L (the previous hop system to Y). When L forwards the packet to Y, it may either decapsulate the packet (in the knowledge that Y is the target for Hy), or not decapsulate the packet. Either way, L derives its HD semantics from the HD of Transit Part Hy.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -