Cisco网络教材:HELLO协议详细解析


HELLO协议提供了一个IGP的例子,它使用的选路度量标准是基于网络时延而不是跳数。虽然现在HELLO已经废弃不用了,但是由于曾经被早期的NSFNET主干网中的模糊球fuzzball)路由器采纳为IGP,它还是在Internet的发展史上具有非同一般的意义。HELLO对我们有重要意义,因为它提供了一个不使用跳数的矢量距离算法的例子。


HELLO提供两个功能:使许多机器的时钟同步,并且使每个机器都能计算到目的站的最短路径。因此,HELLO报文在带有选路信息的同时,还携带有时间戳信息。HELLO的基本原理很简单:参加HELLO交换的每一个机器,维侍一个对邻站机器时钟的最佳估值的表。在传送一个分组之前,机器把当前时钟值复制到分组中作为它的时间戳。分组到达之后,接收方计算这条链路的当前时延。为了做到这点,它估计出邻站机器的当前时钟值,再减去到达分组的时间戳值。机器周期性地轮询邻站机器,以便重新估计时钟值。

HELLO报文允许参与的机器计算新的路由。这个算法和RIP的很像,只不过是使用时延而不是跳数而已。每个机器周期性地向其邻站机器发送一个到所有其他机器的估计时延。假如机器A向机器B发送一个选路表,指出目的站和时延。B检查表中的各个项目。如果B到一个已知的目的站D的当前时延,比从A到D的时延与从B到A的时延之和还要大,B就更改它的路由,并把流量经A送给D。也即只要经过A的路由的时延较小,B就使通信流量经过A。

和其他选路算法一样,HELLO也不能太频繁地改变路由,否则它就不稳定。选路算法的不稳定性会产生“二阶段振荡”two—stage oscillation)的效应,即通信流量在两个不同的路由之间来回切换。在第一阶段,机器找到一条轻载路径后突然将流量切换给它,但不料又发现该路径严重超载。第二个阶段,机器将通信流量从这条超载路径切换开,结果又会发现这是负载最轻的路径。这样就形成了振荡。为避免这种现象,HELLO选择的策略是仅在路由的时延差距较大时才进行切换。

HELLO的报文格式。这种协议比其报文格式更为复杂,因为它把通过本地网的连接与那些跳数很多的连接区分开来,使选路表中的陈旧项目不再起作用,并且它使用局部标识符而不是完整的IP地址来标识主机。

    
0162431 
校验和日期
时间 
时间戳本地项目主机数 
时延1偏移1 
时延2偏移2 
  
时延n时延n 

HELLO报文的格式。每个报文携带日期、时间以及时间戳,以便协议用来估计网络的时候

校验和CHECKSUM)字段记录了整个报文的校验和,日期DATE)字段是发送者的当地日期,时间TIME)字段是按照发送者的时钟记录下的当地时间,时间戳TIMESTAMP)字段用于计算往返时延。

标有 # HOSTS的字段给出了主机列表中的项目数,本地项目LOCAL ENTRY)字段标出本地网络使用的项目块。每个项目包括时延DELAY)字段和偏移OFFSET)字段,分别给出了到达目的的主机的时延,以及发送方对该主机与自己时钟的偏差的当前估值。

相关内容

    暂无相关文章