Skip to content
paupowpow edited this page Jan 24, 2017 · 1 revision

Peer-to-Peer Networking on Mobile Devices

Synchronicity

  • Wi-Fi or WLAN
  • peer-to-peer or p2p or P2P

To Do / Write About

Multipeer Connectivity

  • source: https://www.youtube.com/watch?v=5NDmDtgpCEw
  • introduced in iOS7, also MAC OS X ???
  • is a library
  • find nearby devices and communicate with them
  • protocols are undocumented -> reverse them -> see how they work behind the scenes
  • documentation on how to use it: yes. how it works: no.
  • encryption, authenticaton
  • uses bluetooth or wifi, tries to find the best, youc annot choose
  • reverse a protocol? look at packet capture -> 4 different protocols (2 not known to Wireshark)
  • Protocol 1: Bonjour (Apple technology) -> find services on a LAN. App advertises local MC service (choose name) and nearby devices can find it. They then get the IP adress and TCP port to connect to that service.
  • Protocol 2: unknown, something with TCP -> each peer sends their PeerID first -> then three plist (property list of key value pairs) -> they exchange connection data keys / connection data (peer names, security options and candidate UDP sockets)
  • Protocol 3: list of candidate IP addresses and port numbers, it does connectivity checks to find the best network path to the other peer;
  • Protocol 4: unknown, somthing over UDP -> protocol used when sending messages; perform DTLS handshake (datagram transport layer security protocol), check the other peer's identity, exchange data -security analysis (16:50min): affects protocol 4,

Google Nearby

Developer Guidelines:

  • respect user privacy
  • help user understand what data the app will expose to nearby users
  • require the user to perform an explicit action to activate Nearby
  • battery consumption: Nearby's use of radios and sensors will cause your app to consume battery at 2.5-3.5 times the normal rate
  • only use one Activity AND when this Activity is running in foreground for establishing the connection

WiFi Direct

  • enables devices to easily connect with each other
  • does not require wireless access point (WAP)

AllJoyn

  • only works with shared access point between devices, i.e. have to be on the same network

p2pkit.io

  • is an SDK
  • is it cross-platform?
  • does it work when devices are not in the same wifi network? yes
  • is it open-source? (source: http://p2pkit.io/developer/)

Security

Chat Sample App

Android Studio

  • Eclipse is supported IDE

Explore: How Android and iOS apps do networking

Why is development of an application that performs cross-platform mobile ad hoc networking so difficult to achieve? Each platform has their own approach to enabling "High-bandwidth local connectivity without a central instance like a WiFi AP" (source: http://blog.moritzhaarmann.de/blog/2014/04/27/sorry-state-of-p2p/)

  • iOS – Apple's networking framework Multipeer Connectivity: uses infrastructure Wi-Fi networks, peer-to-peer Wi-Fi, and Bluetooth personal area networks for the underlying transport
  • Android – (1) WiFi Peer-to-Peer (WiFi P2P): allows devices with appropriate hardware to connect directly to each other via Wi-Fi and (2) Bluetooth
  • the only technology that is shared: BLE (Bluetooth Low Energy), but payload size is only 21 bytes

Reasons

  • If, as is the case with Apple's Multipeer Connectivity, you can provide a framework that is attractive to work for developers, but only works on your own platform, you may consolidate your position on the market.
  • Security concerns?
  • Difficult to ensure hardware compatibility (even on one platform, this is difficult: "Android 4.0 (API level 14) or later devices with the appropriate hardware" (source: Wi-Fi Peer-to-Peer documentation)) – this changes constantly, and, in the case of Android, is impossible to monitor because of all of the different hardware manufacturers. Does this rely a lot on hardware? Does this rely more on hardware than establishing a WLAN connection?

Routing algorithms in MANETs?

Flooding and Hash Tables

Terminology and structure

WANET (Wireless Ad Hoc Network)

  • ad hoc -> devices connect without an access point (when they are within range of each other), routing of packets happens spontaneously, there is no preexisting, fixed infrastructure
  • wireless -> via radio, whether it's using wireless Ethernet/Wi-Fi (IEEE 802.11 technology) or Bluetooth

1. WMN (Wireless Mesh Network)

  • consists of routers connected in a wireless mesh topology
  • routers are relatively fixed (quasi-stationary)
  • clients connect to mesh routers as they would to normal access points
  • multi-hop forwarding
  • no direct connectivity between clients (source2)
  • example: Freifunk, Serval
  • use cases:
    • Wi-Fi connectivity in small/big businesses/campuses
    • video monitoring

2. MANET (Mobile Ad Hoc Network)

  • mobile nodes that communicate using wireless links in a network without preexisting infrastructure
  • multi-hop -> nodes forward packets wirelessly towards other nodes; in this case: hop-by-hop
  • nodes operate as / can be both end hosts as well as routers
  • example: Firechat, SPAN project
  • use cases:
    • military/battlefield
    • emergency
    • personal: for communities/conferences/group meetings/schools/demonstrations/festivals

(source: Peer-to-Peer Overlay in Mobile Ad-hoc Networks by Castro, Kassler, Chiasserini, Korpeoglu) (source2: On Mobile Mesh Networks by Namiot)

Peer-to-peer and Client-server

1. Peer-to-peer

  • is an application architecture
  • counter part to client-server architecture
  • no always-on server
  • participating hosts can change IP address every time they come on
  • peers communicate directly with each other without passing through some special server
  • exploits the resources in users' computers – storage, content, CPU cycles and human presence (Kurose and Ross p.58)
  • pro: scalability (each oncoming peer increases demand but also service capacity)
  • con: difficult to manage because highly distributed & decentralized
  • example: Napster

2. Client-server

  • is an application architecture
  • counter part to peer-to-peer
  • has an always-on host, the server, which services requests from many other hosts, the clients
  • server has a fixed, well-known IP address
  • one server not enough? server farms
  • example: the Web, e-mail

3. Peer-to-peer and client-server hybrid

  • example: Napster
    • p2p: files exchanged directly among peers without passing through servers
    • cs: peer queries a central server to determine which currently-up peers have a desired file
  • example: instant messaging
    • p2p: text sent between two users does not go through server
    • cs: peers register themselves at a central server when going online, and peers contact server to know which peers are currently up

(sources: pp75-79 Computer Networking by Kurose, Ross)

Conclusion

Peer-to-peer is an application architecture and a communication paradigm -> Can be understood as an overlay on top of existing networks (such as WMNs, MANETs) -> Is the higher-level idea

Disadvantages of mobile p2p -> Effects on usability

  • both need to be online at the same time to actually exchange quests (workaround? transmit ID with beacon, then find them online? is this how happn works?)

Conclusion

Have to look at peer-to-peer from an honest standpoint: what can be leveraged of p2p is the ability to make proximity connections and to enhance your analogue/real life experience. Using Wi-Fi and Bluetooth sensors to browse for peers constitutes a substantial battery drain for the user's phone, so in contrast to p2p networks that include static workstations (laptops), looking for peers is actually very user-hostile. And even in the area of static workstations, one of the main challenges of p2p is routing which includes registering and unregistering and finding active nodes.


[older]

Mesh

  • a network topology (among bus, ring, star, tree)
  • every computer is directly connected to every other one
  • con: expensive
  • pro: if one connection fails, there is always another route

(source: p26 Communications and Networking by Cowley)

Ad hoc networks

(source: Anonymity and Privacy in Wireless Mobile Ad Hoc Networks by Taheri)

  • when spontaneously constructed networks deal with immediate demands such as short term local communication
  • do not use any fixed infrastructure (no base station, access points, remote servers)
  • nodes do not have access to high power supplies, restricted to battery power capacity -> energy efficiency is an important requirement
  • nodes function as hosts as well as routers in the network to route data packets between communicating pairs
  • are autonomous networks interconnected in a multi-hop manner via wireless links between the nodes

(source: Johann Van Der Merwe, Dawoud Dawoud and Stephen McDonald. A survey on peer-to-peer key management for mobile ad hoc networks. ACM Comput. Surv., vol. 39, no. 1, page 1, 2007. (Cited on page 4.)

  • the determination of which nodes forward data is made dynamically based on the network connectivity (source: https://en.wikipedia.org/wiki/Wireless_ad_hoc_network) -> therefore WMN is also ad hoc (source: Computer Networking by Kurose, Ross pp506-507)
  • hosts are not associated with a base station (as is the case in infrastructure mode)
  • hosts themselves must provide for services such as routing, address assignment, DNS-like name translation, etc

WMN

  • radio nodes organized in a mesh topology (source: https://en.wikipedia.org/wiki/Wireless_mesh_network)
  • a form of WANET
  • mesh clients are wireless devices (laptops, cell phones)
  • mesh routers: forward traffic to/from the gateways
  • gateways may but need not be connected to the internet
  • self forming, self healing -> self organizing network (SON), just like the others
  • not restricted to any one technology or protocol
  • application examples and communities: OLPC, freifunk & similar communities
  • there are more than 70 competing schemes for routing packets across mesh networks

MANET Mobile Ad Hoc Networks

  • self-configuring networks of mobile devices
  • applications:
    • Bluetooth (exchange data in short distance between devices such as mobile phones, PCs, printers)
    • Military (communicate voice or data about the current battle field situation while moving in the field, nodes are in radio range of one neighbor)
    • Temporary networks (meetings, conferences, conventions to share data OR disasters, when local infrastructure is destroyed)
    • Vehicular networks, VANETs (local communication between cars or cars and roadside access points)
    • Sensor networks (smart buildings, environmental parameter measuring)

(source: Anonymity and Privacy in Wireless Mobile Ad Hoc Networks by Taheri)

Trying to structure network categories

  • WANET (Wireless Ad hoc Networks)
    • MANET (Mobile Ad hoc Networks)
      • iMANET
      • SPAN (Smart Phone Ad hoc Networks) [you are here!]
      • VANET (Vehicle Ad hoc Networks)
    • WMN (Wireless Mesh Networks) [this is where freifunk is at!]
    • WSN (Wireless Sensor Networks) (I kinda deduced this from wikipedia articles on each topic and this: http://sparkandshine.net/clarify-concepts-wanet-manet-wmn-wsn-dtn/ which basically sums up the wikipedia articles. Need literature on this.)

Dr. Somayeh Taheri (http://www.uni-goettingen.de/en/133507.html) has published a body work around the topic of MANETs, particularly security and privacy issues of wireless networks. Example: Anonymity and Privacy in Wireless Mobile Ad Hoc Networks


[older]

Mesh networks

Train of thought: Mesh networks -> wireless mesh network

A mesh network is a network topology in which each node relays data for the network. All nodes cooperate in the distribution of data in the network. Technique: either flooding or routing.

Routing: message is propagated along a path by hopping from node to node until it reaches its destination. Relevant: Shortest Path Bridging, a self-healing algorithm. Flooding: a simple computer network routing algorithm in which every incoming packet is sent through every outgoing link except the one it arrived on. (Advantage: Simple to implement, will use shortest path, packet will be delivered; disadvantage: costly bc of wasted bandwidth, duplicated packets may circulate forever if no precautions are taken)

(Wireless) mesh networks can be seen as a special type of (wireless) ad-hoc networks.

Mesh networks are typically wireless.

Wireless mesh networks

Examples: OLPC, freifunk

Ad-hoc networks

Network is called ad hoc because it does not rely on a preexisting infrastructure, such as routers in wired networks or access points in managed wireless networks. Instead, each node participates in routing by forwarding data for other nodes, so the determination of which nodes forward data is made dynamically on the basis of network connectivity. source An ad-hoc network is formed ad hoc when wireless devices come into each other's communication range. source

Ad hoc as opposed to managed

Categories:

  • MANET – Mobile Ad Hoc Networks
  • WMN – Wireless Mesh Networks
  • WSN – Wireless Sensor Networks

Wireless ad-hoc networks (WANET)

Wireless mobile ad hoc networks are self-configuring, dynamic networks in which nodes are free to move. Wireless networks lack the complexities of infrastructure setup and administration, enabling devices to create and join networks "on the fly" – anywhere, anytime. (source: Chai Keong Toh. Ad Hoc Mobile Wireless Networks. United States: Prentice Hall Publishers, 2002) continuously self-configuring, infrastructure-less network of mobile devices connected without wires

Smartphone ad hoc networks (SPAN)

SPANs leverage the existing hardware (primarily Bluetooth, Wi-Fi) in smartphones to create peer-to-peer networks without relying on cellular carrier networks, wireless access points, or traditional infrastructure. source

Peer-to-peer networks

Train of thought: Peer-to-peer idea in general -> peer-to-peer networks -> peer-to-peer computer networks -> peer-to-peer on mobile applications

Smartphone

Routers and Routing

WLAN Router

What is commonly referred to as WLAN router is a combination of WAP (Wireless Access Point), switch and router. The routing is done between WLAN and WAN, or LAN and WAN. WAP

network effects

what makes a messenger platform valuable is not how great, secure, or feature-rich this platform is, but rather how many people can be reached with it

Infrastructural and societal circumstances in Germany

  • Studies: link
  • Secondary liability is the legal situation that makes the owners of open / non-encrypted wireless access points liable for what other users do over their internet connection source

The cross-platform challenge

AllJoyn – Qualcomm's open-source cross-platform peer-to-peer framework

  • The AllJoyn protocol is transport-layer-agnostic

Implementation examples of P2P in mobile applications

Firechat

Serval

Cadus

Unterstützt von der HTW Berlin hat CADUS begonnen, ein auf p2p basierendes Kommunikationssystem zu entwickeln. http://www.cadus.org/de/

Libelium

http://www.libelium.com/products/meshlium/smartphone-detection/