<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
    <!ENTITY RFC2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
	<!ENTITY RFC3561 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3561.xml">
	<!ENTITY RFC3626 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3626.xml">
	<!ENTITY RFC3756 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.3756.xml">
    <!ENTITY RFC4944 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4944.xml">
    <!ENTITY RFC4919 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.4919.xml">
]>

<rfc ipr="full3978" docName="draft-dokaspar-6lowpan-routreq-05">

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="no" ?>

	<front>
		<title abbrev="6LoWPAN Mesh Routing Requirements">
			Problem Statement and Requirements for 6LoWPAN Mesh Routing
		</title>

		<author initials="D." surname="Kaspar" fullname="Dominik Kaspar">
			<organization>Simula Research Laboratory</organization>
			<address>
				<postal>
					<street>Martin Linges v 17</street>
					<city>Snaroya</city>
					<code>1367</code>
					<country>Norway</country>
				</postal>
				<phone>+47-6782-8223</phone>
				<email>dokaspar.ietf@gmail.com</email>
			</address>
		</author>

		<author initials="E.S." surname="Kim" fullname="Eunsook Kim">
			<organization>ETRI</organization>
			<address>
				<postal>
					<street>161 Gajeong-dong</street>
					<street>Yuseong-gu</street>
					<city>Daejeon</city>
					<code>305-700</code>
					<country>Korea</country>
				</postal>
				<phone>+82-42-860-6124</phone>
				<email>eunah.ietf@gmail.com</email>
			</address>
		</author>

		<author initials="C." surname="Gomez" fullname="Carles Gomez">
			<organization>Technical University of Catalonia/i2CAT</organization>
			<address>
				<postal>
					<street>Escola Politecnica Superior de Castelldefels</street>
					<street>Avda. del Canal Olimpic, 15</street>
					<city>Castelldefels</city>
					<code>08860</code>
					<country>Spain</country>
				</postal>
				<phone>+34-93-413-7206</phone>
				<email>carlesgo@entel.upc.edu</email>
			</address>
		</author>

		<author initials="C." surname="Bormann" fullname="Carsten Bormann">
			<organization>Universit&auml;t Bremen TZI</organization>
			<address>
				<postal>
					<street>Postfach 330440</street>
					<city>Bremen</city>
					<code>D-28359</code>
					<country>Germany</country>
				</postal>
				<phone>+49-421-218-63921</phone>
				<facsimile>+49-421-218-7000</facsimile>
				<email>cabo@tzi.org</email>
			</address>
		</author>

		<date month="April" year="2008" />

		<area>General</area>
		<workgroup>6LoWPAN Working Group</workgroup>
		<keyword>Internet-Draft</keyword>
		<abstract>
			<t>
				This document provides the problem statement for 6LoWPAN mesh
				routing.  It also defines the requirements for 6LoWPAN mesh routing
				considering the low-power characteristics of the network and its devices.
			</t>
		</abstract>
	</front>

	<middle>
		<section anchor="problems" title="Problem Statement">
			<t>
				Low-power wireless personal area networks (LoWPANs) are formed by devices
				complying to the IEEE 802.15.4 standard <xref target="refs.IEEE802.15.4"/><xref target="refs.IEEE802.15.4-2006"/>. LoWPAN devices
				are distinguished by their low bandwidth, short range, scarce memory capacity, limited processing capability and other
				attributes of inexpensive hardware. In this document, the characteristics of nodes participating in LoWPANs
				are assumed to be those described in <xref target="RFC4919"/>.
			</t>
			<t>
				IEEE 802.15.4 networks support star and mesh topologies and consist of two different device types:
				reduced-function devices (RFDs) and full-function devices (FFDs). RFDs have the most limited capabilities
				and are intended to perform only simple and basic tasks. RFDs may only associate with a single FFD at a time, but
				FFDs may form arbitrary topologies and accomplish more advanced functions, such as multi-hop routing.
			</t>
			<t>
				However, neither the IEEE 802.15.4 standard nor the 6LoWPAN format specification
				("IPv6 over IEEE 802.15.4" <xref target="RFC4944"/>) specify how mesh topologies
				could be obtained and maintained. Routing in mesh networks has been the subject of much research. Also in the IETF,
				a number of experimental protocols have been developed in the Mobile Ad-hoc Networks (MANET) working group, such as
				AODV <xref target="RFC3561"/>, OLSR <xref target="RFC3626"/>, or DYMO <xref target="refs.DYMO"/>.
				However, these existing routing protocols may not be satisfying for mesh routing in a LoWPAN domain,
				for the following reasons:

				<list style="symbols">
					<t>
						6LoWPAN nodes have special types and roles, such as primary battery-operated RFDs, battery-operated and mains-powered FFDs,
						possibly various levels of RFDs and FFDs, mains-powered and high-performance gateways, data aggregators, etc. 6LoWPAN
						routing protocols should support multiple device types and roles.
					</t>
					<t>
						The more stringent requirements that apply to LoWPANs as opposed to higher performance or non-battery-operated networks.
						LoWPAN nodes are characterized by small memory sizes, low processing power, and are running on very limited power
						supplied by primary non-rechargeable batteries.  A node's lifetime is usually defined by the lifetime of its battery.
					</t>
					<t>
						Handling sleeping nodes is very critical in 6LoWPANs, more than in traditional ad-hoc networks. 6LoWPAN nodes might stay
						in sleep-mode for most of the time. Time synchronization is important for efficient forwarding of packets.
					</t>
					<t>
						A possibly simpler routing problem; 6LoWPANs might be either transit-networks or stub-networks. However, we can focus
						on stub networks first as many practical 6LoWPANs are configured with stub networks at this moment. We can simplify
						networks by an assumption of no transit networks.
					</t>
					<t>
						A possibly harder routing problem; routing in 6LoWPANs requires to consider power-optimization, harsh environment,
						data-aware routing, etc. These are not easy requirements to satisfy together.
					</t>
				</list>

				 This creates new challenges on obtaining robust and reliable mesh routing within LoWPANs.
			</t>
			<t>
				Using the 6LoWPAN header format, there are two layers routing protocols can be defined at, commonly referred to
				as "mesh-under" and "route-over". The mesh-under approach supports routing under the IP link and is directly based
				on the link-layer IEEE 802.15.4 standard, therefore using (64-bit or 16-bit short) MAC addresses. On the other hand,
				the route-over approach relies on IP routing and therefore supports routing over possibly various types of
				interconnected links (see also <xref target="NetworkStack"/>).
			</t>
			<t>
				Most statements in this draft apply to both the mesh-under and route-over cases.
			</t>
			<t>
				The 6LoWPAN problem statement document ("6LoWPAN Problems and Goals" <xref target="RFC4919"/>)
				briefly mentions four requirements on routing protocols;
				<list>
					<t>(a) low overhead on data packets</t>
					<t>(b) low routing overhead</t>
					<t>(c) minimal memory and computation requirements</t>
					<t>(d) support for sleeping nodes considering battery saving</t>
				</list>
				These four high-level requirements only describe the need for low overhead and power saving.
				But, based on the fundamental features of LoWPAN, more detailed routing requirements are presented in this document,
				which can lead to further analysis and protocol design.
			</t>
			<t>
				In summary, the main problems of mesh routing in LoWPANs are:
				<list style="numbers">
					<t>
						Existing routing solutions do not operate in 6LoWPAN's adaptation layer (and do not support the addressing
						scheme defined by IEEE 802.15.4). If a routing protocol for 6LoWPAN is designed to run in the IP layer, it
						should be adapted to meet the 6LoWPAN-specific requirements. It must be evaluated which layer is most
						suitable for 6LoWPAN routing.
					</t>
					<t>
						The precise 6LoWPAN routing requirements must be defined.
					</t>
					<t>
						It needs to be clarified how existing routing solutions can be adapted to meet the low-power requirements
						presented in <xref target="Requirements"/>.
					</t>
				</list>
			</t>
			<t>
				Considering the problems above, this draft addresses mesh routing requirements for 6LoWPANs for
				both mesh-under and route-over routing protocol design.
			</t>
			<t>
				Application-specific features affect the design of 6lowpan routing requirements and the corresponding solutions.
				However, various applications can be profiled by similar technical characteristics. This document states the
				requirements to consider the general features of all categories of 6LoWPAN applications. However, one single
				routing solution may not be the best one for all 6LoWPAN applications.
			</t>
		</section>

		<section title="Design Space">
			<t>
				Apart from a wide variety of routing algorithms possible for 6LoWPAN, the question remains as to whether routing should
				be performed mesh-under (in the adaptation layer defined by the 6lowpan format document <xref target="RFC4944"/>), or
				in the IP-layer using a route-over approach. The most significant consequence of mesh-under routing is that routing would
				be directly based on the IEEE 802.15.4 standard, therefore using (64-bit or 16-bit shortened) MAC addresses instead of IP
				addresses, and a LoWPAN would be seen as a single IP link. In case a route-over mechanism is to be applied to a LoWPAN it
				must also support 6LoWPAN's unique properties using global IPv6 addressing.
			</t>
			<t>
				Additionally, because of the low-performance characteristics of LoWPANs, a light-weight routing protocol must be produced
				that meets the design goals and requirements presented in this document.
			</t>

			<figure anchor='NetworkStack' title="Mesh-under (left) and route-over routing (right)">
				<preamble>
					<xref target="NetworkStack"/> shows the place of 6LoWPAN mesh routing in the entire network stack;
				</preamble>
				<artwork>
 +-----------------------------+    +-----------------------------+
 |  Application Layer          |    |  Application Layer          |
 +-----------------------------+    +-----------------------------+
 |  Transport Layer (TCP/UDP)  |    |  Transport Layer (TCP/UDP)  |
 +-----------------------------+    +-----------------------------+
 |  Network Layer (IPv6)       |    |  Network       +---------+  |
 +-----------------------------+    |  Layer         | Routing |  |
 |  6LoWPAN       +---------+  |    |  (IPv6)        +---------+  |
 |  Adaptation    | Routing |  |    +-----------------------------+
 |  Layer         +---------+  |    |  6LoWPAN Adaptation Layer   |
 +-----------------------------+    +-----------------------------+
 |  IEEE 802.15.4 (MAC)        |    |  IEEE 802.15.4 (MAC)        |
 +-----------------------------+    +-----------------------------+
 |  IEEE 802.15.4 (PHY)        |    |  IEEE 802.15.4 (PHY)        |
 +-----------------------------+    +-----------------------------+
				</artwork>
				<postamble/>
			</figure>

			<t>
				In order to avoid packet fragmentation and the overhead for reassembly, routing packets should fit into
				a single IEEE 802.15.4 physical frame and application data should not be expanded to an extent that they
				no longer fit.
			<t>
			</t>
				If a mesh-under routing protocol is built for operation in 6LoWPAN's adaptation layer, routing control packets are placed
				after the 6LoWPAN Dispatch. Multiple routing protocols can be supported by the usage of different Dispatch bit sequences.
				When a route-over protocol is built in the IPv6 layer, the Dispatch value can be chosen as one of the Dispatch patterns for
				6LoWPAN compressed or uncompressed IPv6, followed by the IPv6 header.
			</t>
		</section>

		<section anchor="scenarios" title="Scenario Considerations">
			<t>
				IP-based low-power WPAN technology is still in its early stage of development, but the range of conceivable usage
				scenarios is tremendous. The numerous possible applications of sensor networks make it obvious that mesh
				topologies will be prevalent in LoWPAN environments and routing will be a necessity for expedient communication.
				Research efforts in the area of sensor networking have put forth a large variety of multi-hop routing algorithms
				<xref target="refs.bulusu"/>. Most related work focuses on optimizing routing for specific application scenarios,
				which can largely be categorized into the following models of communication:
				<list style="symbols">
				   <t>Flooding (in very small networks)</t>
				   <t>Data-aware routing (dissemination vs. gathering)</t>
				   <t>Event-driven vs. query-based routing</t>
				   <t>Geographic routing</t>
				   <t>Probabilistic routing</t>
				   <t>Hierarchical routing</t>
				</list>
				Depending on the topology of a LoWPAN and the application(s) running over it, these different types of routing may be used.
				However, this draft abstracts from application-specific communication and describes general routing requirements
				valid for any type of routing in LoWPANs.
			</t>

			<t>
				The following parameters can be used to describe specific scenarios in which the candidate routing protocols could
				be evaluated.
			</t>

			<list style="letters">
				<t>Network Properties:</t>
				<list style="symbols">
					<t>
						Device Number, Density and Network Diameter: <vspace/>
						These parameters usually affect the routing state directly
						(e.g. the number of entries in a routing table or neighbor
						list).  Especially in large and dense networks, policies must
						be applied for discarding "low-quality" and stale routing
						entries in order to prevent memory overflow.
					</t>
					<t>
						Connectivity: <vspace/>
						Due to external factors or programmed disconnections, a LoWPAN
						can be in several states of connectivity; anything in the
						range from "always connected" to "rarely connected".  This
						poses great challenges to the dynamic discovery of routes
						across a LoWPAN.
					</t>
					<t>
						Dynamicity (incl. mobility): <vspace/>
						Location changes can be induced by unpredictable external
						factors or by controlled motion, which may in turn cause route
						changes.  Also, nodes may dynamically be introduced into a
						LoWPAN and removed from it later.  The routing state and the
						volume of control messages is heavily dependent on the number
						of moving nodes in a LoWPAN and their speed.
					</t>
					<t>
						Deployment: <vspace/>
						In a LoWPAN, it is possible for nodes to be scattered randomly
						or to be deployed in an organized manner.  The deployment can
						occur at once, or as an iterative process, which may also
						affect the routing state.
					</t>
					<t>
						Spatial Distribution of Nodes and Gateways: <vspace/>
						Network connectivity depends on node spatial distribution besides
						other factors like device number, density and transmission range. For
						instance, nodes can be placed on a grid, or can be randomly placed in
						an area (bidimensional Poisson distribution), etc.
						In addition, if the LoWPAN is connected to other networks through
						infrastructure nodes called gateways, the number and spatial
						distribution of gateways affects network congestion and available
						bandwidth, among others.
					</t>
					<t>
						Traffic Patterns, Topology and Applications: <vspace/>
						The design of a LoWPAN and the requirements on its application
						have a big impact on the most efficient routing type to be
						used.  For different traffic patterns (point-to-point,
						multipoint-to-point, point-to-multipoint) and network
						architectures, various routing mechanisms have been
						introduced, such as data-aware, event-driven, address-centric,
						and geographic routing.
					</t>
					<t>
						Quality of Service (QoS): <vspace/>
						For mission-critical applications, support of QoS is mandatory
						in resource-constrained LoWPANs and cannot be achieved without
						a certain degree of control message overhead.
					</t>
					<t>
						Security: <vspace/>
						LoWPANs may carry sensitive information and require a high
						level of security support where the availability, integrity,
						and confidentiality of data are primordial.  Secured messages
						cause overhead and affect the power consumption of LoWPAN
						routing protocols.
					</t>
				</list>

				<t>Node Parameters:</t>
				<list style="symbols">
					<t>
						Processing Speed and Memory Size: <vspace/>
						These basic parameters define the maximum size of the routing
						state. LoWPAN nodes may have different performance
						characteristics beyond the common RFD/FFD distinction.
					</t>
					<t>
						Power Consumption and Power Source: <vspace/>
						The number and topology of battery- and mains-powered nodes in
						a LoWPAN affect routing protocols in their selection of
						optimal paths for network lifetime maximization.
					</t>
					<t>
						Transmission Range: <vspace/>
						This parameter affects routing.  For example, a
						high transmission range may cause a dense network, which in
						turn results in more direct neighbors of a node, higher
						connectivity  and a larger routing state.
					</t>
					<t>
						Traffic Pattern:
						This parameter affects routing since high-loaded nodes (either
						because they are the source of packets to be transmitted or due
						to forwarding) may incur a greater contribution to delivery
						delays than low-loaded nodes. This applies to both data
						packets and routing control messages themselves.
					</t>
				</list>
			</list>

		</section>


		<section anchor="Requirements" title="6LoWPAN Routing Requirements">
			<t>
				This section defines a list of requirements for 6LoWPAN routing.  The
				most important design property unique to low-power networks is that 6LoWPANs
				support multiple device types and roles, for example:
				<list style="symbols">
					<t>primary battery-operated RFDs</t>
					<t>battery-operated and mains-powered FFDs</t>
					<t>possibly various levels of RFDs and FFDs</t>
					<t>mains-powered, high-performance gateway(s)</t>
					<t>data aggregators, etc.</t>
				</list>
				<t>
					Due to these unique device types and roles 6LoWPANs need to consider
					the following two primary features:
				</t>
				<list style="symbols">
					<t>
						Power conservation: some devices are mains-powered, but most are
						battery-operated and need to last several months to a few years
						with a single AA battery. Many devices are mains-powered most of
						the time, but still need to function for possible extended periods
						from batteries (e.g. on a construction site before building power
						is switched on for the first time).
					</t>
					<t>
						Low performance: tiny devices, small memory sizes, low-performance processors,
						low bandwidth, high loss rates, etc.
					</t>
				</list>
				These fundamental features of LoWPANs affect the design of routing
				solutions, so that existing routing specifications should be
				simplified and modified to the smallest extent possible, in order to
				fit the low-power requirements of LoWPANs, meeting the following
				requirements:
			</t>

			<section title="Routing Requirements depending on the 6LoWPAN Device Properties">
				<t>
					The general objectives listed in this subsection should be followed
					by 6LoWPAN routing protocols. The importance of each requirement is
					dependent on what device type the protocol is running on and what
					the role of the device is.
				</t>

				<t>[R01] A LoWPAN routing protocol SHOULD be designed to minimize the
					required computational and algorithmical complexity.</t>
				<list>
					<t>
						The lifetime of a wireless sensor node depends on the energy it
						can store and harvest. However, one major factor of power
						consumption in LoWPAN nodes is caused by the microcontroller.
						Power consumption of microcontrollers varies from family to family,
						but typical low power sensor nodes have 8 or 16 bit
						microcontrollers. They consume between 0.250 mA and 2.5 mA per MHz <xref target="refs.Hill"/>.
						Low power microcontrollers can have a significant impact on system
						performance. A routing protocol of low complexity helps to achieve
						the goal of reducing power consumption, improves robustness,
						requires lower routing state, is more easy to analyze, and is
						implicitly less prone to security attacks. 6LoWPAN routing protocols
						SHOULD be simple and of low computational complexity.
					</t>
				</list>

				<t>[R02] 6LoWPAN routing protocols SHOULD have a low routing state to fit
					the typical 6LoWPAN node capacity.
				</t>
				<list>
					<t>
					    Typical RAM size of LoWPAN nodes ranges between 2KB and 10KB,
						and program flash memory normally consists of 48KB to 128KB.
						(e.g., in the current market, MICAz has 128KB program flash,
						4KB EEPROM, 512KB external flash ROM; TIP700CM has 48KB program
						flash, 10KB RAM, 1MB external flash ROM). Operation with low
						routing state (such as routing tables and neighbor lists) SHOULD
						be maintained.  For example, devices may have only 32 forwarding
						entries available.  A LoWPAN routing protocol solution should
						consider the limited memory size typically starting at 4KB,
						in which it is hard to store neighbor state of hundreds of nodes)
						and computation capabilities of participating devices; due to
						these hardware restrictions, code length should be considered to
						fit within a small memory size. In addition, it should be taken
						into account that, while power consumption for RAM is almost
						negligible, flash writing/reading is energy expensive. For
						instance, in MICA motes, writing and reading consumes 1.1 nAh/byte
						and 83.3 nAh/byte, respectively.
					</t>
				</list>

				<t>[R03] 6LoWPAN routing protocols SHOULD cause minimal power
					consumption, both in the efficient use of control packet and also in
					the process of packet forwarding after route establishment.
				</t>
				<list>
					<t>
						Saving energy is crucially important to LoWPAN devices that are
						not mains-powered. In fact, power consumption of transmission
						and/or reception depends linearly on the length of data units and
						on the frequency of transmission and reception of the data units <xref target="refs.Shih"/>.
					</t>
					<t>
						Compared to functions such as computational operations or taking
						sensor samples, radio communications is by far the dominant factor
						of power consumption <xref target="refs.SmartDust"/>.
						In <xref target="refs.Hill"/> the energy consumption of two
						example RF controllers for low-power nodes is shown. The TR1000
						radio consumes 21mW of energy when transmitting at 0.75mW. During
						reception, the TR1000 consumes 15mW and has a receiver sensitivity
						of -85dBm. The CC1000 consumes 50mW to transmit at 3mW and consumes
						20mW to have a receiver sensitivity of -105dBm. When transmitting
						0.75mW, CC1000 consumes 31.6mW. On an idealized power source, the
						CC1000 can transmit for approximately 4 days straight or remain in
						receive mode for 9 days straight. In order to last for one year, the
						CC1000 must operate at a duty cycle of approximately 2%. It is shown
						that a node must consume less than 200uA on average to last for one
						year on a pair of AA batteries.
					</t>
					<t>
						Routing protocol design for 6LoWPAN should consider IEEE 802.15.4
						link layer feedback on energy consumption. Power-aware routing is
						a non-trivial task, because it is affected by many mutually
						conflicting goals:
						<list style="symbols">
							<t>Minimization of total energy consumed in the network</t>
							<t>Maximization of the time until a network partition occurs</t>
							<t>Minimizing the energy variance at each node</t>
							<t>Minimizing the cost per packet</t>
						</list>
						while keeping packet delivery ratio, latency or other requirements
						depending on each application.
					</t>
					<t>
						One way of battery lifetime optimization is by achieving a minimal
						control message overhead.
					</t>
				</list>

				<t>[R04] The procedure of route repair and related control messages
					should not harm overall energy consumption from the routing protocols.</t>
				<list>
					<t>
						Local repair improves throughput and end-to-end latency, especially
						in large networks. Since routes are repaired quickly, fewer data
						packets are dropped, and a smaller number of routing protocol
						packet transmissions is needed since routes can be repaired without
						source initiated Route Discovery <xref target="refs.Lee"/>.
					</t>
				</list>

				<t>[R05] Neighbor discovery for 6LoWPAN routing SHOULD be energy-efficient.</t>
				<list>
					<t>
						Neighbor discovery is a major precondition to allow routing in a
						network.  Especially in a low-power environment, where nodes might
						be in periodic sleeping states, it is difficult to define whether
						a node is a neighbor of another or not.  Mesh-under neighbor
						discovery for 6LoWPANs is currently still in progress and
						described more detailed in <xref target="refs.6lowpan.nd"/>.  In case of a route-over
						protocol, IPv6 neighbor discovery should be operated energy-
						efficiently. For example, multicast may be needed if IPv6 ND
						cannot be optimized well to suit for 6LoWPAN device.
					</t>
				</list>

				<t>[R06] 6LoWPAN routing protocols SHOULD be reliable despite unresponsive nodes
					due to periodic hibernation.</t>
				<list>
					<t>
						Many nodes in LoWPAN environments might periodically hibernate
						(i.e. disable their transceiver activity) in order to save energy.
						Therefore, mesh routing protocols must ensure robust packet
						delivery despite nodes frequently shutting off their radio
						transmission interface. Feedback, for instance from periodic
						beacons, from the lower IEEE 802.15.4 layer may be considered
						to enhance the power-awareness of 6LoWPAN routing protocols.
					</t>
				</list>

			</section>

			<section anchor="reqs2" title="Routing Requirements depending on Types of 6LoWPAN Applications">
				<t>
					The routing requirements described in this subsection are heavily
					dependent on application needs.
				</t>

				<t>[R07] 6LoWPAN routing protocol SHOULD support various traffic patterns;
					point-to-point, point-to-multipoint, and multipoint-to-point.</t>
				<list>
					<t>
						6LoWPANs often have point-to-multipoint or multipoint-to-point
						traffic patterns. Many emerging applications include point-to-point
						communication as well. 6LoWPAN routing protocols should
						be designed with the consideration of forwarding packets from/to
						multiple sources/destinations. Current personal drafts in the ROLL working group
						explain that the workload or traffic pattern of use cases for
						6LoWPANs tend to be highly structured, unlike the any-to-any data
						transfers that dominate typical client and server workloads. In many
						cases, exploiting such structure may simplify difficult problems
						arising from resource constraints or variation in connectivity.
					</t>
				</list>

				<t>[R08] 6LoWPAN routing protocols SHOULD be robust to dynamic loss
					caused by link failure or device unavailability either in short-term
					(e.g. due to RSSI variation, interference variation, noise and asynchrony)
					or in long-term (e.g. due to a depleted power source, hardware breakdown,
					operating system misbehavior, etc).</t>
				<list>
					<t>
						An important trait of LoWPAN devices is their unreliability due to
						limited system capabilities, and also because they might be closely
						coupled to the physical world with all its unpredictable variation.
						For instance, in case of structural health monitoring, hundreds of
						nodes could be placed on 20 bridge pillars spanning over a river.
						Once the nodes are distributed, they are hardly accessible for
						maintenance and in case of single node failure, the network should
						not break down. In harsh environments, LoWPANs easily suffer from
						link failure. Collision or link failure easily increases Send
						Queue/Receive Queue (SQ/RQ) and it can lead to queue overflow and
						packet losses.
					</t>
					<t>
						The design of mesh routing
						protocols must consider the fact that packets are to be delivered
						with reasonable probability despite unreliable and unresponsive nodes.
					</t>
				</list>

				<t>[R09] 6LoWPAN routing protocols SHOULD allow for dynamically adaptive
					topologies and mobile nodes. When supporting dynamic topologies and
					mobile nodes, route
					maintenance should be managed by keeping in mind the goal of a
					minimal routing state.</t>
				<list>
					<t>
						There are several challenges that should be addressed by a 6LoWPAN
      					routing protocol in order to create robust routing in dynamic
						environments:
						<list style="symbols">
							<t> Mobile nodes changing their location inside a LoWPAN:<vspace/>
								If the nodes' movement pattern is unknown, mobility cannot
								easily be detected or distinguished from routing in
								6LoWPAN's adaptation layer. Mobile nodes can be treated
								as nodes that disappear and re-appear in another place.
								Movement pattern tracking increases complexity and can be
								avoided by handling moving nodes using reactive route updates.
							</t>
							<t> Movement of a LoWPAN with respect to other (inter)connected LoWPANs:<vspace/>
								Within stub networks, more powerful gateway nodes need to be
								configured to handle moving 6LoWPANs.
							</t>
							<t> Nodes permanently joining or leaving the LoWPAN:<vspace/>
								In order to ease routing table updates and reduce error
								control messages, it would be helpful if nodes leaving the network inform
								their coordinator about their intention to disassociate.
							</t>
						</list>
					</t>
				</list>

				<t>[R10] 6LoWPAN routing protocols SHOULD be designed to achieve both
					scalability and minimality in terms of used system resources.</t>
				<list>
					<t>
						 A LoWPAN may consist of just a couple of nodes (for instance in
						 a body-area network), but may expand to much higher numbers of
						 devices (e.g. monitoring of a city infrastructure or a highway).
						 It is therefore necessary that routing mechanisms are designed
						 to be scalable for operation in various network sizes. However,
						 due to a lack of memory size and computational power, 6LoWPAN
						 routing might limit forwarding entries to a small number, such
						 as 32 routing table entries.
					</t>
				</list>

				<t>[R11] 6LoWPAN protocols SHOULD support secure delivery of control messages.
				    A minimal security level can be achieved by utilizing an AES-based mechanism.</t>
				<list>
					<t>
						Security threats within LoWPANs may be different from existing
						threat models in ad-hoc network environments.  Neighbor Discovery
						in IEEE 802.15.4 links may be susceptible to threats as listed in
						RFC3756 <xref target="RFC3756"/>.  Bootstrapping may also impose additional threats.
						Security is also very important for designing robust routing
						protocols, but it should not cause significant transmission
						overhead. While there are applications which require very high security,
						such as in traffic control, other applications are less easily harmed by
						wrong node behavior, such as a home entertainment system.
					</t>
					<t>
						The IEEE 802.15.4 MAC provides an AES-based security mechanism. Routing
						protocols need to define how this mechanism can be used to obtain
						the intended security. Byte overhead of the mechanism, which depends
						on the security services selected, must be considered. In the worst
						case in terms of overhead, the mechanism consumes 21 bytes of MAC
						payload.
					</t>
				</list>

			</section>

			<section title="MAC-coupled Requirements">
				<t>
					The routing requirements described in this subsection allow optimization
					and correct operation of routing solutions taking into account the
					specific features of IEEE 802.15.4 physical and MAC layers.
				</t>

				<t>[R12] 6LoWPAN routing protocol control messages SHOULD not create
   					fragmentation of physical layer (PHY) frames.</t>
				<list>
					<t>
						In order to save energy, routing overhead should be minimized
						to prevent fragmentation of frames on the physical layer
						(PHY).  Therefore, 6LoWPAN routing should not cause packets to
						exceed the IEEE 802.15.4 frame size.  This reduces the energy
						required for transmission, avoids unnecessary waste of bandwidth,
						and prevents the need for packet reassembly. As calculated in
						RFC4944 <xref target="RFC4944"/>, the maximum size of a 6LoWPAN
						frame, in order not to cause fragmentation on the PHY layer, is
						81 octets.
					</t>
				</list>

				<t>[R13] For neighbor discovery, 6LoWPAN devices SHOULD avoid sending
					"Hello" messages.  Instead, link-layer mechanisms (such as
					acknowledgments or beacon responses) MAY be utilized to keep track of
					active neighbors.
				</t>
   				<list>
					<t>
						After an IEEE 802.15.4 PAN coordinator permits a device to join, the
						new device adds the PAN coordinator to its neighbor list and starts
						transmitting periodic beacons. These beacons can be used as an
						indication of current neighbors.
					</t>
				</list>

				<t>[R14] In order to optimize the delivery ratio by using energy-optimal
					routing paths, LoWPAN mesh routing protocols should minimize
					power consumption by utilizing a combination of the metrics provided
					by the MAC layer and other measures.</t>
				<list>
					<t>
						Simple hop-count-only mechanisms may be inefficient in LoWPANs.
						There is an LQI, Link Delivery Ratio (LDR), or/and RSSI from
						IEEE 802.15.4 that may be taken into account for better metrics.
						The metric to be used (and its goal) may depend on
						application and requirements.
					</t>
					<t>
						The numbers in <xref target="LDR"/> represent the Link Delivery Ratio (LDR)
						between a pair of nodes. There are studies that show a linear dependence between LQI and
						LDR <xref target="refs.Chen"/>.
					</t>
					<figure anchor='LDR' title="An example network">
						<preamble></preamble>
						<artwork>
                                  0.6
                               A-------C
                                \     /
                             0.9 \   / 0.9
                                  \ /
                                   B
						</artwork>
					</figure>

					<t>
						In this simple example, there are two options in routing from node A to node C:
					</t>
					<list style="letters">
						<t>Path AC:</t>
						<list style="symbols">
							<t>(1/0.6) = 1.67 avg. transmissions needed for each packet</t>
							<t>one-hop path</t>
							<t>good in energy consumption, bad in delivery ratio (0.6)</t>
						</list>
						<t>Path ABC</t>
						<list style="symbols">
							<t>2*(1/0.81) = 2.47 avg. transmissions needed for each packet</t>
							<t>two-hop path</t>
							<t>bad in energy consumption, good in delivery ratio (0.81)</t>
						</list>
					</list>
					<t>
						If energy consumption of the network must be minimized, path AC
						is the best (this path would be chosen by hop count metric).
						However, if delivery ratio in that case is not sufficient, best
						path is ABC (it would be chosen by an LQI based metric).
						Combinations of both of metrics can be used.
					</t>
				</list>

				<t>[R15] In case a routing protocol operates in 6LoWPAN's adaptation layer,
					then routing tables and neighbor lists MUST support 16-bit short and
					64-bit extended addresses.</t>
			</section>

		</section> <!-- end of Requirement section-->

		<section title="Security Considerations">
			<t>Security issues are described in <xref target="reqs2"/></t>
        	</section>

		<section title="Acknowledgements">
			<t>The authors would like to thank Myung-Ki Shin for giving the idea of writing this draft.</t>
		</section>
	</middle>

<back>
	<references title='Normative References'>&RFC2119;&RFC3561;&RFC3626;&RFC3756;&RFC4919;&RFC4944;
		<reference anchor="refs.IEEE802.15.4">
		   <front>
			   <title>IEEE Std. 802.15.4-2003</title>
			   <author><organization>IEEE Computer Society</organization></author>
			   <date month="October" year="2003"/>
		   </front>
		</reference>
		<reference anchor="refs.IEEE802.15.4-2006">
		   <front>
			   <title>IEEE Std. 802.15.4-2006</title>
			   <author><organization>IEEE Computer Society</organization></author>
			   <date month="September" year="2006"/>
		   </front>
		</reference>
	</references>

	<references title='Informative References'>
		<reference anchor="refs.bulusu">
			<front>
				<title>Wireless Sensor Networks</title>
				<author initials="N." surname="Bulusu" fullname="Nirupama Bulusu"></author>
				<author initials="S." surname="Jha" fullname="Sanjay Jha"></author>
				<date month="July" year="2005"/>
			</front>
		</reference>

		<reference anchor="refs.6lowpan.nd">
		   <front>
			   <title>LoWPAN Neighbor Discovery Extensions, draft-chakrabarti-6lowpan-ipv6-nd-04 (work in progress)</title>
			   <author initials="S." surname="Chakrabarti" fullname=""></author>
			   <author initials="E." surname="Nordmark" fullname=""></author>
			   <date month="November" year="2007"/>
		   </front>
		</reference>

		<reference anchor="refs.DYMO">
		   <front>
			   <title>Dynamic MANET On-demand (DYMO) Routing, draft-ietf-manet-dymo-12 (work in progress)</title>
			   <author initials="I." surname="Chakeres" fullname=""></author>
			   <author initials="C." surname="Perkins" fullname=""></author>
			   <date month="June" year="2005"/>
		   </front>
		</reference>

		<reference anchor="refs.SmartDust">
		   <front>
			   <title>Smart Dust: Wireless Networks of Millimeter-Scale Sensor Nodes</title>
			   <author initials="K. S. J." surname="Pister" fullname=""></author>
			   <author initials="B. E." surname="Boser" fullname=""></author>
			   <date month="" year=""/>
		   </front>
		</reference>

		<reference anchor="refs.Hill">
		   <front>
			   <title>System Architecture for Wireless Sensor Networks</title>
			   <author initials="J." surname="Hill" fullname="J. Hill"></author>
			   <date month="" year=""/>
		   </front>
		</reference>

		<reference anchor="refs.Lee">
		   <front>
			   <title>Scalability Study of the Ad Hoc On-Demand Distance-Vector Routing Protocol</title>
			   <author initials="S. J." surname="Lee" fullname=""></author>
			   <author initials="E. M." surname="Belding-Royer" fullname=""></author>
			   <author initials="C. E." surname="Perkins" fullname=""></author>
			   <date month="March" year="2003"/>
		   </front>
		</reference>

		<reference anchor="refs.Shih">
		   <front>
			   <title>Physical Layer Driven Protocols and Algorithm Design for Energy-Efficient Wireless Sensor Networks</title>
			   <author initials="E." surname="Shih" fullname=""></author>
			   <date month="July" year="2001"/>
		   </front>
		</reference>

		<reference anchor="refs.Chen">
		   <front>
			   <title>Ad-Hoc Multicast Routing on Resource-Limited Sensor Nodes</title>
			   <author initials="B." surname="Chen" fullname=""></author>
			   <author initials="K. K." surname="Muniswamy-Reddy" fullname=""></author>
			   <author initials="M." surname="Welsh" fullname=""></author>
			   <date month="" year="2006"/>
		   </front>
		</reference>
	</references>

</back>
</rfc>