IRTF P2PWG Sub-Group: p2p in mobile environments Frank-Uwe Andersen Luca Caviglione Oliver Waldhorst Overall research directions and problem classification (in preparation of a "problem statement" draft) Introduction The subgroup is researching issues that arise from the combination of p2p techniques with mobility. Mobility in this sense comprises mobile devices and their requirements, mobile infrastructure and its IP mobility restrictions (as well as its potential capability to support p2p), algorithms and system design / architecture. Since mobility itself constitutes a cross-issue for all layers, it does also affect many, if not all, parts of p2p. This research is related to mobile ad hoc networking, mobile IP and routing. The purpose is to identify the functional areas of p2p systems that are "affected" by mobility issues. A tentative structure for our object of research is shown below. p2p-Mobility 1. Wireless mobility o Optimizations + Bandwidth variations + BER / Wireless link outage + Proxying o Non-wireless mobility (initially out of scope) 2. Infrastructure-based o Cellular environment + restraints in 3G packet oriented network 3. Non-Infrastructure (pure ad-hoc) 4. Routing o Interference of overlay and routing mechanisms o Effects of higher layers onto lower layers o Ontological routing such as location based (initially out of scope) o Effects of lower layers onto higher layers + Mobility mgmt. using mobile IP + Effects of multihoming + Effects of multicasting 5. Content and p2p services / functions + Discovery / Searching + Download + Bootstrapping + Content protection 6. Security + Broadcast-nature of wireless link (privacy problem) 7. Devices o Limitations: Memory, CPU, .. + Data / Route / Query Caching on mobile node 8. Specific Systems + JXTA (for mobile environments?) The items of interest are each described in the subsequent passages. Definition of mobility There are different types of mobility, ranging from user mobility (handled e.g. by SIP) to terminal mobility (corresponds to the mobile IP term "mobile host" all the way up to network mobility which is currently treated in the NEMO group. At this point in time, the p2prg mobility subgroup does not restrict itself to one type of mobility. Since the definition of a p2p overlay is a basic precondition to understand many of the items, it is therefore given first. Definition of overlay (provisory) One of the possible way to define the "overlay", even if general, might be the following. It is a more general way of defining it, since it leaves aside any specific technique to generate the overlay (almost every p2p system does it on its own way). "The overlay is the sum of all distributed state information in a p2p network, containing but not limited to connectivity information, location/name of superpeers, closest peers, adjacency". This definition is probably not yet complete. By using this definition it will also allow us to describe p2p-mobility in a simple and straightforward way. The key reasoning concerns about derived propriety of the overlay due to the presence of a mobility component. "In p2p-mobility, the sum of all distributed state information might be fast time varying (due to mobility) and highly unreliable (due to link, again mobility and limited devices...)" To summarize the key concepts: p2p overlays (as defined above) are blind regarding the topology of sub-layers. This is usually not a big problem with participants that do not change their location. With mobile participants, however, one may at least expect efficiency decreases due to increased "update signalling". The overlay principle itself may still work, but if the mobility is increased to a certain level, the network is slowed down or collapses. 1. Wireless mobility Wireless mobility reflects in a well-defined behavior. Mobile nodes might encounter the following problems strictly related to the lower layers peculiarities. Wireless links, especially when used in an urban context, might be subjected on major problems related to multi-path fading, cell overcrowd and connectivity loss due to obstacles or both harsh indoor - outdoors environments. Of course, protocol stack layered architecture performs a kind of "behavioral hiding" of such phenomena but higher layers will be influenced. As a matter of facts, when connection oriented technologies such as TCP are employed major problems might arise. The joint use of TCP with mobile p2p is not mandatory, but in the vision of a full IP convergence, such as in UMTS - 3G cellular environments, some considerations should be useful. Physical bandwidth fluctuations will reflects in transport issues and consequently, in "rough power" for exchanging data among different applications or devices. When using devices this peculiarity must be taken in to account allowing slight adjustments or improvement to the overlay network. Nevertheless, wireless networking might be used jointly a wired infrastructure: some rules could be investigated allowing to find the right balance when p2p is used in a mixed scenario. Wireless oriented limitations or countermeasures might be too restrictive when applied in a context where about the 99% of peers are participating via wired technologies. Conversely, a "overlay region" heavy populated by mobile-wireless peers might be assumed as not preferential for routing or caching but still need to be integrated and managed in the overall architecture avoiding fragmentation issues and at the same time might be used with attention. Wireless Link Outage While participating a p2p architecture, a mobile node might experience an intermittent connection. 2. Infrastructure-based (to be done) o Cellular environment + restraints in 3G packet oriented network The overall architecture of the 3GPP based packet domain 3. Non-Infrastructure (pure ad-hoc) Matching of overlay and network topology According to the provisory definition, the overlay comprises of connectivity information, especially information about closest nodes and network adjacency. Since the overlay is "blind regarding the topology of sub-layers", in general closest neighbors in the (application layer) overlay are are not physical neighbors in the ad hoc network. Physical neighbors are known on the network layer, as a routing protocol for ad hoc networks provides routes comprising of multiple hops between physical neighbors. A mismatch between overlay and network layer neighbors results in the employment of long network routes for overlay communication. Evidently, this wastes scarce resources like radio bandwidth and energy. Furthermore, maintenance of long routes requires increased activity by the routing protocol. To reduce mismatches between overlay and network layer topology, a well-defined API is required to provide information from the network layer (or even lower layers) to the peer-to-peer system for overlay construction. Suitable information include, e.g., proximity information (i.e., the route length in hops), or information about route failures. Overlay construction Network layer information should be used when initially connecting a peer to the overlay. E.g., proximity information provided from the network layer using the API can be used to select the closest network layer neighbor from a set of candidate peer for initial connection. Alternatively, the initial connection can be established to an arbitrary peer, and successively optimized by selecting more appropriate peers determined by suitable combination of overlay adjacency information with network proximity information. Overlay maintenance Closest network layer neighbors may frequently change due to user mobility. Similar to routing protocols for ad hoc networks, that react to topology changes on the network layer, the overlay must be adopted to changing physical topology. The peer-to-peer system can be instantly informed about topology changes (e.g., route failures) using the API to the network layer. In case of a topology change, two approaches are possible similar to ad hoc routing. First, the peer-to-peer system can act pro-actively, and reconstruct overlay connections matching the changed network topology. Second, the peer- to-peer system can mark the involved overlay connections as stale, but delay reconstruction until the overlay connection is used for communication. Thus, overlay connections will be established on demand. Which approaches is preferable depends on the traffic pattern generated by the peer-to-peer application. Overlay Mutability The frequency of adaption can be adjusted according to some rules, e.g., requirements of the peer-to-peer application, the resources available in the ad hoc networt etc. Some rules of thumb will follow: Keep a physical overlay connection only as long as it is active, i.e., two nodes exchange information using this connection. Try to provide a reasonable matching between active overlay routes and the physical layer using the mechanisms specified above. When a route becomes inactive, discard it, but keep information to enable fast re-establishment of overlay connectivity (maybe this is what you call potential overlay). Epidemic information dissemination / gossiping Frequently changing closest neighbors make an ad hoc network attractive for gossip-style protocols for information dissemination. In such protocols, information will be transfered between closest neighbors either pro-actively or on demand. Since closest neighbors change due to user mobility, the information will spread in the ad hoc network like an infectious disease. Depending on the requirements of the peer-to-peer application, expensive construction of overlays spanning the entire ad hoc network can be avoided by employment of gossip-style protocols. 4. Routing Preface: Mutual interference of adjacent layers Higher layers are sometimes the "victims" of routing decisions for instance when mobile-IP is jointly used with a p2p paradigm: mobile- IP mechanisms might destroy part of the overlay (e.g. the binding updates don't come quickly enough). Conversely, the self-organized characteristics of the p2p overlaid network might move traffic bloats around the networked environment in an unpredictable manner. Interference of overlay and routing mechanisms Particular problems might arise when different routing mechanisms and overlay mechanisms (depending on specific p2p system) start to interfere. Higher layers influence routing decisions and in a similar way as routing decisions will reflect in particular traffic patterns. This may happen if, for example, a p2p network user is additionally using mobile IP. During movement, numerous mobile IP binding updates may be necessary. At the same time, dozens (hundreds) of peer connections exist, and they all need to stay connected. If the "playground" is a mediated p2p scenario, orphan peers will need to find another network entry point. This procedure resembles the "first node problem" when a peer needs to know a first node to join the p2p- network. In this perspective, routing and overlay interference will reflect in not obvious problems such as "cache size" and "timing" problems. Overlay infrastructure will in some way influence the routing and the taxonomy of the routing infrastructure: table dimension, entry lifetime, time out value. Higher layers decisions and routing interference In addition, problems might arise when the overlaid network is used without any consideration of the underlying infrastructure. Consider an organizational model based upon "common resource interest", for instance a particular file or a piece of mobile code located in another country (e.g. accessed via a trans-oceanic link). A large population of interested peers will move a huge amount of traffic in particular network zones. The ability of each peers' application level to take decisions influence the "routing". Then there is a mutual interference: overlaid network usage will reflect in particular traffic patterns within the network while routing strategies will affect the overlaid topology, as previously explained in mobile IP. In a mobility perspective, previous aspects must be taken in to account: a traffic load might be not routed in a high-mobility populated zone because it could create high congestion and unmanageable network overload. The end-to-end principle In [2], it is stated that the "End to end transparency" principle suffers from the introduction of private addressing schemes, NAT and firewalls. The network cannot be regarded as symmetric any more, longer symmetric, so that communication between two addresses is possible if the communication session originates from one end but not from the other. This impedes the deployment of new peer-to-peer services, and some 'push' services where the server in a client- server arrangement originates the communication session. Whether a new routing system either can or should seek to restore this transparency is an open issue. A related issue is the extent to which end user applications should seek to control the routing of communications to the rest of the network. 5. Content and p2p services / functions Basic p2p services comprise at least a search function and a download function. One impact that mobility might have on the search + download functions is that in case of a location-based search function, the list of peers that have been listed and optimized by the search function to provide the desired content may not be valid anymore after a location change of the client peer. While during the initial search, the client peer received for example the address of a peer in the same high-speed local area network. After the client peer changes its point of network attachment, other server peers might be optimal for the desired download, but they remain unknown to the client peer which is still connected to the old server peer(s). 6. Security When using a p2p infrastructure there are major concerns related to security. Confidential information might be routed via other peers. Clearly, the p2p paradigm raises security issues, which are more evident when combining p2p to mobility. Probably, some countermeasures should be taken into account when writing the "software", but adding some "constitutive features" in the framework itself will bring some benefits. One of the most important characteristics of p2p is the opportunity of "juxtaposing" an overlay network on the physical infrastructure. Consequently, there will be two main security branches: one related to the overlay algorithms and one related to the underlying network infrastructure. If the networked scenario supports IPsec, L2 encryption or Secure Socket Layer (SSL), maybe the security layer provided by the "p2p-os" on top might be thinner or simply more coordinated with the lower layers. If the "overlay" interacts with the lower layers some tricks might be applied, such as strict source routing to bypass insecure peers or prevent risky network zones (e.g., a region where WEP-like algorithms are not applied). This reasoning probably reduces p2p benefits by isolating instead of connecting peers and should therefore be seen as a back-up solution. Native security might as well be implemented in the "layer that implements p2p" and this will branch the problem space in two subspaces: the implementations themselves (maybe platform dependent) and the protocol-architecture specification (maybe technology- standard dependent). Overlay-based routing (sould we call it "application level routing"?) might be powered with techniques like the Onion-Routing approach [1] but, transposed to higher layers. 7. Devices Mobile devices classification may vary from a simple phone to a complete personal computing device connected with an IEEE 802.11 based interfaces. Multiple Bluetooth-based pico-networks could be interconnected via mediation points and a 3G-like cell phone could bridge everything to the Internet. In this highly heterogeneous perspective, some ranking mechanism should take in to account: a rank could be provided by mediating the CPU power, the storage (for routing table and caches) the maximum amount of available connections, the available link speed etc. 8. Specific Systems (to be done) Sources: [1] http://www.onion-router.net/ [2] http://www.ietf.org/internet-drafts/draft-irtf-routing-reqs-02.txt