| 10 | The main intention of the demonstration is to show how |
| 11 | ariba eases application deployment upon heterogeneous net- |
| 12 | works. We consider an exemplary scenario (as shown in |
| 13 | Figure 2) that consists of two LANs, one running IPv4 and |
| 14 | one running IPv6, respectively. Furthermore, one WLAN |
| 15 | attached to notebook N1 and a bluetooth device connected |
| 16 | to notebook N3 are deployed. The WLAN uses NAT to |
| 17 | multiplex the single IP address of the access point to mul- |
| 18 | tiple wireless devices. Furthermore, we employ native RF- |
| 19 | COMM for communication between N3 and P2, using MAC |
| 20 | addresses. Notebook N2 and N4 are dual-stacked and con- |
| 21 | nected to both, the IPv4 and IPv6 LAN. |
| 22 | All end-systems in this scenario run an application that |
| 23 | requires end-to-end connectivity. In the following we refer |
| 24 | to the instance of the application running on an end-system |
| 25 | as node. Two nodes are directly connected, if they can com- |
| 26 | municate through a common subset of protocols and bidi- |
| 27 | rectional packet flow is not inhibited by middleboxes. In the |
| 28 | exemplary scenario shown in Figure 2 nodes N1 and N4 are |
| 29 | directly connected, whereas N1 and N3 are not. To illus- |
| 30 | trate the establishment of end-to-end connectivity, consider |
| 31 | a communication path between P2 and P1. Using a conven- |
| 32 | tional approach lots of additional mechanisms are required |
| 33 | to achieve end-to-end connectivity: First, N2 and N3 need |
| 34 | to configure a point-to-point tunnel or personal area net- |
| 35 | work daemon (pand ) to connect P2 via Bluetooth to the IPv4 network. Second, N2 or N3 need to be configured to |
| 36 | forward packets from the IPv4 to the IPv6 network—this is |
| 37 | only possible when using IPv4-mapped addresses. Finally |
| 38 | N1 needs to forward packets for P1, and port forwarding |
| 39 | must be configured on the NAT device. Note, that if the net- |
| 40 | work setting is changed manual re-configuration is necessary |
| 41 | to re-establish connectivity. During this time-consuming |
| 42 | re-configuration process—which is usually error-prone and |
| 43 | highly complex—end-to-end connectivity is unavailable. |
| 44 | ariba eases this process using a generic self-organizing ap- |
| 45 | proach: First, it does not rely on homogeneous addressing or |
| 46 | protocols, in fact, ariba exploits different protocols to con- |
| 47 | struct an application-layer path—looking homogeneous to |
| 48 | the application—upon heterogeneous networks. This path |
| 49 | is built hop-by-hop whereas each hop can run different trans- |
| 50 | port- and network-layer protocols. Furthermore, it consid- |
| 51 | ers that network settings are dynamic and may change over |
| 52 | time. For example, notebook N1 may get connected directly |
| 53 | to notebook N3 and updated to support 6-to-4. In this case |
| 54 | ariba adapts and incrementally optimizes connectivity. For |
| 55 | this purpose ariba uses an overlay with a consistent identi- |
| 56 | fier -based addressing scheme to overcome network hetero- |
| 57 | geneity: Nodes using the same application are connected by |
| 58 | a logical overlay structure that allows forwarding packets us- |
| 59 | ing node identifiers (e. g., using one-hop or Chord key-based |
| 60 | routing protocols). |
| 61 | The overlay is constructed incrementally: First, a joining |
| 62 | node contacts another node—running the same ariba-based |
| 63 | application—it has direct connectivity with. For example, |
| 64 | N1 may use N2 to join the overlay. The joining node must |
| 65 | establish connections to its logical neighbors in the overlay. |
| 66 | Neighbors are discovered by issuing queries inside the over- |
| 67 | lay network using key-based routing. For example, if P2 is |
| 68 | logical neighbor of N1, the query reaches P2. P2 has two |
| 69 | options: P2 might try to establish a direct connection to |
| 70 | N1—which is not possible due to heterogeneity—or use the |
| 71 | overlay path the query originated to establish a connection. |
| 72 | In the latter case, N2 (or N4) and N3 would be used to con- |
| 73 | struct a relay path between N1 and P2. Relay paths may |
| 74 | fail if the network setting is changed. In this case the node |
| 75 | can re-establish relay paths by partially repeating the join |
| 76 | phase for overlay stabilization. |
| 77 | For an instant decision whether two nodes can communi- |
| 78 | cate directly and to optimize the length of relay paths ariba |
| 79 | implements an unintrusive extension: Connectivity Domain |
| 80 | management. The extension monitors overlay connections |
| 81 | and relay paths to identify regions with direct connectivity— |
| 82 | so called Connectivity Domains—and assigns a Connectivity |
| 83 | Domain Identifier (CDID) to each Connectivity Domain. |
| 84 | Using a gossip mechanism nodes inform each other about |
| 85 | |
| 86 | |
| 87 | |