📄 rfc1374.txt
字号:
In the following discussion, the terms "requester" and "target" are used to identify the node requesting address resolution and the node whose address it wishes to discover, respectively. In third party ARP (see "ARP Implementation Methods," below) the source of a reply is an ARP agent node, not the target node. ARP and RARP Message Format The HIPPI ARP/RARP protocol uses the same packet format as ARP for Ethernet. ARP packets shall be transmitted with a hardware type code of 1 (as for Ethernet). Furthermore, ARP packets shall be accepted if received with hardware type codes of either 1 or 6 (IEEE 802 networks). ar$hrd (16 bits) shall contain 1. ar$pro (16 bits) shall contain the IP protocol code 2048 (decimal). ar$hln (8 bits) shall contain 6. ar$pln (8 bits) shall contain 4. ar$op (16 bits) shall contain 1 for requests, 2 for responses. ar$sha (48 bits) in requests shall contain the requester's ULA. In replies it shall contain the target node's ULA. ar$spa (32 bits) in requests shall contain the requester's IP address if known, otherwise zero. In replies it shall contain the target node's IP address. ar$tha (48 bits) in requests shall contain the target's ULA if known, otherwise zero. In replies it shall contain the requester's ULA. ar$tpa (32 bits) in requests shall contain the target's IP address if known, otherwise zero. In replies it shall contain theRenwick & Nicholson [Page 17]RFC 1374 IP and ARP on HIPPI October 1992 requester's IP address. The format of the six octets of the ULA shall be the same as required in the HIPPI-LE header (see "48 bit Universal LAN MAC Addresses" above), except for the alignment of the Source ULA with respect to the 32 bit HIPPI word, which is different between ARP and HIPPI-LE. No bit reversal is necessary as is required with FDDI [11]. 31 28 23 21 15 10 7 2 0 +-----+---------+-+-+-----------+---------+-----+---------+-----+ 0 | 04 |1|0| 000 | 03 | 0 | +---------------+-+-+---------------------+---------------+-----+ 1 | 36 | +-----+-+-------+-----------------------+-----------------------+ 2 |[LA] |W| 1 | 000 | Target Switch Addr | +-----+-+-------+-----------------------+-----------------------+ 3 | 2 | 2 | 000 |Requester's Switch Addr| +---------------+---------------+-------+-----------------------+ 4 | 00 00 | | +-------------------------------+ | 5 | Target ULA | +-------------------------------+-------------------------------+ 6 | [LA] | | +-------------------------------+ | 7 | Requester's ULA | +===============+===============+===============+===============+ 8 | AA | AA | 03 | 00 | +---------------+---------------+---------------+---------------+ 9 | 00 | 00 | EtherType (2054) | +---------------+---------------+-------------------------------+ 10 | hrd (1) | pro (2048) | +---------------+---------------+-------------------------------+ 11 | hln (6) | pln (4) | op (1) | +---------------+---------------+-------------------------------+ 12 | Requester's ULA octets 0 - 3 | +-------------------------------+-------------------------------+ 13 | Requester's ULA octets 4 - 5 | Requester's IP Address upper | +-------------------------------+-------------------------------+ 14 | Requester's IP Address lower | Target ULA octets 0 - 1 | +-------------------------------+-------------------------------+ 15 | Target ULA octets 2 - 5 | +---------------------------------------------------------------+ 16 | Target IP Address | +---------------------------------------------------------------+ HIPPI ARP/RARP Request (logical address mode)Renwick & Nicholson [Page 18]RFC 1374 IP and ARP on HIPPI October 1992 All ARP requests shall be sent with the I-field bit 28 set to zero, i.e. requesting a 32 bit connection. Unless another convention is locally defined for ARP requests, the I-field Path Selection bits may be set to binary 01 or 11 (logical address mode), and Destination Address field set to the HIPPI-SC address reserved for traffic conventionally directed to the IEEE 802.1[12] broadcast address (which HIPPI-SC defines as FE0, hex). Reply packets shall be sent with I-field Path Selection and Routing Control fields set according to the Source_Address_Type and Source_Switch_Address fields in the request. In the HIPPI-LE header of ARP/RARP requests and replies the following fields shall be set: Double-Wide should be 1 if the HIPPI Destination at the sending node can accept 64 bit HIPPI connections. Message_Type shall contain an address resolution type code as defined in HIPPI-LE. It shall be set appropriately to the value of the ARP operation code (ar$op) in piggybacked ARP messages: +-----------------------+-----------------------+ | ARP ar$op | HIPPI-LE Message_Type | +=======================+=======================+ |ARP Request (1) |AR_Request (1) | |ARP Reply (2) |AR_Response (2) | +-----------------------+-----------------------+ |Reverse ARP Request (3)|AR_Request (1) | |Reverse ARP Reply (4) |AR_Response (2) | +-----------------------+-----------------------+ There is no ARP message corresponding to HIPPI-LE self address discovery; these packets are sent without ULP data. Destination_Switch_Address in requests shall be the Switch Address of the target node if known, otherwise zero. In replies it shall be the requesting node's Switch Address Destination_Address_Type shall be 1 if the Destination_Switch_Address is a source route, 2 if it is a 12 bit address. Source_Address_Type shall be 1 if the Source_Switch_Address is a source route, 2 if it is a 12 bit address. Source_Switch_Address in requests shall be the Switch Address of the requesting node if known, otherwise zero. In replies it shall be theRenwick & Nicholson [Page 19]RFC 1374 IP and ARP on HIPPI October 1992 target node's Switch Address. Destination_IEEE_Address shall be the same as the ar$tha field in the ARP message. Source_IEEE_Address shall be the same as the ar$sha field in the ARP message. 31 28 23 21 15 10 7 2 0 +-----+---------+-+-+-----------+---------+-----+---------+-----+ 0 | 04 |1|0| 000 | 03 | 0 | +---------------+-+-+---------------------+---------------+-----+ 1 | 36 | +-----+-+-------+-----------------------+-----------------------+ 2 |[LA] |W| 2 | 000 |Requester's Switch Addr| +-----+-+-------+-----------------------+-----------------------+ 3 | 2 | 2 | 000 | Target Switch Address | +---------------+---------------+-------+-----------------------+ 4 | 00 00 | | +-------------------------------+ | 5 | Requester's ULA | +-------------------------------+-------------------------------+ 6 | [LA] | | +-------------------------------+ | 7 | Target ULA | +===============+===============+===============+===============+ 8 | AA | AA | 03 | 00 | +---------------+---------------+---------------+---------------+ 9 | 00 | 00 | EtherType (2054) | +---------------+---------------+-------------------------------+ 10 | hrd (1) | pro (2048) | +---------------+---------------+-------------------------------+ 11 | hln (6) | pln (4) | op (2) | +---------------+---------------+-------------------------------+ 12 | Target ULA octets 0 - 3 | +-------------------------------+-------------------------------+ 13 | Target ULA octets 4 - 5 | Target IP Address upper | +-------------------------------+-------------------------------+ 14 | Target IP Address lower | Requester's ULA octets 0 - 1 | +-------------------------------+-------------------------------+ 15 | Requester's ULA octets 2 - 5 | +---------------------------------------------------------------+ 16 | Requester's IP Address | +---------------------------------------------------------------+ HIPPI ARP/RARP Reply (logical address mode)Renwick & Nicholson [Page 20]RFC 1374 IP and ARP on HIPPI October 1992ARP procedure The combined HIPPI-LE/ARP packet contains six addresses, three each for the requester and the target: Requester's IP Address (ARP) Requester's ULA (ARP and HIPPI-LE) Requester's Switch Address (HIPPI-LE) Target's IP Address (ARP) Target's ULA (ARP and HIPPI-LE) Target's Switch Address (HIPPI-LE) Internet ARP concerns the IP Address and ULA; HIPPI-LE address resolution concerns the ULA and Switch Address. Thus the ULA appears in both parts of the packet. Successful ARP results in tables in each node that map remote nodes' IP addresses to ULAs and ULAs to Switch Addresses, so that when an application requests a connection to a remote node by its IP address, both the remote ULA and Switch Address can be determined, a correct HIPPI-LE header can be built, and a connection to the node can be established using the correct Switch Address in the I-field. Any recipient of an ARP request or reply may use information in the packet to augment its tables, even if it is neither the target node nor the requester. Note that the use of ULAs with HIPPI is not required. In both the HIPPI-LE header and the Internet ARP message, the fields that contain ULAs should be set to zero when the ULA is not known. Address resolution consists of two separate protocols, HIPPI-LE address resolution and Internet ARP, neither of which can function independently without ULAs. However HIPPI Switch Address resolution can work without ULAs if the two protocols are piggybacked and treated as one operation in which Internet addresses are mapped directly to switch addresses. With the exception of the optional self-address resolution request, which has no analogous Internet protocol, HIPPI-LE address resolution and Internet ARP messages should be sent together as a single HIPPI packet. If ULAs are used, the HIPPI-LE address resolution request can be sent without a piggybacked 802.2 LLC PDU, so it is possible to map ULAs to HIPPI Switch Addresses without using ARP. Nodes shall accept both piggybacked and non-piggybacked forms of HIPPI-LE address resolution messages. The recipient of an address resolution request, having first updated its address mapping tables with any new information it can find inRenwick & Nicholson [Page 21]RFC 1374 IP and ARP on HIPPI October 1992 the request, checks to see if it is the target node. If it is, it generates a reply by filling in the unknown target address fields according to the HIPPI-LE message type and the ARP operation code, and swapping the four pairs of source/target address fields. Then it connects to the requesting node with the Source Switch Address from the request, and sends the reply packet. A node is the target of an address resolution request if the request contains one of the following: 1. the node's ULA in the Destination_IEEE_Address field of a HIPPI- LE AR_Request message 2. the node's IP address in the target protocol address field (ar$tpa) of a piggybacked Internet ARP message If two target fields are known but are not mapped together in the recipient's address mapping tables, it may do one of three things: 1. treat the request as having two targets, and send correct replies for both to the requester. 2. assume its own tables are invalid and ignore the request. 3. assume one of the "known" target fields is correct and respond as if the other had been unknown. The best choice depends on which fields conflict and the nature of the implementation. Choice 3 is probably best for ordinary nodes, but third party ARP agents may have reason to use one of the other two. Future experience may shed light on this.ARP Implementation Methods
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -