Mobile Ad Hoc Networking Working Group Ryuji Wakikawa INTERNET DRAFT Keio University 23 Oct 2003 Jari T. Malinen Charles E. Perkins Nokia Research Center Anders Nilsson University of Lund Antti J. Tuominen Helsinki University of Technology Global connectivity for IPv6 Mobile Ad Hoc Networks draft-wakikawa-manet-globalv6-03.txt Status of This Memo This document is a submission by the Mobile Ad Hoc Networking Working Group of the Internet Engineering Task Force (IETF). Comments should be submitted to the manet@itd.nrl.navy.mil mailing list. Distribution of this memo is unlimited. This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. 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. Abstract This document describes how to provide Internet connectivity with mobile ad-hoc networks. It describes how to obtain a globally routable address and internet-gateway operation. Once a manet node obtains a global address from an internet-gateway, it may exchange data with nodes on the Internet. Data goes through the internet-gateway with a routing header specifying the gateway. This connectivity method is not dependent on a particular manet protocol. Further, use of global connectivity with Mobile IPv6 is specified. R. Wakikawa et.al. Expires 23 Jun 2003 [Page i] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 Contents Status of This Memo i Abstract i 1. Introduction 2 2. Terminology 4 3. Limitations and Assumptions 5 4. Required Operations for Global Connectivity 6 4.1. Node Demands . . . . . . . . . . . . . . . . . . . . . . 6 4.2. Routing Protocol Command Types . . . . . . . . . . . . . 6 4.2.1. AODV6: An Example of a Reactive Protocol . . . . 7 4.2.2. Example of OLSR (Proactive) . . . . . . . . . . . 7 4.3. Message Transport Demands . . . . . . . . . . . . . . . . 8 5. Internet-Gateway Discovery 9 5.1. Internet-Gateway Discovery Processing . . . . . . . . . . 9 5.2. Receiving Internet-Gateway Information . . . . . . . . . 10 5.3. Reactively Soliciting Internet-Gateway Information (Optional) . . . . . . . . . . . . . . . . . . . . . . . 10 5.3.1. Reactive Manet Protocol Based Solicitation . . . 11 5.3.2. NDP based Solicitation . . . . . . . . . . . . . 12 5.4. Advertising Internet-Gateway Information . . . . . . . . 13 5.4.1. Manet Routing Protocol Based Advertisement . . . 13 5.4.2. NDP based Advertisement . . . . . . . . . . . . . 14 5.5. Management of Manet Nodes on Internet-Gateway . . . . . . 14 6. Address Resolution 16 6.1. Address Generation . . . . . . . . . . . . . . . . . . . 16 6.2. Default Route Setting . . . . . . . . . . . . . . . . . . 16 7. Route Examination 18 7.1. Route Examination at Manet Node in Reactive Manet Protocols 18 7.2. Route Examination at Internet-Gateway in Reactive Manet Protocols . . . . . . . . . . . . . . . . . . . . . . . . 20 8. Error Handling 22 8.1. Receiving ICMPv6 Error Message . . . . . . . . . . . . . 22 8.1.1. ICMPv6 Destination Unreachable Message . . . . . 22 8.1.2. ICMPv6 Redirect message . . . . . . . . . . . . . 22 8.2. MANET Routing Protocol Repair Message . . . . . . . . . . 22 9. Protocol Constants 23 10. Security Considerations 23 R. Wakikawa et.al. Expires 23 Jun 2003 [Page ii] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 Acknowledgments 23 References 23 Appendices 25 A. ICMPv6 and Neighbor Discovery Protocol Extensions for MANET 25 A.1. Modified Router Solicitation . . . . . . . . . . . . . . 25 A.2. Modified Router Advertisement . . . . . . . . . . . . . . 26 A.3. Source Manet Address Option . . . . . . . . . . . . . . . 26 A.4. Changing the ICMPv6 Redirect . . . . . . . . . . . . . . 27 B. Mobile IPv6 Extensions for MANET 28 C. Use of Routing Header for Transmission of Packets along a Default Route 29 D. AODV6 Operation with Global Connectivity for IPv6 MANET 30 D.1. Additions to AODV6 specification . . . . . . . . . . . . 30 D.2. Global Address Resolution . . . . . . . . . . . . . . . . 31 E. Changes from draft-wakikawa-manet-globalv6-02 33 Authors' Addresses 33 R. Wakikawa et.al. Expires 23 Jun 2003 [Page 1] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 1. Introduction A mobile ad-hoc network (manet) is built dynamically when a set of mobile routers create routing state for their connectivity management, typically over a wireless network. Manet routing protocols aim to maintain a route to a destination despite movement of intermediate nodes that causes the route path to change. Two routing protocols [12] [2] were published as an experimental RFC and two routing protocols [6] [9] will be published as an experimental RFC as well. Global connectivity is often required for nodes desiring communication with the fixed Internet. However, routing protocols for manets typically only maintain routes locally within the reach of a manet running the given protocol. This document specifies the method by which a node in the manet acquires a global address from a gateway, as well as how this node will communicate over the gateway. Two methods for internet gateway discovery are proposed: one method periodically disseminates gateway advertisements to all nodes in the manet; the other method utilizes solicitation and advertisement signaling between a manet node and the gateway. Extended router solicitation and advertisements of the Neighbor Discovery Protocol (NDP) [8] or extended control message of each manet protocol can be used for this signaling. The proposed methods target all manet protocols regardless of whether they are reactive and proactive. Internet-gateways have to supply their own global prefix information and IPv6 global address to manet nodes somehow, either proactively or reactively. In this way, the reactive and proactive route discovery features of each manet routing protocol are not disturbed. An advertisement from the internet-gateway provides prefix information, and advertisement processing possibly resolves a route to the gateway, inserted as a default route. A prefix which is distributed by an internet-gateway can be used for configuring a (typically globally) routable IPv6 [4] address for each manet node. If the manet is operating proactively, the gateway periodically broadcast its own global prefix and any global scope information. Manet nodes then (proactively) maintain this information. On the other hand, if the manet is operating reactively, a manet node initiates a discovery to acquire global prefix and any global scope information from the gateway. The discovery can be started on demand when Internet connectivity is required. After accepting an advertisement from an internet-gateway, the node configures a routable IP address from the prefix of the gateway and inserts the gateway address as a default route. Selecting one of multiple gateways is out of scope of this document, but any mechanisms for router selection which are proposed at IPv6 working group at IETF can also be used for this selection [5]. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 2] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 Each internet-gateway monitors packets received from the manet, to avoid unnecessarily forwarding the packet to the Internet when the destination is already present within the manet. The destination of a packet passing through the internet-gateway is checked on the internet-gateway. If the manet is operating reactively, the internet-gateway in this case may also supply an updated route to the sending node. The sending node then receives a notification and sends a route request to discover the direct route to the destination. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 3] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 2. Terminology manet Mobile Ad-Hoc Network manet node A node located inside a manet reactive manet protocol A reactive manet protocol requires manet nodes to discover or manage routes for destinations on-demand. Typical reactve manet protocols are Ad-hoc On-demand Distant Vector (AODV) Routing Protocol [1, 11] and the Dynamic Source Routing Protocol for Mobile Ad Hoc Networks (DSR) [6], etc. proactive manet protocol Using a proactive manet protocol, manet nodes maintain routes for destinations all the time. Typical proactive manet protocols are Optimized Link State Routing Protocol (OLSR) [2] and Topology Broadcast Based on Reverse-Path Forwarding (TBRPF) [9], etc. manet address A manet node's identity address in manet. The address is used for ad-hoc routing. internet node A node located within the Internet (outside manet) internet-gateway A router which provides Internet connectivity for nodes in the manet. This router is located at the edge of manet and has a connection to both the Internet and the manet. global address A node's IPv6 address in the Internet, typically resolvable from a DNS name. The address identifies the mobile node, and is used for communication to the Internet internet-gateways multicast address (IGW_MCAST) Specifically, ALL_MANET_GW_MULTICAST, the IPv6 global multicast address for all internet-gateways in a manet. manet network interface A network interface supporting a link to a manet node. internet-gateway information The gateway's IP routing prefix, prefix length, and lifetime. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 4] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 internet-GateWay Advertisement (GWADV) A message to advertise internet-gateway information. There are two types, GWADV_M and GWADV_N: GWADV_M Extends the manet protocol; a control message is specified for each particular protocol to advertise internet-gateway information GWADV_N Extends NDP to indicate that the advertisement contains information about the internet-gateway internet-GateWay Solicitation (GWSOL) A message to solicit an internet-gateway advertisement. There are two types, GWSOL_M and GWSOL_N. GWSOL_M Extends the manet protocol; a control message is specified for each particular protocol to solicit internet-gateway information GWSOL_N Extends NDP to solicit an internet-gateway Advertisement. 3. Limitations and Assumptions The following assumptions are made for simplicity and definiteness: Address Family This document assumes IPv6 address family support. The manet routing protocol discussed in this document MUST be capable of routing based on IPv6 addresses. Topological assumption There is at least one internet-gateway at the edge of the manet. Address assumption All nodes in the manet must have or acquire a routable address, perhaps usable as a Mobile IPv6 [7] home address. The routable address is used for initial configuration when a node boots up and joins the manet (see 6). Manet routing protocol assumption This document expects manet routing protocol to have operations listed in section 4. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 5] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 4. Required Operations for Global Connectivity This section lists features required by the proposed global connectivity mechanism. These requirements are separated as follows: 'node demands' operations that the node and its operating system must provide, 'routing protocol demands' operations required from the routing protocol, and finally 'message transport demands' communications features that must be provided. 4.1. Node Demands The operations below describe basic management of a routing table. Most routing protocol implementations supply these operations. It is not necessary to implement or support the exact same functions (i.e. this is not a specification for an API), but the same operations MUST be supported by the manet implementation. ADD_ROUTE(destination_address) Adding a route for the destination_address into the node's routing table. DELETE_ROUTE(destination_address) Deleting a route for the destination_address from the node's routing table. QUERY_ROUTE(destination_address) Looking up a route for the destination_address from the node's routing table. 4.2. Routing Protocol Command Types The Command Types below control a route for some target_address at one or more other manet nodes, namely the destination given as a parameter to the command. Most routing protocols support operations of these types. It is not necessary to implement or support the exact same functions (i.e. this is not a specification for an API), but compatible operations MUST be supported by the manet routing protocol. If destination is a multicast address, then the operation should be done on all nodes which belong to the multicast group. REMOVE_ROUTE (destination, target_address) requests removing a route to target_address at destination node(s) R. Wakikawa et.al. Expires 23 Jun 2003 [Page 6] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 INSERT_ROUTE (destination, target_address) requests adding a route to target_address at destination node(s) UPDATE_ROUTE (destination, target_address) requests updating a route to target_address at destination node(s) 4.2.1. AODV6: An Example of a Reactive Protocol ADD_ROUTE, DELETE_ROUTE, and QUERY_ROUTE are operating system's operations, i.e. they have nothing to do with AODV6. This section describes how to achieve the routing protocol command types in AODV6. REMOVE_ROUTE A node removes a route for a target address after expiration of the lifetime. The lifetime is notified with Route Reply (RREP). A node also removes the route when it receives Route Error (RERR) for the target address. INSERT_ROUTE A sender requests a route for a target address to manet nodes by sending Route Request (RREQ), and will receive RREP containing the route for the target address from the target node or intermediate nodes who know the route for the target address. AODV6 allows route insertion for the target address according to the RREP that has been received. UPDATE_ROUTE A node sends RREQ for a target address to manet nodes again, and receiving RREP containing a fresh route for the target address. AODV6 allows route updates for the target address according to the RREP that has been received. 4.2.2. Example of OLSR (Proactive) ADD_ROUTE, DELETE_ROUTE, and QUERY_ROUTE are, as in AODV6, operating system functions. This section describes how to achieve the routing protocol command types in OLSR. REMOVE_ROUTE A node removes a route for a target address through rebuilding topological information with receiving flooded Topology Control (TC) messages. In proactive manet protocol, removing route indicates that the target node is no longer active in manet. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 7] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 INSERT_ROUTE A node inserts a route for a target address through rebuilding topological information with receiving flooded TC messages. In proactive manet protocol, insert of route indicates that the target node becomes active newly active in manet. UPDATE_ROUTE A node updates a route for a target address through rebuilding topological information with receiving flooded TC messages. When a node detects both 1-hop and 2-hop neighbors change, the node should update the neighbor lists and should send HELLO messages if needed. 4.3. Message Transport Demands The operations below are basic to the communication operation of internet capable nodes. Most operating systems have these operations. It is not necessary to implement or support the exact same functions (i.e. API), but some compatible set of operations MUST be supported by any platform running a manet routing protocol. SEND_MESSAGE(dest_address(es), message) Unicast or multicast a message to a dest_address. FLOOD_MESSAGE(message) Flooding a message to manet. Same as SEND_MESSAGE when the dest_address is the flooding address. RECEIVE_MESSAGE(source_address, dest_address, message) Receive a message from a source_address to a destination_address. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 8] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 5. Internet-Gateway Discovery This section describes how to discover an internet-gateway in a manet. Discovery is required to enable manet nodes to obtain a IPv6 global address allocation and set a route towards the Internet. The discovery is given a different purpose from general route discovery operation of any manet routing protocols. 5.1. Internet-Gateway Discovery Processing A node needs a globally routable address in order to be globally reachable, so that it can receive packets from the Internet. The node needs to learn its topological location and an address of the internet-gateway that provided the node with this access to the Internet. The node therefore needs to somehow obtain a global prefix owned and distributed by an internet-gateway. The information which a node needs to know for internet connectivity is listed below. An internet-gateway advertises these items as its internet-gateway information. Internet-gateway global address The internet-gateway IPv6 global address, which can be used as a default route on manet nodes. Network prefix address The network prefix address which internet-gateway is serving. The prefix MUST be valid address and topologically correct address on the Internet. Network prefix length Prefix length of the network prefix address of an internet-gateway. Lifetime The lifetime of internet-gateway information. After expiration of the lifetime, a manet node SHOULD get fresh global information from internet-gateways again. Otherwise, the internet-gateway information is no longer valid. Therefore, the node MUST delete own IPv6 global address if the address is generated from the internet-gateway information. Internet-gateway's manet address (option) A manet address which can be used for internal communication with an internet-gateway. A node discovers an internet-gateway by receiving a message (GWADV) containing internet-gateway information. An internet-gateway may distribute internet-gateway information periodically (i.e. proactively) as part of manet routing protocol or Neighbor Discovery R. Wakikawa et.al. Expires 23 Jun 2003 [Page 9] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 Protocol (NDP). Periodic advertisements, however, are not typically used with reactive manet protocols such as AODV [1, 11] and DSR. For reactive manet protocols, a manet node sends a solicitation message (GWSOL) of internet-gateway information to internet-gateway(s) when it needs a route to the Internet, and receives a GWADV containing internet-gateway information back in response. Otherwise, this solicitation is an optional operation for proactive internet-gateway discovery. The IPv6 address used during any of these operations could be any routable address, for example a Mobile IPv6 home address. If no such address is available, the node SHOULD allocate a temporary global-scope address, generated from the well-known MANET_INITIAL_PREFIX [10]. This temporary address (MANET_TEMPORARY_ADDRESS) should be deallocated after obtaining the globally routable IPv6 address from an internet-gateway. 5.2. Receiving Internet-Gateway Information The operation which is discussed in this section is RECEIVE_MESSAGE() which contains the IP address of the internet-gateway as well as the internet-gateway information. The internet-gateway information is wrapped as GWADV_M or GWADV_N. When a manet node receives GWADV, it starts an address resolution operation and setting up a route as described in section 6. Each manet node SHOULD manage internet-gateway information. Whenever a manet node receives GWADV, it MUST update the related internet-gateway information. If the lifetime of internet-gateway information is expired, a manet node SHOULD delete internet-gateway information. A manet node SHOULD update its internet-gateway information before expiration of lifetime by receiving GWADV or soliciting internet-gateway information by GWSOL described in next section. 5.3. Reactively Soliciting Internet-Gateway Information (Optional) There are several ways to solicit advertisement of internet-gateway information (GWADV) from internet-gateways. This document explains two scheme for soliciting such information. The solicitation can use control messages defined by each reactive manet protocols as soliciting and advertising internet-gateway information, because these reactive manet protocols operate request-reply style transaction for general manet route management. New control messages/options to handle internet-gateway information without any obstacles and impacts on existing routing protocol. Any manet routing protocol may use NDP router solicitation and router advertisement messages [8] to obtain internet-gateway information. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 10] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 Link-local address is not an appropriate address scope for multi-hop networks because IPv6 prohibits forwarding packets sent to an address of link-local scope. Unfortunately, NDP uses link-local scoped addresses as IPv6 destination and source address fields for router advertisement and router solicitation messages. For that reason, the existing NDP router solicitation and router advertisement messages cannot be sent over multi-hop networks. Therefore, it is needed to adapt NDP for use in gateway discovery, but that could be done with minimum extension. Detailed information can be found at section A. This mechanism can be applied to any manet routing protocol regardless of proactive style or reactive style. 5.3.1. Reactive Manet Protocol Based Solicitation - SEND_MESSAGE (IGW_MCAST, GWSOL_M) - SEND_MESSAGE (destination_node, GWSOL_M) A node could rely on control messages of a reactive manet routing protocol to obtain internet-gateway information from an Internet Gateway. Most reactive routing protocols send a control message to find fresh route to a destination when a manet node starts communication. We call this control message a route request. To support this method of global connectivity formation, the route request of each manet protocol should be modified to carry internet-gateway information. A route request for solicitation is called GWSOL_M, and a control message (it will call route reply) for advertisement is GWADV_M, described in section 5.4.1. For these two messages, handling can be optimized independently within each manet routing protocol. The node sends GWSOL_M and receives an internet-gateway information by GWADV_M in response from the internet-gateway . For instance, the node propagates a Route Request (RREQ) message as GWSOL_M and waits for an internet-gateways to return GWADV_M (for instance, Route Reply (RREP)) containing global information. For modification of route requests, there are several ways to indicate that the route request is GWSOL_M. A new option or flag can be added to the control message for solicitation of internet-gateway information. Such control messages are sent to IGW_MCAST. This kind of modification is used when a manet node knows that it will need internet-gateway information before communication. Typical situation is that a manet node which has not configured any internet setting yet starts to communicate with a node in the Internet, and it already knows that the destination node is located in the Internet. A manet node may not know whether a destination is an Internet node or not before sending some packets to the destination. For this R. Wakikawa et.al. Expires 23 Jun 2003 [Page 11] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 situation, the manet node may first send a route request message to the destination. Typically, an internet-gateway will receive the message. The internet-gateway can determine whether or not the destination node is located within manet. If any message destined to an Internet node is received at an internet-gateway, the internet-gateway may regard it as internet-gateway information soliciting message, even if the requesting manet node already knows internet-gateway information. If an intermediate node receives any GWSOL_M for address resolution, it MAY reply with internet-gateway information, if it knows this information. However, in this case, the intermediate node SHOULD supply the internet-gateway with information about the requesting node, perhaps by using a gratuitous RREP sent to the internet-gateway. If it is not possible to send the gratuitous RREP, the intermediate node MUST NOT replay to the the solicitation. 5.3.2. NDP based Solicitation This section describes the operation of a manet node enabling it to send a solicitation message to the internet-gateways that are available (SEND_MESSAGE(IGW_MCAST, GWSOL_N)). Extensions to NDP are described in section A. A manet node requests GWADV_N with by sending GWSOL_N to IGW_MCAST. GWSOL_N is a router solicitation message extended to solicit internet-gateway information on a manet. The node MAY use an expanding ring search technique to broadcast GWSOL_N using appropriate Hop Limit values. A receiving node MUST be a member of IGW_MCAST group if it is an internet-gateway. If the receiving node is an internet-gateway, it replies with GWADV_N specifying its global prefix information and internet-gateway address. Otherwise, the node just propagates the manet router advertisement message if the hop-limit allows this. If an intermediate node receives any GWSOL_N for address resolution, it MAY reply with internet-gateway information, if it knows this information. However, in this case, the intermediate node SHOULD supply the internet-gateway with information about the requesting node, perhaps by using a gratuitous RREP sent to the internet-gateway. If it is not possible to send the gratuitous RREP, the intermediate node MUST NOT replay to the the solicitation. It depends on the behavior of the manet routing protocol whether it can use IGW_MCAST as the broadcast address in a manet. If the receiving node is not an internet-gateway and hop-limit has not been reached, the node propagates GWSOL_N ahead towards nodes having IGW_MCAST. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 12] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 5.4. Advertising Internet-Gateway Information An internet-gateway MAY advertise internet-gateway information periodically by sending GWADV. The propagation of the GWADV depends on the manet routing protocol. This draft extends two types of message, which are a manet control message and router advertisement of NDP. If a manet protocol permits to a manet node's soliciting internet-gateway information, below algorithm SHOULD be applied. This algorithm is commonly useful regardless of types of message. if (RECEIVE_MESSAGE(requesting node, IGW_MCAST, GWSOL)) { SEND_MESSAGE(requesting node, GWADV); } else if (RECEIVE_MESSAGE(requesting node, internet node's address, GWSOL_M)) { route := QUERY_ROUTE(internet node's address); if (route == null && route != default route) SEND_MESSAGE(requesting node, GWADV); } First if an internet-gateway receives any GWSOL(s) which destined to IGW_MCAST, the internet-gateway MUST return own internet-gateway information to the requesting node. If an internet-gateway receives GWSOL_M which destined to an internet node's address, it MUST search the target address in own routing table. If it found a route for the target address, it MUST NOT return internet-gateway information. Instead, it MAY return the route for the target address as part of general route discovery mechanism, because GWSOL_M is requesting the route for the target address as well. This is because GWSOL_M is an extending control message of each manet routing protocol for route discovery. If it does not find any route for the target, it SHOULD return internet-gateway information as GWADV_M. If the route for the target address can not be found in internet-gateway's routing table, it indicates the target node non-exists in the manet, but exists in the Internet. 5.4.1. Manet Routing Protocol Based Advertisement This section describes the following two operations of a manet node. - SEND_MESSAGE(requesting node, GWADV_M) - FLOOD_MESSAGE(manet nodes, GWADV_M) This section describes the first way which internet-gateway information is piggy-backed somehow into control messages of each manet protocols as GWADV_M by the below operation. It depends on manet protocol how to piggy-back internet-gateway information into control messages. Control messages are expected to reach all nodes inside manet. For a reactive protocol, it may be route reply/notify R. Wakikawa et.al. Expires 23 Jun 2003 [Page 13] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 message. For a proactive protocol, it should be any periodically flooded message. Any flooding mechanisms are allowed to disseminate the GWADV. Optimized flooding mechanism such as Multipoint Relays (MPR) is recommended. An internet-gateway also generates GWADV_M whenever it receives GWSOL_M described in section 5.3. There are two types of GWSOL_M. If the internet-gateway receives GWSOL_M which is sent to IGW_MCAST, it MUST unicast back its internet-gateway information by GWADV. The internet-gateway SHOULD also include the lifetime GWINFO_LIFETIME into its internet-gateway information. If a target address of the route request is another global address than IGW_MCAST, it searches the address in its routing table. If an internet-gateway finds the host route, it SHOULD NOT return a manet protocol route reply augmented with global connectivity information because the destination is then assumed to be inside the manet. If the address was not found in the routing table, the internet-gateway returns GWADV. 5.4.2. NDP based Advertisement This section describes the following two operations of a manet node. Extensions of NDP is described in section A. - SEND_MESSAGE(requesting node, GWADV_N) - FLOOD_MESSAGE(manet nodes, GWADV_N) This section describes another way which internet-gateway information is contained into a router advertisement message of NDP (GWADV_N). GWADV_N is expected to reach all nodes inside manet. Any flooding mechanisms are allowed to disseminate the GWADV_N. Since most routing protocols has a message flooding scheme for message passing among manet nodes, GWADV_N can be conveyed by the message flooding scheme. However, optimized flooding mechanism such as Multipoint Relays (MPR) is recommended. For a reactive protocol, an internet-gateway generates GWADV_N only when it receives GWSOL_N described in section 5.3. Then, the internet-gateway SHOULD send GWADV_N to the requesting node by unicasting, but it MAY broadcast GWADV_N whenever it receives request of GWADV_N. For a proactive protocol, GWADV_N SHOULD be disseminated periodically by an internet-gateway irrespective of receiving GWSOL_N. 5.5. Management of Manet Nodes on Internet-Gateway An internet-gateway needs to known all manet nodes which are located R. Wakikawa et.al. Expires 23 Jun 2003 [Page 14] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 in the internet-gateway managing manet. This manet nodes' information is used when internet-gateway determines a route for incoming packets described in section 7. For proactive manet protocols, an internet-gateway manages a route for all manet nodes by each manet routing protocol. Therefore, an internet-gateway can know whether a node locates inside manet or not, as soon as it checks its routing table. The management of fresh routes for all manet nodes is a basic operation of each proactive manet protocol. Reactive manet protocols do not tell routes of all manet nodes to internet-gateway. An internet-gateway MUST know all manet nodes somehow and manage these information. One approach is that an internet-gateway records a manet node information whenever the manet node solicits internet-gateway information to the internet-gateway. The manet node information can be recorded into either internet-gateway's routing table or new database for this purpose. This approach can be applied to most of reactive manet protocol, but any mechanism can be selected to know all manet nodes information. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 15] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 6. Address Resolution 6.1. Address Generation After the initial information has been received from the internet-gateway(s), following the procedure described above, a node should know the global prefix of the manet and the address of the related internet-gateways(s). First, the node SHOULD generate a global IPv6 address by using the global prefix information. The node SHOULD use its 64-bit interface ID in order to construct a valid address with the acquired prefix. Since the node is assumed to already have done Duplicate Address Detection (DAD), as defined in [10], for the link-local address before setting up the global address, a global address with host number from this link-local address is also unique if this rule is followed. If not, the node MAY perform another DAD for this global address. If the node used a temporary address generated by MANET_INITIAL_PREFIX when requesting global information, this address SHOULD now be deleted Further, all host routes for this temporary address SHOULD be deleted in intermediate nodes and internet-gateway . This is achieved by using some route maintenance operation defined in manet routing protocol, for example, the Route Error (RERR) message used in AODV6. Otherwise, those host routes MAY be left to be deleted by timeouts. temporary_addr := MANET_TEMPORARY_ADDRESS; new_addr := generate_globaladdr(internet-gateway information); if (new_addr == null) { /* internet-gateway discovery again */ } else { /* ASSERT DAD if needed */ ADD_ROUTE (new_addr); #ifdef PROTOCOL IS PROACTIVE /* Not needed for reactive */ INSERT_ROUTE (ALL_MANET_NODES, new_addr); #endif /* PROTOCOL IS PROACTIVE */ if (temporary_addr) { DELETE_ROUTE (temporary_addr); REMOVE_ROUTE (ALL_MANET_NODES, temporary_addr); } 6.2. Default Route Setting In the routing table, the node SHOULD set the following routes. We assume the global prefix is exclusively on the manet side. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 16] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 Destination/prefix length Next-Hop --------------------------- ----------------------------- Default Route/0 Host Route/128 * * The host route is set accoding to each manet routing protocol. These routing entries should be held until expiration of the lifetime which the internet-gateway provides either with GWADV or in the reply to GWSOL. Lifetime of the default route entry and the global prefix information is stored in either GWADV_M or GWADV_N which are sent by internet-gateways. During active lifetime, the receiving node can use the global prefix and the internet-gateway as the default route entry. Note: The default route does not function as the general default route for reactive route protocols, because the default route MUST be used with the mechanism described in Section 7 in conjunction with the general route lookup mechanism. During use of the internet-gateway as a route path for communications, the node SHOULD update internet-gateway information according to periodically advertised fresh GWADV. On the other hand, the node MAY keep re-requesting internet-gateway information to the internet-gateway before the lifetime is expired on reactive manet protocol. This refreshment SHOULD be done at GWINFO_REFRESH periods for reactive manet protocol. The node can unicast GWSOL to the respective internet-gateway, or alternatively it can broadcast GWSOL to all over the manet again. The former method can allow the manet node to update the current internet-gateway status, the latter method enables the manet node to quickly discover all possible internet-gateways in the manet. Some proactive manet protocols MAY have an additional routing entry for global prefix (i.e. a network route). This is a optional entry. Manet nodes treat the network route as same as a default route. If the default route is deleted due to expiration of lifetime, the network route MUST be deleted, too. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 17] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 7. Route Examination A manet node and an internet-gateway SHOULD examine a route for packets sent from a manet node to an internet node, and vice versa. Otherwise, all the packets may be routed to an internet-gateway by a receiving manet node, because a default route is selected as a route for the packets which destination is unknown for the manet node. Route examination gives a mechanism to distinguish packets destined to a manet node and packets destined to an internet node. After distinguishment, a manet node and an internet-gateway decide either the use of default route or an active host route for a destination. For proactive manet protocols, each manet node and internet-gateways maintain all the host routes for manet nodes in the manet and a network route of the network prefix for the manet. It means that manet nodes and internet-gateways need not operate any special examinations, but they just follow general approach of route reference for a destination. In general, a manet node first examines a host route for a destination. If there is a match, a packet is sent to the destination according to the host route. If there are no host routes, but destination's prefix is equal to the network prefix of the manet, the packet is just transmitted on the local manet interface as if the node was a neighbor. Only if that rule does not match, the default route is finally employed. Route examination is specially important for reactive manet protocols. Reactive protocols MUST discover a host route for a destination whenever it communicates with some manet nodes, because reactive manet protocols do not maintain all the host routes for manet nodes in manet. In addition, an internet-gateway in reactive manet protocols gives route/topological repair for a destination to a sender by ICMPv6 error message or any control messages of manet routing protocols. Following sections describe how reactive manet protocols can operate route examinations. 7.1. Route Examination at Manet Node in Reactive Manet Protocols For reactive manet protocols, each manet nodes including internet-gateways does not know all the host routes for manet nodes in the manet. They MUST discover a host route for a destination as soon as they start to communicate with the destination. Therefore, whenever a node needs to send a packet it uses the following routing algorithm: - The node looks up its routing table for the destination node. If it found the discovered route, it sends the packet towards the destination. The default route MUST NOT be selected as a route for the destination at this point. - If not, the node MAY request a route for the destination node. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 18] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 1. If a default route exists, the node MAY wait for the above route request. 2. If a default route doesn't exist, the node obtains a default route as described in either section 5 or section 6. 3. If the node does not get the route, the node sets an route entry into the routing table with the destination node pointing towards the default route. Then the node uses the route to transmit the packet through the default route. - If the node gets a route for the destination, it sets a host route for the destination, and sends packets according to this route (not default route). First, a node looks up a route for the destination of a packet from its routing table. If the node finds a host route, it sends the packet to its destination. Otherwise, the node MAY send a route request for the destination of the outgoing data packet using its manet routing protocol. This operation is requested for reactive manet protocols, but it is not really needed for proactive manet protocols. If a default route exists, the node MAY wait for the route discovery. If no such discovery is pending and the node doesn't have default route, it uses one of the methods described in this document to obtain a default route. If the node requested a route for the destination but does not get the route, the node assumes the destination node is located on the internet and sends the packet using the default route. Sending packets towards the default route is operated by each base manet protocol. Alternatively, if there are no host routes, but destination's prefix is equal to the network prefix of the manet, the node SHOULD request a route for the destination by sending a route request. Here it depends on whether packet forwarding associated with the used manet protocol supports next hop forwarding or not. If that is the case, each intermediate node could independently decide the best route for packet out of the manet, and towards the destination. The node does not need to take care of the explicit route to the internet-gateway. However, since some manet protocol (ex. DSR) does not support next hop forwarding, a routing header MAY be used specifying the internet-gateway's address as an intermediate routing point towards the destination. The use of routing header also provides optimization and control for forwarding packet to internet-gateway. Each intermediate node does not need to decide the best route for packet (i.e. default route or host route if available), instead it simply uses a host route of the internet-gateway to forward packet to the internet-gateway. Control of forwarding route path can be relevant approach when multiple internet-gateways are placed in a manet. The minute details are described in appendix C. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 19] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 The node SHOULD know whether a route request was earlier sent for a destination whose route lookup found the default route. To prevent repeated route requests for packets destined to the destination, the node MUST put a route entry for the destination with the default route as a next hop of the destination node . The routing table of the node SHOULD be configured for the destination as shown below: Destination/prefix length Next-Hop --------------------------- ----------------------------- Default Route/0 Host Route/128 * or * The host route is set according to each manet routing protocol If the protocol allows, the node SHOULD send at least one request for a route of such a destination before sending data packets, even if it has already had a default route in its routing table. If the routing protocol is using an expanding ring search, care should be taken so as not to let this affect the delay too much. If the ring is expanded too far, unnecessary delay is introduced. Simulations have shown that one route request is optimal in most cases. If the node gets a route for such a destination, the node assumes the destination node is located within manet, sets a host route for the destination, and sends packets normally according to this host route. 7.2. Route Examination at Internet-Gateway in Reactive Manet Protocols An internet-gateway SHOULD have host routes for all the manet nodes which exists in its manet network. Whenever the internet-gateway receives the packets sent by manet nodes and forwards them, it examines the route path for the packets' destination address. If the internet-gateway finds the host route towards the manet interface for the destination, it indicates the destination node must be at same manet network and it is possible to have a host route between the source and the destination node. The internet-gateway sends a control messages such as route error message to notify a sender node to retry discovery a route for the destination in order to obtain the host route instead of the default route. These control messages are subject to rate limiting in the same manner as is done for ICMPv6 messages [3]. If the sender node believes the internet-gateway is next to the destination node (i.e. intermediate node), it SHOULD ignore the route error messages, and SHOULD not re-discover the host route. If a node always knows that it is intermediate node for a particular destination by something like R. Wakikawa et.al. Expires 23 Jun 2003 [Page 20] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 precursor list, the internet-gateway MAY determine whether it sends route error message or not with the precursor list. On the other hand, if the internet-gateway finds an appropriate route path, which is not the host route towards the manet interfaces, it routes the packets to the destination on the route. Management of the host routes are basically operated by each manet routing protocols. But internet-gateway can also learn the host routes when it receives any GWSOL from manet nodes. For these host routes, the internet-gateway discards the host routes, if it does not get any GWSOL before the lifetime of the host route is expired. When the internet-gateway receives a packet from the manet network interface, it searches a host route for the destination address from its routing table . If it finds the host route, it MUST route the packet and return an ICMPv6 Redirect Message or a route error message to the sending manet node. If it does not find the address from the list it forwards the packet to the Internet. When the internet-gateway receives a packet from the Internet, destined to a manet node, it forwards the packet towards the manet node by using a host route generated by the manet protocol. If such a route does not exist, it is normally requested by the manet protocol. Hence, no internet-gateway specific action is needed for a packet going from the Internet to the manet. If a manet node leaves the manet, the internet-gateway MUST detect the leaving of the manet node and MUST delete the host route for that manet node. This can be triggered by receiving route error messages from other manet nodes detecting topology changes by managing HELLO messages. Even if the internet-gateway keeps the invalid host route for the manet node due to lack of route error messages, the host route SHOULD be deleted at the lifetime expiration of the route. After deletion of the host route, the internet-gateway MUST operate the following procedure. If the destination address of the host route was configured by the internet-gateway's prefix, the address of the manet node is no longer valid on the Internet because of leaving of the manet node. Therefore, the internet-gateway MUST send ICMP Unreachable message for packets destined to the manet node. On the other hand, if the destination address of the host route is a Mobile IPv6 home address, the internet-gateway MUST route packets to the home agent according to its routing table and MUST NOT send ICMP Unreachable message for the packets. This way, communication sessions binded with the home address of the manet node will not be interfered by receiving the ICMP Unreachable message. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 21] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 8. Error Handling 8.1. Receiving ICMPv6 Error Message A manet node usually receives two types of ICMPv6 messages from internet-gateways, the ICMPv6 Destination Unreachable Message and the ICMPv6 Redirect message. These messages are propagated over the manet and their use is the same as for any other IP network. 8.1.1. ICMPv6 Destination Unreachable Message If a manet node receives an ICMPv6 Destination Unreachable message after sending data packets using a host route, the node MUST delete this entry in the routing table. If needed, the node can rediscover a route for the destination by each manet routing protocol once. This exact behavior depends on the manet routing protocol in use. If the node can not get any route for the destination, the node SHOULD NOT operate any discovery operation for the destination for a while. 8.1.2. ICMPv6 Redirect message If the manet node receives an ICMPv6 Redirect message from an internet-gateway, the manet node SHOULD use the host route instead of the default route. Getting the host route, the manet node uses its method of learning a manet destination, e.g., by sending a route requests for the destination. 8.2. MANET Routing Protocol Repair Message The manet node MUST process the control message according to the original manet routing protocol. If manet is operated by a reactive manet protocol, a manet node would often receive a control message of each manet routing protocol to repair a route to a destination due to the change of network topology. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 22] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 9. Protocol Constants Parameter Name Value ---------------------- ----- ALL_MANET_GW_MULTICAST TBD (ff1e::xx/64 global-scope) GWINFO_LIFETIME TBD (10 seconds) GWINFO_REFRESH GWINFO_LIFETIME * 0.8 10. Security Considerations This document does not define any method for secure operation of the protocol. There is no widely accepted model for securing state-altering protocols in manet. A reason for this is the lack of scalability in security association setup among manet nodes arriving from arbitrary domains. Before well accepted SA setup methods exist, any node can pretend to be an internet-gateway and result in other nodes setting their routing state in a way denying proper operation of this service. Acknowledgments The authors would like to thank Elizabeth Royer for her comments on streamlining some aspects of the design. The authors thank Thierry Ernst for his comments. The authors thank Thomas Clausen for his many improvements having to do with proactive routing protocols. The authors also thank Alex Hamidian for his contributions and improvements to section 7.2. References [1] R. Alter. ARPA Network Control Center. Request for Comments 356, Internet Engineering Task Force, June 1972. [2] T. Cluasen and P. Jacquet. Optimized link state routing protocol. Request for Comments (Experimental) 3561, Internet Engineering Task Force, October 2003. [3] A. Conta and S. Deering. Internet Control Message Protocol (ICMPv6) for the Internet protocol version 6 (ipv6) specification. Request for Comments (Draft Standard) 2463, Internet Engineering Task Force, December 1998. [4] S. Deering and R. Hinden. Internet Protocol, Version 6 (ipv6) Specification. Request for Comments (Proposed Standard) 1883, Internet Engineering Task Force, December 1995. [5] R. Draves and R. Hinden. Default Router Preferences, More-Specific Routes, and Load Sharing. Internet Draft, Internet Engineering Task Force, June 2002. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 23] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 [6] D. Johnson, D. Maltz, and Y. Hu. The dynamic source routing protocol for mobile ad hoc networks (work in progress). Internet Draft, Internet Engineering Task Force, April 2003. [7] D. Johnson, C. Perkins, and J. Arkko. Mobility support in IPv6 (work in progress). Internet Draft, Internet Engineering Task Force, June 2003. [8] T. Narten, E. Nordmark, and W. Simpson. Neighbor Discovery for IP Version 6 (ipv6). Request for Comments (Draft Standard) 2461, Internet Engineering Task Force, December 1998. [9] R. Ogier, , F. Templin, and M. Lewis. Topology Dissemination Based on Reverse-Path Forwarding (TBRPF) (work in progress). Internet Draft, Internet Engineering Task Force, April 2003. [10] C. Perkins, J. Malinen, R. Wakikawa, E. Royer, and Y. Sun. IP address autoconfiguration for ad hoc networks (work in progress). Internet Draft, Internet Engineering Task Force, November 2001. [11] C. Perkins, E. Royer, and S. Das. Ad hoc on demand distance vector (AODV) routing for IP version 6 ( work in progress). Internet Draft, Internet Engineering Task Force, November 2000. [12] C. Perkins, E. Royer, and S. Das. Ad hoc on demand distance vector (AODV) routing. Request for Comments (Experimental) 3561, Internet Engineering Task Force, July 2003. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 24] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 A. ICMPv6 and Neighbor Discovery Protocol Extensions for MANET This section describes how to handle NDP packets to sent out over multi-hop networks such as the manet. Both router solicitation and router advertisement messages can not be sent over multi-hop networks, because the link-local scope is not well defined for manets. NDP assumes to use link-local scoped addresses as IPv6 destination and source address fields for router advertisement and router solicitation messages. Link-local address is not an appropriate address scope for multi-hop networks because IPv6 prohibits to forward packets sent to an address of link-local scope. For doing so, NDP packets must be modified. The following sections describe the modified "Router Solicitation" and "Router Advertisement" packet formats. A.1. Modified Router Solicitation A host sends manet Router Solicitations in order to prompt internet-gateways to generate manet Router Advertisements. The modified manet Router Solicitations MUST have a new M flag set and they MAY include a Source manet address option identifying the sender. The Hop Limit field in the IPv6 header SHOULD be set to an appropriate value. This can be the default constant usually inserted when unicasting packets, or chosen e.g., according to broadcasting/flooding scheme such as an expanding ring search technique. 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |M| Reserved | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options ... +-+-+-+-+-+-+-+-+-+-+-+- Manet Router Solicitation Flag (M) A 1-bit Manet Router Solicitation flag. When set, it indicates that the Router Solicitation message can be sent over a multi-hop network. The internet-gateways MUST NOT forward this message to the nodes on the Internet. Whenever the flag is set, a Source Manet address option is required. The Manet Address in the Source Manet Address sub-option is used for management Manet nodes at the internet-gateway. Reserved Reduced from a 32-bit field to a 31-bit field to account for the addition of the Manet Router Solicitation (M) flag. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 25] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 Options: Source Manet address The Manet global address of the sender. This SHOULD be included even if the Source Address is the temporary address generated with MANET_INITIAL_PREFIX. A.2. Modified Router Advertisement An internet-gateway sends out a Manet Router Advertisement message either periodically or response to a Manet Router Solicitation. The internet-gateway allows to send unsolicited Manet Router Advertisements, although sending them periodically would generate unnecessary packets in the Manet. The modified Manet Router Advertisement MUST have the 'N' flag set. The Hop Limit field in the IPv6 header SHOULD be set to an appropriate value if the expanding ring search algorithm in Manet Broadcasting is used. The `N' flag MUST be set in the Manet Router Advertisements and it MUST carry the address of the internet-gateway and the global prefix information by the Prefix Information Option [8, 7]. 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 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Cur Hop Limit |M|O|N|Reserved | Router Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Reachable Time | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Retrans Timer | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Options ... +-+-+-+-+-+-+-+-+-+-+-+- Manet Router Advertisement Flag (N) 1-bit Manet Router Advertisement flag. When set, indicates that the Router Advertisement message is only for Manet nodes and can be sent over multiple hop Manet nodes. The internet-gateways MUST NOT forward this message to nodes on the Internet. Whenever the flag is set, the sender MUST include a Prefix Information option with a globally routable prefix. A Source Manet Address option may be required, depending on the Manet protocol. A.3. Source Manet Address Option 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 | Length | Manet Address ... +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ R. Wakikawa et.al. Expires 23 Jun 2003 [Page 26] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 Type 10 Length 3 The length of the option (including the type and length fields) in units of 8 octets. Manet Address The 128 bit IPv6 address for the original source of the packet. The Source Manet Address option contains the Manet address of the sender of the packet. It is used in Manet Router Solicitation, and Manet Router Advertisement packets. Since the source address field in the IPv6 header might be changed by intermediate nodes running a Manet routing protocol such as AODV, this option can indicate the exact sender Manet address to receivers. These options MUST be silently ignored for other Neighbor Discovery messages. A.4. Changing the ICMPv6 Redirect An internet-gateway and manet nodes basically obey [8] except for below changes. In [8], gateway can specify only link-local address in a source address field of IPv6 header. In manet situation, an internet-gateway is allowed to specify manet global addressor global address in a source and destination address fields of an IPv6 header. An ICMPv6 Redirect message [8] sent to a Manet node MAY include the Source Manet address option and is used to notify that this destination address is located on this manet. It is used by the internet-gateway to notify a sending node that a destination is located on this manet and instead should send packets to it using ordinary manet routing. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 27] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 B. Mobile IPv6 Extensions for MANET The global connectivity for manet is defined for any global address configured to any manet network interface of a manet node, and it defines a method for configuring a globally routable address for such an interface. Once such address is available, global mobile-initiated sessions, such as web browsing or DNS queries, can be used. A topologically correct address in the IP header source field is sufficient for packets sent from the manet node in such sessions. If the address is a more permanent one, it can be used as a Mobile IPv6 [7] home address, to provide an always-on reachability from the fixed Internet with a statically known address. In such a case, reachability can be provided even when the node moves between manets and different points of the fixed network. A mobile node should use Mobile IPv6 when it is not on its home link. When arriving at a visited link in the fixed network, it uses neighbor discovery to detect movement. If it is not at home, it registers with its home agent using a globally routable address from the visited network. In manet, Mobile IPv6 replaces the neighbor discovery part of its movement detection with globally routable address acquisition, as defined in this document. The movement detection can e.g. be bypassed by the routing daemon by it locally in the host passing a router advertisement to the Mobile IPv6 Neighbor Discovery -based movement detection algorithm. The mobile node then uses the globally routable address acquired from the internet-gateway as its care-of-address when possibly performing a home registration. If no home registration is needed, the mobile node is at home in the manet and the prefix of its home address belongs to its internet-gateway. If the mobile node starts Return Routability procedure for route optimization, HoTI and CoTI are sent through its internet-gateway and HoT and CoT are returned to the mobile node via the internet-gateway. There is no special operation for Return Routability on manet. All manet nodes SHOULD support Mobile IPv6 Correspondent Node (CN) requirements describe in [7], so that they understand the home address option. Manet nodes using Mobile IPv6 with global connectivity support whatever Mobile IPv6 functionality they wish to use. Manet mobile nodes SHOULD NOT use home address options and CN binding updates when exchanging routing information with other nodes in the manet. This keeps control packets smaller and does not require manet nodes to support full CN functionality. A manet mobile node MAY insert a routing header to an outgoing data packet for explicit gateway routing in addition to the possible home R. Wakikawa et.al. Expires 23 Jun 2003 [Page 28] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 address option. If the node is a CN, the possible routing header injected by Mobile IPv6 is modified by inserting the entry for gateway prior to the entry for home address, and setting the segments left to two. C. Use of Routing Header for Transmission of Packets along a Default Route As described in section 7.1, each manet node have two way to send data along a default route when it decides to use of default route for transmission packet. The node supports both but select one depending on the base Manet protocol and network topology. - Without IPv6 routing extension header the sender sends the packet to the global IPv6 address and relies upon next hop routing in the other nodes. - With IPv6 routing extension header the sender uses the internet-gateway address in the destination address of the IPv6 header and the real destination address in the routing header. This document recommends to use the second method for the following reason. Assume the destination is inside the Manet but the sender can not reach the destination via a host route. In such a case, if the node sends packets to the destination via the internet-gateway without a routing header, an intermediate node who has a host route for the destination will route packets to it directly; but the sender node is not aware of this. The sender is never notified that packets is not passing through the internet-gateway. If the sender always uses a routing header, every packet is explicitly routed through the internet-gateway. If the internet-gateway detects that the destination is located within the Manet, the internet gateway can send an ICMPv6 Redirect error message to the sender. After receiving the ICMP Redirect messages, the node can send a route request for the destination to learn the host route. Using a routing header is also preferable if there are more than two internet-gateways, because the node then have the ability to decide which internet-gateway is the best, by distance in hops, or by some other priority. By assign a priority number for each internet-gateway, the route reply message and the Manet Router Advertisement messages could be extended to support a candidate internet-gateway option in it. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 29] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 D. AODV6 Operation with Global Connectivity for IPv6 MANET This section describes how to apply embedding of the Internet connectivity acquisition to a reactive manet routing protocol, AODV [12], more precisely, to its IPv6 variant [11]. All the operation except for a specific explanation in this section follow the descriptions presented earlier in this document. D.1. Additions to AODV6 specification The AODV6 protocol is used as is, except for the addition of one flag. 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 |J|R|G|D|U|I| Reserved | Hop Count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | RREQ ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination IP Address (128-bit) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Originator IP Address (128-bit) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Originator Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The format of the IPv6 Route Request message (RREQ) is illustrated above, and contains the same fields with the same functions as the RREQ message defined for IP version 6 (in [3]), except for the following: Internet-Global Address Resolution Flag (I) Internet-Global Information Flag: used for global address resolution. This flag indicates that the destination node requests global connectivity. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 30] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 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 |R|A|I| Reserved |Prefix Sz| Hop Count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Destination IP address (128-bit) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Destination Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | Originator IP address (128-bit) | | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Lifetime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ The format of the IPv6 Route Reply message (RREP) is illustrated above, and contains the same fields with the same functions as the RREP message defined for IP version 6 (in [3]), except for the following. Internet-Global Address Resolution Flag (I) Internet-Global Information Flag: used for global address resolution. This flag defines that this reply contains information about an internet gateway. D.2. Global Address Resolution This section describes how to obtain a globally routable IPv6 address from an internet-gateway by sending an AODV6 Route Request (RREQ) to IGW_MCAST. When a node sends a RREQ, requesting global address resolution, it can as IPv6 source address specify any arbitrary address with global scope currently in use by one of its interfaces. This could, for example, be its Mobile IPv6 home address or an address created temporary from the MANET_INITIAL_PREFIX. The node then broadcasts the RREQ using the 'I' flag and specifies IGW_MCAST as the destination in the RREQ destination address field. When an internet-gateway receives a RREQ with the `I' flag set, it checks its routing table for an entry towards the receiving network interface and updates it with an entry of for requesting node using the source address specified in the RREQ. The internet-gateway then constructs a Route Reply (RREP with the 'I' flag set), and u it to the requesting node. The IPv6 header fields should be built as in normal AODV6 operation. The global prefix information can be derived using the responding gateway's IPv6 address and the prefix length specified in the RREP. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 31] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 In this way, the node will know both the address of the gateway and the globally routable prefix. After acquiring a topologically correct global IPv6 address, the node first deletes the temporary address from the MANET_INITIAL_PREFIX. If the node didn't create this temporary address, the node can continue using the arbitrary address, e.g. the Mobile IPv6 home address, used during communication with the gateway. The node then broadcasts a Route Error (RERR) with the temporary address to delete all the related host routes. This RERR could also create new reverse routes for the newly created global IPv6 address at intermediate nodes and internet-gateways. It is, however, not permitted by the current AODV6 specification to setup reverse routes using RERR messages. Another RREQ can therefore be sent over the manet to create these reverse routes at intermediate nodes. These reverse routes will become the route path to the internet-gateway for the nodes newly created global address. The internet-gateway should insert the nodes host route into its routing table. The old entry in the gateway related to the temporary address will be discarded after lifetime expiration. When the node sends packets to the internet, it MAY use any of the two methods specified in section 7.1 and appendix C. If the node chooses to send a packet to the Internet without using a routing header, some intermediate nodes may generate RERR message because they do not have an active route to the packet's destination, see the AODV specification [12] for more details about this. To avoid these unnecessary RERRs, a default route is defined as the active route in this document. This means that an intermediate node should have an active default route. If the intermediate node doesn't have a host route for a destination, it should route packets towards the default route. If the node instead uses a routing header, the address of the internet-gateway should be specified in destination address field of the IPv6 header. All intermediate nodes on the route path to the internet-gateway will then have a host route to the destination address, ie. the internet-gateway address. The intermediate node cannot generate a RERR message for outgoing packets destined outside of the manet. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 32] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 E. Changes from draft-wakikawa-manet-globalv6-02 - Editorial updates - Section 7.2: add the operation of an internet-gateway when a manet node leaves the internet-gateway's manet. - Section 7.2: change the operation of ICMP Redirect message for an internet-gateway. The internet-gateway MUST route original packets to the destination while sending ICMP Redirect messages. - update AODV packet format. Authors' Addresses Ryuji Wakikawa Charles Perkins Graduate School of Communications Systems Lab Media and Governance. Nokia Research Center Keio University 313 Fairchild Drive 5322 Endo Fujisawa Kanagawa Mountain View, California 252 JAPAN 94043 USA EMail: ryuji@sfc.wide.ad.jp EMail: charliep@iprg.nokia.com Phone: +81-466 49-1394 Phone: +1-650 625-2986 Fax: +81 466 49-1395 Fax: +1 650 625-2502 Jari T. Malinen Anders Nilsson Communications Systems Lab Dept. of Communication Systems Nokia Research Center Lund Institute of Technology 313 Fairchild Drive Box 118 Mountain View, California SE-221 00 Lund 94043 USA Sweden EMail: Jari.T.Malinen@nokia.com E: anders.nilsson.024@student.lth.se Phone: +1-650 625-2355 Phone: +46 46-39 72 92 Fax: +1 650 625-2502 Fax: +46 46-14 58 23 Antti J. Tuominen Theoretical Computer Science Lab Helsinki University of Technology P.O.Box 9201 FIN-02015 HUT Finland Email: anttit@tcs.hut.fi Phone: +358 9 451 5136 Fax: +358 9 451 5351 R. Wakikawa et.al. Expires 23 Jun 2003 [Page 33] Internet Draft Global Connectivity for IPv6 Manets 23 Oct 2003 Full Copyright Statement Copyright (C) The Internet Society (2003). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Acknowledgement Funding for the RFC Editor function is currently provided by the Internet Society. R. Wakikawa et.al. Expires 23 Jun 2003 [Page 34]