一种无线网络通信的实现方法_3

文档序号:9436713阅读:来源:国知局
于相同子网中的接入路由器的网络前缀;第二部分为节点ID,长度为i比特,该节点 ID在子网中具有唯一性,唯一标识一个移动节点;节点ID的分配空间为[1,2'],Ki。
[0089] 图3为本发明所述的任播地址结构示意图。一个任播地址由两部分构成:网络前 缀和任播ID,网络前缀的长度为128-i比特,任播ID的长度为i比特,任播地址具有网络唯 一性;任播ID的分配空间为巧'+1,21-1]。一种特定类型的数据划分K个部分,第k个部分 内容的标记为:任播地址k;k属于1~K;例如,一部电视剧有K集,第k个部分内容标识一 部电视剧的第k集。
[0090] 图4为本发明所述的数据地址结构示意图。一个数据地址用于获取一种特定类型 的数据,包括=个部分:第一部分为单播地址中的节点ID,第二部分为任播地址中的任播 ID,第=部分为部分集合,其值为所请求数据的部分的值;部分集合可W为1,2等值,如果 该值为0,则说明请求的数据为完整的数据,例如整部电视连续剧。
[0091] 图5为本发明所述的数据路由表表项结构示意图。一个多播组成员保存一个数据 路由表,用于记录提供该多播组数据的任播成员信息;一个数据路由表项记录一个任播组 成员的信息,一个数据路由表项分为四个域:单播地址域,任播地址域,部分域和距离域,其 中单播地址域为任播组成员的单播地址,任播地址域值为多播组有权获取数据的类型所对 应的任播地址,部分域值标识数据的对应部分数,例如,部分域值为1时可W表示为一个电 视连续剧的第1集;距离域表示多播组成员距离任播组成员的跳数;一个子网包含一个W 上多播组,该子网的接入路由器默认为是该子网中每个多播组的组成员。
[0092] 上述过程构建了网络获取数据的基本体系结构,通过上述网络体系结构,数据消 费节点可W从距离最近的数据提供节点获取数据,从而大幅度降低数据获取的代价和延 迟。
[0093] 图6为本发明所述的创建路由流程示意图。在任播组成员Pl的任播地址为Al, 多播地址为Ml的多播组成员有权限获取多播地址Al定义的数据的情况下;任播组成员Pl 产生了任播地址Al定义的第k个部分数据后进行如下操作:
[0094] 步骤101 :开始;
[00巧]步骤102 :任播组成员Pl发送一个数据分享消息,数据分享消息的目的地址为多 播地址M1,源地址为任播组成员Pl的单播地址,数据分享消息的负载为k和任播地址Al;
[0096] 步骤103 :多播地址为Ml的多播组成员收到数据分享消息后,在自己的数据路由 表中增加一个表项,表项的单播地址域为任播组成员Pl的单播地址,任播地址域为Al,部 分域值为k,距离域为该多播组成员与任播组成员Pl的距离; 阳〇97] 步骤104 :结束。
[0098] 上述过程构建了到达任播组成员的数据路由表,通过上述数据路由表,数据消费 节点可W从距离最近的数据提供节点获取数据,从而大幅度降低数据获取的代价和延迟。
[0099] 图7为本发明所述的子网内获取数据流程示意图。在多播地址为Ml的多播组成 员有权限获取任播地址Al标识的数据的情况下,如果多播组成员C3位于子网Nl内,且任 播地址Al的网络前缀隶属于NI,多播地址为Ml的多播组成员C3要获取任播地址Al标识 的第k部分数据,则执行下述过程:
[0100] 步骤201:开始; 阳101] 步骤202 :多播组成员C3查看自己的数据路由表,选择距离自己最近且能提供任 播地址Al标识的第k部分数据的任播组成员P2,构建一个数据地址,数据地址的节点ID为 任播组成员P2的节点ID,任播ID为任播地址Al对应的任播ID,部分集合值为k;多播组 成员C3向任播组成员P2发送数据请求消息,数据请求消息的目的地址为数据地址,数据请 求消息的源地址为多播组成员C3的单播地址;
[0102] 步骤203 :接收到数据请求消息的节点分为S种情况处理接收到的数据请求消 息: 阳103] 情况1 :如果接收到数据请求消息的节点为多播地址Ml的多播组成员且具有任播 地址Al标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停 止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点自己 的单播地址,目的地址为多播组成员C3的单播地址,数据响应消息的负载为任播地址Al标 识的第k部分数据,进行步骤205 ;
[0104] 情况2 :如果接收到数据请求消息的节点为任播组成员P2,进行步骤204 ;
[0105] 情况3 :如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求 消息转发到下一跳,进行步骤203 ; 阳106] 步骤204 :任播组成员P2向多播组成员C3返回一个数据响应消息,数据响应消息 的源地址为任播组成员P2的单播地址,目的地址为多播组成员C3的单播地址,负载为任播 地址Al标识的第k部分数据;
[0107] 步骤205 :如果接收到数据响应消息的节点为多播地址Ml中的多播组成员,且该 多播组成员同时也想获取任播地址Al标识的第k部分数据,那么该多播组成员直接保存数 据响应消息中的任播地址Al标识的第k部分数据,最终数据响应消息到达多播组成员C3 ; 阳108] 步骤206:结束。
[0109] 通过上述过程,数据消费节点可W从距离最近的数据提供节点在本地网络获取数 据,从而大幅度降低数据获取的代价和延迟。
[0110] 图8为本发明所述的最优数据提供节点失效时的子网内获取数据流程示意图。多 播地址为Ml的多播组成员有权限获取任播地址Al标识的数据,多播组成员C3位于子网Nl 内,子网Nl中的接入路由器为AR1,任播地址Al的网络前缀隶属于NI,多播地址为Ml的多 播组成员C3从任播组成员P2获取任播地址Al标识的第k部分数据,多播组成员C3发送 给任播组成员P2的数据请求消息达到任播组成员P2的前一跳节点El后,如果前一跳节点 El检测到任播组成员P2不可达,那么多播组成员C3从过下述过程获取任播地址Al标识的 第k部分数据: 阳1川步骤301:开始;
[0112] 步骤302 :前一跳节点El将接收到的数据请求消息的目的地址中的节点ID修改 为接入路由器ARl的节点ID,然后发送数据请求消息;
[0113] 步骤303 :接收到数据请求消息的节点分为S种情况处理接收到的数据请求消 息:
[0114] 情况1 :如果接收到数据请求消息的节点为多播地址Ml的多播组成员且具有任播 地址Al标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停 止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点自己 的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址Al标识的第k部分数 据,进行步骤307;
[011引情况2 :如果接收到数据请求消息的节点为接入路由器AR1,进行步骤304 ;
[0116] 情况3 :如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求 消息转发到下一跳,进行步骤303 ;
[0117] 步骤304 :接入路由器ARl选择距离自己最近且能提供任播地址Al标识的第k部 分数据的任播组成员P3,将接收到的数据请求消息的目的地址的节点ID更新为任播组成 员P3的节点ID,然后发送该数据请求消息;
[0118] 步骤305 :接收到数据请求消息的节点分为S种情况处理接收到的数据请求消 息:
[0119] 情况1 :如果接收到数据请求消息的节点为多播地址Ml的多播组成员且具有任播 地址Al标识的第k部分数据,那么接收到数据请求消息的节点返回一个数据响应消息并停 止转发接收到的数据请求消息,数据响应消息的源地址为接收到数据请求消息的节点的单 播地址,目的地址为多播组成员C3的单播地址,负载为任播地址Al标识的第k部分数据, 进行步骤307 ;
[0120] 情况2 :如果接收到数据请求消息的节点为任播组成员P3,则进行步骤306 ; 阳121] 情况3 :如果情况1和情况2都不符合,则接收到数据请求消息的节点将数据请求 消息转发到下一跳,进行步骤305 ;
[0122] 步骤306 :任播组成员P3向多播组成员C3返回一个数据响应消息,数据响应消息 的源地址为它的单播地址,目的地址为多播组成员C3的单播地址,负载为任播地址Al标识 的第k部分数据; 阳123] 步骤307 :如果接收到数据响应消息的节点为多播地址Ml中的多播组成员同时也 想获取任播地址Al标识的第k部分数据,那么接收到数据响应消息的节点直接保存数据响 应消息中的任播地址Al标识的第k部分数据,最终数据响应消息到达多播组成员C3 ; [0124] 步骤308:结束。
[01巧]如果数据消费节点无法从距离最新的数据提供节点获取数据,那么它可W从本地 网络的其他数据提供节点获取数据,从而大幅度增加了获取数据的成功率。
[01%] 图9为本发明所述的子网间获取数据流程示意图。多播地址为Ml的多播组成员 有权限获取任播地址Al标识的数据,如果多播组成员C3位于子网Nl内,子网Nl的接入路 由器为AR1,任播地址A2的网络前缀隶属于N2,如果多播地址为Ml的多播组成员C3要获 取任播地址A2标识的第k部分数据,那么多播组成员C3首先查看数据路由表,如果存在任 播ID为A2且部分域值为k的表项,那么多播组成员C3执行步骤201到步骤205获取任播 地址A2标识的第k部分数据,否则多播组成员C3执行下述过程获取数据:
[0127] 步骤401:开始;
[0128] 步骤402 :多播组成员C3发送远程数据请求消息,远程数据请求消息的目的地址 为任播地址A2,源地址为多播组成员C3的单播地址,负载为k;
[0129] 步骤403 :接收到数据请求消息的节点分为=种情况处理接收到的远程数据请求 消息:
[0130] 情况1 :如果接收到远程数据请求消息的节点为多播地址Ml的多播组成员且具有 任播地址
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1