1.75k likes | 2.09k Views
PDCS 2000 Tutorial Topics in Mobile Computing. Golden G. Richard III, Ph.D. University of New Orleans golden@cs.uno.edu http://www.cs.uno.edu/~golden. PDCS 2000 Tutorial Topics in Mobile Computing.
E N D
PDCS 2000 TutorialTopics in Mobile Computing Golden G. Richard III, Ph.D. University of New Orleans golden@cs.uno.edu http://www.cs.uno.edu/~golden
PDCS 2000 TutorialTopics in Mobile Computing All tutorial materials © 1999/2000 by Golden G. Richard III, Ph.D. Permission of the author is required to use these materials outside a university classroom setting.
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Tutorial Overview • Introduction to Mobile Computing • Promises • Toys • Challenges, Research Areas • Mobility Support: Mobile IP • Getting Served: Service Discovery Technologies • Resource Constraints: Application Adaptation • Mobile Data Access: Broadcast Disks • References
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Nomadic, Mobile, Ubiquitous • Terminology not always consistent • Nomadic computing: “portable”; no mobility while connected • Mobile computing: “on-the-go”, e.g., while sitting on a train; possibility of network connections remaining open • Ubiquitous computing: computing everywhere
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. What does Mobile Computing Offer? • Mobile computing provides: • A choice of work environments • In your garden (but watch out for birds!) • Coffee shops • In the field • Remote access to important data • Client’s office (no: "can I borrow your computer") • Meetings (e.g., quick access to statistics, reports) • In the grocery store!
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Offerings (2) • Provides… • Electronic note-taking • While touring a new city • Where am I? What is this building? How do I get to Lane Avenue? I’m hungry! • Diversion • E-books: stored, downloadable • Games: e.g., chess, solitaire, poker • Ubiquitous communication • email, Web • voice • video
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. A One Slide Case Study
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. The Toys • A variety of computing and communication devices for mobile users • Rings • Watch-sized devices • PDA (Personal Digital Assistants) • Multifunction cellular phones • Palm-sized computers • Wearable computers • Notebook computers more computing power
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Portable Information Appliances (Some images courtesy of Sumi Helal @ The University of Florida) Car Stereo-Phone
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Characteristics of Mobile Devices • Resource-poor compared to their desktop counterparts • Limited processing power • Limited battery life • Limited network connectivity • Poor availability…they sleep a lot! • Poor displays (except notebooks) • Tedious data input (except notebooks)
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Characteristics (2) • Resource poor... • Not very expandable • Condolences to the landfills... • Peripherals traded for mobility, so... • One device typically doesn’t do it all… • Poor compatibility between devices • Functionality is often duplicated • “work belt” syndrome for the mobile computing nerd… • …or suspenders! • Must rely on neighboring devices for services
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. PDA Case Study: Palm VII • Interfaces: serial, IR, 8Kb/sec wireless • Protocols: HTTP transactions only, through Palm.net proxy • Processor: 16MHz Motorola Fireball (~ 68000 + video controller, etc.) • Memory: 2MB / 8MB • No secondary storage • Software development: C, Java, various scripting • Dimensions: 5.25” X 3.25” X 0.75”, 6.7oz • Price: $449 + wireless service agreement • (Palm models w/o wireless are substantially cheaper)
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Characteristics (3) • Notebook computers fare better in the comparison with desktops • Reasonable screen size • Decent keyboards • Mouse substitutes • Ample memory • Sometimes too cumbersome • Still need access to services • FAX • Printing • Storage • Network connectivity
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Mobile Computing Challenges • Mobile computing isn’t a simple extension of distributed computing… • Instead, “traditional” distributed computing is a subset of mobile computing • Must rethink many issues, e.g, “disconnection == crashed” • Most challenges in mobile computing directly related to the resource-poor nature of the devices… • Hostile environment • Power-poor • Poor (or no) network bandwidth • Higher error rates • Variable latency • Frequent disconnection • Mobility Evil for traditional (wired) network protocols
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Some Research Areas in Mobile Computing • Networking • Ad-hoc networking • Location-dependent groups / Routing • Hacking popular networking protocols (e.g., TCP) to better support wireless • Mobility schemes (e.g., Mobile-IP, RAT, …) • Intelligent interface handoff • Mobile databases • New transaction models, hoarding • Mobile filesystems • Hoarding, disconnected operation, relaxed consistency
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Research Areas (2) • Application development/support • Opportunistic and decoupled • Application adaptation schemes • Toolkits for mobile application development • Mobile agent systems • Mobile access to the web • Novel data dissemination schemes • Broadcast disks
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Research Areas (3) • Resource management • Power conservation schemes • Integration of power management with network protocols, applications • Service discovery/autoconfiguration • “zero-configuration” peripherals • Rely on surrounding infrastructure for services
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Why Mobile IP? • Need an IP-based protocol which allows network connectivity across host movement • Protocol to enable mobility must not require global changes to deployed router software, etc. • Must be compatible with large installed base of IPv4 networks/hosts • Confine changes to mobile hosts and a few support hosts which enable mobility
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Mobile IP Discussion Overview • Will cover: • Why IP routing breaks under mobility • Mobile IPv4 basics • Some Mobile IP security issues • Won't cover: • Details of IP routing • Low-level protocol details (message formats, headers, etc.) • Multicast/broadcast issues in Mobile-IP • IPv6 in detail • All of the Mobile IP-related security issues • TCP over wireless (lots of activity in this area) • Pointers in the references section to these topics
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Internet Protocol (IP) • Network layer, "best-effort" packet delivery • Supports UDP and TCP (transport layer protocols) • IP host addresses consist of two parts • network id + host id • By design, IP host address is tied to home network address • Hosts are assumed to be wired, immobile • Intermediate routers look only at network address • Mobility without a change in IP address results inun-route-able packets
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. IP Routing Breaks Under Mobility .50 .52 .53 router 137.30.2.* .200 router 139.20.3.* Why this hierarchical approach? Answer: Scalability! Millions of network addresses, billions of hosts!
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Mobile IP: Basics • Proposed by IETF (Internet Engineering Task Force) • Standards development body for the Internet • Mobile IP allows a mobile host to move about without changing its permanentIP address • Each mobile host has a home agenton its home network • Mobile host establishes a care-of address when it's away from home
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Mobile IP: Basics (2) • Correspondent hostis a host that wants to send packets to the mobile host • Correspondent host sends packets to the mobile host’s IP permanent address • These packets are routed to the mobile host’s home network • Home agent forwards IP packets for mobile host to current care-of address • Mobile host sends packets directly to correspondent, using permanent home IP as source IP
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Mobile IP: Basics (3) correspondent host home agent
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Mobile IP: Care-of Addresses • Whenever a mobile host connects to a remote network, two choices: • care-of can be the address of a foreign agenton the remote network • foreign agent delivers packets forwarded from home agent to mobile host • care-of can be a temporary, foreign IP address obtained through, e.g., DHCP • home agent tunnels packets directly to the temporary IP address • Regardless, care-of address must be registered with home agent
IP header IP header data data PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. IP-in-IP Tunneling • Packet to be forwarded is encapsulated in a new IP packet • In the new header: • Destination = care-of-address • Source = address of home agent • Protocol number = IP-in-IP IP header
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. At the Other End... • Depending on type of care-of address: • Foreign agent or • Mobile host • … strips outer IP header of tunneled packet • Mobile host consumes yummy insides! • IPv4: Should try to use foreign agent • Reduces overhead, especially if last hop is a slow link (e.g., wireless) • Reduces IP address consumption
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Routing Inefficiency Mobile host and correspondent host might even be on the same network!! correspondent host home agent
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Route Optimizations • Possible Solution: • Home agent sends current care-of address to correspondent host • Correspondent host caches care-of address • Future packets tunneled directly to care-of address
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Route Optimizations (2) • But! • Cache consistency problem... • Cached care-of address becomes stale when the mobile host moves • Potential security issues with providing care-of address to correspondent
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Possible Route Optimization
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. The Devil is in the Details... • How does the mobile host get a remote IP? • Listen for router advertisements • Use DHCP • (Manual assignment) • How can a mobile host tell where it is? • Am I at home? • Am I visiting a foreign network? • Have I moved? • Again, listen for router advertisements • Put network interface into promiscuous mode and watch traffic • Try pinging default router of home network • …
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Devil (2) • Redundancy: What if the home agent doesn't answer a registration request? • Registration request to broadcast address • Rejection carries new home agent ID • "Ingress" filtering • Routers which see packets coming from a direction from which they would not have routed the source address are dropped • See RFC’s 2267, 2344 for lots of details • In brief…
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Packets Dropped: "Ingress" Filtering Correspondent, home agent on same network. Packet from mobile host is deemed "topologically incorrect" correspondent host home agent
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. "Ingress" Filtering Fix: More Tunneling correspondent host home agent
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Another Devil: Security Issues • We'll look at one of many security issues: • Bogus registration (denial of service) attacks • Malicious host sends fake registration messages to home agent "on behalf" of the mobile host • Packets could be forwarded to malicious host or to the bit bucket
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Bogus Registration Attack ???? Send packets to me!! Hehehehe!! registration request Madame Evil home agent
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Authentication • To fix this problem, authenticate registration attempts • Use private key encryption to generate a message digest • e.g., MD5: see RFC 1321 • Home agent applies private key to message to see if message digest is identical
… care-of address… digest ??? PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Authentication (2) private key home agent
digest PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Ooops. Replay Attacks! home agent "…mooohahahahahahahaha!!!!!"
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Avoiding Replay Attacks • Avoid replay attacks by making registration requests unique • Add time or a pseudo-random number to registration request/reply • If time or random number is out of sync, provide info to resync in rejection • Insufficient information to help malicious host • Counter instead of time/random number not sufficient • Would allow storing a ‘set’ of registration requests
… care-of address + random number... digest ??? PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Random Number Avoids Replay private key home agent
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Mobile IP: Conclusions... • Great potential for mobile application deployment using Mobile IP • Minimizes impact on existing Internet infrastructure • Security issues being looked at • (Complicated) firewall solutions proposed • Several working implementations (e.g., Monarch project at CMU) • Some things still need work: e.g., integration of Mobile IP and 802.11 wireless LANs • Supports a “nomadic” view—combined with MAC layer handoff (e.g., 802.11), part of a total mobility solution
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Why? • Automatic configuration of new devices • Highly dynamic system configurations • Cooperation between resource poor devices • Solves peripheral trading problem • Printing, FAX, storage, long-range networking services can be obtained from a nearby server • Reduces duplication of functionality… • …eliminates "toolbelt" syndrome • Affects both mobile and wired systems • A few scenarios will help…
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Service Discovery: Scenarios
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Dynamic Discovery of Devices Anyone need a printer? "Dear Mom...I'm sitting..."
PDCS 2000 Mobile Computing Tutorial -- Golden G. Richard III, Ph.D. Dynamic System Configuration