O.Marce D.Galand Internet Draft ALCATEL Document: November 2000 Category: Experimental Active Router Execution Environment Information in Ipv6 Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026 [1]. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet- Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet- Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html. 1. Abstract This memo documents a way to transport particular data for active routers inside IPv6. It uses the Ipv6 extension headers to transport information on the data, coding the type of execution environment it is designated. 2. Conventions and terminology used in this document The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC-2119 [2]. Terminology: o Active network A network of nodes where nodes are able to process the received data in a specific manner. That means that each active node must be able to run algorithms other than those known at build-time. o Active router Active Router EE Information in Ipv6 November 2000 An active router is able to execute some code they received or downloaded, taking the IP packets as input data. o Execution environment The environment where the processing of the received data is executed. It gives access of router resources to the executing code. 3. Introduction Active network defines network composed of active nodes where data can be specifically processed. The active routers are able to receive code to be executed with the payload of the IP packets as input. Packets tagged for being processed are called "active packets". The processing takes place into the execution environment (EE) which can be specific to each routers family. Proposed formats for active packet are build upon IP. This implies that the router must decode the payload of the IP packet before to check if the packet is active, and if it is able to process the active packet. One of the key issue of the active network is the performance issue. Routers must be able to quickly process the active packets, in order, either to execute the corresponding code, or to consider it as any other packet. Putting active network information in the payload of an IP packet slows down this process. RFC2711 [3] describes the "Router Alert" header option which is used to notify the routers that the payload of the packet needs care. In this RFC, a value is defined for an active network payload. This needed information is not sufficient because of the diversity of active routers. What an active router needs to know quickly is if the received active packet is designated to one of the execution environment loaded (or which can be loaded) on the router. This documents describes the way to use IPv6 Hop-by-Hop extension header in order to transport active packet related information, and to allow router to decode these at low cost. 4. Specification The IPv6 protocol [4] defines some extension headers for Ipv6 packets. One of these extensions, the Hop-by-Hop extension header, is specifically designed such that all routers on the path can quickly look at it. For decoding performance reasons, this Hop-by- Hop extension header is always the first extension. RFC2711 describes the "Router Alert" header option (value : 5) which is used to notify the routers that the payload of the packet needs care. It is possible to precise in this option that the data is related to active networks; but there is no way to give the execution environment needed to process this packet. Active Router EE Information in Ipv6 November 2000 To allow active routers to quickly know if they have to process a received active packet, i.e. not only if the packet is an active packet, but also if the router knows the corresponding execution environment, a new type for the Hop-by-Hop extension header is defined. In addition to this active packet presence information, code values for execution environment are put into the value part of the Hop-by- Hop extension header. The following shows the format of the Hop-by-Hop extension header. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | AN Type | Length | EE ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | EE specific info | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The fields are the following: o AN Type (8 bits) : reserved type of extension header for the Active Network. This value will be registered by IANA (see section "IANA Considerations") o Length (8 bits) : size (in 32 bits words) of the "EE specific info" field. o EE ID : the ID of the execution environment needed to process the active packet. This ID will be registered by the ANANA (see section "Other assignment authority considerations") o EE specific info : this field is in EE's specific format and it codes the specific requirements or info for this execution environment. For example, the active packet SHOULD indicates in this field the modules needed for correct processing of the data. This will allow the router to quickly, and in an efficient way, check if they have the needs for processing the packet. The behavior of an router which does not have all the needed library or modules is out of the scope of this document. If the used technology is based on code embedded in the packet, this code could be transported in this field. The format used, as well as the assignment of identifiers for this field are out of the scope of this document. 5. IANA Considerations The AN Type described in Section 4 will be registered and maintained by IANA when necessary, as defined in RFC 2434 [5]. 6. Other assignment authority considerations Active Router EE Information in Ipv6 November 2000 The ID of the Execution Environment should be registered by the Active Network Assignment Number Authority [6]. 7. Security considerations No new security issues are raised by this document. 8. References 1 Bradner, S., "The Internet Standards Process -- Revision 3", BCP 9, RFC 2026, October 1996. 2 Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997 3 Partridge, C., Jackson, A., "IPV6 Router Alert Option", RFC 2711, October 1999. 4 Deering, S., Hinden, R., "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998. 5 Narten, T., Alvestrand, H., "Guidelines for writing an IANA Considerations sections in RFCs", BCP 26, RFC 2434, October 1998. 6 Active Networks Assigned Number Authority, http://www.isi.edu/~braden/anana/ 9. Author's Addresses Olivier Marce ALCATEL CRC Route de Nozay F-91461 Marcoussis Cedex Phone: +33 1 69 63 41 67 Email: Olivier.Marce@ms.alcatel.fr Damien Galand ALCATEL CRC Route de Nozay, F-91461 Marcoussis Cedex FRANCE Phone: +33 1 69 63 41 84 Email: Damien.Galand@ms.alcatel.fr inal draft output. . . . Full Copyright Statement "Copyright (C) The Internet Society (date). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implmentation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into Title> Categ6ry -