现在一个路由在节点1和节点3被建立起来,它用了以上各帧。注意在路由期间,所有节点延着路由试图路由数据到目地结点。这些路由的输入项将将被 用于路由目的而不需要进一步的路由发现。最终,形成一个大的路由表,所有节点在网络中将发现所有可能(使用)路由。 也注意一些节点由一个路由发现建立多于一个输入项在路由表中。这是一个 路由算法的一般特性,在选择节点的路由表大小时,应牢记预计路路很多线路。 在同一时间,有一个在路由的条目的数目的上限表,该表是网络中的最大节点数。 4.3.2.2 路由维护和利用 每个发射和接收帧路由表都更新。 当一个路由被接收,由路表可由下列方法更新: 1.如果源程序的源程序地址指示发送设备是非路由节点(它是非路由节点,则执行任何动作不能用作路线的一部分)。 2.如果从源网络地址来的一个输入项,这个输入项含有下一个跳转地址不同于接收帧的源MAC地址,并且接收帧的LQI比在路由输入项上的好,那么原节点输入项被更新下一个跳转地址。输入项被设为NWK_ROUTE_DEFAULT_SCORE 3.如果有一个源网络地址的输入项,这个输入项含有下一个跳转地址不同于接收帧的源MAC地址,如果接收帧是一个路由发现帧(MAC地址是0xffff网络地址是0xffff),那么输入项用源节点作为下一个跳转地址。输入项score设为NWK_ROUTE_DEFAULT_SCORE. 4.如果没有源网络地址的输入项,那么一个新的输入项被在路由表中建立。 5.输入项的LQI(存在的或新建的)设为接收的帧。 当一个帧被发出路由表有以下方法更新: 6.如有一个目地地址的输入项,那么 1.如果帧成功发射,那么输入项的SCORE设为NWK_ROUTE_DEFAULT_SCORE. 2.否则输入score是不被建立的。如果输入源到达0,那么输入项从路由表中移除。 7.如果没有目地地址输入项,那么没有行为被执行。 本质上,该算法执行局部优化,所以它建立和维护路由的最佳链路质量 在每一个环节上,但不保证最短路径。
|