Title: Hierarchical Routing
1Hierarchical Routing
- Via Cluster-Based Control Structures
- Presented by Raquel Harris
- 9-04-02
2Contents
- Introduction
- Cluster Based Control Structures
- Transmission Management
- Link-Cluster Architecture
- Backbone Formation Clustering
- Route Efficiency Clustering
3Introduction
- Mobile Wireless Networks are dynamic
- State Changes unpredictable
- Control functions that manage the networks
performance have to meet these conflicting goals - Respond rapidly and correctly
- Minimize consumption of networks transmission,
processing, storage
4Introduction
- Control Functions
- Performed with respect to a control structure -
superimposed on the physical network which
consists of a set of controllers - For fixed networks the setup of the control
structure is an administrative task that is part
of the network design process - For mobile wireless networks, a self-organizing
control structure is required
5Introduction
- Selection of a network control structure and
algorithm is based on, - Network size
- Control functions required
- Frequency and magnitude of network state changes
- QOS required
6Cluster-Based Control Structures
- Cluster-based control structures
- More efficient use of resources in controlling
dynamic networks - Physical network is encapsulated by a virtual
network of interconnected clusters - Clusters contain one or more controllers which
make control decisions and may distribute cluster
state information to outside clusters
7Cluster-Based Control Structures
- Control Structures attempt to be more efficient
by, - Managing transmission to reduce channel
contention - Forming routing backbones to reduce network
diameter - Abstracting network state information to reduce
its quantity and variability
8Transmission Management
- Transmission interference
- Thesis Reduce interference by separation of
transmission times, space, and frequency or
spreading code - Thesis Reduction by coordination of separation
9Link-Cluster Architecture
- Reduces interference in a multiple-access
broadcast environment - Forms distinct clusters for which transmission
are scheduled in a contention-free manner - Spread-spectrum multiple access can be used with
different codes in each cluster - Automatic organization
- Nodes autonomously organize into interconnected
clusters - Union of members is the entire network of nodes
10Link-Cluster Architecture
- Structure
- Clusterhead
- Each cluster has one or more clusterheads
- Schedules transmissions
- Allocates resources within the cluster
- Gateway
- Each cluster has one or more gateways
- Attempt to have one per pair
- Connect adjacent clusters
- Direct connection member of both clusters
- In-direct connection connected to an adjacent
gateway
11Link-Cluster Architecture
- Ordinary Nodes
- Each cluster has zero or more ordinary nodes
- Neither clusterheads or gateways
- Low-delay paths between cluster members
- All members within one hop of the clusterhead
(within two hops of each other) - Therefore members of different clusters are at
least 2 hops away
12Link-Clustered Architecture
13Link-Cluster Architecture
- Establishing a link-clustered Control Structure
involves, - Discovering neighbors with a bi-directional link
by broadcasting - Electing clusterheads and forming clusters
- Agreeing on gateways between clusters
14Link-Cluster Architecture
- Clusterhead Election
- Identifier-based or Connectivity-based Clustering
- Centralized implementation
- Node with the lowest or highest numbered
identifier or largest number of neighbors becomes
the clusterhead - Distributed implementation
- Node with lowest or highest numbered identifier
elects itself or its neighbor with the lowest or
highest id unless that neighbor has relinquished
clusterhead status - Node with the highest connectivity of all
uncovered neighbors becomes clusterhead - Ties are broken by identifier number
15Link-Cluster Architecture
- Gateway Election
- Any node with links to more than one cluster is a
candidate gateway - If a node has two clusterheads as neighbors, it
is a candidate gateway connecting two overlapping
clusters - If a node has one clusterhead neighbor and can
reach a second clusterhead in two hops, it is a
candidate linked to a candidate gateway in
another cluster
16Link-Cluster Architecture
- Overlapping Clusters
- Gateway selected is the one with the highest or
lowest id - Disjoint Clusters
- Linked pair with one member having the highest or
lowest id among all candidates connecting the two
clusters - Unambiguous selection may require advertisement
of node ids beyond one-hop neighbors
17Link-Cluster Architecture
- Node Mobility
- Clusters must be updated accordingly to ensure
proper scheduling of transmissions - All nodes must be capable of executing
clusterhead and gateway functions if the network
is to be maximally available - With connectivity-based clustering, clusterhead
status has potential to change more frequently
than identifier-based clustering - Nodes may move out of range of neighbors, losing
its status as the most connected node
18Link-Cluster Architecture
- Least Cluster Change Algorithm
- Reduces the number of changes in clusterhead
status required after node movement - Clusterhead status change only if two
clusterheads move within range of each other - One must relinquish the role
- Or, if a non-clusterhead node moves out of range
of any other node - Becomes clusterhead of its own cluster
19Link-Cluster Architecture
- Routing Backbone
- Traffic is constrained to traverse clusterheads
- Can reduce throughput and robustness of network
- Congestion
- Single point of failure
- Many algorithms do not use clusterheads as
routing control structure of the network
20Backbone Formation Clustering
- Routing Backbone
- Reduction of route length is more important for
multi-hop wireless networks than wireline
networks - Larger delays generally experienced at each hop
- Can be formed by expanding the transmission range
of some or all nodes - Increasing transmission power may increase
interference
21Backbone Formation Clustering
- Near-Term Digital Radio Network (NTDR)
- Designed for mobile tactical communications
- Frequent node movement and outages
- Each cluster has a clusterhead that is linked to
form the routing backbone - Nodes are within 1 hop of clusterhead
- Intercluster communication is restricted to
clusterheads only - Clusters are gateways
- No multihop communications
- One hop neighbors can communicate directly
- Others intracluster communications must traverse
the clusterhead
22Backbone Formation Clustering
- Each node keeps track of the bi-directionally
linked neighbors by periodically broadcasting
beacons. - May become clusterhead if needed
- ltMAC addressgtltpartition idgtltclusterhead
orggtltcluster membersgtltlink quality from each
membergtltclusterhead transmit power levelgt - Used to decide whether to become affiliated with
the clusterhead - Each cluster communicates on different
frequencies - Isolates intercluster and intracluster
communications
23Backbone Formation Clustering
- A low transmission range is used for
non-clusterhead members - Allow reuse of frequencies for distant clusters
- Reduce interference
- Clusterhead Election
- Beacon-based only
- No clusterheads detected in its vicinity
- Can heal a network partition
24Backbone Formation Clustering
- Must limit the number of nodes simultaneously
participating in clusterhead election - Each node waits a short random time interval
before retesting the condition and becoming
clusterhead if necessary - Each new clusterhead issues beacons proclaiming
its status immediately - Elimination
- Node can relinquish role as clusterhead if,
- It will not partition the network in doing so
- All cluster members can join other clusters
- Checks staggered randomly among nodes over time
to limit the number of simultaneous relinquishes
25Backbone Formation Clustering
- Cluster Affiliation
- Preferred clusters
- Same organization affiliation
- Signal from the clusterhead is transmitted at low
power but received at high strength - Cluster size is relatively small
- Affiliation can be refused by the clusterhead
- Updated cluster membership is distributed to all
clusterheads after affiliation has taken place - Notifies previous clusterhead of new affiliation
26Backbone Formation Clustering
- Alternate affiliation is sought if,
- Clusterhead relinquishes role
- Clusterheads beacons no longer list member
- Clusterheads beacons indicate the quality of the
link to the clusterhead has become unacceptably
poor - Received signal strength from the clusterhead is
unacceptably low - Routing
- Clusterheads share responsibility for maintaining
the routing backbone - Monitor and exchange information about changes in
the backbone
27Backbone Formation Clustering
- Each generates membership information pertaining
to its cluster and link-state information
(resistance metric included) pertaining to its
links to neighboring clusterheads - Floods information over the backbone
- Computes least-resistance routes based on this
information (using Dijkstras SPF) maintains
next hop to use for each destination - Must notify other clusterheads of state change
affecting routing in the backbone once detected - May result in unacceptable network performance
due to saturation of update messages in a highly
mobile network
28Backbone Formation Clustering
29Backbone Formation Clustering
- Virtual Subnet Architecture
- Several disjoint routing backbones
- Provides fault tolerant connectivity and load
balancing in multihop mobile wireless networks - Structure
- Initially, the network is partitioned into
physical subnets (disjoint clusters) - Virtual subnets are formed by clustering the
different physical subnets - Assumption transmission power is adjustable to
retain connectivity - Neighboring subnets are assigned differing
frequencies to reduce interference
30Backbone Formation Clustering
- Subnet clusters and frequencies can be computed
offline or computed by distributed procedures - A Maximum number of physical, P, and virtual, Q,
subnets is predefined for the network. - Nodes are members of only one physical subnet and
zero or more virtual subnets - Ideally one subnet but may belong to more than
one if it communicates frequently with subnet
members - Address uniquely identifies both physical and
virtual affiliations (multiple address for more
than one virtual subnet) - Prefix physical subnet
- Suffix virtual subnet
31Backbone Formation Clustering
32Backbone Formation Clustering
- Mobility
- If a node moves out of range of its subnet
- Needs to join another physical subnet, which
typically leads to a new virtual subnet
affiliation - Join a subnet whose Q quota has not been filled
- Otherwise, joins physical subnet as a guest
- New address is announced to all members of the
physical and virtual subnets - Guest members do not distribute its address to
any virtual subnet - Address Discovery
- Source distributes a query within its physical
subnet - Address is returned if the destination is
affiliated with a virtual subnet of one of the
sources physical subnet members
33Backbone Formation Clustering
- A query is distributed within the virtual subnet
if the destination is not found - Address is returned if destination is found in a
physical subnet of one of the sources affiliated
virtual subnets - This feature will find guest destinations
- Routing
- Multiple paths are available to nodes within the
virtual subnet architecture - Increases fault tolerance
- Direct Routing and long path routing exploits
this feature
34Backbone Formation Clustering
- Direct Routing
- Routing by source and destination address
- Next hop selection
- Source seeks node, x, that is member of sources
physical subnet and destinations virtual subnet
and forwards packet to it. - If destination is a guest, no x is found and the
source uses its virtual subnet to forward the
packet - If the network is not partitioned and each
physical subnet contains a member of each virtual
subnet direct routing works very well - Partitions and reconfiguration of the network is
highly likely in highly mobile networks however.
35Backbone Formation Clustering
36Backbone Formation Clustering
- Long-Path Routing
- Routes are randomly distributed to balance
traffic load and assist the network in
accommodating partitions - At most QP-1 different routes
- If subnets are partitioned, intermediate nodes
will have to make random selections to route
around partitions - Source randomly selects a virtual subnet (at
most Q) - If the source is not a member of the virtual
subnet selected, the packet is forwarded via node
u that is a member of both the virtual subnet and
the sources physical subnet - U forwards the packet through the virtual subnet
to a node v located in the destinations physical
subnet - V forwards the packet to the destination node
37Backbone Formation Clustering
- If the source is a member of the selected virtual
subnet - Select at random one of the P-1 (at most)
physical subnets within its virtual subnet (VS)
and distinct from its own (PS) - Forward packet via PS to a node, w, in both the
sources VS and the PS - Node w forwards the packet within the PS to a
node z in the destinations VS and finally to the
destination
38Backbone Formation Clustering
39Routing Efficiency Clustering
- In order to achieve the required network
performance goals, - Accurate network state information is required by
control functions - Controllers must detect network state changes
- Collection and distribution of network state is
required - Mobile networks have a higher rate network state
changes than fixed networks - Mobility affect interconnectivity and link
quality - Wireless networks add the crucial affect of
limited and volatile resources
40Routing Efficiency Clustering
- Updates of current state information may consume
large amounts of resources - Transmission, storage and processing
- In highly dynamic networks, updates may lag
behind the current state - Sensitivity to network changes is a function of
the particular control function, resources,
volatility of the network state, and magnitude of
state change consequences
41Routing Efficiency Clustering
- Hierarchical Routing
- Structure
- Network of N nodes is organized into a m-level
hierarchy of nested clusters - All level-i clusters are disjoint, 0 ? i ? m
- A node is a level-0 cluster grouped into level-1
clusters, etc. - A nodes address are relative to its position in
the hierarchy - A concatenation of the labels of the level (m-1)
through level-0 clusters - Label of a single level-m cluster is omitted from
a nodes address - Node z of figure 4.6 has the address, x.y.z with
u as the implicit prefix
42Routing Efficiency Clustering
43Routing Efficiency Clustering
- Cluster Overlap
- All the routing schemes presented (with the
exclusion of 1) have disjoint clusters at a
particular level - Not a requirement
- Cluster overlap can be desirable
- Node remains reachable after moving out of a
cluster - Route length can be reduced
- Multiple clustering hierarchies
- If 2 level 1 clusters a1 and b1 overlap, each of
their level-I ancestral clusters ai and bi must
also overlap and a1 ? b1 ? ai ? bi for i ? 1
44Routing Efficiency Clustering
- Overlap can be expensive
- The number of node addressing information must be
distributed and maintained in the network is
proportional to the number of addresses per node - Route selection is complicated by the need to
determine which cluster to utilize to maximize
reachability during movement - Cluster formation and maintenance can be
complicated by constraints on the amount of
overlapped permitted
45Routing Efficiency Clustering
- Granularity of network state
- Abstraction of network state can reduce the
amount of resources required to maintain the
network - Abstraction can also result in loss of
information and reduce accuracy of control
decisions - Routing Schemes
- Cluster representative a network controller
that generates and distributes routing
information for a particular cluster - Hierarchical routing schemes attempt to prevent a
single point of failure w.r.t cluster information - Multiple nodes are capable of quickly assuming
the role
46Routing Efficiency Clustering
- Quasi-hierarchical routing schemes
- Most schemes fall into this category
- Most are derivatives of the distance-vector
routing approach - Each node learns the next node to use in order to
reach each level-i cluster within its level-(i
1) cluster - Strict-hierarchical routing schemes
- Each node learns the next level-i cluster to use
in order to reach each level-i cluster within its
level-(i 1) cluster and - Each node learns which level-i cluster lies on
the boundary of its level-(i 1) cluster and
which are directly linked
47Route Efficiency Clustering
- Example ck is the lowest-level cluster with the
source and destination nodes - K 3
- Quasi-hierarchical routing s0 routes the packet
directly to the boundary of dk-1. The packet is
then routed to dk-2 boundary and so on. - Strict-hierarchical routing S0 routes the packet
directly to the boundary of sk-1 one level at a
time. The packet is then routed through
level-(k-2) clusters in dk-1 to reach the
boundary of dk-2 and so on.
48Route Efficiency Clustering
49Route Efficiency Clustering
- Quasi-hierarchical Routing
- Objective of distance vector routing is to
determine the next hop on the minimum-cost route
from a node to each level-i cluster within the
nodes level(i 1) cluster, for 0 ? i ? m - A cluster representative advertises to nodes
outside of its cluster an abstracted cost for
reaching destinations within the cluster - Closest entry routing cost 0
- Overall best routing cost average of all
costs from rep to all nodes in cluster
50Route Efficiency Clustering
- If x and y are direct linked neighbors belonging
to the same level-(j1) cluster but different
level j clusters - when x receives a new cost for level-i cluster,
c, contained in xs level-(i 1) cluster, from
neighbor z, for any 0 ? i ? m, x decides if it
needs to update its forwarding information for c
and if it needs to distribute a new cost
advertisement for c to its neighbors - If c is not an ancestral cluster of x,
- If Wc-stored gt Wc-z Wx-z x updates its
forwarding info for c and replaces the next hop
node with z - The cost advertisement is updated and sent to
neighbors x determines require it
51Route Efficiency Clustering
- If c is an ancestral cluster of x, x simply
determines the set of neighbors to which it will
distribute the cost advertisement but does not
update its forwarding information and cost
advertisement - Before distributing the cost ad for c to y, x
must verify, - i ? j to prevent propagation of detailed
routing info outside of that cluster - The next hop in xs forwarding table entry for c
is not y to prevent formation of routing loops. - Reduces the amount of routing info received and
retained by each node from O(N) to O(mCmax) for a
m-level hierarchical control structure of nested
clusters - Cmax max number of level-i clusters, over all
i, contained within a level-(i 1) cluster
52Route Efficiency Clustering
- If each level-i cluster contains the same number
of level-(i 1) clusters, for 0 lt i ? m, the
amount of forwarding info at each node mN1/m - If m is large, the route costs may be
significantly larger than true minimum-cost
paths. - Results of analysis of the quasi-hierarchical
approach are, - Number of entries in a nodes forwarding table is
minimized when the number of level-i clusters in
each level-(i1) cluster equals e and when the
number of levels in the clustering hierarchy
equals ln N ? forwarding table contains elnN
entries
53Route Efficiency Clustering
- For any arbitrary source and destination, the
difference in lengths between route produces by
quasi-hierarchical routing and the true
minimum-hop path tends to zero as N ? ?, under
the following ideal assumptions. - ? All level-i clusters contain the same of
level- - (i 1) clusters, for 0 lt i ? m
- ? Each level-i cluster contains the minimum-hop
- between two nodes resident in that cluster
- ? The diameter of any level-i cluster does not
- exceed bnv c, where n of nodes in the
- cluster, 0 ? v ? 1 indicates the
connectivity of - the cluster, and b, c are positive
parameters
54Route Efficiency Clustering
- Some analysis results indicate that, m ? 4,
substantial reductions in forwarding table size
is achieved with only a small increase in route
length over the true minimum. (results are valid
within the context of the 3 ideal assumptions and
2 unrealistic assumptions - ? All links have equal capacity
- ? Traffic rates between any 2 nodes are
identical - Minimum-Cost Paths
- Quasi-hierarchical routing cannot guarantee
near-minimum-cost routes, ex., - di1 cluster is the lowest-level ancestral
cluster of both the s0 and d0 - di is the level-i ancestral cluster of d0 but not
S0
55Route Efficiency Clustering
- Quasi-hierarchical routing yields the minimum-hop
route from di1 to di and the minimum-hop route
from di to di-1 and so on - This value is not necessarily the minimum-hop
path to d0 unless i 1 - It has been shown, that in worst case, the route
produced by quasi-hierarchical routing can exceed
the true minimum-hop path by a factor of 2m 1
56Route Efficiency Clustering
- A modification to the closest entry routing that
enables any source to obtain the minimum cost
route to any destination node has been proposed - Source determines the minimum-cost route to each
border node of the destinations level-1 cluster
using closest entry routing - Source queries each border node for the cost of
its minimum-cost route and - Determines the critical border node node for
which the sum of costs of the minimum-cost routes
from the source to itself and from itself to the
destination is the minimum over all border nodes
of the destination's cluster
57Route Efficiency Clustering
- The added cost of queries and responses from
border nodes of a destination cluster is the
expense and it is recommended for use on virtual
circuit forwarding networks where the cost can be
amortized over the network - In worse case, the of queries required is
O(Bm), where B is the max of border nodes for
any cluster and thus may be impractical for
networks with many levels or border nodes
58Route Efficiency Clustering
- Link-State Routing
- Nodes generate, distribute, and use hierarchical
link-state info - Level-1 nodes flood its link state to all other
nodes in the cluster in the form of link costs to
all of its neighbors - All nodes can generate minimum-cost routes to all
other nodes within the cluster using Dijkstras
SPF algorithm - Each gate (border node) generates minimum-cost
routes to all other gates (in the cluster) using
intracluster link state - Each gate generates link-state (costs over
virtual links to neighboring gates within the
same cluster and in adjacent clusters connected
via direct links)
59Route Efficiency Clustering
- Gates flood this link-state to all other gates in
all level-1 clusters - All gates have enough info to generate
minimum-cost routes to all other gates - Gates flood their clusters with the minimum-cost
to all other clusters - Nodes can determine next hop on the minimum cost
route to any destination cluster - Route may not be the minimum-cost path since
there is no means for a source to discover the
minimum-cost routes connecting gates of the
destinations cluster to the destination node
60Route Efficiency Clustering
61Route Efficiency Clustering
- Hybrid Schemes
- SURAN Survivable Adaptive Networks A DARPA
program (tactical packet radio networks) for
which the control structures consists of a
three-level hierarchy of nodes, clusters, and
superclusters - One scheme suggested for SURAN is a hybrid of the
distance-vector and link-state routing schemes - Each node uses distance-vector to determine the
next hop on the minimum-cost route - Destinations outside of its cluster, the
distance-vector routing info is partially derived
from link-state exchanged between clusters and
superclusters - Border nodes flood interconnectivity information
in the form of link-state which is used to
compute minimum-cost routes to any cluster or
supercluster within its supercluster or network
62Route Efficiency Clustering
63Route Efficiency Clustering
- Focal Nodes
- Help to guide nodes in making forwarding
decisions - Permit more direct routes when available
- This makes the focal nodes seldom visited
- Regional Node Routing
- Each level-k cluster (k-region) contains one or
more k-regional nodes (except for the top level,
m-region does not contain any nodes) - A node is both a 0-region and 0-regional node
- A k-regional node is also an i-regional node for
each i-region in which it resides, for 0 ? i ? k - Each k-regional node is affiliated with one
(k1)-regional node in its ancestral (k1) region - ? address expressed as the concatenation of
- pairs of region and regional node labels
for its - ancestral regions and finally the nodes
label
64Route Efficiency Clustering
65Route Efficiency Clustering
- A node may affiliate with more than one regional
nodes - Each node in a region, k, distributes
distance-vector routing info throughout the
nodes (k1)-region but no further - A source will consult its forwarding table for a
reachable node with an address with the longest
match with the destinations address before
forwarding a packet - If no match is found, the packet is discarded
- If multiple entries have the longest match, the
lowest cost route is selected - If multiple entries have the lowest cost, a route
amongst these is selected at random
66Route Efficiency Clustering
- The selected regional nodes, r, address is added
to the packet to be used for forwarding decisions - The packet is forwarded to the next hop
- Each of the remaining nodes, x, that receive the
packet repeats the same steps as the source and - Each node uses information about r to select a
forwarding table entry for an appropriate
regional node r - If r ? F (set of regional nodes in xs forwarding
table and exhibit longest address matches with
lowest cost routes), x selects r r and
forwards to the next hop - If r ? F, x selects r as the source selected r
if the address match between r and the
destination is at least as long as that of r and
the destination and the address of r is replaced
by r in the packet - Otherwise, the packet is discarded
67Route Efficiency Clustering
- The route produced is not necessarily the
minimum-cost route but is comparable to the
closest entry route - If a region is partitioned, a packet may be
traversed through an alternate regional node,
provided that the node is at least as close as
the current but unreachable node - Landmark Routing
- Each level-i landmark, x, consists of all nodes
that are within a radius of ri(x) node hops from
x, 0 lt ri(x) ? ri and ri is the max radius
permitted for the level-i cluster - Each level-m landmark has a radius that is at
least as large as the diameter of the network - Each node is a level-0 landmark
- More than one level-i landmark is also a
level-(i1) landmark, 0 ? i lt m and for each, y,
ri1(y) gt ri(y)
68Route Efficiency Clustering
- Distance-vector routing is used by each node to
advertise its cost throughout level-j (highest
level for which x acts as a landmark) - x includes a hop count of rj(x) to constrain
propagation members of level-js cluster - Each node computes its own cost to x and
decrements the hop count - If the decremented hop count gt 0, the node
distributes the advertisement further with new
hop count and route cost - A forwarding table is built by each node where
each entry refers to a landmark and indicates the
cost of the next-hop node on the minimum cost
route to that landmark
69Route Efficiency Clustering
- The landmark hierarchy is the control structure
comprised of the landmarks and associated
clusters - At level 0, any two clusters associated with
neighboring nodes must overlap (r0(x) gt 0) - At level-m, all clusters must overlap since each
level-m cluster covers the entire network - Address is a concatenation of landmark labels in
descending order of level. The relationship
among specified landmarks satisfies the following
for 1? i ? m, - The level-i landmark lies within the cluster
defined by the level-(i-1) landmark ensures
that the level i landmark knows how to reach the
level-(i-1) landmark in a destination address - The level-0 landmark lies within the cluster
defined by each level-i landmark ensures the
node can discover it own address
70Route Efficiency Clustering
71Route Efficiency Clustering
- The forwarding table is used to find an entry for
one of the landmarks specified in the destination
address. - If no entries are found, the packet is discarded
- Otherwise, if multiple entries are found, the
entry with the lowest level among the landmarks
is selected - See 4.10(a) and 4.10(b)
- This scheme may increase the risk of packets
indefinitely wondering the network (for landmarks
that become unreachable)
72Route Efficiency Clustering
- Strict-hierarchical Routing
- More robust than quasi-hierarchical schemes in
the presence of changes in network state - Increase route costs and packet forwarding
overhead - Routing info is assembled by a representative of
a level-i cluster, c - The cluster cost is computed
- If c lies on the boundary of its level-(i1)
cluster, directly linked neighbor level-j
clusters are determined, j ? i 1 - The routing info is distributed by c using either
the distance-vector or link-state approach to all
level-i clusters within the level-(i1) cluster - Using all information gained, c computes the
minimum cost routes and next hop clusters from c
to any other level-i cluster within the
level-(i1) cluster and determines border
clusters and their links
73Route Efficiency Clustering
- The representative of c distributes to all nodes
within c, the route cost, next-hop cluster and
cluster boundary info - The forwarding tables are identical to the
quasi-hierarchical tables in terms of the number
and type of entries. A couple of differences are
evident - The next hop to c stored is always a cluster at
level j ? i instead of a node (neighbor of x) - May need to consult up to 2m-1 forwarding table
entries to determine the next-hop node to a
destination - The cost to reach c from x is computed as the
sum of individual cluster costs over all level-i
clusters in the route from c to c. The cost to
reach c for quasi-hierarchical routing is a true
minimum since it is the sum of individual link
costs - A node determines the longest match between the
destinations address and the cluster entities in
its forwarding table before forwarding
74Route Efficiency Clustering
- A Prototypical Scheme
- Provides route stability for dynamically changing
nodes and links - Minimum-cost routes and next-hop nodes are
determined using distance-vector - A clusterhead responsible for generating and
distributing routing info to all clusters in the
supercluster is selected for each cluster (as in
figure 4.11 above) - Each superclusterhead is also a clusterhead for a
component cluster of the supercluster - Each clusterhead determines the connectivity and
cost to each neighboring clusterhead (may not be
within the supercluster) - The link-state is flooded to all clusterheads in
its superclusterhead
75Route Efficiency Clustering
- Costs from one clusterhead to a neighboring one
can be - 1 to indicate intercluster connectivity only
- of cluster hops to the neighboring
super-clusterhead - of hops to the neighboring clusterhead
- Each clusterhead uses SPF to compute the minimum
cost route and next-hop cluster to each cluster
in its supercluster and to each neighboring
supercluster in the network - Similarly, each super-clusterhead computes the
minimum-cost route and next-hop supercluster to
each supercluster in the network - Clusterheads and super-clusterheads do not play a
central role in packet forwarding
76Route Efficiency Clustering
- Super-clusterheads distribute to all clusterhead
in the supercluster info on the next-hop
supercluster to any supercluster in the network. - This information is combined with its own to
obtain the next-hop cluster to any supercluster
in the network and distributes to each node in
the network - Hybrid Scheme
- Designed for the DARPA PRNet program (large
tactical packet radio networks) - Strict-hierarchical granularity of forwarding
table entries - Quasi-hierarchical granularity and propagation
of routing information
77Route Efficiency Clustering
- Distance Vector Routing is used to generate the
minimum-cost route and next hop to each node in
the level-1 cluster and discover boundary nodes
and their connectivity to neighbor clusters - Route cost is expressed as the number of node
hops with the next hop being a neighbor node in
the level-1 cluster - To route at other levels, global routing nodes
provide routing information but do not play a
role in packet forwarding (cluster
representatives) - Global routing nodes at level-1 determine the
minimum-cost route to level-1 clusters and next
hops to global routing nodes (as it pertains to
level-(i1), 0 lt i lt m)
78Route Efficiency Clustering
79Route Efficiency Clustering
- The quasi-hierarchical routing procedure is
performed with these differences, - Route cost is in terms of the of level-1
cluster hops, therefore, - ? if x updates its cost to a cluster after
receiving - a cost advertisement from neighbor, z, x
sets - its cost from x to z to be 0
- ? if a global routing node, g, updates its cost
to - a cluster based on a cost advertisement
- received indirectly from a global routing
node - g, in neighbor level-1 cluster, g sets the
cost - from itself to g to 1
80Route Efficiency Clustering
- The next hop to the destination cluster is a
global routing node in a neighbor level-1 cluster
(not a neighbor node nor a cluster) - The forwarding table entries includes,
- For each destination in the nodes level-1
cluster contain the cost of the minimum-hop route
(node hops) and the next-hop node along that
route - For each level-i destination cluster in the
nodes level-(i 1) cluster, 0 lt i lt m, contain
the minimum-hop route cost (level-1 cluster
hops), the next-hop global routing node along the
route, and the next-hop boundary node (level-1
cluster) toward the global routing node - This scheme is considered less robust than the
SURAN scheme for dynamic networks since changes
in connectivity of level-1 clusters affect all
nodes in the network not just nodes in the
ancestral level-2 cluster
81Route Efficiency Clustering
- Link-State Routing
- Two schemes (strict-hierarchical) designed to
provide QoS routing for large dynamic networks - Common Features
- Link-state approach is used to represent and
distribute routing info at all levels of the
hierarchy - Routes are selected to satisfy individual users
service requests given the limitations of the
current state of the network - Forwarding can be either source-directed (route
included in packet) or virtual-circuit - For sessions with many packets, virtual-circuit
forwarding is preferred since the per-packet
forwarding overhead is small and the cost of
establishing the circuit can be amortized over
all session packets