📄 rfc2834.txt
字号:
HIPPI-LE "D_A_T" = Destination_Address_Type SHALL be 2Pittet Standards Track [Page 17]RFC 2834 ARP and IP Broadcast over HIPPI-800 May 2000 "S_A_T" = Source_Address_Type SHALL be 2 [FILL] bytes complete the HIPPI message to an even number of 32 bit words. The number of fill bytes is not counted in the data length.6.2 HIPPI Hardware Address Formats and Requirements For HIPPI-800, the Hardware Address is a 10-byte unit that SHALL contain the Switch Address AND the ULA. The format of a hardware address is: 31 23 15 7 0 +---------------+---------------+-------+-------+---------------+ | Mode Byte | 00 | 0 | X | XX | +---------------+---------------+-------+-------+---------------+ | ULA byte 0 | ULA byte 1 | ULA byte 2 | ULA byte 3 | +---------------+---------------+---------------+---------------+ | ULA byte 4 | ULA byte 5 | +---------------+---------------+ Where "XXX" is the 12 bit HIPPI logical address defined in HIPPI-SC [4]. Details on ULA see next section. Two switch addresses are considered to be the same when they have the same 12 bit destination HIPPI logical address. NOTE: In the case of HIPPI-6400, the hardware address is ONLY the 6- byte ULA. Therefore the length of the hardware address clearly defines which version of HIPPI is being used.6.2.1 48-bit Universal LAN MAC Addresses IEEE Standard 802.1A [11] specifies the Universal LAN MAC Address format. The globally unique part of the 48-bit space is administered by the IEEE. Each port on a HIPPI-SC LAN SHOULD be assigned a ULA. Multiple ULAs may be used if a port contains more than one IEEE 802.2 LLC protocol entity. The format of the HIPPI hardware address within its HARP message follows IEEE 802.1A canonical bit order and HIPPI-FP bit and byte order. For example the requester's ULA part of the HIPPI hardware address would decompose to:Pittet Standards Track [Page 18]RFC 2834 ARP and IP Broadcast over HIPPI-800 May 2000 31 23 15 7 0 +---------------+---------------+---------------+---------------+ |ULA byte 0 |L|G| ULA byte 1 | ULA byte 2 | ULA byte 3 | +---------------+---------------+---------------+---------------+ | ULA byte 4 | ULA byte 5 | +---------------+---------------+ Universal LAN MAC Address Format L (U/L bit) = 1 for Locally administered addresses, 0 for Universal. G (I/G bit) = 1 for Group addresses, 0 for Individual. The use of ULAs is OPTIONAL, but RECOMMENDED. The use of ULAs is REQUIRED if a port wishes to interoperate with a conventional network. ULAs may also be used by bridging devices that replace HIPPI hardware headers with the MAC headers of other LANs.6.3 HARP and InHARP Message Formats The HARP protocols use the HIPARP hardware type (ar$hrd) [16], protocol type (ar$pro), and operation code (ar$op) data formats as the ARP, and InARP protocols [15,7]. In addition, HARP makes use of an additional operation code for ARP_NAK introduced with [12]. The remainder of the HARP/InHARP message format is different than the ARP/InARP message format defined in [15,7,10] and it is also different from the format defined in the first "IP and ARP on HIPPI" RFC-1374 [14]. HARP messages SHALL be transmitted with the HIPARP hardware type code of 28 (decimal). Furthermore, HARP messages SHALL be accepted if received with hardware type codes of either 28, 1 or 6 (decimal). The HARP message has several fields that have the following format and values: Data sizes and field meaning: ar$hrd 16 bits Hardware type ar$pro 16 bits Protocol type of the protocol fields below ar$op 16 bits Operation code (request, reply, or NAK) ar$pln 8 bits byte length of each protocol address ar$rhl 8 bits requester's HIPPI hardware address length (q) ar$thl 8 bits target's HIPPI hardware address length (x) ar$rpa 32 bits requester's protocol address ar$tpa 32 bits target's protocol addressPittet Standards Track [Page 19]RFC 2834 ARP and IP Broadcast over HIPPI-800 May 2000 ar$rha qbytes requester's HIPPI Hardware address ar$tha xbytes target's HIPPI Hardware address Where : ar$hrd - SHALL contain 28. (HIPARP) ar$pro - SHALL contain the IP protocol code 2048 (decimal). ar$op - SHALL contain the operational value (decimal): 1 for HARP_REQUESTs 2 for HARP_REPLYs 8 for InHARP_REQUESTs 9 for InHARP_REPLYs 10 for HARP_NAK ar$pln - SHALL contain 4. ar$rln - SHALL contain 10 IF this is a HIPPI-800 HW address ELSE, for HIPPI-6400, it SHALL contain 6. ar$thl - SHALL contain 10 IF this is a HIPPI-800 HW address ELSE, for HIPPI-6400, it SHALL contain 6. ar$rha - in requests and NAKs it SHALL contain the requester's HW address. In replies it SHALL contain the target port's HW address. ar$rpa - in requests and NAKs it SHALL contain the requester's IP address if known, otherwise zero. In other replies it SHALL contain the target port's IP address. ar$tha - in requests and NAKs it SHALL contain the target's HW address if known, otherwise zero. In other replies it SHALL contain the requester's HW addressA. ar$tpa - in requests and NAKs it SHALL contain the target's IP address if known, otherwise zero. In other replies it SHALL contain the requester's IP address. The format of the six bytes of the ULA SHALL be the same as required in the HIPPI-LE header (see section 6.2), except for the alignment of the ULAs 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.Pittet Standards Track [Page 20]RFC 2834 ARP and IP Broadcast over HIPPI-800 May 2000 31 28 23 21 15 10 7 2 0 +-----+---------+-+-+-----------+---------+-----+---------+-----+ 0 | 04 |1|0| 000 | 03 | 0 | +---------------+-+-+---------------------+---------------+-----+ 1 | 45 | +-----+-+-------+-----------------------+-----------------------+ 2 |[LA] |W|MsgT= 0| 000 | Dest. Switch Addr | +-----+-+-------+-----------------------+-----------------------+ 3 | 2 | 2 | 000 | Source Switch Addr | +---------------+---------------+-------+-----------------------+ 4 | 00 00 | | +-------------------------------+ | 5 | Destination ULA | +-------------------------------+-------------------------------+ 6 | [LA] | | +-------------------------------+ | 7 | Source ULA | +===============+===============+===============+===============+ 8 | AA | AA | 03 | 00 | +---------------+---------------+---------------+---------------+ 9 | 00 | 00 | Ethertype (2054) | +---------------+---------------+-------------------------------+ 10 | hrd (28) | pro (2048) | +---------------+---------------+---------------+---------------+ 11 | op (ar$op) | pln (6) | rhl (q) | +---------------+---------------+---------------+---------------+ 12 | thl = (x) | Requester IP Address upper (24 bits) | +---------------------------------------------------------------+ 13 | Req. IP lower | Target IP Address upper (24 bits) | +---------------+-----------------------------------------------+ 14 | Tgt. IP lower | Requester HIPPI Hardware Address bytes 0 - 2 | +---------------+-----------------------------------------------+ 15 | Requester HIPPI Hardware Address bytes 3 - 6 | +-----------------------------------------------+---------------+ 16 | Requester HW Address bytes 7 - q | Tgt HW byte 0 | +---------------+---------------+---------------+---------------+ 17 | Target HIPPI Hardware Address bytes 1 - 4 | +---------------------------------------------------------------+ 18 | Target HIPPI Hardware Address bytes 5 - 8 | +---------------+---------------+---------------+---------------+ 19 |Tgt HW byte 9-x| FILL | FILL | FILL | +---------------+---------------+---------------+---------------+ HARP - InHARP MessagePittet Standards Track [Page 21]RFC 2834 ARP and IP Broadcast over HIPPI-800 May 20006.3.1 Example Message encodings: HARP_REQUEST message HARP ar$op = 1 (HARP_REQUEST) HARP ar$rpa = IPy HARP ar$tpa = IPa HARP ar$rha = SWy ULAy HARP ar$tha = 0 ** ** is what we would like to find out HARP_REPLY message format HARP ar$op = 2 (HARP_REPLY) HARP ar$rpa = IPa HARP ar$tpa = IPy HARP ar$rha = SWa ULAa * HARP ar$tha = SWy ULAy * answer we were looking for InHARP_REQUEST message format HARP ar$op = 8 (InHARP_REQUEST) HARP ar$rpa = IPy HARP ar$tpa = 0 ** HARP ar$rha = SWy ULAy HARP ar$tha = SWa ULAa ** is what we would like to find out InHARP_REPLY message format HARP ar$op = 9 (InHARP_REPLY) HARP ar$rpa = IPs * HARP ar$tpa = IPy HARP ar$rha = SWa ULAa HARP ar$tha = SWy ULAy * answer we were looking for6.3.2 HARP_NAK message format The HARP_NAK message format is the same as the received HARP_REQUEST message format with the operation code set to HARP_NAK; i.e. the HARP_REQUEST message data is copied byte for byte for transmission with the HARP_REQUEST operation code changed to the HARP_NAK value. HARP makes use of an additional operation code for HARP_NAK. Hence, HARP_NAK MUST be implemented.6.3.3 Combined HIPPI-LE and HARP message addresses The combined HIPPI-LE/HARP message contains ten addresses, two for the destination and two for the source of the message, three for the requester and three for the target: Destination Switch Address (HIPPI-LE) Destination ULA (HIPPI_LE) Source Switch Address (HIPPI-LE) Source ULA (HIPPI-LE)Pittet Standards Track [Page 22]RFC 2834 ARP and IP Broadcast over HIPPI-800 May 2000 Requester IP Address (HARP) Requester ULA (HARP) Requester Switch Address (HARP) Target IP Address (HARP) Target ULA (HARP) Target Switch Address (HARP) Examples: The following relations are true for a HARP_REQUEST and InHARP_REQUESTs. LIS without broadcast - Dest SW Addr = HARP server SW Addr (with HARP server) Dest ULA = HARP server ULA Source SW Addr = Requester's SW Addr Source ULA = Requester's ULA7 Broadcast and Multicast HIPPI-SC does not require switches to support broadcast. Broadcast support has therefore been absent from many HIPPI networks. During its registration phase, every port, including HARP server(s), discover if the underlying medium is capable of broadcast (see section 5.1.2). Should this not be the case, then the HARP server(s)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -