Network Working Group C. Partridge Request For Comment: 1022 BBN/NNSC G. Trewitt Stanford October 1987 THE HIGH-LEVEL ENTITY MANAGEMENT PROTOCOL (HEMP) STATUS OF THIS MEMO An application protocol for managing network entities such as hosts, gateways and front-end machines, is presented. This protocol is a component of the High-Level Entity Management System (HEMS) described in RFC-1021. Readers may want to consult RFC-1021 when reading this memo. This memo also assumes a knowledge of the ISO data encoding standard, ASN.1. Distribution of this memo is unlimited. PROTOCOL OVERVIEW The High-Level Entity Management Protocol (HEMP) provides an encapsulation system and set of services for communications between applications and managed entities. HEMP is an application protocol which relies on existing transport protocols to deliver HEMP messages to their destination(s). The protocol is targeted for management interactions between applications and entities. The protocol is believed to be suitable for both monitoring and control interactions. HEMP provides what the authors believe are the three essential features of a management protocol: (1) a standard encapsulation scheme for all interactions, (2) an authentication facility which can be used both to verify messages and limit access to managed systems, and (3) the ability to encrypt messages to protect sensitive information. These features are discussed in detail in the following sections. PROTOCOL OPERATION HEMP is designed to support messages; where a message is an arbitrarily long sequence of octets. Five types of messages are currently defined: request, event, reply, and protocol error, and application error messages. Reply, protocol error and application error messages are only sent in reaction to a request message, and are referred to collectively as responses. Partridge & Trewitt [Page 1]

RFC 1022 HEMS Protocol October 1987 Partridge & Trewitt [Page 2]

RFC 1022 HEMS Protocol October 1987 Partridge & Trewitt [Page 3]

RFC 1022 HEMS Protocol October 1987 Partridge & Trewitt [Page 4]

RFC 1022 HEMS Protocol October 1987 Partridge & Trewitt [Page 5]

RFC 1022 HEMS Protocol October 1987 Partridge & Trewitt [Page 6]

RFC 1022 HEMS Protocol October 1987 Partridge & Trewitt [Page 7]

RFC 1022 HEMS Protocol October 1987 Partridge & Trewitt [Page 8]

RFC 1022 HEMS Protocol October 1987 RFC-955 for a general discussion). Unfortunately, the community is still experimenting with transaction protocols, and many groups would like to be able to implement HEMP now. Accordingly, this memo defines two transport protocols for use with HEMP. Groups interested in using an implementation of HEMP and the HEMS in the near future should use a combination of the Transmission Control Protocol (TCP) and the User Datagram Protocol (UDP) under HEMP. TCP should be used for all request-response interactions and UDP should be used to send event messages. Using UDP to support the request- response interactions is strongly discouraged. More forward looking groups are encouraged to implement HEMP over a transaction protocol, in particular, experiments are planned with the Versatile Message Transaction Protocol (VMTP). PROTOCOL ERROR MESSAGES Protocol error messages are so closely tied to the definition of HEMP that it made sense to define the contents of the data section for protocol error messages in this memo, even though the data section is generally considered application specific. The data section of all protocol error messages has the same format, which is shown in Figure 10. This format has been chosen to agree with the error message format and ASN.1 type used for language processing errors in RFC-1024, and the error codes have been chosen such that they do not overlap. ProtocolError ::= [APPLICATION 0] implicit sequence { protoErrorCode INTEGER, protoErrorOffset INTEGER, protoErrorDescribed IA5String, } Figure 10: Data Section For Protocol Error Messages Partridge & Trewitt [Page 9]

RFC 1022 HEMS Protocol October 1987 Partridge & Trewitt [Page 10]

RFC 1022 HEMS Protocol October 1987 Partridge & Trewitt [Page 11]