IETF MANET Working Group T. Ramrekha Internet-Draft E. Panaousis Intended status: Experimental G. Millar Expires: August 2010 C. Politis WMN Research Group Kingston University London FEB 24, 2010 ChaMeLeon (CML): A hybrid and adaptive routing protocol for Emergency Situations. draft-ramrekha-manet-cml-00.txt Status of this Memo This Internet-Draft is submitted to IETF 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 The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/shadow.html Ramrekha et al. Expires August 24, 2010 [Page 1] Internet-Draft ChaMeLeon (CML) February 2010 This Internet-Draft will expire on August 24, 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. Abstract This document describes the ChaMeLeon (CML) routing protocol designed for Mobile Ad hoc NETworks (MANETs) supporting emergency communications. CML is a hybrid and adaptive routing protocol operating within a defined disaster area denoted as the Critical Area (CA). The main concept behind CML is the adaptability of its routing mechanisms towards changes in the physical and logical state of a MANET. For autonomous emergency communications, there is a likelihood that the network size will vary whenever more rescuers join or leave the network. In addition, battery exhaustion of lightweight mobile communication devices used by rescuers could stipulate another reason for changes in the network size. Hence, this version of CML adapts its routing behavior according to changes in the network size within a pre-defined CA. For small networks, CML routes data proactively using the Optimized Link State Routing (OLSR) protocol whereas for larger networks it utilizes the reactive Ad hoc On-Demand Distance Vector (AODV) Routing protocol so that overall routing performance is improved. These transitions occur via the CML oscillation phase. This document focuses on the description of the processes involved in the CML Adaptive module, CML Oscillation phase and transition between phases. Table of Contents 1. Introduction ................................................ 3 2. Conventions used in this document............................ 4 2.1. CML Terminology......................................... 4 3. Applicability ............................................... 7 4. Protocol Overview ........................................... 8 4.1. Adaptive Module......................................... 8 4.1.1. Monitor function................................... 8 Ramrekha et al. Expires August 24, 2010 [Page 2] Internet-Draft ChaMeLeon (CML) February 2010 4.1.2. Adapt function..................................... 9 4.2. O-phase ............................................... 10 5. Protocol Operation ......................................... 11 5.1. P-phase ............................................... 12 5.2. R-phase ............................................... 12 5.3. O-phase ............................................... 12 5.3.1. The Oscillation Problem........................... 12 5.3.2. Operation ........................................ 12 6. CML Packet and Message Formats.............................. 15 6.1. Packet Format ......................................... 15 6.2. Change Phase (CP) Message.............................. 16 6.3. Hop Count Request (HCReq) Message...................... 16 6.4. Hop Count Request (HCRep) Message...................... 16 7. CML tables ................................................. 17 7.1. CML Change Phase table................................. 17 8. CML Timers ................................................. 17 8.1. Oscillation timer...................................... 17 9. Constants .................................................. 17 9.1. Network Threshold Values............................... 17 9.2. Oscillation Interval (Osc_Interval).................... 18 9.3. Parameter Values....................................... 18 10. Message Emission and Jitter................................ 19 11. IPv6 Considerations........................................ 19 12. Security Considerations.................................... 19 13. IANA Considerations........................................ 20 14. Conclusions ............................................... 20 15. References ................................................ 21 15.1. Normative References.................................. 21 15.2. Informative References................................ 21 16. Acknowledgments ........................................... 22 1. Introduction This protocol is an adaptive and hybrid routing protocol for MANETs designed to be used by rescuers within the realm of extreme emergency communications. It consists of 3 phases of operation namely Proactive, Oscillation and Reactive. The Proactive (p-) and Reactive (r-) phases operate in the same way as the core functions of [3] and [5] respectively and are discrete from each other. The Oscillation phase (o-phase), therefore, acts as an intermediate between p- and r-phases and decides on whether a shift from p-phase to r-phase is appropriate based on criteria defined in section 4.2. The main purpose of the o-phase is to avoid the oscillation problem as described in section 5.3. In addition, ChaMeLeon (CML) introduces an Adaptive module which runs in parallel to and is accessible by all phases of operation. The module is designed to monitor relevant MANET characteristics, detect a certain quantitative threshold Ramrekha et al. Expires August 24, 2010 [Page 3] Internet-Draft ChaMeLeon (CML) February 2010 exhibited by specific monitored characteristics and in such an event, transfer the control to the o-phase. This version of CML monitors the number of nodes in MANETs within a defined Critical Area (CA) where extreme emergency rescue operations take place. In such a situation, rescuers tend to join or leave the network according to the severity of the situation. CML aims to adapt its routing mechanism to the size of such MANETs, thus enhancing overall efficiency and effectiveness (both terms defined in [4]) as compared to [3] and [5]. CML uses [5], [3], [8], [10] and, optionally, [1]. CML makes no assumptions about the underlying link layer. 2. Conventions 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 [1]. 2.1. CML Terminology This section defines terminology associated with CML that is not already defined in or that differs from the meaning of the terminology in [8], [5] and [3]. o Node - A MANET router that implements the CML protocol as specified in this document. o CML interface - A network device that participates in a MANET that runs CML. A node may have several CML interfaces. Each interface SHOULD be assigned a unique IP address. Each interface SHOULD have a unique IP address. o Non CML interface - A network device that does not participate in a MANET that runs CML. A node MAY have several non CML interfaces. o Single CML interface node - A node in a MANET that has only one CML interface. o Multiple CML interface node - A node in a MANET that has more than one CML interface. Ramrekha et al. Expires August 24, 2010 [Page 4] Internet-Draft ChaMeLeon (CML) February 2010 o Link - A pair of CML interfaces, from two different nodes, within the same radio range that can communicate directly with each other. A node has a link to another node when at least one of its interfaces has a link to one of the interfaces of the other node. o Symmetric link - A verified bi-directional link between two CML interfaces. o Asymmetric link - A verified link between two CML interfaces in one direction only. o Main address - The main address of a node, to be used in CML packet as the "originator address" for all control messages generated by the node. It MUST be the address of one of the CML node interfaces. o Neighbor node - A node X is a neighbor node of node Y if node Y can hear node X. o MANET Context - A set of characteristics describing the MANET and its environment as defined in [4]. This includes node mobility levels, small and large node groups as well as technological and environmental constraints such as limited battery life of devices and bandwidth limitations of wireless links. o Source - A node that initiates data communication in the network or a node which generates control packets. o Sink - A node that is the intended recipient of data sent by source nodes. o Router - A node that implements the CML protocol. All collaborating nodes are potential routers. Router nodes are intermediate nodes located on routes between source and destination nodes. They are responsible for forwarding packets according to the CML routing algorithm. o Source address - An address that is unique (within the MANET) to each individual source node. A node MUST select an originator address; it MAY choose one of its interface addresses as its originator address. o Destination address - An address that is unique (within the MANET) to each individual sink node. Ramrekha et al. Expires August 24, 2010 [Page 5] Internet-Draft ChaMeLeon (CML) February 2010 o Stable phases - The set of CML routing phases that operates efficiently for a given MANET context. In this CML version, r- phase and p-phase are the only stable phases. o R-phase - A routing phase where the protocol adopts routing mechanisms from [3]. o P-phase - A routing phase where the protocol adopts routing mechanisms from [5]. o CML Oscillation phase - A routing phase where the protocol continues to operate in the current stable phase. It also checks whether the network size or hop threshold has been genuinely exceeded or whether node oscillation has taken place. It also alerts neighbors whenever it decides that the network has to shift phases. This phase is initiated by the CML Adaptive module. o Phase-shift - A shift from r-phase routing to p-phase routing via the o-phase. o Oscillation - An event where at least one node regularly joins and leaves a MANET so that the CML Network Size Threshold is each time exceeded by such activity. o CML Adaptive module - A module which encompasses the Monitor and Adapt functions. This module runs in parallel to and is accessible by all phases. It is used to determine the number of nodes in the network and checks whether this number has breached Network Size Limits. It also changes the node phase to o-phase if the threshold is exceeded. o CML Network Size Threshold (NST) - A threshold for the number of nodes in the network. Below the NST point, p-phase routing is more efficient and effective (both terms defined in [4]) than the r-phase routing. Beyond the NST point, r-phase routing outperforms p-phase. The NST varies according to the context of the MANET such as transmission range of the devices and node density (for a given critical area). NST is exceeded in the r- phase when the number of nodes is less than NST. In the p-phase, this occurs when the number of nodes is greater than NST. o CML Network Size Limit (NSL) - The NSL is a couple of values which deviate by an equal amount greater/less than the NST. The Upper value of NST is denoted by (U-NST) and the Lower value by (L-NST). The deviation value from Network Size Threshold is selected based on node oscillation properties. Ramrekha et al. Expires August 24, 2010 [Page 6] Internet-Draft ChaMeLeon (CML) February 2010 o CML Change Phase (CP) packet - A control packet unique to CML that is sent during the o-phase to alert other nodes in the network that a phase-shift has occurred locally. In p-phase mode, CML CP packets are only forwarded by MPR nodes whereas in r-phase mode, the CP packets are flooded by all nodes in an RREQ flooding fashion. o CML Change Phase (CP) Table - The CP Table is used to make sure that the originator sequence number and originator IP information of processed CML control packets are available for a given timeout period. This will help in ensuring loop free communication. o Network Hop Threshold (NHT) - A hop count value which indicates that the NST has been reached. The relationship between NHT and NST is defined in section 9.1. o CML Hop Count Request (HCReq) Packet - A CML control packet sent to probe whether the Network Hop Threshold (NHT) has been exceeded. o CML Hop Count Reply (HCRep) Packet - A CML control packet sent as a unicast reply to a HCReq packet. When it is received by the originator node, it indicates that the Network Hop Threshold (NHT) has not been exceeded. 3. Applicability This protocol has been designed with Ad hoc Communications in extreme emergency scenarios in mind, where rescuers are equipped with lightweight communication devices. The autonomous nature of MANETs is very suitable for extreme emergency communications within the CA because communication infrastructures in such disaster sites are usually incapacitated. Also, in such a context, the number of MANET nodes varies depending on the severity of the rescue operations. CML has the ability to adapt its routing behavior to changes in MANET size. Hence, it is a more suitable routing alternative than pure routing approaches for small, large as well as variable sized MANETs operating in a defined CA. A MANET including but not limited to such unique contextual considerations is defined as an emergency MANET (eMANET) in [6]. Future versions of CML will include functions in the Adaptive module to adapt to some of the other eMANET contexts such as mobility and those described in [4]. In this document, it is assumed that nodes are uniformly distributed in the CA so that rescuers can cover the maximum CA. In addition, CML MAY also be used for general purpose MANETs. Ramrekha et al. Expires August 24, 2010 [Page 7] Internet-Draft ChaMeLeon (CML) February 2010 4. Protocol Overview This protocol is designed to work as a hybrid and adaptive routing protocol for eMANETs. The normal mode of operation is under one of the stable phases. The default stable operating phase is the p- phase. This section describes the various processes and structures introduced by CML. Thus, it focuses on the interaction between the Adaptive Module and the o-phase as well as the operation of the o- phase. The routing behaviors of the r-phase and p-phase have been described in [3] and [5] respectively. 4.1. Adaptive Module 4.1.1. Monitor function When a control message is received at a CML interface, the node MUST call the monitor function of the Adaptive module after regular control message processing by the stable phase, as described in [3] and [5]. The current mode of operation is indicated by passing a phase specific flag to the function, i.e. a "Pphase" flag for p- phase operation and "Rphase" flag for R-phase operation. The monitor function, when called, MUST check the number of nodes in the network. This is accomplished differently depending on the current stable phase of operation. In the p-phase, this task consists of calculating the number of reachable hosts from the routing table that is defined in [5]. This calculation is done by counting the number of rows in the routing table. Each row includes fields of; possible destination nodes, the next hop to reach the destination as specified in the possible destination field and its distance from the current source node. These field values are computed using periodical Topology Control (TC) and HELLO message broadcasts by each node in the network. If the number of nodes is found to exceed the NST, the monitor function must call the Adapt function with the phase flag set as "Pphase" and the context flag set as "Nsize" (for Network Size). The last argument passed is the call flag and denotes the source of the call. In this case the call flag is set as "Monitor". In the r-phase, the number of nodes in the network is estimated using the maximum value of the hop count from a source node to a destination. As defined in [3], a source finds a route to a destination 'on-demand' by flooding a Route Request (RReq) packet throughout the network using an expanding ring approach until a RRep is received from the destination. The monitor function in the source node must use this RRep message to obtain the value of Hop Count (HC) towards the destination node. It then compares this with the Ramrekha et al. Expires August 24, 2010 [Page 8] Internet-Draft ChaMeLeon (CML) February 2010 NHT, which is calculated according to the relationship defined in section 9.1. The monitor function MUST act as follows: 1. If HC in RRep is greater or equal to NHT, it decides that the NST is not exceeded. 2. If HC in RRep is less than the NHT, the data packets are transmitted through the established route. After data transmission, the CML Hop Count Request (HCReq) packet described in section 6.3. will be generated and flooded in the network to probe for the network HC (as opposed to destination HC). The HC is said to be less than the NHT, if after 4*NET_TRAVERSAL_TIME, no HCRep has been received. If the HC is less than the NHT, the monitor function decides that the r-phase NST (calculated using the relationship in section 9.1. ), has been exceeded and calls the Adapt function with the phase flag set as "Rphase", the context flag set as "Nsize" and the call flag set as "Monitor". If a node receives HCReq, it must first make sure that the sequence number of the packet is greater than that stored in the Change Phase (CP) table for the same originator address. Then, it checks if the TTL = 0. If the latter is true, it MUST store HCReq originator IP and packet sequence number information in the CP table and send back an HCRep to the originator, as described in section 6.4. Otherwise, it decreases the TTL value and floods back the HCReq packet in the network. It then generates and floods its own HCReq to probe for the HC with TTL value set to NHT. The value of the originator address of the original HCReq packet (triggering the probing locally) is stored in the CP table along with the sequence number. The message type field is set equal to the value of message type "HCReq" as which is equal to '9' as mentioned in section 13. If for that particular HCReq, an HCRep is received, the node must send an additional HCRep to that HCReq originator address. If a node receives a CML CP Packet described in section 6.2. , it MUST flood the packet in the network after decreasing its TTL count. Then, the node MUST call the adapt function from its Adaptive module with the current phase flag, the context flag set as "Nsize" and the call flag set as "CML_CM". 4.1.2. Adapt function The Adapt function, when called by the monitor function makes sure one of the following is valid: 1. The phase flag is set to "Pphase", the context flag is set to "Nsize" and the call flag set as "Monitor". Ramrekha et al. Expires August 24, 2010 [Page 9] Internet-Draft ChaMeLeon (CML) February 2010 2. The phase flag is set to "Rphase", the context flag is set to "Nsize" and the call flag set as "Monitor". 3. The phase flag is set as either "Pphase" or "Rphase", the context flag is set as "Nsize" and the call flag is set as "CML_CM". If any one of the above cases is true, the Adapt function changes operation to o-phase by maintaining the current values of the phase flag, context flag and call flag which will be accessed by o-phase processes. In any other situation, the Adapt function terminates and the appropriate stable phase operation is resumed. 4.2. O-phase In the o-phase, the o-phase validity time, "Osc_Interval" of the oscillation timer described in section 8.1. , is first checked. If the timer is still valid, the call for o-phase is ignored and the stable phase of routing denoted by the phase flag is resumed. If the timer has expired, the o-phase checks the flag values: 1. If the phase flag is set to "Pphase", the context flag is set to "Nsize" and the call flag set as "Monitor": The routing mechanism of p-phase will continue to operate. At the same time, the node will check the number of nodes in the network as described in section 4. for 2*TC_Intervals (TC_Interval is described in [5]). If the number of nodes is then found to be greater than NST at least once, the o-phase switches to r-phase and resets the oscillation timer. It also generates and floods a CML CP Packet. The CP packet includes its address as originator address and its incremented sequence number. The CP field value of the CML packet is set as "Rphase". Otherwise, the node returns to operating in the p-phase. 2. If the phase flag is set to "Rphase", the context flag is set to "Nsize" and the call flag is set as "Monitor": Ramrekha et al. Expires August 24, 2010 [Page 10] Internet-Draft ChaMeLeon (CML) February 2010 The routing mechanism of r-phase will continue to operate. At the same time, the node will check the HC of the network using two more HCReq packets, as described in section 6.3. , waiting for 4*NET_TRAVERSAL_TIME (NET_TRAVERSAL_TIME is explained in [3]) each time. If in at least one occurrence, no HCRep is obtained for the HCReq with TTL=NHT, it is implied that the network size is smaller than the NST. In this case, the o-phase switches to p- phase and resets the oscillation timer. It also generates and floods a CML CP packet. The CP packet includes its address as originator address and its incremented sequence number. The value of the CP field in the packet is set to "Rphase". Otherwise, stable r-phase routing is resumed. 3. If the phase flag is set as either "Pphase" or "Rphase", the context flag is set as "Nsize" and the call flag is set as "CML_CP": The node MUST check the value of the sequence number in the packet and compare it to any stored sequence number having the same originator address in the CP table. If no match is found n the CP table, a new entry is created with the aforementioned values obtained from the CP packet before further processing. Otherwise, if a match is found and the packet sequence number is less than the sequence number stored in the table, the message is silently discarded and the node returns to the stable phase specified by the phase flag. For non-discarded packets, the node MUST check the CP field value in the CP packets and compare it with the phase flag: 1. If they are equal, the CP packet is silently discarded and the node returns to the phase specified by the phase flag. 2. If they are not equal, the o-phase changes the operation phase to the value specified in the CP field of the CP message and resets the oscillation timer. In both cases, the CP packets are flooded back in the network. 5. Protocol Operation This section describes the behavior CML MUST follow in the p-phase, r-phase and o-phase. Ramrekha et al. Expires August 24, 2010 [Page 11] Internet-Draft ChaMeLeon (CML) February 2010 5.1. P-phase In the p-phase, the node receives packets with all message types but only processes packets with message types 1-4 and routes data packets as described in [5]. It also processes packets with message types 9-11 as described in this document. In addition, it calls the Adaptive module each time a TC routing packet is received. In this phase, NST is equal to U-NST to cater for group oscillation which is described in section 5.3.1. 5.2. R-phase In the r-phase, the node receives packets with all message types but processes only packets with message types 5-8 and routes data packets as specified in [3]. It also processes packets with message types 9-11 as described in this document. In addition, it calls the Adaptive module each time it receives a RRep routing packet as a source node. In this phase, NST is equal to L-NST to cater for group oscillation. 5.3. O-phase In this subsection we describe the oscillation problem and the operation of the o-phase as a mechanism to counteract oscillation effects in eMANETs that use CML. The o-phase can only be initiated by the Adaptive module as described in section 4.1. The basic operations of the current stable phase still apply in the o-phase. However, there are added processes to check for oscillation instances. 5.3.1. The Oscillation Problem Oscillation occurs when nodes join and leave the network repeatedly so that the total number of nodes fluctuates exceeding and returning below the NST on a sequential basis. This causes performance degradation in CML due to frequent phase shifts. The level of oscillation is characterized by the number of nodes that oscillates and the frequency of oscillation. 5.3.2. Operation The solution to the oscillation problem is twofold. Appropriate NSL values (acting as NST) can restrain the effects of group oscillations whereas the right "Osc_Interval" value for the oscillation timer limits the impact of frequent oscillations. Ramrekha et al. Expires August 24, 2010 [Page 12] Internet-Draft ChaMeLeon (CML) February 2010 In addition, during the o-phase, a node checks more instances of the 'number of nodes' count or the network HC (depending on the current stable phase of operation) as described in section 4. In this way, it can confirm whether the NST or NHT has actually been exceeded. Otherwise, it determines that an oscillation has occurred and the stable phase of operation is resumed. If the NST is actually exceeded, the o-phase resets the oscillation timer and generates CP packets. These CP packets are flooded into the network to alert neighboring nodes of such a phase shift. The o-phase then shifts to the relevant stable phase of operation. Furthermore, the o-phase is also responsible for phase shifting if a valid CP packet is received from a neighboring node. In such a case, it floods back the CP packet in the network. Figure 1 illustrates the different modules and phases of the CML protocol along with the interactions among them. Ramrekha et al. Expires August 24, 2010 [Page 13] Internet-Draft ChaMeLeon (CML) February 2010 +--------------------------------------------------------------------+ |+-----------------+ +.....................+ +-----------------+ | || P-phase | | Adaptive Module | | R-phase | | || |1a | |1b | | | || Receive routing |-->|------>Monitor<------|<--| Receive routing | | || pkts | | (Phase Flag) | | pkts | | || | |-Checks if NST or NHT| | | | || Receive data | | is exceeded | | Receive data | | || pkts |2a | (If yes call Adapt) |2b | pkts | | || |<--|-(If no return |-->| | | || | | (2(a) or (b)) | | | | || Contact Adaptive| | | | Contact Adaptive| | || Module | | Adapt | | Module | | || | |(Phase flag,context, | | | | || | | call) | | | | || | |-Initialize O-phase | | | | || | | (3) | | | | |+-----------------+ +.....................+ +-----------------+ | | . | . . | | |5a |3 |4 |5b | | | v | | | |+-----------------------------------------------------------------+ | || O-phase | | || Continue current stable phase of operation | | || | | || Check Oscillation Timer (If valid go back to stable phase | | || (4)->(2(a)or 2(b)) | | || Check (context, phase flag and call) values | | || . If (Nsize, p-phase, monitor), check node count confirmation | | || . If (Nsize, r-phase, monitor), check hop count confirmation | | || . If (Nsize, *, CML_CP), check CP packet validity | | || (If they fail, go back to stable phase (4)->(2(a)or 2(b))) | | || Switch to r-phase or p-phase if checks are successful | | || (5(a)or 5(b)) | | || | | || Send CP packets to alert neighbors of phase change. | | || | | || Reset Oscillation Timer. | | |+-----------------------------------------------------------------+ | +--------------------------------------------------------------------+ Figure 1 CML Protocol Overview. Ramrekha et al. Expires August 24, 2010 [Page 14] Internet-Draft ChaMeLeon (CML) February 2010 6. CML Packet and Message Formats 6.1. Packet Format The basic layout of a CML packet is as follows (IP and UDP headers are omitted): 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Packet Length | Packet Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Message Type | Vtime | Message Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time To Live | Hop Count | Message Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : MESSAGE : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Message Type | Vtime | Message Size | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Time To Live | Hop Count | Message Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | : MESSAGE : | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ : : (etc.) o Packet Length - The length of the CML packet in bytes. o Packet Sequence Number - The Packet Sequence Number MUST be incremented by one each time a new CML packet is transmitted. o Message Type - This field indicates the type of message found in the "MESSAGE" section. This could be a CML message or messages from [5] or [3]. The rest of the packet fields are defined in [5]. Ramrekha et al. Expires August 24, 2010 [Page 15] Internet-Draft ChaMeLeon (CML) February 2010 6.2. Change Phase (CP) Message The Change Phase message format is shown below: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reserved |CP | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ o Change Phase (CP) - The CP field represents the phase to which the originator node has shifted to and subsequently requests neighbor nodes to shift to. 01-"Rphase" 10-"Pphase" o Reserved - This field is filled with 0 and ignored at reception. 6.3. Hop Count Request (HCReq) Message The HCReq message has an empty message body. It can be identified as a CML packet with: o Message Type - The value of message type is set to 9. o TTL - The TTL value is set to NHT. 6.4. Hop Count Request (HCRep) Message The message format for the HCRep message is: 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 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination IP address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ o Destination IP address - Originator IP address in corresponding HCReq packet. Ramrekha et al. Expires August 24, 2010 [Page 16] Internet-Draft ChaMeLeon (CML) February 2010 o Destination Sequence Number - Originator Sequence Number of corresponding HCReq packet. 7. CML tables 7.1. CML Change Phase table The CML CP Table fields are listed below: o Originator IP Address - The IP address of the node which generated the packet. o Originator Sequence Number - The Sequence number of the message that was sent by the node which generated the packet. This is incremented monolithically for each message generated by a node. o Message Type - The message type value of the message through which the table row was populated. 8. CML Timers 8.1. Oscillation timer The Oscillation timer is used in the o-phase to prevent phase shifts within the time period of "Osc_Interval". This timer prevents phase shift due to frequent oscillations. 9. Constants 9.1. Network Threshold Values The Network threshold values for CML are described below: o NST - The theoretical Network size threshold "Nt" of a network depends on the number of nodes N in the network, the critical area A of the network and the radio coverage area of each node. NST marks the point after which a reactive routing approach will be more effective and efficient compared to a reactive routing approach. Below the NST point, proactive routing approaches outperform reactive routing approaches. o U-NST - The Upper limit network size threshold "Nu" is given by: Nu = Nt + Nosc Ramrekha et al. Expires August 24, 2010 [Page 17] Internet-Draft ChaMeLeon (CML) February 2010 where "Nosc" is the number of nodes in the network which are expected to oscillate. When operating in the p-phase the actual value of NST is equal to "Nu". o L-NST - The Lower limit network size threshold "Nl" is given by: Nl = Nt - Nosc When operating in the r-phase the actual value of NST is equal to "Nl". o NHT - The network hop threshold value "Nht" is directly proportional to the square root value of the NST: Nht = Function (sqrt (Nt)) The optimal values for "Nt", "Nosc", "Nu", "Nl" and "Nht" as well as an accurate relationship between NST and NHT can be derived through experimentation and mathematical modeling for a given critical area, 'A' and node coverage radius 'R'. 9.2. Oscillation Interval (Osc_Interval) The Osc_Interval is a time period for which no phase shift is allowed. While the U-NST and L-NST values cater for group oscillations, the Osc_Interval prevents unnecessary phase shift overheads due to regular oscillations. Thus, the Osc_Interval SHOULD be set according to the time period of node oscillations. The optimal value for Osc_Interval can be derived through experimentation and mathematical modeling for a given critical area, 'A' and node coverage radius 'R'. 9.3. Parameter Values Parameter values used by the CML protocol and also defined in [3] and [5] are: Parameter Name Value ---------------------- ----- NET_DIAMETER 35 NET_TRAVERSAL_TIME 2 * NODE_TRAVERSAL_TIME * NET_DIAMETER NODE_TRAVERSAL_TIME 40 milliseconds PATH_DISCOVERY_TIME 2 * NET_TRAVERSAL_TIME Ramrekha et al. Expires August 24, 2010 [Page 18] Internet-Draft ChaMeLeon (CML) February 2010 HELLO_INTERVAL 2 seconds TC_INTERVAL 5 seconds 10. Message Emission and Jitter Synchronization of control messages SHOULD be avoided as mentioned in [2]. 11. IPv6 Considerations All the operations and parameters described in this document can be used for both IP version 4 and IP version 6. For IPv6 networks, the IPv4 addresses in CML packets and messages need to be replaced by IPv6 addresses. The packet and message sizes will also increase accordingly. 12. Security Considerations CML does not specify any special security countermeasures. Although, different secure versions of AODV and OLSR have been proposed in the literature [11], CML introduces new vulnerabilities. Firstly, any malicious node can generate a change phase packet to call the o- phase of CML and the routing behaviors will accordingly change. In this way, CML will not operate in the proper routing mode and the MANET's performance will not be optimal considering the real number of nodes in the network. Apart from that, legitimate nodes will flood the network with the CML CP packet generating traffic overhead within the MANET. Furthermore, a set of malicious nodes that coordinate their actions against the CML may periodically come into and depart from the network. In this way, CML recognizes that the number of nodes in the MANET has changed and oscillates from the proactive phase to the reactive or vice-versa. The continuous oscillation of CML can result in draining the battery level of the emergency devices rapidly. Another version of the above attack is launched when malicious nodes change the "hop value" in the CML HCReq Packet. In this case, legitimate nodes believe that the size of the network has changed and CML oscillates unreasonably. On the other hand, if a phase shift should take place (due to a real change of the number of nodes) but malicious nodes succeed to drop some or all of the Change Phase packets the performance of MANET will not be optimized. Therefore, security intelligent approaches have to be integrated into CML to avoid the aforementioned attacks and to provide eMANET nodes with basic security requirements such as confidentiality, authentication, integrity and availability. Ramrekha et al. Expires August 24, 2010 [Page 19] Internet-Draft ChaMeLeon (CML) February 2010 13. IANA Considerations The IANA consideration section is required as recommended by [7] and [9]. The following values for the corresponding message types would be required: Message Type Value -------------------- ----- HELLO_MESSAGE = 1 TC_MESSAGE = 2 MID_MESSAGE = 3 HNA_MESSAGE = 4 ROUTE REQUEST (RREQ) = 5 ROUTE REPLY (RREP) = 6 ROUTE ERROR (RERR) = 7 ROUTE-REPLY ACK (RREP-ACK)= 8 HOP COUNT REQUEST (HCREQ) = 9 HOP COUNT REPLY (HCREP) = 10 CHANGE PHASE (CP) = 11 14. Conclusions This I-D introduced the CML routing protocol. In extreme emergency situations, rescuers tend to join and/or leave the network frequently, thus changing network size. CML is a hybrid protocol which combines the functionalities of OLSR and AODV protocols in an adaptive manner. The motivation behind CML is the enhancement of the overall routing performance for varying size networks. The main features of CML include the Adaptive Module, which monitors and adapts to the changing network state, and the o-phase which Ramrekha et al. Expires August 24, 2010 [Page 20] Internet-Draft ChaMeLeon (CML) February 2010 considers the case of node oscillation. Future CML versions will augment the Adaptive module and make CML adaptive to additional MANET contexts. Furthermore, more security aspects of CML will be discussed towards the provision of security against adversaries that try to launch different types of network layer attacks. 15. References 15.1. Normative References [1] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. [2] Clausen, T., Dearlove, C., and B. Adamson, "Jitter considerations in MANETs", RFC 5148, February 2008. [3] Perkins, C., Belding-Royer, E., and Das S., "Ad hoc On-Demand Distance Vector (AODV) Routing", RFC 3561, July 2003. [4] Macker, J. and S. Corson, "Mobile Ad hoc Networking (MANET): Routing Protocol Performance Issues and Evaluation Considerations", RFC 2501, January 1999. [5] Clausen, T. and P. Jacquet, "The Optimized Link State Routing Protocol", RFC 3626, October 2003. 15.2. Informative References [6] PEACE team, "First draft of the emergency framework" PEACE, ICT-SEC-2007.1.7, Deliverable 2.2 (Public), June 2009. [7] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA Considerations Section in RFCs", RFC 5226, BCP 26, May 2008. [8] Clausen, T., Dean, J., Dearlove, C., and Adjih, C. "Generalized MANET Packet/Message Format", RFC 5444, February 2009. [9] Chakeres, I., "IANA Allocations for MANET Protocols", RFC 5498, March 2009. [10] Clausen, T. and C. Dearlove, "Representing multi-value time in MANETs", RFC 5497, March 2009. Ramrekha et al. Expires August 24, 2010 [Page 21] Internet-Draft ChaMeLeon (CML) February 2010 [11] Anjum, F. and Mouchtaris, P. "Security for Wireless Ad Hoc Networks", ISBN: 978-0-471-75688-0, John Wiley & Sons, March 2007. 16. Acknowledgments The authors wish to acknowledge the support of the ICT European 7th Framework Program and all the partners in PEACE (IP-based Emergency Applications and services for next generation networks) project with contract number 225654. This document was prepared using 2-Word-v2.0.template.dot. Authors' Addresses The following researchers who have contributed to this I-D are members of the Wireless Multimedia and Networking (WMN) Research Group at Kingston University London: Tipu Arvind Ramrekha Researcher, WMN Research Group Kingston University London UK KT1 2EE Phone: (+44) 02084177025 Email: a.ramrekha@kingston.ac.uk Emmanouil A. Panaousis Researcher, WMN Research Group Kingston University London UK KT1 2EE Phone: (+44) 02084177025 Email: e.panaousis@kingston.ac.uk Ramrekha et al. Expires August 24, 2010 [Page 22] Internet-Draft ChaMeLeon (CML) February 2010 Grant P. Millar Researcher, WMN Research Group Kingston University London UK KT1 2EE Phone: (+44) 02084177025 Email: g.millar@kingston.ac.uk Christos Politis Head of WMN Research Group Kingston University London UK KT1 2EE Phone: (+44) 02084172653 Email: c.politis@kingston.ac.uk Ramrekha et al. Expires August 24, 2010 [Page 23]