Notes
Outline
Course Overview
Introduction and History
Data in Wireless Cellular Systems
Data in Wireless Local Area Networks
Internet Protocols
Routing and Ad-Hoc Networks
TCP over Wireless Link
Services and Service Discovery
System Support for Mobile Applications
What is TCP/IP ?
TCP/IP is a collection of protocols that facilitates communications among servers and terminals that are hooked to different networks
What is TCP/IP ? (continue)
The TCP and IP are only two of several protocols, but the name stuck !!
They are the most important ones
The Big Picture of TCP/IP
IETF: Internet Engineering Task Force
Who develops protocols such as TCP/IP, Mobile IP, ...?
“standardized” by action of IETF
IETF has over 70 working groups considering a broad range of protocol proposals for the Internet, tries to identify protocol needs in advance (?)
IETF works with Internet Assigned Number Authority (IANA) to keep track of protocol number assignments and address allocations as required by various Internet protocols
each protocol specified by a “Request for Comments”
working groups develop new RFCs by publishing Internet Drafts, building prototypes, and encouraging public debate
operational model: rough consensus and running code
Protocol Layers
Layers are logical steps with well-defined purposes: OSI reference model
We are mainly interested in lower 4 layers: (1) Physical, (2) Link, (3) Network, (4) Transport
The Network Layer
The network layer is the domain of the Internet Protocol (IP)
The IP guides user's datagrams across several networks
The IP is "connectionless".  The data is guided by addresses rather than fixed pre-determine connections
Data Fragmentation
Overview of IP Routing
The lines in the figure represent separate networks.
The circles represent IP routing points.
The Hosts are connected to their own LAN's or Internet Service Providers (ISP)
Structure of the IP Packet
The IP Header
The Address Fields
The address field of IPv4 is 32-bit long
It consists of three parts:
<class> <network ID> <host ID>
IP Addresses
IP Addresses and Physical Addresses
Map IP addresses into physical addresses
destination host
next hop router
Techniques
encode physical address in host part of IP address
table-based
ARP
table of IP to physical address bindings
broadcast request if IP address not in table
target machine responds with its physical address
table entries are discarded if not refreshed
ARP: Address Translation
Notes on ARP table management:
table entries time out in about 10 minutes
update table with source when you are the target (reverse learning)
update table entry timeout if table already has an entry
do not refresh table entries upon reference
ICMP
There are number of tasks that IP does not perform.  These tasks are done by a helper protocol called: Internet Control Message Protocol (ICMP)
The primary task of ICMP is to report routing errors and anomalies back to the source
ICMP also tests the reachability of a node across the internet
It also provide ways to increase routing efficiency
It also informs the source that a given datagram has exceeded its allocated time
IPv6
Extended addressing capabilities: 128-bit address field and other improvements.
Simplified header format: Some fields of IPv4 are dropped or turned into options
Improved support for extensions and options: flexibility and ability to introduce new options
Flow labeling
Authentication and privacy
Why Worry About Mobility?
mobile computing is on the rise
wireless communications technologies widely available
IEEE 802.11 finally standardized
MAC layer protocol with lots of features: power saving, ad-hoc networking support, maybe even isochronous communication
cellular telephony everywhere
AMPS and CDPD
GSM
wireless indoor equipment (IR and RF) such as Lucent (formerly AT & T) WaveLAN or Proxim
people expect the same from both desktop and laptop
high-resolution color display
200 MHz processor
multi-gigabyte disk
with a docking station, the laptop is the desktop
Why Worry about Mobility?
wireless communication and powerful portable devices lead to new computing paradigms:
mobile computing
ubiquitous computing
nomadic computing
at the same time, the Internet and in particular the Web, are growing exponentially
timely news (and lots of it), user-friendly(?), lots of pretty pictures (70%-80% of Internet traffic is WWW traffic)
the “Information Superhighway” is where people want to be
certainly strong support by national governments to build and maintain this infrastructure
mobile computing seen as “on-ramp” to this infrastructure
Where to Solve Mobility Problem
What model of mobility
“nomadic clients”: DHCP or similar solutions enough
Truly mobile: need to keep connections alive WHILE moving
Where in the protocol stack
IP is common glue, solve it once and for all at IP layer
BUT: may be in contradiction to end-to-end argument
Other solutions/proposals exits, such as TCP connection migration
DHCP: Dynamic Host Configuration Protocol
automated allocation, configuration and management of IP addresses and TCP/IP protocol stack parameters:
automated allocation and recovery of IP addresses
automated configuration of all TCP/IP stack parameters, as described in the Host Requirements documents
automated configuration of other host parameters such as application layer services
inter-server communication for coordination of multiple servers
mechanisms for the authentication of clients and servers
A specification for IPv4 has been entered into the IETF standards track (RFC 2131)
currently developing a specification for DHCP for IPv6 (DHCPv6), which is available as an Internet Draft.
DHCP Architecture
DHCP: Multiple Servers
DHCP Messages
DHCP: Initialization of Client
DHCP Address Assignment
If an address is available, the new address SHOULD be chosen as follows:
The client's current address as recorded in the client's current binding, ELSE
The client's previous address as recorded in the client's (now expired or released) binding, if that address is in the server's pool of available addresses and not already allocated, ELSE
The address requested in the 'Requested IP Address' option, if that address is valid and not already allocated, ELSE
A new address allocated from the server's pool of available addresses; the address is selected based on the subnet from which the message was received (if 'giaddr' is 0) or on the address of the relay agent that forwarded the message ('giaddr' when not 0).
DHCP Lease Period
The server must choose an expiration time for the lease, as follows:
IF the client has not requested a specific lease in the DHCPDISCOVER message and the client already has an assigned network address, the server returns the lease expiration time previously assigned to that address (note that the client must explicitly request a specific lease to extend the expiration time on a previously assigned address), ELSE
IF the client has not requested a specific lease in the DHCPDISCOVER message and the client does not have an assigned network address, the server assigns a locally configured default lease time, ELSE
IF the client has requested a specific lease in the DHCPDISCOVER message (regardless of whether the client has an assigned network address), the server may choose either to return the requested lease (if the lease is acceptable to local policy) or select another lease.
DHCP
leases expire, so have to renew configuration from time to time
renewing similar to initialization, but no discovery step needed
renewal with either server that issued configuration in the first place, or all servers
in latter case, pick configuration that is ack-ed first, ignore later DHCPACKs
when done, release configuration
DHCP: Portability
DHCP: Portability
Initiate connectivity to Internet by DHCP request
Once initial IP address has been obtained, start all servers/demons, etc.
Suppose host detects movement: re-issue new DHCP request to validate current IP address
if okay, proceed
if new address needed, we have a problem
new IP address will not work with existing connections
shut down and reboot machine
since no other node knows new IP address, MH has to initiate all requests
alternative: allow DNS updates, which takes time and introduces new security problem
Mobile IP
Mobile IP: support true mobility, transparent to higher protocol layers
addressing mobility at network layer has following advantages:
wireless network access
location-independent access to computing resources
continuous connectivity (even when physical media changes)
software reusability, application transparency
economy and ease of operation
Mobile IP can make it seem that a (possibly virtual) home network extends over the entire Internet, allowing for seamless roaming.
Routing in the Internet (Review)
datagrams in Internet flow from on link to another via routers
computers send and receive datagrams based on their IP (Internet Protocol) address
Domain Name Service (DNS) translates machine names into IP address
Internet routing is dynamic, unpredictable, subject to congestion, and performed on a best-effort basis. IP does not guarantee that datagrams will be delivered (current loss rate 2%-5%, expected to grow due to congestion)
Routing in the Internet
TCP connections are defined by source and destination IP addresses and port numbers:
Connection := <129.97.40.25, port#, 130.83.27.4, port#>
mobile computers violate the assumption that IP addresses define the topological relationship
change host address: connection breaks
do not change host address: routing fails
Characteristics of Desired Solutions
Internet Routing revisited
Mobile IP Overview
Mobile IP basically transforms the mobility problem to a routing problem, using two IP addresses
static IP address: connection establishment, packet delivery
care-of IP address: changes with host mobility
home agent is the router for the home network
foreign agent, located within the range of a mobile computer, delivers packets to it after receiving them from the home agent
no special routing is needed to send packets from a mobile computer to a non-mobile computer
routing from stationary computer to mobile computer is not necessarily optimal (triangular routing), proposals exist for route optimization
Mobile IP Overview
Mobile IP Components
standardized by RFC 2002: “IP Mobility Support”
service advertisements: let mobiles know of existence of mobility agent (home agent or foreign agent)
registration: mobile computer “camps on” an IP subnet and informs its home agent about its current location
tunneling: process of forwarding IP packets from home agent to foreign agent, for delivery to the mobile
motion detection: mobile detects that it moved on to a new cell/IP subnet
route optimization: avoid problem of triangle routing, not part of standard but under discussion
Mobile IP: Service Advertisement
agent advertisements transmitted every second by mobility agents (extension of ICMP router advertisement), serves as a “beacon” for cell selection
alternatively, mobile can issue agent solicitation (extension of ICMP router solicitation) when no advertisements received
foreign agents can:
be too busy for more clients (but still send out advertisements)
describe what encapsulation they offer
require registration via an advertised care-of address (even if mobile has co-located care-of address)
service advertisements not authenticated
Mobile IP: Registration
Mobile IP: Encapsulation
Mobile IP: Motion Detection
detect when MH moved to new IP subnet, triggers new registration
two primary mechanisms, others MAY be used:
algorithm 1 based on lifetime in agent advertisement:
MH records lifetime, updates it with every advertisement
upon expiration, assume that contact with agent is lost
register with an agent for which advertisement was received and whose lifetime is not yet expired
algorithm 2 uses network prefixes
compare newly received agent advertisements with network prefix of currently used care-of address
if prefixes differ, assume that MH moved
upon expiration of current registration, MH MAY choose to register with new FA
Mobile IP: Home Networks
Mobile IP and ARP
Mobile IP and ARP: Gratuitous ARP
Mobile IP and ARP: Proxy ARP
Mobile IP and ARP: Gratuitous ARP
Mobile IP: Route Optimization
triangle routing is best you can do with no modifications to fixed hosts
route optimization under discussion, not part of mobile IP standard
current solution allows correspondent host to know care-of address of the mobile node (get binding update)
bindings kept in location cache, part of routing table
again, authentication is necessary to prevent traffic hijacking
newer version of proposal also supports “soft handover” between two FAs
Mobile IP: Route Optimization
four UDP message types:
binding warning
binding request
binding update
binding acknowledge
when mobility agent sees that a correspondent host has a stale location cache, it issues a binding warning
message rate is limited, preferably with exponential backoff
correspondent makes binding request to elicit binding update (for example, as result of binding warning)
binding update may be acknowledged with a binding acknowledge
Mobile IP: Miscellaneous Topics
support for smooth handoffs
support for multiple home agents
nonces vs. timestamps in authentication
timestamps require clock synchronization, open to attack
TCP congestion control vs. error-prone media
discovering home agent addresses
simultaneous registrations
replicate each IP packet, send over different wireless links for improved reliability
specify broadcast and multicast preferences
organize foreign agents hierarchically to limit reporting requirements back to HA
use ideas from location management in cellular systems?
DHCP: Mobility
DHCP: Mobility
Use dynamic IP address as co-located care-of-address
no need to reboot machine or to restart demons
MH known under home IP address
others can initiate connections to it
no need to allow updates to DNS servers
obtain IP address from DHCP server prior to registration request
should set D bit in registration request, especially if MH needs to get broadcasts or multicasts sent by home agent
required to register care-of-address by way of a foreign agent if agent advertisements with R bit set are being received from local foreign agents
DHCP and Mobile IP
Two address expirations
DHCP lease (IP addresses are leased for a limited time, need to be renewed periodically)
Home Agent binding will expire
Ideally: make DHCP lease and binding lifetime same (usually means that DHCP lease will be shortened, since leases are usually rather long-lived for desktops and other stationary devices)
Dual-mode operation: FA or DHCP?
Less address maintenance is required when using FA care-of-address (no DHCP lease renewal)
FA may be equipped to handle decapsulation efficiently
FAs may cooperate to provide smooth handoffs
packets for MH decapsulated before wireless link, reducing bandwidth
DHCP Mobile Home Address Option
Problem: completely auto-configure a MH, even with information about home address/home agents
existing DHCP options do not allow MH to specify that they request an appropriate home address
new option (68): DHCP server returns home address plus zero or more home agent addresses
as part of DISCOVER and REQUEST message, MH requests return of option 68, use information in reply to register its care-of-address (obtained by whatever means) for its (new) home address with one home agent (maybe returned as part of reply)
Mobile IP: Future Work
Is location transparency really wanted/needed?
Is seamless connectivity really wanted/needed?
As cells shrink and bandwidth increases:
reconfigurations have to be automatic
reduce minimal time between registrations, minimal time between successive solicitations for FA service
make better decisions about cell changes to avoid unnecessary packet losses
How does MobileIP interact with QoS reservation protocols such as RSVP
home IP address will not always be important/necessary (POP, anonymous FTP)
if home address is NOT important, use care-of-address to avoid problems associated with use of home address
co-existence MobileIP and AdHoc Networks?