Overview of the Fisheye State Routing (FSR) for cellular networks, IDC 2012
By Yoav Francis and Nir Solomon
(Part of a performance comparison of various routing algorithms in cellular networks)
2. Ad-Hoc Network
A wireless network between mobile nodes
No infrastructure
Limited communication distance
Low-powered users
How to route messages?
Flooding/Broadcast
Not scalable
Using the shortest path from source to
destination
Requires nodes to keep topology data
3. Ad-Hoc Network (cont.)
Node moves cause network topology changes
Results in routes change
Nodes need to update their topology information
A node disconnecting to or from a neighbor needs to notify
other nodes
There are many upates – must make update process efficient
Low overhead
Fast propagation
4. Ad-Hoc Routing algorithms
Proactive:
Always monitor network topology
Advantage: Always know how to route to any node
Disadvantages:
Routing table storage
Periodic control traffic overhead
Example protocols: LSR, FSR
Reactive:
Look for a route only when need to send a packet
Advantages:
Low routing table storage
No periodic control traffic
Disadvantage: route search overhead
Example protocols: TORA, DSR
5. Link State Routing
Each node holds a routing table with the link state of all
nodes in the network
Periodically or on link change: flood “link state” – list of
neighbors (neighbor = 1 hop)
Re-broadcasts link state information received from neighbors
Use timestamp to distinguish new from stale updates
Routing
The destination is stored in the message header
Each forwarding node finds the shortest path to the destination
according to its routing table
On each update of the topology map – each node must calculate
the shortest path to all other nodes again.
6. Link State Routing drawbacks
As the number of nodes grow or mobility increases:
Routing tables grow linearly
Link state overhead grow linearly – the overhead
packets will consume most of the bandwidth as
network size increases.
Not scalable
7. • Fish do have 360° (or almost) vision.
• Fishes (and humans) do have a higher
concentration of optic nerves close to they focal
point than elsewhere in they eye.
• As a result fisheye captures with high detail the
points near the focal point
Fisheye Vision
9. Published in “Fisheye State Routing in Mobile
Ad Hoc Networks” in 2000, by Guangyu Pei ,
Mario Gerla , Tsu-Wei Chen at ICDCS.
Aim – Reduce routing updates overhead in large
ad-hoc networks.
Background
10. Fisheye State Routing (FSR)
• Proactive link-state routing protocol.
• Similar to link state as it maintains a full topology map at each node
– Periodic exchange of Hello packet.
– Periodic exchange of topology tables within the local neighbors
only (instead of flooding the entire network) .
• Topology tables update frequency decreases with distance to
destination
– Updates for a near destination are propagated more frequently then
updates for a remote destination
11. Fisheye State Routing (Cont.)
Every node holds:
Neighbor list
Topology Table
Next Hop Table
Distance Table
For large network, in order to reduce the size of the routing
update message, the FSR technique uses different
exchange periods for different entries in the routing table.
Relative to each node, the network is divided into
different scopes.
12. Fisheye State Routing (Cont.)
Central Node
1-hop neighbor
2-hops or more
neighbor
The link state updates of the nodes in scope k are sent every 2k-1
T to all the
neighboring nodes
•K is the hop distance
•T is the link state updates transmission period
Scope 1
Scope 2
13. Fisheye State Routing (Cont.)
Maintain accurate routing information for immediate neighbors.
Progressively less detail as distance increases.
Link state of immediate neighbors are exchanged more frequently.
The exchange frequency decreases proportionally to the distance.
As the packet gets closer to the destination, the accuracy
increases.
16. FSR – Conclusions
Major scalability benefit: link state overhead decreases
significantly
Unsolved problems:
Route table size still grows linearly with network size
Out of date routes to remote destinations
Proactive – always know network topology, always know network topology and best send method Requires storage at every node for the routing table, a lot of overhead of update packets – more than data itsself. Reactive (on demend)– do the search for route only when need to find a route. Storage is small, no need to hold topology, less overhead. Route search time is long.
Link state = Network Topology (“State of the link”) Distance Vector = Only hold the next hop for each node and the cost (hop distance), not entire/partial network topology. Like a router. Distance – as in number of hops Problem : we may take a “worse” route that indeed has less hops but takes longer than passing through multi-hop route.
2 From UCLA, one from Bell Labs. ICDCS = I nternational Workshop on Wireless Networks and Mobile Computing
We only transfer to our close neighbors, every x time. What shall we pass ? Which nodes are in the update ? - as the distance from our node increases, we will update the information regarding those nodes in less frequency than closer ones. - this will cause the update packets size to be smaller + less update packets will be sent (we will only send update packets every x-time) - בעצם , נשלח חלקים מן המידע ולא את כל הטבלה , בהתאם למרחק מן הצומת
Neighbor list – all nodes in distance of one hop Topology table – the “link state” (neighbor list) – I save at my node the list of the nodes that every node sees Next hop table / distance table – tables that are computed with shortest path (dijkstra) – each time an update occurs, an algorithm runs that finds the shortest path from our node to every node that was contained in the update. Change exchange periods – in every update packet we send, we choose which nodes to put in our update packet – depending on the frequency and nodes the distance (so, close nodes will be sent an update every x time, far nodes will be sent an update every 2x time, etc.)
Central Node = working node (my node) I update ONLY the green nodes. What will be contained in the update – this is something else. תלוי מימוש – T הוא לבחירת המממש וכן זה לא חייב להיות 2 , וגם אפשר להגיד שעד מרחק 5 אני גם מעדכן כל 2T למשל.
(בציור) הלבנים – הם באותו scope כי בשניהם המרחק גדול מ- 2 . ככל שצמתים מתרחקים – המידע שיש לנו עליהם הוא פחות עדכני – יכול להיות שבטרם קיבלנו עדכון הטופולוגיה השתנתה, node עזב, התרחק וכו'. תדירות העדכון היא ביחס הפוך למרחק. ככל שהפקטה מתקרבת ליעד, ה- Routing הופך ליותר מדויק (כי כל node יודע במדויק את ה- routing אל ה- nodes הקרובים)
Node אפס רואה את 1 , ויש לו הופ 1 אליו – זה מה שבעצם רואים בטבלה. הטבלה של כל node מחזיקה את כל הטופולוגיה. ( LST הוא טבלת הטופולוגיה)
סימולציה מן המאמר – מראה שה- overhead אם יש רק סקופ 1 – link state רגיל. ככל שמס' ה- nodes גדלים , מקטינים את ה- accuracy מעט אך יורד ה- overhead – בעצם בציור רואים שככל שמגדילים את ה- scopes (בהינתן אותו מספר' nodes ) – התקורה הכוללת במערכת הולכת וקטנה, כמובן על חשבון accuracy .
LINK STATE = טופולוגית הרשת גודל טבלת ה- route – לא scalable מבחינת הסטורג' (כי הוא מכיר את כל ה- nodes ושומר אותם. כאשר יש המון nodes מדובר לשמור את כל הקשרים וכל ה- nodes - הרבה storage )