A Tetherless Computing Architecture

Slides:



Advertisements
Similar presentations
Computer Networks TCP/IP Protocol Suite.
Advertisements

Virtual Trunk Protocol
Security Issues In Mobile IP
1 Resonance: Dynamic Access Control in Enterprise Networks Ankur Nayak, Alex Reimers, Nick Feamster, Russ Clark School of Computer Science Georgia Institute.
Data Structures Using C++
Mobile IP Outline Intro to mobile IP Operation Problems with mobility.
Mobile and Wireless Computing Institute for Computer Science, University of Freiburg Western Australian Interactive Virtual Environments Centre (IVEC)
1 Network Address Translation (NAT) Relates to Lab 7. Module about private networks and NAT.
1 Wireless and Mobile Networks Part 2 November 25, 2008 Department of Electrical and Computer Engineering University of Western Ontario ECE 436a Networking:
IPv6 Routing.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 EN0129 PC AND NETWORK TECHNOLOGY I NETWORK LAYER AND IP Derived From CCNA Network Fundamentals.
XP New Perspectives on Browser and Basics Tutorial 1 1 Browser and Basics Tutorial 1.
1 © 2003, Cisco Systems, Inc. All rights reserved. CCNA TCP/IP Protocol Suite and IP Addressing Halmstad University Olga Torstensson
CPSC Network Layer4-1 IP addresses: how to get one? Q: How does a host get IP address? r hard-coded by system admin in a file m Windows: control-panel->network->configuration-
IP Mobility Support Basic idea of IP mobility management
COS 461 Fall 1997 Routing COS 461 Fall 1997 Typical Structure.
Cs/ee 143 Communication Networks Chapter 6 Internetworking Text: Walrand & Parekh, 2010 Steven Low CMS, EE, Caltech.
UNIT-IV Computer Network Network Layer. Network Layer Prepared by - ROHIT KOSHTA In the seven-layer OSI model of computer networking, the network layer.
MANETs Routing Dr. Raad S. Al-Qassas Department of Computer Science PSUT
What we will cover… Home Networking: Network Address Translation (NAT) Mobile Routing.
1 Link Layer & Network Layer Some slides are from lectures by Nick Mckeown, Ion Stoica, Frans Kaashoek, Hari Balakrishnan, and Sam Madden Prof. Dina Katabi.
A Study of Mobile IP Kunal Ganguly Wichita State University CS843 – Distributed Computing.
Subnetting.
Routing.
Mobile IP.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
COMPUTER NETWORKS.
Copyright 2003 CCNA 1 Chapter 7 TCP/IP Protocol Suite and IP Addressing By Your Name.
Network Layer (Part IV). Overview A router is a type of internetworking device that passes data packets between networks based on Layer 3 addresses. A.
Virtual LANs. VLAN introduction VLANs logically segment switched networks based on the functions, project teams, or applications of the organization regardless.
Support Protocols and Technologies. Topics Filling in the gaps we need to make for IP forwarding work in practice – Getting IP addresses (DHCP) – Mapping.
CECS 5460 – Assignment 3 Stacey VanderHeiden Güney.
Mobile IP Performance Issues in Practice. Introduction What is Mobile IP? –Mobile IP is a technology that allows a "mobile node" (MN) to change its point.
1 Chapter06 Mobile IP. 2 Outline What is the problem at the routing layer when Internet hosts move?! Can the problem be solved? What is the standard solution?
2002 년 2 학기이동인터넷프로토콜 1 Mobile IP:Overview 년 2 학기이동인터넷프로토콜 2 Mobile IP overview Is Mobile IP an official standard? What problems does Mobile IP solve?
Lecture 2 TCP/IP Protocol Suite Reference: TCP/IP Protocol Suite, 4 th Edition (chapter 2) 1.
1 Computer Communication & Networks Lecture 22 Network Layer: Delivery, Forwarding, Routing (contd.)
Mobile IP Overview and Discussion. 2 Spectrum of Mobility – from network perspective no mobility high mobility mobile user, using same access point mobile.
© Janice Regan, CMPT 128, CMPT 371 Data Communications and Networking BGP, Flooding, Multicast routing.
1 IP Forwarding Relates to Lab 3. Covers the principles of end-to-end datagram delivery in IP networks.
1 Routing. 2 Routing is the act of deciding how each individual datagram finds its way through the multiple different paths to its destination. Routing.
 Network Segments  NICs  Repeaters  Hubs  Bridges  Switches  Routers and Brouters  Gateways 2.
CMPT 471 Networking II Address Resolution IPv4 ARP RARP 1© Janice Regan, 2012.
10/8/2015CST Computer Networks1 IP Routing CST 415.
Geneva, Switzerland, 11 June 2012 Switching and routing in Future Network John Grant Nine Tiles
PRESENTATION ON:- INTER NETWORK Guided by: Presented by:- Prof. Ekta Agrwal Dhananjay Mishra Prafull Jain Vinod Kumawat.
Mobile IP Outline Intro to mobile IP Operation Problems with mobility.
Lectu re 1 Recap: “Operational” view of Internet r Internet: “network of networks” m Requires sending, receiving of messages r protocols control sending,
Routing and Routing Protocols
Location management. Mobile Switching Center Public telephone network, and Internet Mobile Switching Center Components of cellular network architecture.
1 Computer Communication & Networks Lecture 21 Network Layer: Delivery, Forwarding, Routing Waleed.
ICS 156: Networking Lab Magda El Zarki Professor, ICS UC, Irvine.
1 OSI and TCP/IP Models. 2 TCP/IP Encapsulation (Packet) (Frame)
Ασύρματες και Κινητές Επικοινωνίες Ενότητα # 10: Mobile Network Layer: Mobile IP Διδάσκων: Βασίλειος Σύρης Τμήμα: Πληροφορικής.
Routing in the Inernet Outcomes: –What are routing protocols used for Intra-ASs Routing in the Internet? –The Working Principle of RIP and OSPF –What is.
PeerNet: Pushing Peer-to-Peer Down the Stack Jakob Eriksson, Michalis Faloutsos, Srikanth Krishnamurthy University of California, Riverside.
Role of Router. The Router as a Perimeter Device  Usually the main function of a router is considered as the forwarding of packets between two network.
Ad Hoc On-Demand Distance Vector Routing (AODV) ietf
Chapter 5. An IP address is simply a series of binary bits (ones and zeros). How many binary bits are used? 32.
Mobile IP THE 12 TH MEETING. Mobile IP  Incorporation of mobile users in the network.  Cellular system (e.g., GSM) started with mobility in mind. 
Revisiting Ethernet: Plug-and-play made scalable and efficient
Packet Switching Datagram Approach Virtual Circuit Approach
Introduction to Networking
Virtual LANs.
Routing.
Mobile IP Outline Homework #4 Solutions Intro to mobile IP Operation
Mobile IP Outline Intro to mobile IP Operation Problems with mobility.
Routing.
Lecture 4a Mobile IP 1.
Mobile IP Outline Intro to mobile IP Operation Problems with mobility.
Presentation transcript:

A Tetherless Computing Architecture Darcy Kroeker S. Keshav

Background – Routing in Time-Varying Networks This network is partitioned into disconnected components Routing from A to B is impossible But… routing from A toward B is possible when components collide … even if A and B are never connected So… make sure the components collide once in a while This requires a store-and-forward delivery mechanism similar to mail and e-mail.

Where Is This Important? Mars Mars Satellite Earth Satellite Mars Base Station Earth Base Station Mars Rover

Where Is This Important? Developing Regions Challenges: Infrastructure is unreliable (eg. electricity, connectivity) Communication and access to Internet is poor in rural areas Costs must be very low to be affordable Idea: Use buses as “data mules” to ferry data between disconnected networks Data hops on the bus, hops off again closer to destination We trade communication response time for low cost, by using mechanical backhaul (bus) for remote links Key Applications E-mail with attachments Offline web browsing

DTN – Remaining Problems DTNRG goes a long way toward a solution, but from our perspective there are a few remaining problems: Node Mobility Nodes drop out and re-appear in a different place in the network! How to notify other nodes of the new location? How to re-direct any bundles already in transit to the old location? Routing DTN reference implementation includes three routing algorithms: Static: uses static (manually configured) routing tables Flood Link State We need a dynamic routing protocol that supports a high degree of node mobility. Our Tetherless Computing Architecture (TCA) addresses these problems

TCA Overview Node Types All nodes run the TCA Protocol There are three types of nodes: Mobile: a leaf node (an end-user device typically, such as a phone, laptop, or PC) Router: forwards data between nodes Gateway: a special type of Router with a permanent connection to Internet Phone (Mobile) Village Kiosk (Router) Bus (Router) Bus Terminal (Gateway)

TCA Overview Regions A collections of nodes sharing a single gateway forms a Region A Region is a disconnected network in general Region Phone (Mobile) Village Kiosk (Router) Bus (Router) Bus Terminal (Gateway)

TCA Overview A Higher-Level View : Many Regions Unlike Regions, the Internet is usually available and connected Gateways are the points at which the Regions connect to the Internet A Region is associated with the gateway that serves it TCA uses the Internet to host a Registry containing the current location (Region) of each node Region A Internet Gateway A Registry Region C Gateway C Gateway B Region B

TCA Protocol Stack The TCA Protocols deal with: Registering a mobile node in the network Routing bundles addressed to a mobile node Route discovery TCA Protocol Implementation: Mostly implemented at the Application Layer Uses the services of the DTN Bundle Layer TCA Application Layer Bundle Layer Convergence Layer DTN TCP UDP … Before discussing the protocols, some background on naming and addressing….

TCA Naming and Addressing Naming in DTN The naming scheme in DTN is borrowed from existing Internet standards Names are URIs, of the form <scheme name>:<scheme-specific part, or ssp> The <scheme name> specifies the format and meaning of the <ssp> Each “endpoint” in DTN (an application-level source or sink of bundles) has a URI “Endpoint ID” Example: dtn://blackice.uwaterloo.ca Naming in TCA TCA defines a custom scheme named “tca” TCA Endpoint ID’s are of the form: tca://<host>/<app> where <host> is a GUID (globally unique identifier) of the node (analogous to <ip address> in TCP) <app> is the identifier of an application on that node (analogous to <port> in TCP) Example: tca://blackice/app These names are just identifiers, not sufficient information to actually contact a node.

TCA Naming and Addressing Contd. Addresses In addition to its name, each node has an address at which it may be contacted This address is tied to a particular convergence layer (eg. tcp) This address is again expressed as a URI: Example: tcp://5.6.7.8:5000 A route (or a single hop thereof) can be expressed as a mapping from name to address name address For example: tca://blackice/app tcp://5.6.7.8:5000 means: to send a bundle to the endpoint named tca://blackice/app, send it using the tcp concvergence layer, to the TCP/IP address 5.6.7.8 port 5000. Unlike in TCP/IP, in TCA it is not necessary (or even useful) for addresses to be known globally. Only a node’s nearest neighbors – its direct contacts – need to know its address.

TCA Late-Bound Bundles Example: hail sends bundle to blackice bundle is forwarded up the default route to hail’s gateway hail’s gateway looks up blackice’s gateway in the Registry and send bundle blackice’s gateway forwards the bundle to blackice along known route tca://blackice > 1.2.3.4:5 Region A Internet tca://windstorm tca://gwa addr: 1.2.3.4:5 tca://blackice Registry Region C tca://gwc Tca://gwb Region B tca://hurricane tca://hail

TCA Late-Bound Bundles Contd. Details: Each node knows the address of the next hop router toward its gateway. This is its default route used for all bundles addressed to unknown endpoints. This enables routing from hail in Region C toward gateway C. Each node knows the address of the previous hop router toward any router that has previously registered with it. (registration to be discussed later). This enables routing from gateway A to blackice in region A, assuming blackice has previously registered in region A. Implementation Notes: The Registry is implemented as a Distributed Hash Table (using OpenDHT). The Registry contains the SHA1 hash of an endpoint id, not the endpoint id itself.

TCA Registration Example: blackice registers blackice sends a special registration bundle up the default route the “reverse path” is constructed along the way gateway updates the Registry with blackice’s new location if a previous registration for blackice existed, gateway initiates a change-of-address Region A tca://blackice > 1.2.3.4:5 Internet tca://windstorm tca://gwa addr: 1.2.3.4:5 tca://blackice Registry Region C tca://gwc tca://gwb Region B tca://hurricane tca://hail

TCA Registration Contd. Details: The register bundle is forwarded up the default route. Each node along the way modifies the register bundle, adding its address as last_hop Each node along the way adds the route back to the mobile to its routing table, using the last_hop address Gateway C checks the Registry to see if blackice has previously registered in a different region, deleting the previous entry if any. In either case, Gateway C adds the new Registry entry for blackice, specifying its own address as blackice’s gateway. If blackice had previously registered in another region, Region B, Gateway C sends a “change of address” bundle (COA) to Gateway B. Gateway B forwards the COA toward blackice’s previous location using the reverse path. At each hop along the reverse path, the node destroys its route table entry for blackice after forwarding the COA. Implementation Notes: No race condition! If a bundle is in-flight to a route undergoing destruction, it becomes a regular unbound bundle at some point. Thereafter, the right thing happens. Registration bundles are sent to the special endpoint id tca://registry

TCA Route Discovery Motive Most infrastructure nodes (“permanent” Routers and Gateways) will have their route tables configured manually on setup. Mobiles (and perhaps some Routers) need to choose routes dynamically, based on their current location Details Similar to DHCP Node A detects a new link. eg. potential neighbour node B at tcp://5.6.7.8:5000 Node A probes the DTN port on this link by sending an ASK bundle If B is a TCA router, it responds with an ADV bundle ADV contains B’s eid, and the eid of its reachable gateway In future, ADV could contain additional info (link schedule, capacity, etc.) Node A can now decide whether to add a permanent route to B … and if so, whether to make this route its default route.

TCA Protocol Implementation TCA Control logic is implemented outside DTN for greater separation of concerns TCA Controller runs as an ordinary DTN client application All Control messages are sent as bundles through the ordinary DTN API Inter-Node Control bundles are sent to the eid of the destination Controller Inter-Layer Control bundles are sent to a special eid tca://localhost/bundlelayer TCA Controller TCA Controller TCA Controller TCA register(eid) Bundle Layer Bundle Layer Bundle Layer Convergence Layer Convergence Layer Convergence Layer DTN TCP … TCP … TCP … register(eid) register(eid) mobile router gateway

TCA Control Bundles Cross-Calls (Inter-Node) Up-Calls (Inter-Layer) src = tca://<host_eid>/admin dest = tca://<host_eid>/admin Up-Calls (Inter-Layer) src = tca://localhost/bundlelayer dest = tca://<host_eid>/admin register(mobile_eid, link_spec) coa(mobile_eid, gateway_link_spec) ask(link_spec) adv(link_spec, adv_str) ask_sent adv_sent coa_sent contact_down contact_up link_available link_unavailable reg_received(mobile_eid, link_spec) routes(route_list) unb_received(eid) Down-Calls (Inter-Layer) src = tca://<host_eid>/admin dest = tca://localhost/bundlelayer add_route(pattern, link_spec) del_routes(pattern) get_routes(pattern) Complete Control API documentation: http://www.mindstream.watsmore.net/wiki/index.php?title=TCA_Source

ASK Protocol – Sequence Diagram

REGISTER Protocol – Sequence Diagram

TCA Design Controversy Layering TCA Control over Bundle Layer Q: Is it the “right” separation of concerns? Q: What functionality belongs in each layer? Q: One process or two? Q: Even if “right”, is it worth the trouble? A: No clear answer. Similar to question of which parts of a protocol stack belong in kernel, and which in user-level code. Inter-Layer Communication as Bundles Q: Is this a good idea? A: Similar to the question of control-over-data channel versus separate control channel. We have opted for control-over-data channel.

Future Work We have a concrete application driving all future work: Government services offered through kiosks in rural India Plan to use a bus and kiosk network, running TCA protocols Topics of Current Research Mutual Authentication (Bus-Kiosk, Kiosk-User) More advanced routing protocols using multiple routes: Multiple buses with different schedules, destinations, gateways Flow control – utilizing finite bus capacity: Maximize fairness Maximize throughput Mixed-media communications Cheap, high-capacity bus (but slow!) Expensive, low-capacity cell network (but always available!) OCMP uses policy definitions to send data using most suitable medium

Conclusion 1. TCA solves two of the problems with DTN: Node mobility Routing in a changing network 2. The Control API provides an extension point for future work 3. We hope our approach has applications of social importance in developing regions