Internet DRAFT - draft-chaparadza-6man-igcp

draft-chaparadza-6man-igcp



IPv6 Maintenance (6man)                            Ranganai Chaparadza
Internet Draft                                        Fraunhofer Fokus
Intended status: Standard                                 Razvan Petre
Expires: September 2010                               Fraunhofer Fokus
                                                          Shiduan Cheng
                                                                   BUPT
                                                                 Li Xin
                                                                   BUPT
                                                              Yuhong Li
                                                                   BUPT
                                                          March 1, 2010



               ICMPv6 based Generic Control Protocol (IGCP)
                      draft-chaparadza-6man-igcp-00.txt


Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   This document may contain material from IETF Documents or IETF
   Contributions published or made publicly available before November
   10, 2008. The person(s) controlling the copyright in some of this
   material may not have granted the IETF Trust the right to allow
   modifications of such material outside the IETF Standards Process.
   Without obtaining an adequate license from the person(s) controlling
   the copyright in such materials, this document may not be modified
   outside the IETF Standards Process, and derivative works of it may
   not be created outside the IETF Standards Process, except to format
   it for publication as an RFC or to translate it into languages other
   than English.

   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




Chaparadza            Expires September 1, 2010               [Page 1]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html

   This Internet-Draft will expire on September 1, 2010.

Copyright Notice

   Copyright (c) 2010 IETF Trust and the persons identified as the
   document authors. All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document. Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document. Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Abstract

   This document presents a proposal for a multi-purpose Generic Control
   Protocol (IGCP) for IPv6 based networks. There is a growing need for
   a generic control protocol framework that can be further customized
   to specific usage contexts in which certain types of control
   information exchange messages and behavior among some functional
   entities hosted by different nodes is desired. For example, the
   growing area of self-management, self-organization and autonomic
   networking introduces functional entities into the node and network
   architectures that need to exchange control information in order to
   implement self-adaptive behavior and dynamic network configuration
   and optimization. In this document, we capture a number of control
   message exchange types of contexts for which a generic control
   protocol would be desired. The extensibility of ICMPv6 offers the
   room for designing such a generic control protocol. In this document,
   we present our proposal for such a generic control protocol that is
   based on extending ICMPv6, whose message format is divided into two
   parts: a Common Part and a Generic Data Part that can be further
   structured according to some usage context of control messages
   further encapsulated by the Data Part that need to be parsed and used
   by entities meant to interpret the Data Part.  We also give an
   example use case, where functional entities residing in different
   nodes exchange information using the IGCP generic messages.





Chaparadza            Expires September 1, 2010               [Page 2]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


Table of Contents


   1. Introduction ................................................ 3
   2. Problem Statement ........................................... 3
      2.1. The growing concept of Self-Management .................. 3
      2.2. The need for a multi-purpose Generic Control Protocol in IPv6
      based networks .............................................. 8
   3. The Proposed extension (IGCP) and its application ............ 9
      3.1. Generating an IGCP packet                                         ............................... 9
   4. Conventions used in this document                                            ........................... 11
   5. Message type and format for IGCP                                           ............................ 12
      5.1. IGCP Information Exchange Messages ..................... 12
         5.1.1. Example usage of the IGCP Information Exchange Messages
                        ........................................................ 16
      5.2. IGCP Negotiation Messages                                         .............................. 21
   6. Security Considerations                                  ..................................... 23
   7. IANA Considerations ........................................ 23
   8. Conclusions ................................................ 23
   9. References ................................................. 24
   10. Acknowledgments ........................................... 25

1. Introduction

   ICMPv6 [1] is an integral part of the IPv6 architecture and must be
   completely supported by all IPv6 implementations. It combines
   functions previously subdivided among different protocols, ICMPv4,
   IGMP and ARP, and it introduces some simplifications that eliminate
   obsolete types of messages no longer in use. ICMPv6 messages are
   subdivided into two classes: Error messages and Information messages.
   ICMPv6 (like a number of IPv6 protocols) offers some room for
   Extensibility depending on the need for exchanging Control Related
   Information and/or Context in which some Extension is required to the
   base ICMPv6 protocol.

2. Problem Statement

2.1. The growing concept of Self-Management

   Self-Management is a new growing concept for future networks in which
   Manager Entities (i.e. Decision-making-Elements) are introduced into
   the node/device architectures and the overall network architecture
   such that the manager entities can "autonomically" configure and
   control/regulate and adapt the behaviour of network protocols and
   mechanisms via the management interfaces of the individual protocols
   based on dynamic views analyzed by the manager entities. Such views
   can be goals/policies governing the way the protocols should be


Chaparadza            Expires September 1, 2010               [Page 3]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


   configured and adaptively adjusted, or incidents. The manager
   entities need to be able to communicate with each other some control
   types of messages depending on their co-operative goal as discussed
   later. We shall refer to the Manager Entities as Decision-Making-
   Elements. Recently, an example of an evolvable, standardizable
   architectural Reference Model for Autonomic Networking and Self-
   Management within node and network architectures, dubbed the Generic
   Autonomic Network Architecture (GANA), has emerged [2][3]. The
   concept of Autonomicity - realized through control-loop structures
   operating within network nodes/devices and the network as a whole, is
   an enabler for advanced and enriched self-manageability of network
   devices and networks. A central concept of GANA is that of an
   autonomic Decision-Making-Element ("DME" or simply "DE" in short-for
   Decision Element). A Decision Element (DE) implements the logic that
   drives a control-loop over the "management interfaces" of its
   assigned Managed Entities (MEs). Therefore, in GANA, self-*
   functionalities such as self-configuration, self-healing, self-
   optimization, etc, are functionalities implemented by a Decision
   Element(s). The "generic nature" of GANA lies in the definition of
   the interfaces and their fundamental operations that need to be
   supported by a Decision Element, the interconnection and relations
   among the DEs within node and network architectures, as well as the
   assignment of the types of Managed Entities (MEs) that are managed by
   their associated DEs, including the fundamental operations that must
   be supported on the management-interfaces of the individual MEs. In
   [3] different types of "instantiation" of GANA for autonomic network
   management and adaptive control of protocols for different types of
   network environments are illustrated.

   The Generic Autonomic Network Architecture (GANA) [4] introduces
   "autonomic manager components" known as Decision-Making-Elements
   (DMEs or in short - DEs) meant to operate at four different
   abstraction levels of functionality. These "autonomic manager
   components" are designed following the principles of "hierarchical",
   "peering", and "sibling" relationships among each other within a node
   or network. Moreover, these components are capable of performing
   autonomic control of their associated Managed-Entities (MEs), as well
   as co-operating with each other in driving the self-managing features
   of the Network(s).

   In GANA, four hierarchical levels of abstractions for which DEs, MEs,
   Control-Loops and their associated dynamic adaptive behaviours can be
   designed. The levels of abstractions are as follows:

   o Level-1: protocol-level (the lowest level) by which self-
      management is associated with the network protocol itself (whether
      monolithic or modular);


Chaparadza            Expires September 1, 2010               [Page 4]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


   o Level-2: the abstracted function-level (directly above the
      protocol(s)-level) that abstract some protocols and mechanisms
      associated with a particular function e.g. routing, forwarding,
      mobility management, etc-whereby we can talk about autonomic
      routing (see example instantiation of GANA for realizing autonomic
      routing in [5]), autonomic forwarding, autonomic fault-management,
      autonomic configuration management;

   o Level-3: the level of the node/device's overall functionality and
      behaviour i.e. a node or system as a whole is also considered as
      level of self-management functionality;

   Level-4: the level of the network's overall functionality and
   behaviour (the highest level). below illustrates that at node/system
   level of self-management (autonomic) properties, the lower level
   Decision-Making-Elements operating at the level of abstracted
   networking functions become the Managed-Entities of the main
   Decision-Making-Element (DME) of the system (node). This means the
   node's main DME has access to the "views" exposed by the lower level
   DMEs and uses its overall knowledge to influence (enforce) the lower
   level DMEs to take certain desired decisions, which may in turn
   further influence or enforce desired behaviours on their associated
   Managed-Entities, down to the lowest level of individual protocol
   behaviour. A "Sibling" relationship simply means that the entities
   are created or managed by the same upper level Decision-Making-
   Element (DME/DE).






















Chaparadza            Expires September 1, 2010               [Page 5]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


    Node X                                                      Node Y
   +--------------------+   +-----------------------------------------+
   |                    |   |                                         |
   |Objectives, Policies|   |Objectives, Policies                     |
   | from a higher level|   | from a higher level                     |
   | (Network-Level-DE) |   | (Network-Level-DE)                      |
   |       | | |        |   |       | | |                             |
   |       | | |        |   |       | | |                             |
   |+----- V V V ------+|   |+----- V V V ------+                     |
   ||  Main Decision   |Peers|  Main Decision   |                     |
   ||  Element of the  |<--->|  Element of the  |<-----------+        |
   ||  Node (Node-DE)  ||   ||  Node (Node-DE)  |            |        |
   |+------------------+|   |+------------------+            |        |
   |         |          |   |         |                      V        |
   |+------------------+|   |+------------------+   +----------------+|
   || Decision Element ||   || Decision Element |   |Decision Element||
   || of an abstracted |Peers| of an abstracted |   |of an abstracted||
   || Network Function |<--->| Network Function |<->|Network Function||
   ||  e.g. Routing-   ||   ||  e.g. Routing-   | | |   e.g. QoS-    ||
   ||  Management-DE   ||   ||  Management-DE   | | | Management-DE  ||
   |+------------------+|   |+------------------+ | +----------------+|
   |         |          |   |         |           +__                 |
   |+------------------+|   |+------------------+  \                  |
   || Decision Element ||   || Decision Element |  Example Interaction|
   ||  intrinsec to a  |Peers|  intrinsec to a  |  between Sibling    |
   || Routing Protocol |<--->| Routing Protocol |  Decision Elements  |
   ||    e.g. OSPF     ||   ||    e.g. OSPF     |                     |
   |+------------------+|   |+------------------+                     |
   +--------------------+   +-----------------------------------------+
    Figure 1 Hierarchical, Peering, Sibling Relations and Interfaces of
                               DEs in GANA.

   This means that the entities having a sibling relation can still form
   other types of peer relationship within the autonomic node or with
   other entities hosted by other nodes in the network, according to the
   protocol defined for their needs to communicate with other DEs.

   Level-4: The "network-level" represents the last level of
   autonomicity i.e. the highest level of self-manageability
   (autonomicity). There may exist a logically centralized network-level
   Decision-Making-Element(s) or the kind of DEs proposed in the 4D
   network architecture [6] belonging to an isolated "decision cloud"
   i.e. outside the nodes, which is considered to know (through some
   means) the objectives, goals or policies to be enforced by the whole
   network. The objectives, goals or policies may actually require that
   the main (top-level) DMEs of the nodes of the network that are
   covered by the centralized network-level DME(s) in the  "decision


Chaparadza            Expires September 1, 2010               [Page 6]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


   cloud", export "views" such as events and state information to the
   centralized DME(s). This may happen in order for the centralized DME
   to influence or enforce the DMEs of the nodes to take certain desired
   decisions following specific network policies that may in turn have
   an effect of inductive decision changes on the lower level DMEs of
   individual nodes i.e. down to protocol level decisions. A distributed
   network-level control-loop may be implemented following the above
   set-up, while another case of implementing a distributed control-loop
   would involve the main Decision-Making Elements of nodes working co-
   operatively to self-organize and manage the network without the
   presence of a "specially instrumented" logically centralized network-
   level DME(s) in an isolated "decision cloud". Such a logically
   centralized network-level DME(s) would be meant to manage the whole
   network and should be hosted in a special machine(s) whose resources
   are only dedicated to network state data analysis and management
   operations that must work in harmony with autonomous self-management
   at node-level. The second case implies that the nodes need to be
   designed in such a way as to have the possibility for the nodes
   themselves to self-organize and perform "intrinsic" management-which
   can only be achieved to a certain extent due to resource limitations
   of the nodes and the problem of longer convergence time with some
   distributed decision-making algorithms.

   In GANA:

   o Lower level DEs expose "views" up the Decision Plane, allowing the
      upper (slower) control loops to control the lower level (faster)
      control-loops (lower level DEs).

   o Changes computed in the upper DEs implementing slower Control-
      Loops are propagated down the DE hierarchy to the Functions-Level
      DE(s) implementing the faster control-loops that then arbitrate
      and enforce the changes to the lowest level Managed Entities
      (protocols and mechanisms).

   In [5] an instantiation case for autonomic management and control of
   IPv6 routing protocols and mechanisms is illustrated.

   The GANA can be viewed as a holistic architectural Reference Model
   for autonomic network engineering and self-management. It is holistic
   in the sense of the four levels of abstraction of functionality at
   which inter-working control-loops for self-management can be
   introduced. Moreover, it is meant to also address what may simply be
   called "intrinsic management within a node/device and collaboratively
   among network devices" as well as depicting "boundaries and
   constraints" for this type of intrinsic management. This means that
   the issues that require centralization of some of the autonomic


Chaparadza            Expires September 1, 2010               [Page 7]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


   decision-making processes of the network should be captured by such a
   model. In addition, appropriate interfaces of the kind of Network-
   level Decision Elements (DEs) that take care of the sophisticated
   centralized decision-making-processes must be defined by GANA. At the
   same time, these types of DEs must allow for some "network-intrinsic
   management and decision-making-processes" to take place harmoniously
   at a lower level within the network nodes themselves. In GANA,
   Network-level DEs, which implement the "slower control-loops", need
   to interact with the lower level (Function-Level DEs) that implement
   "faster control-loops" with the nodes. We refer the reader to [7] for
   more information on the subject.

   DEs operating at a certain level within GANA hierarchy of DEs may
   need to exchange control information, as described in the next
   section.

2.2. The need for a multi-purpose Generic Control Protocol in IPv6 based
   networks

   In IP-based node and network architectures that introduce such
   manager entities that need to exchange different types of control
   messages for the purposes outlined below, there is a need to
   introduce extensions to the current ICMPv6 protocol in order to
   address the requirements outlined below. The extension (IGCP) should
   capture the parts that must be generic in the additional types of
   messages while identifying the items that must be mandatrory in those
   additional types of messages. IGCP can be used by any entities of a
   node that require to exchange control messages, not just Manager
   Entities (i.e. DEs).

   In the case of Manager Entities such as the GANA DEs, residing in two
   or more nodes/devices, the entities may require to:

   o Negotiate the way their Managed Entities (MEs) e.g. Protocols
      should be configured. The need to negotiate can be in the case of
      lack of a centralized co-ordinator and the Peer DEs need to self-
      organise.

   o Solicit for Capabilities of the peer or peers based on the
      features supported by the protocols and mechanisms i.e. the
      associated MEs's Capabilities.

   o Self-Advertise Capabilities to peers on the link or selected peers
      by policy.





Chaparadza            Expires September 1, 2010               [Page 8]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


   o Exchange Trust related info. This could be done by the Node_DE
      (autonomically control the behaviour of the whole node) or also at
      lower level DEs within the node.

   o Expose Views to peer DEs, such as detected incidents, mis-
      behaviours, etc, which can be used by the peers for managing the
      configuration of their associated MEs.

   o Request Views from peer DEs.

3. The Proposed extension (IGCP) and its application

   For all the requirements for control information exchange listed
   above, we propose to introduce some generic ICMPv6 messages that can
   be used by different types of functional entities requiring
   communicating with each other across nodes/devices. The IGCP header
   consists of the first part that can be used for different purposes as
   is allowed by the fields defined later, and a Data part. The Data
   part can be further structured according to the identified
   requirements of different types of functional entities that need to
   exchange control information. We propose that the Data field be left
   to be defined according to the specific needs of specific types of
   functional entities that need to exchange control information (e.g.
   different types of DEs in the case of the GANA based network). An
   example of how the Data field can be used is presented later.

   ICMPv6 is used by IPv6 nodes to report errors encountered in
   processing packets, and for other internet-layer functions, such as
   diagnostics and control information exchange [1]. In [1] six ICMPv6
   message types are defined. Other protocols have introduced new ICMPv6
   message types, such as for example Neighbour Discovery for IPv6
   (NDv6) [8]. IPv6 nodes on the same link use NDv6 to discover each
   other's presence, determine each other's link-layer addresses, find
   routers and maintain reachability information about the paths to
   active neighbours [8].

3.1. Generating an IGCP packet

   Entities generating an IGCP packet (e.g. DEs) should reason about:

   1. When to generate the IGCP packet.

   2. The IP addressing for the IGCP packet: Unicast, Multicast or
   Anycast.

   3. The required forwarding behaviour for the IGCP packet: Selectively
   combining Hop-By-Hop Options Header; Routing Header (this may require


Chaparadza            Expires September 1, 2010               [Page 9]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


   a new Routing-Type to be added to existing ones to support this
   behaviour), and/or Destination Options Header whenever applicable now
   and in the future evolution of IPv6.

   4. Use of ND events as triggers to the generation of an IGCP packet
   e.g. the Node-DE may listen for such events and generate IGCP.










































Chaparadza            Expires September 1, 2010              [Page 10]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


                                __          ___
                                --          ---
                         ------/  \--------/   \------
                   -----/                             \----
             +----/        +-------------------------+     \--
         +---+             | Other Network-Level-DEs |        \-
      +--+              +--|                         |          \
    +-+                 |  +-------------------------+           +-
    |                   |      Network-Level-     |               -+
   +                 +--|    QoS-Management-DE    |<------+      |-
    +-               |  +-------------------------+       |       -+
      +--            |      Network-Level-     |<---------+    --/
         \---  +---->|   Routing-Management-DE |           ---/
             \-|---  +-------------------------+      ----/
               |   \------    -------     -----------/
               |          \--/       \---/
               |
    Node X     |                                             Node Y
   +---------- V ------------+           +-------------------------+
   | +---------------------+ |           | +---------------------+ |
   | | Decision Element of | |           | | Decision Element of | |
   | |  the Node (Node-DE) |<------------->|  the Node (Node-DE) | |
   | +---------------------+ |           | +---------------------+ |
   |            |            |           |            |            |
   | +---------------------+ |           | +---------------------+ |
   | | Decision Element of | |           | | Decision Element of | |
   | |    an abstracted    | |           | |    an abstracted    | |
   | |  Network Function   |<------------->|  Network Function   | |
   | |    e.g. Routing-    | |           | |    e.g. Routing-    | |
   | |    Management-DE    | |           | |    Management-DE    | |
   | +---------------------+ |           | +---------------------+ |
   |            |            |           |            |            |
   | +---------------------+ |           | +---------------------+ |
   | | Routing Protocol(s) | |           | | Routing Protocol(s) | |
   | |    and Mechanisms   | |           | |    and Mechanisms   | |
   | |      of a node      |<------------->|      of a node      | |
   | |      e.g. OSPF      | |           | |      e.g. OSPF      | |
   | +---------------------+ |           | +---------------------+ |
   +-------------------------+           +-------------------------+

                  Figure 2 DEs communicating using IGCP.



4. Conventions used in this document

   In the future revision.


Chaparadza            Expires September 1, 2010              [Page 11]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


5. Message type and format for IGCP

   We propose three new types of generic ICMPv6 messages for addressing
   the requirements outlined earlier, namely: ({Information Request},
   {Information Offer} and {Information ReceiptACK}) and two new
   messages for addressing the first need from the list provided earlier
   ({Negotiation Offer}, {Negotiation Reply}).

   ICMPv6 messages are grouped into two classes: error messages and
   informational messages. Error messages have message Types from 0 to
   127 and informational messages have message Types from 128 to 255.
   The processing rules defined in [1] for an error message are
   different compared to an informational message. All the proposed new
   messages presented here are informational messages.

5.1. IGCP Information Exchange Messages

   In [9] two messages are defined: Node Information Query and Node
   Information Reply, but they are designed to be used only for
   discovering information about names and addresses. We propose three
   new types of ICMPv6 messages for facilitating the exchange of generic
   control information: {Information Request}, {Information Offer} and
   {Information ReceiptACK} messages, that share the same general format
   presented in below.
























Chaparadza            Expires September 1, 2010              [Page 12]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Sender_Id                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Receiver_Id                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Group_Id    |          InfoType             |     Flags     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   /                             Data                              /
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

          Figure 3 Information Request/Offer/ReceiptACK Messages.



   Type            ICMPv6 message type.

   Code            For Information Request it can be used to further
                   distinguish between different categories of
                   information: capabilities, views regarding incidents
                   and policies, etc.

                   For Information Offer:

                      o 0 - Indicates that a confirmation is needed
                         (the receiver should send an Information
                         ReceiptACK message in response to this
                         Information Offer message). It means that the
                         Information Offer message is not a response to
                         an Information Request, but that the push
                         model is being used instead.

                      o 1 - Indicates a successful reply to an
                         Information Request message.

                      o 2 - Indicates that no confirmation is needed
                         (no Information ReceiptACK message should be
                         sent in response).

                      o 3 - Indicates that the receiver of an
                         Information Request message refuses to provide
                         the requested information (maybe because of


Chaparadza            Expires September 1, 2010              [Page 13]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


                         prohibiting local policies)

                      o 4 - Indicates that the InfoType field is
                         unknown to the responder or the Data field
                         could not be decoded accordingly to the
                         InfoType field.

                   For Information ReceiptACK:

                      o 1 - Indicates that the information was
                         successfully received and processed.

                      o 3 - Indicates that the InfoType field
                         presented in the Information Offer is unknown
                         to the responder or the Data field could not
                         be decoded accordingly to the InfoType field.

   Checksum        ICMPv6 checksum

   Sender_Id       A 32-bit field used to identify the sender
                   functional entity e.g. a GANA DE. The identifier
                   must be unique among all the functional entities
                   inside a node. (e.g. according to GANA there can be
                   more than one DE inside a node).

   Receiver_Id     This field is similar to the Sender_Id, but it is
                   used for identifying the receiver (e.g. a GANA DE)
                   inside the node.

   Group_Id        There can be a case when an IGCP message is of
                   interest to more than one functional entity inside a
                   node. For that purpose we envision that different
                   groups of interest can be set up, and different
                   functional entities inside the node can be part of a
                   specific group. This field should be used for
                   identifying the group of functional entities for
                   which the message is addressed.

                   IDs and Group-ID need to be discovered in a similar
                   fashion to the way Neighbor Discovery (ND) works.

   InfoType        A 16-bit field that indicates the type of
                   information requested in an Information Request or
                   supplied in an Information Offer.  Its value in a
                   reply should be always copied from the corresponding
                   received message (for an Information Offer with code
                   different from 0 it should be copied from the


Chaparadza            Expires September 1, 2010              [Page 14]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


                   corresponding Information Request message and for
                   Information ReceiptACK it should be copied from the
                   Information Offer message). The Information types
                   need to be further researched.

   Flags           There are specific flags for each InfoType defined
                   for Information Requests or Offers. When no flags
                   are defined for a given InfoType, this field must be
                   zero on transmission and ignored on reception, and
                   must not be copied from a Request to a Reply. An
                   example of how the flags can be used is presented
                   later on.

   Data            We propose to keep the data field as "generic" as
                   possible. The Data field must be left to be defined
                   according to the specific needs of specific types of
                   functional entities that need to exchange control
                   information (e.g. different types of DEs in the case
                   of the GANA based network). An example of how the
                   Data field can be used is presented in following.



   The messages described above provide just the basic fields that can
   be used by any functional entity (e.g. a GANA DE) intending to
   exchange control information. The Data part of the message can have
   different fields and structure according to the specific needs of the
   functional entities involved in the information exchange process. The
   structure of the Data field is determined by the value of the
   InfoType field.

   The Information Request message is used for requesting different
   types of information such as capabilities, views (e.g. regarding
   incidents in the network or links state), etc.  The Information Offer
   message is primarily meant to be sent in response to an Information
   Request message, but there are cases when the push model needs to be
   used and then the targeted functional entity could send directly an
   Information Offer message. The sender of an Information Offer message
   can choose to request an acknowledgment or not by using the Code
   field inside the message. If an acknowledgment is required then the
   receiver of the Information Offer message must construct and send an
   Information ReceiptACK message.







Chaparadza            Expires September 1, 2010              [Page 15]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


5.1.1. Example usage of the IGCP Information Exchange Messages

   IGCP is meant to be used by any functional entities intending to
   exchange control messages for the requirements outlined earlier. Here
   we focus on one example of a usage case of IGCP. In the following
   paragraphs, we give a concrete example of how the Information Offer
   message can be used by two GANA DEs residing on different nodes in
   order to exchange control information. The Function-Level Routing
   Management DE (FUNC_LEVEL_RM_DE) inside a node is responsible for
   autonomic management and control of the routing protocols and
   mechanisms of a node. In order to efficiently autonomically manage
   and control the Managed Entity (ME) e.g. the OSPF protocol based on
   context changes and incidents, by setting and re-seting some
   parameters such as those defined by the Management Information Base
   (MIB) for the target protocol, FUNC_LEVEL_RM_DEs from different nodes
   in the network need to exchange control information. They need to
   encapsulate the information into the Data field of the previously
   described messages. For this example case of control information
   exchange according to the requirements presented earlier, three new
   messages are introduced and their structure and fields are described
   below.

   Here we illustrate how the Data field can be specially tailored for
   exchanging link state information. The FUNC_LEVEL_RM_DE is
   responsible for autonomically managing and controlling the behaviour
   of all the routing protocols of a node e.g. OSPF (refer to [5], [7]
   for more detailed information on the description of the
   FUNC_LEVEL_RM_DEs). This is realized in a distributed manner and the
   FUNC_LEVEL_RM_DEs residing on different routers exchange information
   in order to take the most appropriate decisions for the overall
   network. Three kinds of messages are introduced for facilitating the
   information exchange between FUNC_LEVEL_RM_DEs and their structure is
   presented below.

   The Hello message (below) is used for establishing and maintaining
   connections to the neighbouring FUNC_LEVEL_RM_DEs. Hello messages are
   sent by each FUNC_LEVEL_RM_DE every Hello_Interval seconds from all
   router interfaces in order to establish a bidirectional communication
   with all its FUNC_LEVEL_RM_DEs neighbours. When two FUNC_LEVEL_RM_DEs
   have established a bidirectional communication, they begin to
   synchronize their topological databases.

   The synchronization is performed by using Link State Exchange
   messages (Figure 5). This process takes place in two steps. First,
   the two FUNC_LEVEL_RM_DEs involved must negotiate which DE is the
   Master and which one is the Slave. This is done easily by selecting
   the FUNC_LEVEL_RM_DE that has the largest value in the


Chaparadza            Expires September 1, 2010              [Page 16]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


   Sender_Router_Id field as the master. Once the roles of the DEs have
   been determined, the asymmetric exchange of information begins. The
   master DE will send its database in a sequence of Link State Exchange
   messages. The messages are sent one at a time and each message is
   acknowledged by the slave DE (by setting the bit A to one and keeping
   the same sequence number). The M bit must be set to 1 if there is
   more than one record in the database. When the master DE transmits
   its last database record, it will set the M bit to 0 to indicate that
   there are no more records to be sent. After receiving a message with
   M bit set to 0, the slave DE begins to send its database to the
   master DE. When the slave DE sends the last database record it will
   set also the M bit to 0 and the synchronization process completes.

   When a link state changes (e.g. in case of a link failure), the
   FUNC_LEVEL_RM_DE that detects the change will send a Link State
   Advertisement message (Figure 7) to all its neighboring
   FUNC_LEVEL_RM_DEs. A Link State Advertisement message may contain
   updates about the changes of more than one link. The sequence number
   from the advertisement message is compared to the value from the DE's
   local database. If the sequence number is new, the receiver DE will
   update the state of the link in the local database and it will issue
   a new Link State Advertisement message to all other interfaces in
   order to propagate the updates.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Sender_Id                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Receiver_Id                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Group_Id    |          InfoType             |     Flags     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Sender_Eth_Id                          |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   HelloType   |                   Reserved                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Hello_Interval                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Dead_Interval                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Sender_Router_Id                        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                          Figure 4 Hello Message.


Chaparadza            Expires September 1, 2010              [Page 17]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010




   Sender_Eth_Id     Interface identifier of the sender of the Hello
                     message

   HelloType         The type of the Hello message

   Hello_Interval    The time between two consecutive Hello messages,
                     expressed in seconds

   Dead_Interval     The time for the dead interval, expressed in
                     seconds

   Sender_Router_Id  Router identifier of the sender of the Hello
                     message



    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Sender_Id                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Receiver_Id                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Group_Id    |          InfoType             |    Flags  |A|M|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            SeqNum             |            Reserved           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   .                    Link_State_Option (only one)               .
   .                          (24 octects)                         .
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                   Figure 5 Link State Exchange Message.



   Flags           A:   Acknowledgement bit. This bit should be set to
                   zero when sending Link State Exchange messages. If
                   this bit is set to 1 then it indicates that the
                   message is an acknowledgment (see next sub-section
                   for more details).



Chaparadza            Expires September 1, 2010              [Page 18]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


                   M:   If this bit is set to 1 more Link State
                   Exchange messages will follow. When the last Link
                   State Exchange message is sent, this bit must be set
                   to 0 (see next sub-section for more details).

                   All the rest of the bits should be set to zero by
                   any sender of a Link State Exchange message.

   SeqNum          Sequence number of Link State Exchange message



    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                        Sender_Router_Id                       |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Neighbor_Router_Id                      |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                       Sender_Interface_Id                     |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Neighbor_Interface_Id                    |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                           Timestamp                           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            Metric             |            Reserved           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                        Figure 6 Link State Option.



   Sender_Router_Id       Router identifier of the sender

   Neighbour_Router_Id    Neighbour Router identifier

   Sender_Interface_Id    Interface identifier of the sender

   Neighbour_Interface_Id Neighbour Interface identifier

   Timestamp              Timestamp at which this Link State Option was
                          generated







Chaparadza            Expires September 1, 2010              [Page 19]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010




    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Sender_Id                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Receiver_Id                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Group_Id    |          InfoType             |    Flags  |A|0|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |            SeqNum             |         LSA_Counter           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   .                       Link_State_Options                      .
   .                         (at least one)                        .
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 7 Link State Advertisement Message.



   Flags           A:   Acknowledgement bit. This bit should be set to
                   zero when sending Link State Advertisement messages.
                   If this bit is set to 1 then it indicates that the
                   message is an acknowledgment (see next sub-section
                   for more details).

                   All the rest of the bits should be set to zero by
                   any sender of a Link State Exchange message.

   SeqNum          The sequence number of Link State Advertisement
                   message

   LSA_Counter     This field indicates how many Link State Options
                   (Figure 6) are present in the message.










Chaparadza            Expires September 1, 2010              [Page 20]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


5.2.  IGCP Negotiation Messages

   The {Negotiation Offer} and {Negotiation Reply} messages have the
   same structure presented as in Figure 8.

    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |     Code      |          Checksum             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                         Sender_Id                             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                      Receiver_Id                              |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |   Group_Id    |           NegType             |   SessionId   |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |    SeqNum     |     Flags     |           Reserved            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                                                               |
   /                             Data                              /
   |                                                               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

                Figure 8 Negotiation Offer/Reply Messages.



   Sender_Id       A 32-bit field used to identify the sender
                   functional entity e.g. a GANA DE. The identifier
                   must be unique among all the functional entities
                   inside a node. (e.g. according to GANA there can be
                   more than one DE inside a node).

   Receiver_Id     This field is similar to the Sender_Id, but it is
                   used for identifying the receiver (e.g. destination
                   DE) inside the destination node.

   Group_Id        There can be a case when an IGCP message is of
                   interest to more than one functional entity inside a
                   node. For that purpose we envision that different
                   groups of interest can be set up, and different
                   functional entities (e.g. DEs) inside the node can
                   be part of a specific group. This field should be
                   used for identifying the group of functional
                   entities (e.g. DEs) for which the message is
                   addressed.



Chaparadza            Expires September 1, 2010              [Page 21]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


   NegType         Negotiation Type is a 16-bit field that indicates
                   the negotiation protocol used for the current
                   negotiation session. Its value is set in the
                   Negotiation Offer message by the initiator of a
                   negotiation session and must remain unchanged during
                   the whole session.

   SessionId       An 8-bit field used to identify the messages that
                   correspond to a negotiation session. Its value must
                   be set up by the initiator of the negotiation
                   session and this value must remain unchanged during
                   the whole session.

   SeqNum          The sequence number of the negotiation message
                   inside a negotiation session. This field is
                   important for mapping a Negotiation Reply message to
                   the corresponding Negotiation Offer Message. Its
                   value must be set by the sender in a Negotiation
                   Offer message and should be copied by the receiver
                   into the Negotiation Reply message.

   Flags           There are specific flags for each NegType defined
                   for Negotiation Offer or Negotiation Reply. When no
                   flags are defined for a given NegType, this field
                   must be zero on transmission and ignored on
                   reception, and must not be copied from a Request to
                   a Reply.



   The Negotiation Offer and Negotiation Reply messages (Figure 8)
   presented in the previous section are meant to be generic messages
   for facilitating the negotiation process between two or more
   functional entities (e.g. GANA DEs). They provide the basic fields
   that may be required during the negotiation. The Data field should be
   used for carrying the additional information necessary in a specific
   case of negotiation. The negotiation process could be done in more
   than one step, as illustrated in Figure 9.










Chaparadza            Expires September 1, 2010              [Page 22]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


                  Functional                 Functional
                   Entity 1                   Entity 2
                       |                          |
                       |    Negotiation Offer 1   |
                       |------------------------->|
                       |    Negotiation Reply 1   |
                       |<-------------------------|
                       |                          |
                       |                          |
                       |    Negotiation Offer 2   |
                       |------------------------->|
                       |    Negotiation Reply 2   |
                       |<-------------------------|
                       |                          |

                      Figure 9  Negotiation Process.

   The negotiation process can be based on a simple mechanism like in
   the case of HTTP content negotiation [RFC 2616], [RFC 2295] or more
   sophisticated negotiation algorithms may be developed when necessary.



6. Security Considerations

   In the future revision.

7. IANA Considerations

   In the future revision.

8. Conclusions

   The proposed generic control protocol (IGCP) and its generic Data
   Part offers an opportunity to accommodate different types of control
   information exchange contexts in the current and future IPv6
   networks, thanks to the extensibility of the ICMPv6 protocol upon
   which the IGCP protocol framework is built. The growing concept of
   self-management and autonomic networking, which can be applied to
   existing networking paradigms would benefit from such a multi-purpose
   control protocol as the network's decision-making-elements that
   dynamically adapt and regulate protocol behaviors require exchanging
   control information.






Chaparadza            Expires September 1, 2010              [Page 23]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


9. References

   [1]  Conta A., Deering S., Gupta M. "Internet Control Message
         Protocol (ICMPv6) for the Internet Protocol Version 6 (IPv6)
         Specification", RFC 4443, March 2006.

   [2]  EC funded- FP7-EFIPSANS Project: http://efipsans.org/

   [3]  Chaparadza R., "Evolution of the current IPv6 towards IPv6++
         (IPv6 with Autonomic Flavours)", Published by the International
         Engineering Consortium (IEC) in the Review of Communications,
         Volume 60, December 2007.

   [4]  Chaparadza R., "Requirements for a Generic Autonomic
         Architecture (GANA), suitable for Standardizable Autonomic
         Behaviour Specifications of Decision-Making-Elements (DMEs) for
         Diverse Networking Enviroments", Published by the International
         Engineering Consortium (IEC) in the Annual Review of
         Communications, Volume 61, December 2008.

   [5]  Retvari G., Nemeth F., Chaparadza R., Szabo R., "OSPF for
         Implementing Self-adaptive Routing in Autonomic Networks: a                                                 th             Case Study", in proceedings of the 4  IEEE International
         Workshop on Modeling Autonomic Communication Environments
         (MACE2009), October 2009, Venice, Italy.

   [6]  Greenberg A. et al, "A clean slate 4D approach to network
         control and management", ACM SIGCOMM Computer Comm. Review, vol
         35(5), pp.41-54,2005.

   [7]  Chaparadza R., Papavassiliou S., Kastrinogiannis T., Vigoureux
         M., Dotaro E., Davy A., Quinn K., Wodczak M., Toth A.,
         Liakopoulos A., Wilson M., "Creating a viable Evolution Path
         towards Self-Managing Future Internet via a Standardizable
         Reference Model for Autonomic Network Engineering", FIA Prague
         2009 Conference, published in the Future Internet Book produced
         by FIA.

   [8]  Narten T., Nordmark E., Simpson W., Soliman H. "Neighbor
         Discovery for IP version 6 (IPv6)", RFC 4861, September 2007.

   [9]  Crawford M., Haberman B. "IPv6 Node Information Queries", RFC
         4620, August 2006.






Chaparadza            Expires September 1, 2010              [Page 24]

Internet-Draft  ICMPv6 based Generic Control Protocol       March 2010


10. Acknowledgments

   The authors acknowledge the EC for funding the FP7 EFIPSANS project
   (INFSO-ICT-215549) from which the ideas expressed in this draft
   emerged.

   This document was prepared using 2-Word-v2.0.template.dot.



Authors' Addresses

   Ranganai Chaparadza
   Fraunhofer Fokus
   Berlin, Germany

   Email: ranganai.chaparadza@fokus.fraunhofer.de


   Razvan Petre
   Fraunhofer Fokus
   Berlin, Germany

   Email: razvan.petre@fokus.fraunhofer.de


   Shiduan Cheng
   Beijing University of Posts and Telecommunications
   Beijing, China

   Email: chsd@bupt.edu.cn


   Li Xin
   Beijing University of Posts and Telecommunications
   Beijing, China

   Email: cplalx@gmail.com


   Yuhong Li
   Beijing University of Posts and Telecommunications
   Beijing, China

   Email: hoyli@bupt.edu.cn




Chaparadza            Expires September 1, 2010              [Page 25]