“鱼眼”技术是Klein rock和Stevens提出来的,这种技术可以用来减少表示图形图像的数据。鱼眼能清晰地捕捉焦点附近的像素,但清晰度随着离焦点的距离增大而降低。“鱼眼”技术在路由中用来维护精确的距离和路由质量信息,但也会随着距离的变大而逐渐不精确。鱼眼域就是在一定跳数范围内的节点的集合。FSR(Fisheye State Routing)是一个先验式(表驱动的)的路由协议。它使用了鱼眼技术,在不同鱼眼域中的节点以不同的频率(由节点距离决定的)只向邻居节点广播链路更新信息,这能够减少链路状态更新信息,从而降低了泛洪的开销。通过节点之间相互交换链路状态消息,每个FSR路由器都能获知全网的拓扑信息。根据这些最新的信息,FSR为每个目的节点计算最短路径。由于链路更新频率由距离决定,因此对于域内的节点路由都是精确的,而对于域外的节点,离目的节点越远,路由的精确度便越低,这是因为距离较近的更新较快,较远的更新较慢。但不会像按需路由那样需要花时间去寻找路由,因此能维持较低的时延。而且随着离目的节点越来越近,路由信息越来越精确,正好弥补了路由的不精确性。在移动网络中,逐渐精确的路由减小了节点移动对路由精确度的影响。
每个节点都向它们的邻居广播最近的链路状态信息。FSR根据拓扑表中各记录中离节点的跳数来用不同的时间间隔分发信息。为了精确,较近节点对应的记录分发的频率比较远节点对应的频率高。鱼眼域i的更新时间间隔是Update Interval_i。当更新鱼眼域i的拓扑信息时,FSR浏览拓扑表从而获得相应的节点。如果更新消息有效,而且这些节点与当前节点的距离在域i内,那么它们将被包含在更新消息中。如果当前节点包含在链路状态消息中,那么它的序号将加1。对应于域i的一个记录的Need To Send标记为真,那么它将被选择。这个消息发送之后,域i内所有记录的标记都被重新设置为假,而且先前的序列号都将被当前的序列号所代替。