发送间隔时间和保持时间的设置
- 常数C的取值为: C= 1/16s (0.0625s)
- 常数C是一个比列因数,用于“有效时间(Validity Time)”的计算
- (消息头中的“接收信息有效时间(Vtime)” 域和“HELLO消息发送周期(Htime)” 域)
广播“Vtime”时间是为了网络中的各个节点可以具有不相等的、单独可调的发送间隔时间,同时仍然保持完全互操作。
对于OLSR协议进行的协议功能和互操作性,有:
- (1)广播保持时间必须始终大于广播信息的刷新间隔时间。而且,建议按照稍后的说明维持发送间隔时间和保持时间之间的关系,以容许合理的分组丢失
- (2)常数C应该设为建议值。为了实现互操作,所有节点的常数C必须相同
- (3)可以为每个节点单独选择发送间隔时间和广播保持时间(受到上述限制)
- 一个给定的OLSR协议实现的定时器分辨率依靠精确刷新时间,或者精确期满时间不足以唤醒系统
OLSR协议实现应该对“有效时间”(分组的“Vtime”和“Htime”)四舍五入,以便补偿比较粗糙的定时器分辨率,至少在”有效时间”可能小于发送间隔时间与最大定时器平均误差之和的时候能够补偿
发送间隔时间
HELLO_INTERVAL= 2s .
REFRESH_INTERVAL= 2s
TC_INTERVAL= 5s
MID_INTERVAL = TC_INTERVAL (TC消息发送周期)
HNA_INTERVAL = TC_INTERVAL (TC消息发送周期)保持时间
NEIGHBHOLD_TIME= 3 × REFRESH INTERVAL
TOP_HOLD_TIME = 3 × TC INTERVAL
DUP_HOLD_TIME = 30s
MID_HOLD_TIME = 3 × MID_INTERVAL
HNA_HOLD_TIME = 3 × HNA_INTERVAL消息头中的Vtime域、HELLO消息中的Htime域用于保存上述有关数值的信息,这些数值采用尾数和指数格式(四舍五入)表示,换句话说:
- 其中:a表示本域高部4比特表示的整数,b表示本域低部4比特表示的整数
- 注意:对于前面建议的常数C (1/16s),可以采用上述公式按照二进制定点数或者二进制浮点数与至少8比特分数部分表示而将其存储下来,而且不会损失其精确度
- 这相当于NTP时间邮戳和单精度IEEE标准754浮点数
- 给定上述的一个保持时间,一个数T (单位: s)的尾数/指数表示计算方法如下
- (1)找出最大整数“b”使得:
- (2)计算表达式,结果可能不等于整数,则四舍五入,得到“a”的值
- (3)若a等于16,则将b加1,将a设为0
- (4)现在,a和b应该均等于0~5之间的整数,该域是一个取值为的字节
- 例如,对于数值2s、6s、15s、30s
其a和b的取值分别为: (a=0, b=5)、(a=8, b=6)、(a=14,b=7)、(a=14,b=8)
消息类型
HELLO_MESSAGE= 1 (HELLO消息)
TC_MESSAGE=2 (拓扑控制消息)
MID_MESSAGE=3 (多接口声明消息)
HNA_MESSAGE =4 (主机和网络关联消息)链路类型
UNSPEC_LINK = 0
ASYM_LINK = 1
SYM_LINK = 2
LOST_LINK = 3相邻节点类型
NOT_NEIGH = 0
SYM_NEIGH = 1
MPR_NEIGH = 2链路滞后作用
HYST_THRESHOLD_HIGH= 0.8
HYST_THRESHOLD_LOW= 0.3
HYST_SCALING= 0.5愿意设置程度
WILL_NEVER = 0
WILL_LOW = 1
WILL_DEFAULT = 3
WILL_HIGH = 6
WILL_ALWAYS = 7一个节点的愿意设置程度可以设为0~7之间的任一整数,说明该节点到底有多愿意为其他节点转发信息
- 节点的默认愿意设置程度为WILL_ DEFAULT(等于3)
- 愿意程度WILL NEVER(等于0)表示一个节点不愿意为其他节点转发信息
- 比如由于资源限制(例如电池能量低)而不愿意
- 愿意程度WILL _ALWAYS (等于7)表示一个节点总是愿意被选择为其他节点转发信息
- 例如由于资源充足( 例如持久的电能供应、到达其他节点的高容量接口)而愿意
- 一个节点可以随着其条件变化而动态改变其愿意设置程度
- 例如,一种可能的应用是
- 一个节点如果连接有持久电能和使用充电饱满的电池,则向外广播其愿意设置程度WILL_ALWAYS(总是愿意为其他节点转发信息)
- 如果与持久电能连接断开(例如一个PDA从充电器中取出后),则向外广播其愿意设置程度WILL_ DEFAULT (愿意为其他节点转发信息)
- 随着电池能量的不断消耗,其愿意设置程度不断降低(取值变小)
- 首次到达WILL DEFAULT和WILL Low之间的值,然后到达WILL Low值,最后等于WILL NEVER,此时该节点的电池供电不再支持该节点转发其他节点的信息。
其他考虑
TC_REDUNDANCY= 0
MPR_COVERAGE = 1
MAXJITTER = HELLO_INTERVAL/4