Computer Networks - Advanced Internetworking
Computer Networks - Advanced Internetworking
Networks
ECE 5713
Advanced Internetworking
Global Internetworking, Multicast and MPLS
2
Advanced Internetworking
Outline
Global Internetworking
Multicast Routing
Multi-protocol Label Switching
Routing among Mobile Devices
3
Where we are - What we understand
• Concepts of networking and network programming
– Elements of networks: nodes and links
– Building a packet abstraction on a link
• Issues related to bits/frames sent on a single link
– How to detect transmission errors in a frame after
encoding and framing it
– How to simulate a reliable channel (sliding window)
– How to arbitrate access to shared media in any network
• Design issues of direct link networks
– Functionality of network adaptors
4
Where we are – What we understand
• How switches may provide indirect connectivity
– Different ways to move through a network (forwarding)
– Bridge approach to extending LAN concept
– Example of a real virtual circuit network (ATM)
– How switches are built and contention within switches
• How different networks work together
– Common connecting protocol (IP) and its service model
– Routing protocols in simple networks
• Next: large networks working together
5
Internetworking
• Reading: Peterson and Davie, Chapter 4
• Global internets (scale)
• Dealing with global scale
– Virtual geography and addresses
– Hierarchical routing
– Future internetworking: IPv6
• Multicast traffic
• MPLS
• Routing among mobile devices
6
How Should Hierarchy be Defined ?
• Hierarchy reduces information requirements for
forwarding
7
Internetworking
• Main problems addressed by internetworking
– Heterogeneity
– Scale
• Bridges scale to level of medium organization
• IP addresses most end-to-end heterogeneity issues
• Today: issues of global scale
• Next couple of lectures: IPv6 , IP multicast, MPLS
8
Global Internets
• Evolution of Internet structure
• Virtual geographies: networks, domains,
and translations
• Problems of scale
• IP address hierarchy evolution
• Notion of autonomous systems (AS’s)
• Common intradomain routing protocols
• Standard interdomain routing protocol
9
Diameter of the Internet
• Connect all nodes of a network in a big ring
– Network diameter will be half the ring circumference
• Adding more links bring down network diameter
– Diameter can be quarter of the ring with one link …
How many
links should
be added to
bring the
diameter
below some
threshold ?
10
Internet Structure in Recent Past 1990
Stanford NSFNET backbone
ISU
BARRNET MidNet
regional Westnet
regional
… regional
Berkeley
PARC UNL KU
NCAR UNM
UA
11
Internet Structure Today
• Multiple backbone service providers
• Arbitrary graph structure
• Different QoS in different backbones (commercial!)
Large corporation
“Consumer” ISP
Peering
point
Backbone service provider Peering
point
“ Consumer” ISP
Small Small
corporation corporation
12
Virtual Geographies
• Internet domain names (understood by people)
• IP network numbers (understood by routers)
• Internet domain name hierarchy
– ASCII strings separated by periods; typical formats are:
• host.domain.domain_type
– xyz.carepvtltd.com
• host.subdomain.domain.domain_type
– abc.cs.berkeley.edu
• host.domain.domain_type.country
– www.case.edu.pk
13
Virtual Geographies and IP Address
• Routers use IP network numbers
IP
address Class Network Host
• Original intention:
– One network number per physical network
• Closer to real geography (than domain names)
• Some jumps, e.g.,
– Divisions of one company
– Organizations with network research testbeds
14
Virtual Geographies and DNS
• Translation from domain name to IP address
– Domain to IP: domain name service (DNS)
– IP to domain: relies on host
• Not secure
• Use reverse lookup - domain to IP - for security
• DNS is a hierarchical, (mostly) distributed
application (more detail later)
15
Routing in
Large Scale Networks
16
Route Propagation
• Know a smarter router
– Hosts know local router
– Local routers know site routers
– Site routers know core router
– Core routers know everything
• Autonomous System (AS)
– Corresponds to an administrative domain
– Examples: university, company, backbone network
– Assign each AS a 16-bit number
• Two-level route propagation hierarchy
– Interior gateway protocol (each AS selects its own)
– Exterior gateway protocol (Internet-wide standard)
17
Notion of Autonomous Systems (AS)
• AS’s represent a third hierarchy
– Define routing domains
– Based on notion of autonomy of control
• Intradomain routing (within an AS)
– Performed using domain-specific algorithm
– Selected by domain administrators (autonomously)
– Allows heterogeneous interior gateway protocols
• Interdomain routing (between AS’s)
– Performed using standard global algorithm
– Homogeneous exterior gateway protocol
18
Intra-domain (Interior GW) Protocols
• Routing Information Protocol (RIP)
– From the early Internet, developed for XNS
– Part of Berkeley Software Distribution (BSD) Unix
– Distance-vector algorithm
– Based on hop count (infinity set to 16 hops)
• Open Shortest Path First (OSPF)
– Internet standard (RFC 2328), “open” means public
– Based on link-state algorithm
– Authenticates messages
– Load balances across links
19
Inter-domain (Exterior GW) Protocols
• Very complex and difficult
– Different metrics, security, large scale: 140K prefixes!
• Focuses on reachability rather than optimality
– Support for very flexible policies
• Exterior Gateway Protocol (EGP)
– Defined on Internet with tree structure
– Embodied (and enforced) tree structure
– Had to be replaced eventually
– Used distance-vector updates
– Replaced by Border Gateway Protocol (BGP)
20
EGP Messages
• Neighbor acquisition
– One router requests that another be its peer
– Peers exchange reachability information
• Neighbor reachability
– One router periodically tests if the another is
still reachable
– Exchange HELLO/ACK messages
– Uses a k-out-of-n rule
• Routing updates
– Peers periodically exchange their routing
tables (distance-vector)
21
BGP-4: Border Gateway Protocol
• Internet is an arbitrarily interconnected set of AS’s
• Two types of traffic
– Local: begins or ends within an AS
– Transit: moves through an AS
• Three types of AS’s
– Stub: one single connection to one other AS; carries
local traffic only
– Multihomed: connections to multiple other AS’s, but
refuses to carry transit traffic
– Transit: connections to multiple other AS’s and
designed to carry both transit and local traffic
22
BGP-4: Borger Gateway Protocol
• Each AS has:
– One or more border gateways (routers) to handle
inter-AS traffic
– One or more BGP speakers that participate in routing
protocol: establish BGP sessions to exchange messages
• BGP speaker advertises:
– Names of networks within the AS
– Names of other reachable networks through the AS
(transit AS only)
– Full path information (intra-domain protocols use
heterogeneous metrics); path-vector routing
– Withdrawn routes/negative advertisements (cancel
previously advertised route)
23
BGP Path-Vector Routing Example
• AS4 advertises 128.96 and 192.4.153 as local networks
• Speaker for AS2 advertises reachability to these networks
– Network 128.96 and 192.4.153 can be reached via AS4, and
network 192.4.32 and 192.4.3 via AS5
Customer P 128.96
(AS 4) 192.4.153
Regional provider A
(AS 2)
Customer Q 192.4.32
(AS 5) 192.4.3
Backbone network
(AS 1)
Customer R 192.12.69
(AS 6)
Regional provider B
(AS 3)
Customer S 192.4.54
(AS 7) 192.4.23
24
BGP-4 - Details
• Full path in BGP messages to avoid loops
– Best route according to local policies is advertised
– No obligation to advertise route to known destinations
• 16 bit AS numbers are uniquely assigned
– Stub ASs do not need a unique AS number
• BGP-4 designed to support classless addresses
– Update messages contain prefix and its length (10.1/16)
• Update messages are reliably sent using TCP
– Occasional “keepalive” messages if nothing changes
25
Building Scalable Networks …
• Subdivided the routing problem into
manageable parts
– New level of hierarchy is introduced
• Complexity of interdomain routing:
– Order of number of ASs
• Complexity of interdomain routing:
– Ooder of networks in an AS
26
Integrating Interdomain and
Intradomain Routing
• How routers in a domain get routing information ?
• In a stub AS with single border router
– Inject a default route in intradomain routing protocol
• In a domain with multiple border routers (any AS)
– Border routers inject specific routes learned from
outside, with some cost
• In backbone networks, too costly to inject too
many outside routes in intradomain protocol
– Use Interior BGP (IBGP) to redistribute outside routes
27
Internetworking
• Basics of internetworking (heterogeneity)
– IP protocol, address resolution, control messages, …
• Routing
• Global internets (scale)
– Virtual geography and addresses
– Hierarchical routing
• Future internetworking: IPv6
• Multicast traffic
• MPLS
28
IPv6 - History
• Next-generation IP, previously denoted IPng
• Intended to extend address space/routing limitations
– Requires header change: new protocol for all nodes!
– Try to include everything new with one change
• IETF (Internet Engg Task Force) solicited white papers
• Many suggestions, merged in time to several options
• IETF selected Simple Internet Protocol Plus (SIPP)
with some modifications, dubbed it version 6
29
IPv6 - History
• Address space pressure reduced with NAT technique
– Few public addresses with Network Address Translation
– Driving force reduces and so the rapid transition!
– Will IPv6 succeed in completely replacing IPv4 ? ? ?
Local network
Internet
with many hosts
NAT Box
30
IPv6 Wish List / Planned Support
• 128-bit addresses
• Multicast traffic
• Mobility
• Real-time traffic/quality of service guarantees
• Authentication and security
• Autoconfiguration: determining local IP address
• End-to-end fragmentation
• Protocol extensions (flexible protocol)
• Smooth transition spread over time is critical
– Islands of v6 and then v4; traffic is tunneled in Internet
31
IPv6 Addresses
• Classless addressing/routing (similar to CIDR)
• Address notation
– String of eight 16-bit hex values separated by colons
e.g., 5CFA:0002:0000:0000:CF07:1234:5678:FFCD
– Only one set of contiguous zeroes can be elided, e.g.,
5CFA:0002::CF07:1234:5678:FFCD
• Address assignment
– Provider-based
– Geographic
33
IPv4 Packet Format Review
0 4 8 16 19 31
Version HLen TOS Length
DestinationAddr
• 20-byte minimum
• Mandatory fields not always used (e.g.,
fragmentation)
• Options are unordered list of (name, value) pairs
34
IPv6 Packet Format
0 4 8 16 24 31
version priority flow label
payload length next header hop limit
source address word 1
source address word 2
source address word 3
source address word 4
destination address word 1
destination address word 2
destination address word 3
destination address word 4
35
IPv6 Packet Format
0 4 8 16 24 31
version priority flow label
payload length next header hop limit
source address (4 words)
destination address (4 words)
option (variable number, usually fixed length)
• 40-byte minimum
• Mandatory fields (probably) always used
• Strict order on options reduces processing time
(no need to parse irrelevant options)
36
IPv6 Packet Format
• Priority and flow label
– Support service guarantees
– Allow “fair” bandwidth allocation
• Payload length (header not included, unlike IPv4)
• Next header
– Combines options and protocol
– Linked list of options
– Ends with higher-level protocol header (e.g., TCP)
• Hop limit is TTL field renamed to match usage
37
IPv6 Extension Headers
• Extension headers (options) appear in order
41
IPv6 Extension Headers
• Security without bothering the routers
• Authentication extension
– Designed to be very flexible
– Includes Security Parameters Index (SPI) and
Authentication data at the end
• Encryption extension
– Called Encapsulation Security Payload (ESP)
– Includes an SPI
– All headers and data after ESP are encrypted
42
IPv6 Design Controversies
Address length
• 8-byte
– Less header overhead; Might run out in a few decades
• 16-byte
– More overhead; Good for foreseeable future
• 20-byte
– Even more overhead; Compatible with OSI
• Variable-length
– Difficult for router design
43
IPv6 Design Controversies
Hop limit
• 65,535
– 32-hop paths are common now
– In a decade, much longer paths possible
• 255
– Limits lost packet lifetime (65,535 is far too long)
– Good network design makes long paths unlikely
• Source to backbone
• Across backbone
• Backbone to destination
44
IPv6 Design Controversies
Maximum packet size
• > 64kB: supercomputer/high bandwidth
applications
– Too much overhead to fragment data
– Want much larger packets
• 64 kB: longer packets incompatible with
low-bandwidth lines
– Consider 1MB packet across 1.5 Mbps line
– Ties up line for >5 seconds
– Inconveniences interactive users
45
IPv6 Design Controversies
Keep IP checksum ?
• Yes
– Removing checksum from IP analogous to removing
brakes from a car
• Lighter, so you go faster
• Unprepared for the unexpected
• No
– Typically duplicated in data link and transport layers
– Major expense in IPv4 routers
– In case of IPv6, it is mandatory in UDP and TCP
46
IPv6 Design Controversies
Mobile hosts
• Direct or indirect ?
– Reconnect directly using canonical address
– Use home and foreign agents to forward traffic
• Mobility introduces asymmetry
– Base station signal is strong, heard by mobile units
– Mobile unit signal is weak and susceptible to
interference, not heard by base station
• No clearly superior design proposal
47
IPv6 Design Controversies
Security
• Where ?
– Network layer: a standard service
– Application layer
• No viable standard
• Applications susceptible to errors in
network implementations
• Too clunky to turn off
• How ?
– Political export/import issues
– Cryptographic strength issues
48
Multicast
49
Internetworking
• Basics of internetworking (heterogeneity)
– IP protocol, address resolution, control messages …
• Routing
• Global internets (scale)
– Virtual geography and addresses
– Hierarchical routing
• Future internetworking: IPv6
• Multicast traffic
• MPLS
50
Internet Multicast Outline
• Motivation and challenges
• Support strategy
• IP multicast service model
• Multicast in the Internet
• Routing
– Review of ELAN techniques
– Multicast routing
• Limitations
51
Multicast
• Unicast: one destination; Broadcast: all
destinations; Multicast: subset of destinations
• When is multicast useful ?
– Send data to multiple receivers at once
• Videoconferencing, video-on-demand,
telecollaboration
• Software update to group of customers
– Limited broadcast/self-defined multicast
• Send question to unknown receiver
• Resource discovery; Distributed database
52
Multicast
• Why not just use broadcast/unicast ?
– Broadcast not supported outside of LAN
– Unicast sends multiple copies across common links
• Multicast support
– Often supported by hardware in LAN’s (as broadcast,
if not multicast)
– But difficult to extend in scalable manner
• Multicast challenges
– Efficient distribution on an internetwork
– Specification of recipient group (abstraction must
support self-definition)
53
Multicast Support Strategy
• IPv4 used as basis for experimental solutions
– Use class D addresses (1110 <28 bits>)
– Demonstrated with MBone
– Uses tunneling
• Multicast integrated into IPv6
• Group management protocol (IGMP)
• Several routing/forwarding schemes:
– Distance-vector
– Link-state
– Protocol-independent
54
IP Multicast Service Model
• Each group uses a single address
– Class D addresses (1110 <28 bits>)
– Some well-known, some dynamically assigned
• Group membership
– Members located anywhere in the Internet
– Number of receivers is arbitrary
– Members can join/leave dynamically
– Hosts can belong to more than one group
55
IP Multicast Service Model
• Senders simply use group address as destination
– Sender need not be in group
– LAN loopback needed for sender in group
• Multicast scope
– LAN (local scope)
– Administrative scope (e.g., campus); may overlap; can
assign group addresses dynamically
– TTL scope (no more than N hops)
• Scope is exposed to protocols and applications
(by exposing IP TTL)
56
IP Multicast Service Model
• Multicast reception requires membership in
group
– Internet Group Management Protocol (IGMP),
RFC 1112
– New operations to join and leave group
– LAN routers track local membership
– Forwarding depends on routing scheme
– Last hop typically uses LAN broadcast
• Packet reception same as IP unicast
57
Internet Multicast Backbone - MBone
• Existing infrastructure for multicast in the Internet
• Multicast route propagation using DVMRP
• Problem: most IP routers do not support multicast
• Solution: tunneling by multicast-capable routers
– Encapsulate multicast traffic in IP packets
– Send to other multicast-capable routers
– Recipients unpack and forward original multicast packet
• Passes through multicast-incapable areas of
Internet
58
ELAN Multicast Techniques
• Direct support (Ethernet)
– Application subscribes to group
– IP layer notifies Ethernet card to listen to
packets with group address
• Support through broadcast (LANE)
• Flooding in ELANs
– Each packet sent on all but incoming link
– Switches must remember each packet!
• Spanning tree: every host gets one copy
59
ELAN Multicast Techniques
• Spanning tree selection
– Elect a leader; spanning tree is shortest path to leader
(Perlman)
– Distribute topology everywhere, compute in parallel
(link-state)
• Problems with spanning trees
– Bandwidth wasted for groups with few receivers;
solution: prune LAN’s with no receivers from tree
– For very large ELAN’s, no single tree is efficient;
solution: define tree per group or tree per source
• The same solutions are used in the Internet!
60
Spanning Tree Tradeoffs
• Tree per group or tree per source ?
61
Multicast Routing in the Internet
62
Multicast Routing in the Internet
• How do senders find receivers?
– Receivers inform all senders of interest (MOSPF)
– Send to all receivers; uninterested receivers prune
(DVMRP, PIM-DM)
– Agree on set of rendezvous points (PIM-SM)
• Types of distribution trees
– Separate tree from each sender (DVMRP, MOSPF,
PIM-DM, PIM-SM)
– Tree rooted at rendezvous point (PIM-SM)
63
Link State Multicast (MOSPF)
• Each host on a LAN
– Periodically announces its group memberships,
via Internet Group Management Protocol (IGMP)
• Extend LSP to include set of groups with
members on a given LAN
• MOSPF routing extends OSPF
– Uses Dijkstra’s algorithm
– Computes shortest-path spanning tree for source-
group pairs
– Forward packet on local portion of tree
64
Link State Multicast (MOSPF)
• Tree computation
– Can’t precompute for all source-group pairs
– Compute on demand when first packet from a
source S to a group G arrives
– Cache trees for active source-group pairs
– Recompute when link-state changes
• Scalability limitations
– Reasonable intra-AS scalability
– But meaningless for inter-AS
– Source-group pairs scale with sources (needs
to be hierarchical)
65
Distance Vector Multicast (DVMRP)
• Idea
– Graph of directed next-hop edges to a destination S
form a tree
– Use reverse edges to broadcast from S
• Implementation (reverse path broadcast, or RPB)
– Forward multicast packet on all links
– Iff packet came from next hop for packet source
• Avoid repetition on LAN’s
– Assign parent router for each LAN
– Has shortest path to source, ties broken by ID
– Track parenthood via vector exchanges
66
RPB and RPM
M M G
RPM from S to G
Member of RPB from S
M multicast
group G S Unicast route to S
Pruned
67
RPB to RPM (reverse path multicast)
• Identify leaf networks
– Only one router on network
– Thus no distance packets received on interface
• Prune leaf networks
– Without hosts in a group
– Hosts must self-identify using IGMP
• Forward pruning information
– Extend distance vector with group information
– Forward packets only to interested parties
– Only when multicast source active
68
Distance Vector Multicast
RPM Implementation
• Assume that everyone is interested
• Respond to unwanted packets with
prune requests
• Prune requests
– Canceled by graft request
– Time out periodically
• Need ARQ for prune or graft ?
69
Distance Vector Multicast - Scalability
• Packets are periodically broadcast (thus
guaranteed to reach all interested members)
• High overhead for sparse groups; consider
– Multicast group of 10 members
– Scattered around the world
– Packets periodically reach all routers in Internet
• High overhead for routers
– All off-tree routers maintain pruning state
– And periodically retransmit
70
Protocol Independent Multicast (PIM)
• Approach
– Define rendezvous points (RP) for each group
– Need multiple RP’s to handle failures
• Two versions
– Dense mode
• Explicit prune messages
• Shared tree
– Sparse mode
• Explicit join messages
• Shared or source-specific tree
71
Protocol Independent Multicast (PIM)
• Rendezvous points (RP) for each multicast
group
Specific
multicast
RP tree
RP
RP
72
Protocol Independent Multicast
• Joins
– Receiver: send packet to one RP
– Source: send to all RP’s
• Tree selection
– Rooted at rendezvous points
– Shared for infrequent traffic
– Source-specific if merited by traffic level
73
Limitations on Multicast
• Scalability (addressed to some extent by PIM)
– Explosive growth of the Internet population
– Explosive growth of multicast, multimedia
applications
• Control of network resources
– Applications have different performance needs
– Different resource commitments by clients and/or
organizations
– Different ASs provide different QoS …
74
Internetworking
• Basics of internetworking (heterogeneity)
– IP protocol, address resolution, control messages …
• Routing
• Global internets (scale)
– Virtual geography and addresses
– Hierarchical routing
• Future internetworking: IPv6
• Multicast traffic
• MPLS
75
Multiprotocol Label Switching
• Combines properties of virtual circuits with
flexibility and robustness of datagrams
– Relies on IP addresses and IP routing protocols
– Forwards packets using short, fixed length labels with
local scope
• Marriage of two seemingly opposed technologies
76
MPLS - Capabilities
• Enable IP capabilities on devices that do not have
the capability to forward IP datagrams
• Forward IP packets along explicit routes: routes
precalculated separate to IP routing protocol
• Support certain types of virtual private networks
(VPN) services
• Where is performance improvement ?
– Depends on factors other than header processing
77
Destination Based Forwarding
• MPLS – attaching labels with IP datagrams
• Router allocates a label for each prefix in its
routing table
78
Destination Based Forwarding
• Advertisement of label and prefixes to neighbors
via Label Distribution Protocol (LDP)
– Attach corresponding label to all packets sent to that
router for that prefix
79
Destination Based Forwarding
• Other routers store these labels as remote labels
in their routing table along with prefixes
80
Destination Based Forwarding
• Other routers store these labels as remote labels
in their routing table along with prefixes
81
Destination Based Forwarding
Example
• R1 acts as Label Edge Router (LER)
– applies labels to arriving IP packets after complete IP lookup
• Packet destined to 10.1.1.5 arrives at R1
– R1 matches the prefix 10.1.1, attaches label ’15’ to packet, send
to R2
82
Destination Based Forwarding
Example
• R2 checks the label of incoming packet, consults its
table for outgoing interface (1), updates the label
value to ’24’ and forwards the packet to R3
• R2 doesn’t consult IP address for forwarding packet
to R3 !!!
83
MPLS – Achievements
• Fixed-length label lookup instead of variable
length IP prefix lookup
– Simpler to implement exact match instead of longest
match algorithm
• Only forwarding algorithm is changed
– Any standard routing algorithm may still be used
– Packets will follow the path selected by IP routing
• Devices that don’t know how to forward IP
packets can be used as Label Switching Routers
– ATM switches without changing forwarding hardware
84
How to Attach Labels to Packets ?
• Depends upon the type of link carrying the
packets
• When IP packets are carried as complete frames
– Label is inserted as a “shim” between layer 2 header
and layer 3 header
– Like on most link types: Ethernet, Token Ring, PPP
• When the switch function as an MPLS LSR
– Label need to be in a place where switch can use it
– In ATM, labels are inserted in ATM cell header
(combination of VPI and VCI).
85
Methods of Attaching Labels
86
An MPLS Network
• A mixture of conventional IP routers, label edge
routers (LER) and ATM switches (as LSRs)
– All are using the same routing protocols
• Reduction in number of adjacencies that each
router must maintain
– Greatly reduce the amount of work of each router
• Edge routers have a full view of complete
topology of the network
– Edge routers pick a new path in case of node failure
87
MPLS – Example of MPLS Network
• Conventional Network
– Overlay of virtual circuits
– Each router connect to other by a virtual circuit
88
MPLS – Example of MPLS Network
• MPLS Network
– Routers peer directly with LSRs
– No virtual circuits interconnecting routers
– Each router has only one adjacency
89
MPLS – Explicit Routing
90
Example – Explicit Routing
• “Fish” network
• Route for traffic from R1 to R7 is R1-R3-R6-R7
• Route for traffic from R2 to R7 is R2-R3-R4-R5-R7
• Good use of capacity available along two distinct paths
• Different from normal IP routing
91
MPLS – Explicit Routing
• With MPLS enabled routers, very easy to achieve
desired routing
• How can we make sure to choose different paths?
– If labels of R1 and R2 are different, R3 can send the
packets along different paths
• How to agree on labels in a network?
– Normal label switch forwarding doesn’t work
– RSVP (Resource Reservation Protocol)
92
MPLS – Explicit Routing
93
MPLS VPN - An ATM Circuit
• Pseudowire Emulation
• Routers interconnected by a tunnel
• Tunnel header
94
Forwarding ATM Cells in MPLS VPN
95
Example of Layer 3 VPN
96
Routing for Mobile Hosts
97
Routing for Mobile Hosts
• Mobile hosts, fixed infrastructure
MN
– e.g. cellular networks
MN
MN MN MN
98
Routing for Mobile Hosts
• How can mobility be supported in view of the fact
that a portion of an IP address is a network address?
– Host-specific information is out of the routers to make
routing scalable
– If host changes the network, it would become
unreachable
• One solution is to acquire new address via DHCP
• If host changes the network frequently, keeping a
single address would be beneficial
– Avoids termination of connection while in move
99
Mobile IP
• Mobile-IP is a solution that works without any
changes to non-mobile hosts (typical of IETF)
– Supports both mobility and geographic aggregation
• A router known as home agent (HA) is required at
the home network of the mobile host
• Mobile host (MH) uses permanent home address,
and remains connected as it roams
• A router known as foreign agent (FA) is required
at the network to which the mobile host attaches
100
Mobile IP
• Home & foreign agents send advertisement
messages
• Mobile host attaches to a nearby foreign agent
– Mobile host communicates home agent address
– Foreign agent contacts home agent to communicate
care-of-address
Sending host
Home agent Foreign agent
(10.0.0.3) (12.0.0.6)
(10.0.0.9)
(network 10) Internetwork Mobile host
Home network IP tunnel
101
Mobile IP - Features
• Transparent routing of packets to a mobile host
• No modification of existing routers or non-
mobility supporting hosts
• Mobile Host (MH) is assigned a unique home
address within its home network
• Other hosts communicating with the MH always
use MH’s home address
• Foreign agent (FA) maintains a mapping of the
MH’s home address to its care-of-address
102
Mobile IP – Home Agent (HA)
• An agent on the MH’s home network
• Maintains registry of MH’s current location
• MH’s location is care-of-address
• Mobility binding is the connection between the
MH’s home address and care-of-address
• Each time the MH establishes a new care-of-
address, it must register with its HA
103
Mobile IP - Challenges
104
Mobile IP
Assigning Care-of-address
105
Mobile IP
• Home agent is required to intercept all packets for
the mobile host
– it sends a gratuitous ARP to use proxy-ARP when
mobile host registers with foreign agent
• Home agent uses tunneling (IP-in-IP) to forward
packets of mobile host to foreign agent
• Foreign agent strips the extra IP header and
forwards the packet to the mobile host
• Mobile host can behave as foreign agent, if absent
106
Mobile IP – Routing Problems
• Indirect (triangle) routing
– Places unnecessary burden on the internet
– Significantly increases latency
– Route from sending node to mobile node can be
significantly sub-optimal
• Both nodes on the same network, far from
home agent
• Handoff between FA
– Causes connection to be rerouted through HA
107
Route Optimization in Mobile IP
• Making sending node aware of the care-of-address
• Home agent sends a binding update to the source
• Source uses new address and records it in its
binding cache
• Foreign agent sends binding warning if the source
uses out of date binding cache (if mobile host is
not FA)
• Security issue if someone announces itself as FA
108
Route Optimization in Mobile IP
• Correspondent node caches MH location and care-
of-address
Sender FA MH
HA
109
Handoff Optimization in Mobile IP
• MH informs old FA of new FA. Old FA forwards
MH’s packets through new FA
Sender FA1 MH
Home
Agent FA2 MH
110
Routing in Ad Hoc Networks
• Collection of mobile nodes
• Form a temporary network
• In a distributed manner
• No server or access points
• Management protocols
– Periodic polling (proactive)
– On-demand routing (reactive)
111
Proactive Routing Protocols
• Driven by timer based mechanisms
• Protocols send periodic routing advertisements
• Link status detection is beacon-based (hello’s)
• Concerns
– Updates waste bandwidth and power (especially if
nothing changes)
– Topology changes may be too dynamic/rapid to be
captured by periodic updates
– Shortest path may not be best path (signal strength,
energy consumption)
112
Reactive Routing Protocols
• Driven by data packets requiring delivery
• Discover route only when needed
– Soft-state routing table contains forward and reverse
route
– Uni-directional links may foil routing
• Detect link status when forwarding
• Concerns
– Latency to set up route
– Overhead for route discovery/maintenance
113
Ad Hoc Routing Protocols
• Proactive protocols
– OLSR (Optimized Link State Routing)
– TBRPF (Topology Broadcast based on Reverse Path
Forwarding)
• Reactive protocols
– DSR (Dynamic Source Routing)
– AODV (Ad hoc On-demand Distance Vector) Routing
• IETF’s MANET working group deals with them
– www.ietf.org/html.charters/manet-charter.html
114