一种分布式自适应传输路由协议的制作方法

文档序号:10492214阅读:530来源:国知局
一种分布式自适应传输路由协议的制作方法
【专利摘要】本发明公开了一种分布式自适应传输路由协议,具体执行步骤如下:每个节点定期广播OGM,从而通知其链路本地邻居该节点的存在;链路本地邻居的接收发起人消息根据特定的协议转发规则中继转播;网络因此泛洪这些信源;这些泛洪过程是通过单跳的邻居执行的;执行两跳邻居;依次类推执行三跳邻居,执行四跳邻居;OGM以UDP方式重复广播发送,因此泛洪直到每个节点收到至少一次,或直到它们由于通信链路丢包,或者直到TTL值已过期别丢失。本发明实现对网络实时维护最优路径和其余多跳路径,并且能过做到对路由自动修复和重组。本发明能够快速有效的确定每个目标节点的最佳下一跳,这种方法不需要找出或者计算出完整的路由。
【专利说明】
一种分布式自适应传输路由协议
技术领域
[0001]本发明涉及ad-hoc网络的多路径路由技术领域,具体是一种路由传输协议,尤其是一种分布式自适应传输路由协议。
【背景技术】
[0002]无线通信网络由于能快速、灵活、方便地支持用户的移动,而成为个人通信和因特网发展的方向,成为了实现“任何人在任何时间,任何地点与任何人进行任何信息的交换”这一理想通信目标的最具潜力方案之一,在过去这么多年里,无线用心技术取得了突飞猛进的发展,从人工操作的无线电报网络到使用扩频技术的自动化无线局域、个域网络,无线网络的应用领域随着技术的进步不断地扩展,特别是近几年,无线通信网络无论在技术上还是在商业上都取得了飞速的发展,它完成了从第一代模拟通信到第二代数字通信及第二代数字通信到第三代宽带多媒体通信的转变。
[0003]目前,世界上第三代移动通信技术产业化的同时,已把研究重点转入下一代无线网络研究上,一般认为,下一代无线网络不再是全新的单一结构的网络技术,而是多种无线网络技术的融合,是一个多级网络形态,无线网络中的多跳连接将会成为下一代无线通信网络发展的必然趋势,也就是说,以多跳无线连接为主要组网方式的Ad Hoc网络、无线多跳自组织网络和无线传感网络将会成为下一代无线网络的技术热点。

【发明内容】

[0004]本发明的目的在于提供一种分布式自适应传输路由协议,是一种专为无线自组织多跳网络设计的主动路由协议,包括可移动的自组织网络(MANET),以解决上述【背景技术】中提出的问题。
[0005]为实现上述目的,本发明提供如下技术方案:
[0006]—种分布式自适应传输路由协议,具体执行步骤如下:
[0007]第一步:每个节点定期广播0GM,从而通知其链路本地邻居该节点的存在;链路本地邻居的接收发起人消息根据特定的协议转发规则中继转播;网络因此泛洪这些信源;
[0008]第二步:这些泛洪过程是通过单跳的邻居执行的;
[0009 ]第三步:执行两跳邻居;依次类推第四步执行三跳邻居,第五步执行四跳邻居;
[0010]OGM以UDP方式重复广播发送,因此泛洪直到每个节点收到至少一次,或直到它们由于通信链路丢包,或者直到TTL值已过期别丢失;
[0011]收到的来自链路本地邻居的一个给出的OGM的数量,被用来评估单/多跳路由的质量;
[0012]为了寻找最佳路由,协议计算收到的信源,并记录链路本地邻居转发的0GM;运用这个OGM,协议维持一个本地链路表,它能够区分新的信源和旧的转发的信源,确保每个OGM只被记录一次。
[0013]作为本发明进一步的方案:所述协议的每个数据包被封装成一个单一的UDP数据包,数据包由一个OGM和O个或不少于I个HNA扩展信息组成;其中OGM大小为固定的12个8比特,OGM跟随O个或不少于I个HNA扩展信息;每个HNA扩展信息紧跟前一个OGM消息后,必须分别进行处理;HNA扩展信息有一个固定大小的5个8比特字节;
[0014]序列号为导向,接收OGM的序列号是每个OGM发送的密钥信息;序列号都记录在专用的滑动窗口,直到它们被认为是超出范围;滑动窗口中的序列号是用来作为检测到的链接和路径度量的质量的记录;序列号的范围为O到2~16-1;此序列号周期性的从O到2~16-1,当达到最大值时,再次从O开始。
[0015]作为本发明进一步的方案:所述协议的网关如下:每一个节点具有访问网络连接和路由的功能,能作为一个网关;该网关发布传输位于OGM中的GWFlags标志;如果节点不准备接入到网络,则该节点设定GWFlags为O;否则,GWFlags包含所提供的带宽编码;提供节点应该将此值设置为可用带宽的最佳近似估计值;
[0016]GffFlags编码用带宽以Kbit/s表示,上行和下行带宽的计算方法的依据如下:
[0017]下行带宽=32*(S+2)*2~down kbit/s
[0018]上行带宽=((up+l)* (下行带宽))/8kbit/s
[0019]节点为了保证其确定功能,并以多种方式决定网关;节点能为用户设置他的静态网关,而不是仅仅是协议决定的自动获取的最佳网关。
[0020]作为本发明进一步的方案:所述协议的协议路由表如下:如果从一个OGM通过HNA扩展信息从一个未知的源或到达一个未知网络/主机,它会被添加到路由表中,选择最佳本地链路的双向邻居作为网关;如果目标是一台主机,最佳双向单跳邻居为目标的主机路由将被添加;如果目标是一个网络,由HNA扩展信息发布包括OGM的消息,通过添加网络路由中最佳的双向单跳邻居;如果双向单跳邻居不被选中作为本身的网关,则单跳源节点不能作为最佳的它本身的网关,必须通过另一个双向单跳邻居的主机进行路由选择;如果到目的地的最佳的排序邻居发生变化,路由表必须被更新;节点从已知的源节点收到一个单一的OGM或HNA扩展信息的间隔时间超过WIND0W_SIZE和PURGE_I1ME0UT的值的时候,该路线被认为是过期,将从路由表中被删除;删除的时间间隔对比滑动窗口的大小设置;
[0021 ]协议路由表维护时,每个节点通过把自己的MAC地址放入到自己的OGM中,然后通过周期性的广播发送出去;其它节点接收到OGM后,会进行一系列的判断,经判断后后,会丢弃数据包或者更新自己的源节点列表,然后进行重广播操作;所述重广播是指将广播接收至Ij的OGM重新广播出去;判断过程如下:
[0022]第一步,判断是否是标准广播包头大小;如果大小不符合规定,会被接收节点直接丢弃;
[0023]第二步,对接收节点来说,如果接收数据包的标识说明是广播,但目的地址是单播的话,将被丢弃;
[0024]第三步,OGM的发送者地址是网络中某一个MAC地址,如果该地址是一个广播地址,将被丢弃;
[0025]第四步,接收节点接收到自己广播出去的消息,将会被丢弃;这里的消息是指自己网卡发出去还未被转发的消息;
[0026]第五步,广播包的TTL值小于2的话,将会被丢弃;
[0027]经过上述几个步骤判断后,接收节点会更新滑动窗口的元节点0GM,然后进行重新广播准备,该准备阶段也需要进行三个判断;
[0028]第一步,检查数据包是不是一个副本;是的话将丢弃;
[0029]第二步,检查数据包序列号是不是陈旧的;是的话将丢弃;
[0030]第三步,检查数据包是不是已经被其它网关节点发送了;是的话将丢弃;
[0031]接着就会建立双向链路进行重广播数据包;节点会周期性的发送0GM,接收节点也会周期性的维护源节点列表的内容,接收节点将要在规定时间内接收到源节点的0GM,否则将会被判断源节点失效,路由表中的信息将会被清除。
[0032]作为本发明进一步的方案:所述协议的传输质量TQ如下:本地链路的传输质量是通过从邻居节点接收到的OGM的数量间接计算出来的;本地节点统计本地滑动窗口内的所有接收到的0GM,这里用接收质量RQ来代表这一数值;在这些接收到的OGM中,由自己发出而又被邻居节点重新广播的OGM,本地节点同样维护了一个滑动窗口,统计接收到的此类OGM,用EQ来表示这一数值;本地链路的EQ是通过传输质量TQ和接收质量RQ的乘积得到的,公式为:
[0033]EQlocal = TQlocal*RQlocal
[0034]所以传输质量TQ表示为:
[0035]TQlocal = EQlocal/RQlocal
[0036]在极端情况下,接收到的数据包数量过少,协议会判断该链路失效,从而将链路传输质量TQ值为O。
[0037]与现有技术相比,本发明的有益效果是:
[0038]为了克服单跳网络的不足,本发明通过对节点多跳传输过程中的数据包格式,路由表的建立和维护以及度量值TQ计算的设定,能够实现单跳或者多跳通信链路的方式主动维护无线多跳网络中的所有存在的节点的信息。能够确定无线多跳网络中每个目标节点的一个单跳邻居,用来作为与目标节点通信的最好的网关。能够实现对网络实时维护最优路径和其余多跳路径,并且能过做到对路由自动修复和重组。本发明能够快速有效的确定每个目标节点的最佳下一跳,这种方法不需要找出或者计算出完整的路由。
【附图说明】
[0039]图1为本发明Marimesh协议OGM广播示意图。
[0040]图2为本发明Marimesh协议路由更新示意图。
[0041 ]图3为本发明Marimesh协议TQ计算示意图。
[0042]图4为本发明Marimesh协议无线多跳网络场景示意图。
[0043]图5为本发明Marimesh协议无线多跳网络节点与链路集合示意图。
[0044]图6是Marimesh数据包格式图。
[0045]图7是OGM大小信息图。
[0046]图8是HNA扩展信息图。
[0047]图9是滑动窗口中的序列号列表图。
[0048]图10是GffFlags标志位图。
[0049]图11是本发明Marimesh协议接口通讯图。
【具体实施方式】
[0050]下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051 ] 实施例1
[0052]本发明实施例中,请参阅图11,本发明从硬件接口接收到OGM后发往路由模块,经过发送模块转发给别的节点;本节点要发数据出去:从上层应用发到软件接口经过单播包模块发送出去;若收到给自己的单播包从硬件接口到路由模块通过软件接口到上层应用;不是给自己的单播包经过路由模块转发出去。
[°°53] 一种分布式自适应传输路由协议(即Marimesh协议),所述Marimesh具体执行步骤如下:
[0054]第一步:每个节点定期广播OGM,从而通知其链路本地邻居它的存在。链路本地的邻居接收发起人消息根据特定的协议转发规则中继转播。网络因此泛洪这些信源。
[0055]第二步:这些泛洪过程是通过单跳的邻居执行的。
[0056]第三步:执行两跳邻居。依次类推第四步执行三跳邻居,第五步执行四跳邻居。
[0057]OGM以UDP方式重复广播发送,因此泛洪直到每个节点收到至少一次,或直到它们由于通信链路丢包,或者直到TTL(生存时间)值已过期别丢失。在实践过程中OGM包丢失是由于干扰,碰撞或者堵塞引起的。
[0058]收到的来自链路本地邻居的一个给出的OGM源的数量,被用来评估单/多跳路由的质量。
[0059]为了寻找最佳路由,协议计算收到的信源,并记录链路本地邻居转发的信息。运用这个信息,协议维持一个本地链路表,它能够区分新的信源和旧的转发的信源,确保每个OGM只被记录一次。
[0000]所述Marimesh数据包格式如图6所示。每个数据包被封装成一个单一的UDP数据包。数据包由一个OGM和O个或多个HNA扩展信息组成。其中OGM大小为固定的12个8比特,如图7所示。
[0061]OGM可以跟随O个或多个HNA扩展信息。每个扩展信息紧跟前一个OGM消息后,必须分别进行处理。HNA扩展信息有一个固定大小的5个8比特字节,如图8所示。
[0062]序列号为导向。事实上,接收OGM的序列号是每个OGM发送的密钥信息。序列号都记录在专用的滑动窗口,直到它们被认为是超出范围。因此,这样的滑动窗口总是包含最近接收到的序列号的组。滑动窗口中的序列号是用来作为检测到的链接和路径度量的质量的记录。序列号的范围不是无限空间,但被限制在范围为O到2~16-1。由于空间有限,所有的算术运算必须进行2~16模。此序列号周期性的从O到2~16-1,当达到最大值时,再次从O开始。列表如图9所示。
[OO63 ]所述Mar i me s h网关如下:每一个节点具有访问网络连接和路由的功能,可以作为一个网络网关。该网关发布传输位于OGM包中的GWFlags标志。如果节点不准备接入到网络,它必须设定GWFlags为O。否则,GWFlags包含所提供的带宽编码。提供节点应该将此值设置为可用带宽的最佳近似估计值。GWFlags标志位如图10所示。
[0064]GWFlags编码大致可用带宽以Kbit/s表示,上行和下行带宽的计算方法的依据如下:下行带宽= 32*(S+2)*2~down kbit/s
[0065]上行带宽=((up+l)* (下行带宽))/8kbit/s
[0066]节点能够从几个方面确定网关,在网络中的各个节点可以选择决定使用的下载速度和连接质量,或以此为依据作为自身网关或作为确定移动节点的一个最佳的下载速度网关合适的解决方案,但网关将会被频繁的更换使用。
[0067]节点为了保证其确定功能,并以多种方式决定网络网关。这对我们来说是相当有用的,例如,能够选择的下载速度以及网关的连接强度,查看条件组合的优先级。例如移动节点可能是重要的,因为它可能优先级比较高的,而重点不是它们的网关具有自己的网络连接的速度上。另一方面允许静态用户接受一个比较差网关,虽然本身是一个较好的网关。而在某些情况下,这两种方法结合起来虽然动态选择的互联网网关总是由于开关从一个网关到另一个而与它带来的可能性的所有连接被重置。因此,路由协议可以为用户设置他的静态网关,而不是仅仅是协议决定的自动获取的最佳网关。
[0068]所述Marimesh协议路由表如下:如果从一个OGM通过HNA从一个未知的源或到达一个未知网络/主机,它会被添加到路由表中,选择最佳本地链路的双向邻居作为网关。如果目标是一台主机,最佳双向单跳邻居为目标的主机路由将被添加。如果目标是一个网络,由HNA信息发布包括OGM的消息,通过添加网络路由中最佳的双向单跳邻居。双向单跳邻居可能不会被选中作为本身的网关。这种情况下单跳源节点不能作为最佳的它本身的网关,必须通过另一个双向单跳邻居的主机进行路由选择。如果到目的地的最佳的排序邻居发生变化,路由表必须被更新。节点从已知的源节点收到一个单一的OGM或HNA的间隔时间较长,超过WIND0W_SIZE和PURGEJl MEOUT的值的时候,路线被认为是过期,将被从路由表中删除。删除的时间间隔应该对比滑动窗口的大小设置。
[0069]路由表维护时,每个节点通过把自己的MAC地址放入到自己的OGM消息中,然后通过周期性的广播发送出去。其它节点接收到OGM消息后,会进行一系列的判断,经判断后后,会丢弃数据包或者更新自己的源节点列表,然后进行重广播操作。所谓重广播是指将广播接收到的OGM消息重新广播出去。判断过程如下:
[0070]第一步,判断是否是标准广播包头大小。如果大小不符合规定,会被接收节点直接丢弃。
[0071]第二步,对接收节点来说,如果接收数据包的标识说明是广播,但目的地址是单播的话,将被丢弃。
[0072]第三步,OGM的发送者地址是网络中某一个MAC地址,如果该地址是一个广播地址,将被丢弃。
[0073]第四步,接收节点接收到自己广播出去的消息,将会被丢弃。这里的消息是指自己网卡发出去还未被转发的消息。
[0074]第五步,广播包的TTL值小于2的话,将会被丢弃。
[0075]经过这几个步骤判断后,接收节点会更新滑动窗口的元节点0GM,然后进行重新广播准备,该准备阶段也需要进行三个判断。
[0076]第一步,检查数据包是不是一个副本。
[0077]第二步,检查数据包序列号是不是陈旧的。
[0078]第三步,检查数据包是不是已经被其它网关节点发送了。是的话将丢弃
[0079]接着就会建立双向链路进行重广播数据包。节点会周期性的发送OGM消息,接收节点也会周期性的维护源节点列表的内容,接收节点将要在规定时间内接收到源节点的0GM,否则将会被判断源节点失效,路由表中的信息将会被清除。
[0080]所述Marimesh协议的传输质量TQ如下:
[0081]本地链路的质量是通过从邻居节点接收到的OGM消息的数量间接计算出来的。本地节点统计本地滑动窗口内的所有接收到的OGM消息,这里用RQ(Receive Quality)来代表这一数值。在这些接收到的OGM消息中,由自己发出而又被邻居节点重新广播的OGM消息,本地节点同样维护了一个滑动窗口,统计接收到的此类OGM消息,用EQ(Echc) Quality)来表示这一数值。本地链路的EQ是通过传输质量TQ和接收质量RQ的乘积得到的,公式为:
[0082]EQlocal = TQlocal*RQlocal
[0083]所以传输质量TQ就可以表示为:
[0084]TQlocal = EQlocal/RQlocal
[0085]在极端情况下,接收到的数据包数量过少,协议会判断该链路失效,从而将链路传输质量TQ值为O。
[0086]Marimesh协议路由是一种无线网络实现多跳传输的协议,无线网络中,每个节点都会广播OGM包,邻居节点通过接受这些OGM包来知道该节点的存在。邻居节点则是根据一定的协议规则来重广播,通知网络中的其它节点该节点的存在信息。每个节点只做一次被认为是最优下一跳的重广播OGM包。
[0087]如图1所示,为Marimesh协议OGM包广播示意图,上电后每个节点自动周期性的广播OGM包,邻居收到后进行转播。
[0088]在一般的无线网络AP中,如果接入AP的终端设备过多,到达一定数量时,会导致网络阻塞导致带宽降低。而在该分布式自适应传输路由协议的多跳网络中将不会出现这种情况,该网络的冗余机制可以避免网络阻塞,而且具有强大的通信负载平衡功能,防止链路中断。每个节点都会根据负载选择相邻的单跳网络的最佳路径,从而有效的避免因单跳网络而产生的网络阻塞和断路问题。如图1中所示,D节点要和A节点通信,根据得到传输质量最好的那条路,选出最好的邻居节点链路质量能够选择信号最好的邻居点(C或者F),比较然后逐次往上判断。D节点通过B节点和C节点,接收到来自A节点的广播包,判断出,D节点的最优下一跳是C节点,同样C节点的最优下一跳是B节点,以及B节点是与A通信的最优下一跳。从而实现D节点和A节点的通信。
[0089]如图2所示,为Marimesh协议路由更新示意图,在网络发生故障时,Marimesh协议可以由另一条路由实现数据传输,也就是说网络的每个节点可以使用多路由,当不用时作为备用传输路径。我们经常使用的E-mail就是使用该多路由机制在用户邮箱重组数据包信息。无线多跳网络的每个节点到达目标节点可以由多条路由实现。当网络正常传输数据时,一旦该链路发生故障,自动搜索获取最佳链路为其传输路径,并且无线网络的协议支持移动节点路由,网络的链路只要在辐射覆盖范围内,整个网络将不受运动或者个别节点影响。图2中节点A到节点D的通讯有三条路径,分别是A-B-D,A-F-D,A-E-D等,初始最佳通讯路径是A-B-D,当收到干扰B-D断路时,该网络会自动寻找其它最优路径A-F-D,保证数据传输通畅。
[0090]如图3所示,为Marimesh协议TQ计算示意图,在多跳网络建立时,网络中的各节点仅一个无线通信接口应对无线通信中的干扰信号,是一种非对等链路,为了更准确的衡量整个链路质量的优劣,分布式自适应传输路由协议将链路质量分为三个部分:对于A点来说,如图a所示,RQ是A收到B发送信息的可能性大小;如图b所示,EQ是A发给B再转回来收到的可能性大小;如图c所示,TQ是A成功发送给B的可能性大小。节点发往某本地邻居节点的OGM包的百分比,即公式是:TQ = EQ/RQ。
[0091]如图4所示,为Marimesh协议无线多跳网络场景示意图。在无线多跳网络中,有六个可以通信的节点A,B,C,D,E,F。在每个节点中均部署且运行了本发明的分布式自适应传输路由协议,待协议运行稳定后,可以形成图4中的拓扑环境示意图。那么,一个可能的消息发送过程可以描述为以下部分:
[0092](I)节点A准备向节点F发送消息。
[0093](2)节点A通过查阅路由信息表,它只会选择所有一跳的路径,即链路集合{(A,B),(A,C),(A,D)},这样才能到达一跳邻居集合相应的集合如图5(a)所示。
[0094](3)节点A根据统计数据,计算出分别与节点B,C,D链路的TQ值。根据TQ值的不同,节点A使用TQ值最大的路径。
[0095](4)假设链路(A,B)是最好的链路,节点A向节点B发送消息。
[0096](5)因为节点B并不是目标节点F,所以要重复算法的步骤一到四。
[0097](6)将图G缩减成图S。节点B只考虑一跳链路集合{(B,C),(B,E)),这样到达邻居节点集合相应的集合如图5 (b)所示。
[0098](7)节点B根据链路(B,C)和(B,E)的TQ值,来选择TQ值最大的路径。
[0099 ] (8)假设链路(B,E)是最好的链路,节点响节点E发送消息。
[0100](9)因为节点E不是目标节点F,所以要重复算法的步骤一到四。
[0101]将图S缩减成缩减图S,如图5(C)所示。节点E为了到达邻居节点集{C,F},只会考虑链路集合{(E,F),(E,C)}。而节点F是目标节点,所以只有一条链路可以达到节点F,所以链路(E,F)是最佳路径。至此,算法结束。
[0102]对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
[0103]此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
【主权项】
1.一种分布式自适应传输路由协议,其特征在于,它的具体执行步骤如下: 第一步:每个节点定期广播OGM,从而通知其链路本地邻居该节点的存在;链路本地邻居的接收发起人消息根据特定的协议转发规则中继转播;网络因此泛洪这些信源; 第二步:上述泛洪过程是通过单跳的邻居执行的; 第三步:执行两跳邻居; 依次类推第四步执行三跳邻居,第五步执行四跳邻居; OGM以UDP方式重复广播发送,因此泛洪直到每个节点收到至少一次,或直到它们由于通信链路丢包,或者直到TTL值已过期别丢失; 收到的来自链路本地邻居的一个给出的OGM的数量,被用来评估单/多跳路由的质量; 为了寻找最佳路由,协议计算收到的信源,并记录链路本地邻居转发的0GM;运用这个OGM,协议维持一个本地链路表,它能够区分新的信源和旧的转发的信源,确保每个OGM只被记录一次。2.根据权利要求1所述的分布式自适应传输路由协议,其特征在于,所述协议的每个数据包被封装成一个单一的UDP数据包,数据包由一个OGM和O个或不少于I个HNA扩展信息组成;其中OGM大小为固定的12个8比特,OGM跟随O个或不少于I个HNA扩展信息;每个HNA扩展信息紧跟前一个OGM消息后,必须分别进行处理;HNA扩展信息有一个固定大小的5个8比特字Tl ; 序列号为导向,接收OGM的序列号是每个OGM发送的密钥信息;序列号都记录在专用的滑动窗口,直到它们被认为是超出范围;滑动窗口中的序列号是用来作为检测到的链接和路径度量的质量的记录;序列号的范围为O到2~16-1;此序列号周期性的从O到2~16-1,当达到最大值时,再次从O开始。3.根据权利要求1所述的分布式自适应传输路由协议,其特征在于,所述协议的网关如下:每一个节点具有访冋网络连接和路由的功能,能作为一个网关;该网关发布传输位于O G M中的G W FI a g s标志;如果节点不准备接入到网络,则该节点设定G W FI a g s为O ;否则,GWFlags包含所提供的带宽编码;提供节点应该将此值设置为可用带宽的最佳近似估计值; GWFlags编码用带宽以Kbit/s表示,上行和下行带宽的计算方法的依据如下: 下行带宽= 32*(S+2)*2~down kbit/s 上行带宽= ((up+l)* (下行带宽))/8kbit/s 节点为了保证其确定功能,并以多种方式决定网关;节点能为用户设置他的静态网关,而不是仅仅是协议决定的自动获取的最佳网关。4.根据权利要求1所述的分布式自适应传输路由协议,其特征在于,所述协议的路由表如下:如果从一个OGM通过HNA扩展信息从一个未知的源或到达一个未知网络/主机,它会被添加到路由表中,选择最佳本地链路的双向邻居作为网关;如果目标是一台主机,最佳双向单跳邻居为目标的主机路由将被添加;如果目标是一个网络,由HNA扩展信息发布包括OGM的消息,通过添加网络路由中最佳的双向单跳邻居;如果双向单跳邻居不被选中作为本身的网关,则单跳源节点不能作为最佳的它本身的网关,必须通过另一个双向单跳邻居的主机进行路由选择;如果到目的地的最佳的排序邻居发生变化,路由表必须被更新;节点从已知的源节点收到一个单一的OGM或HNA扩展信息的间隔时间超过WI ND0W_S IZE和roRGE_TIMEOUT的值的时候,该路线被认为是过期,将从路由表中被删除;删除的时间间隔对比滑动窗口的大小设置; 协议路由表维护时,每个节点通过把自己的MAC地址放入到自己的OGM中,然后通过周期性的广播发送出去;其它节点接收到OGM后,会进行一系列的判断,经判断后后,会丢弃数据包或者更新自己的源节点列表,然后进行重广播操作;所述重广播是指将广播接收到的OGM重新广播出去;判断过程如下: 第一步,判断是否是标准广播包头大小;如果大小不符合规定,会被接收节点直接丢弃; 第二步,对接收节点来说,如果接收数据包的标识说明是广播,但目的地址是单播的话,将被丢弃; 第三步,OGM的发送者地址是网络中某一个MAC地址,如果该地址是一个广播地址,将被丢弃; 第四步,接收节点接收到自己广播出去的消息,将会被丢弃;这里的消息是指自己网卡发出去还未被转发的消息; 第五步,广播包的TTL值小于2的话,将会被丢弃; 经过上述几个步骤判断后,接收节点会更新滑动窗口的元节点0GM,然后进行重新广播准备,该准备阶段也需要进行三个判断; 第一步,检查数据包是不是一个副本;是的话将丢弃; 第二步,检查数据包序列号是不是陈旧的;是的话将丢弃; 第三步,检查数据包是不是已经被其它网关节点发送了;是的话将丢弃; 接着就会建立双向链路进行重广播数据包;节点会周期性的发送0GM,接收节点也会周期性的维护源节点列表的内容,接收节点将要在规定时间内接收到源节点的OGM,否则将会被判断源节点失效,路由表中的信息将会被清除。5.根据权利要求1所述的分布式自适应传输路由协议,其特征在于,所述协议的传输质量TQ如下:本地链路的传输质量是通过从邻居节点接收到的OGM的数量间接计算出来的;本地节点统计本地滑动窗口内的所有接收到的0GM,这里用接收质量RQ来代表这一数值;在这些接收到的OGM中,由自己发出而又被邻居节点重新广播的OGM,本地节点同样维护了一个滑动窗口,统计接收到的此类OGM,用EQ来表示这一数值;本地链路的EQ是通过传输质量TQ和接收质量RQ的乘积得到的,公式为:EQlocal 一 TQlocal^RQlocal 所以传输质量TQ表不为:TQlocal 一 EQlocal/RQlocal 在极端情况下,接收到的数据包数量过少,协议会判断该链路失效,从而将链路传输质量TQ值为O。
【文档编号】H04L29/06GK105847278SQ201610289758
【公开日】2016年8月10日
【申请日】2016年5月3日
【发明人】毛续飞, 韩建康, 鲍洪
【申请人】杭州寒舍科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1