发明名称 基于AODV协议的多信道多接口无线网络编解码方法
摘要 本发明涉及一种基于AODV协议的多信道多接口无线网络编解码方法,包括:对AODV协议下的数据包的格式进行改进;网络中各节点随机选择固定接口和可切换接口的工作信道;在发送数据包的过程中,每个路径上的节点,按照编码规则判断自身是否为存在编码机会的节点,如果判断自身是存在编码机会的节点,则对发送过来的若干数据包进行编码,编码后将编码包发送至参与编码的其中一个数据包的下一跳节点,其他参与编码的数据包的下一跳节点通过机会监听获取编码包:如果判断自身是不存在编码机会的节点,则将数据包单独发送至下一跳节点处。本发明可提高网络编解码机会,提高网络的吞吐量。
申请公布号 CN104780152A 申请公布日期 2015.07.15
申请号 CN201510005970.5 申请日期 2015.01.06
申请人 天津大学 发明人 金志刚;王炳鉴;罗咏梅
分类号 H04L29/06(2006.01)I;H04L1/00(2006.01)I;H04W40/02(2009.01)I 主分类号 H04L29/06(2006.01)I
代理机构 天津市北洋有限责任专利代理事务所 12201 代理人 程毓英
主权项 一种基于AODV协议的多信道多接口无线网络编解码方法,包括下列步骤:1)对AODV协议下的数据包的格式进行改进,数据包分为两种类型,一种是原始数据包,一种是编码包,在每个数据包的数据包类型(type)条目后添加一些信息,包括以下几部分:(1)包序列号(seq_num):该数据包的序列号,与源IP一起共同作为该数据包的唯一标识,单独占据一个条目;(2)包时间戳(timestamp):该数据包的发送时间,用于计算时延,单独占据一个条目;(3)邻居固定信道表:包括一跳邻居节点的IP(nb_ip)和该节点的固定信道ID(fixed_channel_id)两部分,该表为结构体字段,每个节点的信息占据一个条目;(4)固定信道使用率表:包括信道ID(channel_id)和使用次数(usage_times)两部分,两部分占据一个条目;(5)参与编码的原始数据包个数(encode_num):参与编码的原始数据包的个数,若为1,则此包为原始数据包,没有编码包信息表,否则此包为编码包,需附上其所包含的每个原始数据包的信息,有编码包信息表,单独占据一个条目;(6)编码包信息表:包括源节点地址(src_ip),目的节点地址(dst_ip),下一跳地址(next_hop),原始数据包序列号(pkt_seq)和原始数据包时间戳(pkt_stime)五部分,该表为结构体字段,每个原始数据包的信息占据一个条目;2)网络中各节点随机选择固定接口和可切换接口的工作信道;3)源节点发送路由请求消息包到目的节点,包中携带包含自己及其一跳邻居节点的固定接口的工作信道信息的邻居固定信道表,发送过程中,路由请求消息包每经过一个节点,该节点就用自己及一跳邻居节点的邻居固定信道表对包中原邻居固定信道表进行替换,然后再发往下一跳节点;4)路径上的每个节点根据路由请求消息包中携带的信息更新自身邻居固定信道表和固定信道使用率表,同时,各个节点的一跳邻居节点通过监听获取路由请求消息包并更新自身邻居固定信道表和固定信道使用率表;5)目的节点收到路由请求消息包后向源节点回应路由请求回应消息包,包中携带包含自己及其一跳邻居节点的固定接口的工作信道信息的邻居固定信道表,发送过程中,路由请求回应消息包每经过一个节点,该节点就用自己及一跳邻居节点的邻居固定信道表对包中原邻居固定信道表进行替换,然后再发往下一跳节点;6)路径上的每个节点根据路由请求回应消息包中携带的信息更新自身邻居固定信道表和固定信道使用率表,同时,各个节点的一跳邻居节点通过监听获取路由请求回应消息包并更新自身邻居固定信道使用表和固定信道使用率表;7)当路径上的某节点使用的固定信道为使用率最高的固定信道时,该节点以一定的概率将其固定接口切换到使用率最低的固定信道上;8)切换固定信道的节点向一跳邻居节点发送HELLO包,包中携带切换后自己的固定信道信息;9)源节点根据邻居固定信道表选择工作在下一跳节点的固定信道上的可切换接口发送原始数据包,若没有可切换接口工作在此信道上,则令某一可切换接口切换到此信道上,然后发送原始数据包;10)发送前,源节点需在原始数据包中添加1)中各项信息,其中参与编码的原始数据包个数为1,其余各项根据具体情况确定,没有编码包信息表部分;11)在发送原始数据包的过程中,每个路径上的节点,按照编码规则判断自身是否为存在编码机会的节点,如果判断自身是存在编码机会的节点,则对发送过来的若干原始数据包进行编码,编码后将编码包发送至参与编码的其中一个原始数据包的下一跳节点,其他参与编码的原始数据包的下一跳节点通过机会监听获取编码包:如果判断自身是不存在编码机会的节点,则将原始数据包单独发送至下一跳节点处,同时,该节点的所有一跳邻居节点通过机会监听获取此原始数据包,若缓存队列中已经存在此原始数据包则将其丢弃,否则存储进缓存队列;上面提到的编码规则为:①参与编码的数据包为原始数据包;②参与编码的原始数据包的下一跳节点各不相同;③所有参与编码的原始数据包的下一跳节点都能够通过机会监听的方式获取除以本节点为下一跳节点的原始数据包以外的所有参与编码的原始数据包,即某一原始数据包的下一跳节点与其余参与编码的原始数据包的上一跳节点都相邻;④编码节点只能作为中转节点,不能是任何参与编码的原始数据包的源节点;⑤对于第一个加入编码集合的原始数据包只需考虑规则①;12)发送原始数据包过程中,若原始数据包没有形成编码包,则每个节点在发送前对该原始数据包的10)中提到的各项信息进行更新,但包序列号不变,参与编码的原始数据包个数始终为1,没有编码包信息表部分;若原始数据包在某节点形成编码包,则该节点需在编码包中添加1)中提到的各项信息,其中参与编码的原始数据包个数为形成该编码包的原始数据包的个数,有编码包信息表部分,其内容根据具体情况确定;13)收到编码包的下一跳节点对编码包按照以下规则对其进行解码:①接收节点为参与编码的原始数据包之一的下一跳节点;②接收节点的缓存队列中存在除以该节点为下一跳节点的原始数据包外所有参与编码的原始数据包;③若解码出的原始数据包的目的节点为本节点,则交由上层处理,否则将其转发或丢弃;14)在原始数据包转发过程中,若路径上的某节点判断此原始数据包的目的节点为本节点,则将其交由上层处理,本次收发完成;若此原始数据包的目的节点不是本节点,则根据其下一跳节点将其转发,直至到达其目的节点。
地址 300072 天津市南开区卫津路92号