专利转让平台_买专利_卖专利_中国高校专利技术交易-买卖发明专利上知查网

全部分类
全部分类
下一代无线网络的组播通信实现方法

下一代无线网络的组播通信实现方法

IPC分类号 : H04W8/26,H04L12/18,H04L29/12

申请号
CN201410557810.7
可选规格
  • 专利类型: 发明专利
  • 法律状态: 有权
  • 申请日: 2014-10-20
  • 公开号: CN104244230A
  • 公开日: 2014-12-24
  • 主分类号: H04W8/26
  • 专利权人: 常熟理工学院

专利摘要

本发明提供了下一代无线网络的组播通信实现方法,所述无线网络包括两类节点,全功能节点和部分功能节点,所述无线网络通过一个且只通过一个接入路由器与互联网相连;全功能节点为固定节点且具有路由功能,部分功能节点为移动节点,不具有路由功能;接入路由器与全功能节点构建成一个树状结构,作为组播树完成组播,组播树的根节点为接入路由器,网络层的组播通过链路层的单播实现;每个部分功能节点与一个且只与一个全功能节点关联,该全功能节点称为部分功能节点的关联节点,部分功能节点通过关联节点与其他节点进行通信。

权利要求

1.一种下一代无线网络的组播通信实现方法,其特征在于,所述无线网络包括两类节点,全功能节点和部分功能节点,所述无线网络通过一个且只通过一个接入路由器与互联网相连;全功能节点为固定节点且具有路由功能,部分功能节点为移动节点,不具有路由功能;接入路由器与全功能节点构建成一个树状结构,作为组播树完成组播,组播树的根节点为接入路由器,网络层的组播通过链路层的单播实现;每个部分功能节点与一个且只与一个全功能节点关联,该全功能节点称为部分功能节点的关联节点,部分功能节点通过关联节点与其他节点进行通信;

一个组播的组播地址由四部分组成,第一部分是组播前缀,长度为8个比特,值为十六进制的FF,表示该地址为组播地址;第二部分为保留字段,长度为8比特,值为0;第三部分为网络前缀,长度为64比特,唯一标识一个无线网络;第四部分为组ID,长度为48比特,唯一标识一个组播;

一个单播的单播地址由三部分组成,第一部分是网络前缀,长度为64比特,一个无线网络中所有节点的网络前缀都相同;第二部分为组ID,长度为48比特,当节点进行单播操作时,其值为0,节点进行组播操作时,其值为组播对应的组ID;第三部分为节点ID,长度为16比特,它唯一表示一个节点,该值在所述无线网络内具有唯一性;组ID和节点ID构成链路地址;

一个部分功能节点用于配置多个组播地址;

一个接入路由器的节点ID的地址空间为[1,4],部分功能节点的节点ID空间为[5,215-1],全功能节点的节点ID空间为[215,216-2];

链路层的命令帧中,负载的第一个字段为命令ID,长度为8比特,采用十六进制,如下表所示:

命令ID作用A全功能节点申请一个节点IDB为全功能节点分配一个节点IDC部分功能节点申请一个节点IDD为部分功能节点分配一个节点IDE部分功能节点请求加入一个组播组

F更新组播组

组播组由两个以上组播成员构成,由一个组播地址标识,目的地址为该组播地址的消息分别到达组播组的每个组播成员;

全功能节点和部分功能节点通过地址初始化获取具有网络唯一性的节点ID,并实现地址配置;已配置地址的全功能节点具有一个全功能节点地址空间和一个部分功能节点地址空间,分别用于对全功能节点和部分功能节点进行地址配置;接入路由器、全功能节点和部分功能节点广播信标帧;接入路由器广播的信标帧负载包括网络前缀;全功能节点广播的信标帧负载为网络前缀,全功能节点地址空间长度和部分功能节点地址空间长度;部分功能节点广播的信标帧负载为空;全功能节点节点或者部分功能节点启动后,首先用自己的硬件ID作为节点ID并构建临时链路地址,其中组ID为0;

全功能节点启动后,侦听接入路由器或者其他全功能节点广播的信标帧,如果接入路由器为全功能节点的邻居节点,全功能节点则从接入路由器获取节点ID和相应的节点ID空间,否则从全功能节点地址空间最大的其他全功能节点邻居节点获取节点ID;

全功能节点X从邻居接入路由器AR1获取节点ID的过程为:

步骤101:开始;

步骤102:全功能节点X向接入路由器AR1发送命令ID为A的命令帧,源地址为全功能节点X的临时链路地址;

步骤103:接入路由器AR1收到命令ID为A的命令帧后,向全功能节点X返回命令ID为B的命令帧,命令帧负载为分配的全功能节点ID空间[L1,U1]和部分功能节点ID空间[L2,U2],同时将空间[L1,U1]和[L2,U2]标记为已分配,将全功能节点X标记为自己的子节点;

步骤104:全功能节点X收到命令ID为B的命令帧后,将空间下限L1作为自己的节点ID,与接入路由器AR1的网络前缀相结合取得IPv6地址,其中组ID为0,将空间[L1+1,U1]作为可分配全功能节点地址空间,同时保存空间[L2,U2]作为可分配部分功能节点地址空间,将接入路由器AR1标记为父节点;

步骤105:结束;

当无线网络内所有全功能节点获取地址后,接入路由器AR1和全功能节点构建为树状结构,即组播树,根节点为接入路由器AR1;

如果全功能节点X的全功能节点空间为[L1+1,U1],部分功能节点空间为[L2,U2],全功能节点Y从邻居全功能节点X获取地址的过程为:

步骤201:开始;

步骤202:全功能节点Y向全功能节点X发送命令ID为A的命令帧,源地址为临时链路地址;

步骤203:全功能节点X收到命令ID为A的命令帧后,向全功能节点Y返回命令ID为B的命令帧,命令帧负载为分配的全功能节点ID空间 和部分功能节点ID空间 同时全功能节点X将自己的全功能节点ID空间更新为 将部分功能节点ID空间更新为 将全功能节点Y标记为子节点;

步骤204:全功能节点Y收到命令ID为B的命令帧后,将空间下限 作为自己的节点ID,与全功能节点X的网络前缀相结合取得IPv6地址,组ID为0,全功能节点Y将空间 作为可分配全功能节点ID空间,同时保存空间 作为可分配部分功能节点ID空间,将全功能节点X标记为父节点;

步骤205:结束;

部分功能节点启动后,侦听邻居全功能节点广播的信标帧,然后从信号最强的全功能节点获取节点ID;

如果邻居全功能节点Y的部分功能节点ID空间为[L3,U3],部分功能节点Z从全功能节点Y获取地址的过程为:

步骤301:开始;

步骤302:部分功能节点Z向全功能节点Y发送命令ID为C的命令帧,源地址为临时链路地址;

步骤303:全功能节点Y收到命令ID为C的命令帧后,向部分功能节点Z返回命令ID为D的命令帧,命令帧负载为分配的节点ID的空间下限L3,同时将自己的部分功能节点ID空间更新为空间[L3+1,U3];

步骤304:部分功能节点Z收到命令ID为D的命令帧后,将空间下限L3作为自己的节点ID,与全功能节点Y的网络前缀相结合取得IPv6地址,组ID为0,同时将全功能节点Y设置为自己的关联节点;

步骤305:结束。

2.根据权利要求1所述的下一代无线网络的组播通信实现方法,其特征在于,一个组播由一个组ID唯一标识;在一个组播树中,每个节点保存一个组播表,每个表项包含2个域:组ID以及节点ID;

部分功能节点Z的关联节点为全功能节点Y,如果部分功能节点Z请求加入一个组ID已知的组播组,该组播组的组ID为g,那么部分功能节点Z执行下述过程:

步骤401:开始;

步骤402:部分功能节点Z构建一个新的链路地址,地址的组ID为g,节点ID为在初始化过程中获取的节点ID,然后向全功能节点Y发送命令ID为E的命令帧,帧的源地址为本步骤所述新的链路地址;

步骤403:全功能节点Y收到命令ID为E的命令帧后,在组播表中增加一个表项,组ID为g,节点ID为部分功能节点Z的节点ID;

步骤404:全功能节点Y查看组播表,判断除了部分功能节点Z的表项外,是否剩余的其他表项的组ID都不等于g,如果是,进行步骤405,否则进行步骤410;

步骤405:全功能节点Y构建一个新的链路地址,地址的组ID为g,节点ID为初始化获取的节点ID,然后向全功能节点Y自己的父节点发送一个命令ID为E的命令帧,源地址为本步骤所述新的链路地址;

步骤406:收到子节点的命令ID为E的命令帧的父节点,在组播表中增加一个表项,组ID为g,节点ID为子节点的节点ID;

步骤407:判断父节点是否为接入路由器,如果是进行步骤410,否则进行步骤408;

步骤408:父节点查看组播表,判断是否除了子节点的表项外,其他任何节点的表项的组ID都不等于g,如果是进行步骤409,否则进行步骤410;

步骤409:父节点构建一个新的链路地址,地址的组ID为x,节点ID为自己初始化获取的节点ID,然后向自己的父节点发送一个命令ID为E的命令帧,源地址为本步骤新构建的链路地址,返回步骤406;

步骤410:结束。

3.根据权利要求2所述的下一代无线网络的组播通信实现方法,其特征在于,当接入路由器AR1收到组ID为g的组播数据消息后,首先将数据消息封装为数据帧,然后根据组播表实现组播通信,过程如下所示:

步骤501:开始;

步骤502:接入路由器AR1查看组播表,针对每个组ID为g的表项进行如下操作:构建链路地址,地址的组ID为g,节点ID为该表项的节点ID;接入路由器AR1将组播数据帧的目的地址设置为本步骤构建的链路地址,源地址设置为自己的链路地址,然后发送该数据帧;

步骤503:如果接收到组播数据帧的是部分功能节点,则进行步骤504,否则进行步骤505;

步骤504:部分功能节点处理该组播数据帧,进行步骤506;

步骤505:全功能节点从父节点接收到组播数据帧后,全功能节点通过判断组ID为非0判定该数据帧为组播数据帧,针对组播表中每个组ID为g的表项进行如下操作:构建链路地址,地址的组ID为g,节点ID为该表项的节点ID;将组播数据帧的目的地址设置为构建的链路地址,源地址设置为自己的链路地址,然后发送该数据帧,返回步骤503;

步骤506:结束。

4.根据权利要求2所述的下一代无线网络的组播通信实现方法,其特征在于,部分功能节点能够加入一个以上的组播组,针对每个组播,部分功能节点设有一个对应的链路地址,其中组ID为标识该组播的组ID,节点ID保持为初始化获取的节点ID;

如果部分功能节点Z加入了n个组播组,对应的组ID分别为xp,1≤p≤n,n为正整数,那么针对每个组播,部分功能节点Z设有一个链路地址;

当部分功能节点Z检测到自己从当前关联节点Y的通信范围移动到新的关联节点Y1的通信范围时,进行如下操作以确保组播通信的正确性:

步骤601:开始;

步骤602:部分功能节点Z构建一个链路地址,组ID为x1,节点ID为自己的节点ID,向关联节点Y1发送命令ID为E的命令帧,命令帧的源地址为本步骤构建的链路地址,命令帧负载为n个组ID,即x1…xn

步骤603:关联节点Y1收到命令ID为E的命令帧后,在组播表中增加n个表项,每个表项的组ID为xp,节点ID为部分功能节点Z的节点ID,关联节点Y1查看组播表判断是否满足条件1,如果满足,进行步骤609,否则进行步骤604;

条件1:针对接收到的命令ID为E的命令帧负载中的每一个组ID,组播表中至少有两个表项的组ID等于该命令帧负载中的组ID;

步骤604:关联节点Y1构建一个新的链路地址,地址的组ID为x1,节点ID为初始化获取的节点ID,然后关联节点Y1向父节点发送一个命令ID为E的命令帧,源地址为本步骤新构建的链路地址,帧负载为不符合上述条件1的组ID;

步骤605:收到子节点的命令ID为E的命令帧的父节点,针对命令帧负载中的每个组ID都在组播表中增加一个表项,其中节点ID为子节点的节点ID;

步骤606:判断父节点是否为接入路由器,如果是,进行步骤609,否则进行步骤607;

步骤607:父节点查看组播表判断是否满足条件1,如果满足,进行步骤609,否则进行步骤608;

步骤608:父节点构建一个新的链路地址,地址的组ID为x1,节点ID为初始化获取的节点ID,然后向自己的父节点发送一个命令ID为E的命令帧,源地址为本步骤新构建的链路地址,命令帧负载为不符合条件1的组ID,返回步骤605;

步骤609:结束;

如果全功能节点Y在规定时间内没有收到部分功能节点Z的信标帧,全功能节点Y首先记录下部分功能节点Z所加入的所有组播组,即在组播表中部分功能节点Z对应的所有表项的组ID,然后判断条件2是否成立,其中,条件2中的节点ID为部分功能节点Z的节点ID,组ID为部分功能节点Z所属于的每个组播组的组ID,然后全功能节点Y从组播表中删除部分功能节点Z的所有表项;

条件2:针对节点ID和组ID为设定值的表项,至少还有另一个表项的组ID等于该表项的组ID;

如果针对部分功能节点Z所属的每个组播组的组ID,条件2都成立,那么全功能节点Y不进行任何操作,否则等待时间d×t后,d为树最大深度,t为一跳延迟,全功能节点Y执行下述操作:

步骤701:开始;

步骤702:全功能节点Y向父节点发送一个命令ID为F的命令帧,命令帧负载为部分功能节点Z所属的组播组中不符合条件2的组ID,源地址为全功能节点Y自己的链路地址,该链路地址的组ID为0;

步骤703:父节点收到子节点的命令ID为F的命令帧后,判断条件2是否成立,其中,条件2中的节点ID与子节点的节点ID相同,组ID为命令帧负载中每一个组ID,如果针对命令帧负载中对应的每个组ID条件2都成立,则进行步骤706,否则进行步骤704;

步骤704:判断父节点是否为接入路由器,如果是进行步骤706,否则进行步骤705;

步骤705:父节点删除节点ID为子节点且组ID为命令帧负载中的每个组ID对应的表项,然后向自己父节点发送一个命令ID为F的命令帧,命令帧负载为不符合条件2的组ID,源地址为自己的链路地址,进行步骤703;

步骤706;父节点删除节点ID为子节点且组ID为命令帧负载中的每个组ID对应的表项;

步骤707:结束。

说明书

技术领域

本发明涉及一种通信实现方法,尤其涉及的是下一代无线网络的组播通信实现方法。

背景技术

随着用户对下一代无线网络新应用需求的不断增长,迫切需要下一代无线网络能接入互联网实现全IP通信。在下一代无线中,每个节点拥有全球唯一的IP地址并支持IP协议,能够与IP网络中的节点采用统一的IP协议进行点到点通信。下一代无线网络中的节点之间通信通过中间节点的转发和路由来实现,实现下一代无线网络需要解决的关键技术之一就是组播通信问题。

因此针对下一代无线网络需要建立一种低开销的组播通信方案。

发明内容

发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种下一代无线网络的组播通信实现方法。

技术方案:本发明公开了一种下一代无线网络的组播通信实现方法,其特征在于,所述无线网络包括两类节点,全功能节点和部分功能节点,所述无线网络通过一个且只通过一个接入路由器与互联网相连;全功能节点为固定节点且具有路由功能,部分功能节点为移动节点,不具有路由功能;接入路由器与全功能节点构建成一个树状结构,作为组播树完成组播,组播树的根节点为接入路由器,网络层的组播通过链路层的单播实现;每个部分功能节点与一个且只与一个全功能节点关联,该全功能节点称为部分功能节点的关联节点,部分功能节点通过关联节点与其他节点进行通信;

一个组播的组播地址由四部分组成,第一部分是组播前缀,长度为8个比特,值为十六进制的FF,表示该地址为组播地址;第二部分为保留字段,长度为8比特,值为0;第三部分为网络前缀,长度为64比特,唯一标识一个无线网络;第四部分为组ID,长度为48比特,唯一标识一个组播;

一个单播的单播地址由三部分组成,第一部分是网络前缀,长度为64比特,一个无线网络中所有节点的网络前缀都相同;第二部分为组ID,长度为48比特,当节点进行单播操作时,其值为0,节点进行组播操作时,其值为组播对应的组ID;第三部分为节点ID,长度为16比特,它唯一表示一个节点,该值在所述无线网络内具有唯一性;组ID和节点ID构成链路地址;

一个部分功能节点用于配置多个组播地址;

一个接入路由器的节点ID的地址空间为[1,4],部分功能节点的节点ID空间为[5,215-1],全功能节点的节点ID空间为[215,216-2];

链路层的命令帧中,负载的第一个字段为命令ID,长度为8比特,采用十六进制,如下表所示:

命令ID作用A全功能节点申请一个节点IDB为全功能节点分配一个节点IDC部分功能节点申请一个节点IDD为部分功能节点分配一个节点IDE部分功能节点请求加入一个组播组F更新组播组

组播组由两个以上组播成员构成,由一个组播地址标识,目的地址为该组播地址的消息分别到达组播组的每个组播成员;

全功能节点和部分功能节点通过地址初始化获取具有网络唯一性的节点ID,并实现地址配置;已配置地址的全功能节点具有一个全功能节点地址空间和一个部分功能节点地址空间,分别用于对全功能节点和部分功能节点进行地址配置;接入路由器、全功能节点和部分功能节点广播信标帧;接入路由器广播的信标帧负载包括网络前缀;全功能节点广播的信标帧负载为网络前缀,全功能节点地址空间长度和部分功能节点地址空间长度;部分功能节点广播的信标帧负载为空;全功能节点节点或者部分功能节点启动后,首先用自己的硬件ID(例如网卡ID)作为节点ID并构建临时链路地址,其中组ID为0;

全功能节点启动后,侦听接入路由器或者其他全功能节点广播的信标帧,如果接入路由器为全功能节点的邻居节点,全功能节点则从接入路由器获取节点ID和相应的节点ID空间,否则从全功能节点地址空间最大的其他全功能节点邻居节点获取节点ID;

全功能节点X从邻居接入路由器AR1获取节点ID的过程为:

步骤101:开始;

步骤102:全功能节点X向接入路由器AR1发送命令ID为A的命令帧,源地址为全功能节点X的临时链路地址;

步骤103:接入路由器AR1收到命令ID为A的命令帧后,向全功能节点X返回命令ID为B的命令帧,命令帧负载为分配的全功能节点ID空间[L1,U1]和部分功能节点ID空间[L2,U2],同时将空间[L1,U1]和[L2,U2]标记为已分配,将全功能节点X标记为自己的子节点;

步骤104:全功能节点X收到命令ID为B的命令帧后,将空间下限L1作为自己的节点ID,与接入路由器AR1的网络前缀相结合取得IPv6地址,其中组ID为0,将空间[L1+1,U1]作为可分配全功能节点地址空间,同时保存空间[L2,U2]作为可分配部分功能节点地址空间,将接入路由器AR1标记为父节点;

步骤105:结束;

当无线网络内所有全功能节点获取地址后,接入路由器AR1和全功能节点构建为树状结构,即组播树,根节点为接入路由器AR1;

如果全功能节点X的全功能节点空间为[L1+1,U1],部分功能节点空间为[L2,U2],全功能节点Y从邻居全功能节点X获取地址的过程为:

步骤201:开始;

步骤202:全功能节点Y向全功能节点X发送命令ID为A的命令帧,源地址为临时链路地址;

步骤203:全功能节点X收到命令ID为A的命令帧后,向全功能节点Y返回命令ID为B的命令帧,命令帧负载为分配的全功能节点ID空间 和部分功能节点ID空间 同时全功能节点X将自己的全功能节点ID空间更新为 将部分功能节点ID空间更新为 将全功能节点Y标记为子节点;

步骤204:全功能节点Y收到命令ID为B的命令帧后,将空间下限 作为自己的节点ID,与全功能节点X的网络前缀相结合取得IPv6地址,组ID为0,全功能节点Y将空间 作为可分配全功能节点ID空间,同时保存空间 作为可分配部分功能节点ID空间,将全功能节点X标记为父节点;

步骤205:结束;

部分功能节点启动后,侦听邻居全功能节点广播的信标帧,然后从信号最强的全功能节点获取节点ID;

如果邻居全功能节点Y的部分功能节点ID空间为[L3,U3],部分功能节点Z从全功能节点Y获取地址的过程为:

步骤301:开始;

步骤302:部分功能节点Z向全功能节点Y发送命令ID为C的命令帧,源地址为临时链路地址;

步骤303:全功能节点Y收到命令ID为C的命令帧后,向部分功能节点Z返回命令ID为D的命令帧,命令帧负载为分配的节点ID的空间下限L3,同时将自己的部分功能节点ID空间更新为空间[L3+1,U3];

步骤304:部分功能节点Z收到命令ID为D的命令帧后,将空间下限L3作为自己的节点ID,与全功能节点Y的网络前缀相结合取得IPv6地址,组ID为0,同时将全功能节点Y设置为自己的关联节点;

步骤305:结束。

通过上述过程,全功能节点和部分功能节点获取了具有全球唯一性的IP地址,这是组播通信的前提条件之一。同时,全功能节点也构建成了多播树。

本发明所述方法中,一个组播由一个组ID唯一标识;在一个组播树中,每个节点保存一个组播表,每个表项包含2个域:组ID以及节点ID;

部分功能节点Z的关联节点为全功能节点Y,如果部分功能节点Z请求加入一个组ID已知的组播组,该组播组的组ID为g,那么部分功能节点Z执行下述过程:

步骤401:开始;

步骤402:部分功能节点Z构建一个新的链路地址,地址的组ID为g,节点ID为在初始化过程中获取的节点ID,然后向全功能节点Y发送命令ID为E的命令帧,帧的源地址为本步骤所述新的链路地址;

步骤403:全功能节点Y收到命令ID为E的命令帧后,在组播表中增加一个表项,组ID为g,节点ID为部分功能节点Z的节点ID;

步骤404:全功能节点Y查看组播表,判断除了部分功能节点Z的表项外,是否剩余的其他表项的组ID都不等于g,如果是,进行步骤405,否则进行步骤410;

步骤405:全功能节点Y构建一个新的链路地址,地址的组ID为g,节点ID为初始化获取的节点ID,然后向全功能节点Y自己的父节点发送一个命令ID为E的命令帧,源地址为本步骤所述新的链路地址;

步骤406:收到子节点的命令ID为E的命令帧的父节点,在组播表中增加一个表项,组ID为g,节点ID为子节点的节点ID;

步骤407:判断父节点是否为接入路由器,如果是进行步骤410,否则进行步骤408;

步骤408:父节点查看组播表,判断是否除了子节点的表项外,其他任何节点的表项的组ID都不等于g,如果是进行步骤409,否则进行步骤410;

步骤409:父节点构建一个新的链路地址,地址的组ID为x,节点ID为自己初始化获取的节点ID,然后向自己的父节点发送一个命令ID为E的命令帧,源地址为本步骤新构建的链路地址,返回步骤406;

步骤410:结束。

通过上述过程,多播通过多播树采用单播形式实现在,每个组播数据包在链路上通过单播发送给每个组播成员,因此代价更小。由于采用组播树来实现组播,同一个分支上的组成员的通信代价和延迟与单播代价和延迟相同,因此降低了组播代价和延迟,

本发明所述方法中,当接入路由器AR1收到组ID为g的组播数据消息后,首先将数据消息封装为数据帧,然后根据组播表实现组播通信,过程如下所示:

步骤501:开始;

步骤502:接入路由器AR1查看组播表,针对每个组ID为g的表项进行如下操作:构建链路地址,地址的组ID为g,节点ID为该表项的节点ID;接入路由器AR1将组播数据帧的目的地址设置为本步骤构建的链路地址,源地址设置为自己的链路地址,然后发送该数据帧;

步骤503:如果接收到组播数据帧的是部分功能节点,则进行步骤504,否则进行步骤505;

步骤504:部分功能节点处理该组播数据帧,进行步骤506;

步骤505:全功能节点从父节点接收到组播数据帧后,全功能节点通过判断组ID为非0判定该数据帧为组播数据帧,针对组播表中每个组ID为g的表项进行如下操作:构建链路地址,地址的组ID为g,节点ID为该表项的节点ID;将组播数据帧的目的地址设置为构建的链路地址,源地址设置为自己的链路地址,然后发送该数据帧,返回步骤503;

步骤506:结束。

通过上述过程,多播通过多播树采用单播形式实现在,每个组播数据包在链路上通过单播发送给每个组播成员,因此代价更小。由于采用组播树来实现组播,同一个分支上的组成员的通信代价和延迟与单播代价和延迟相同,因此降低了组播代价和延迟。

本发明所述方法中,部分功能节点能够加入一个以上的组播组,针对每个组播,部分功能节点设有一个对应的链路地址,其中组ID为标识该组播的组ID,节点ID保持为初始化获取的节点ID;

如果部分功能节点Z加入了n个组播组,对应的组ID分别为xp,1≤p≤n,n为正整数,那么针对每个组播,部分功能节点Z设有一个链路地址;

当部分功能节点Z检测到自己从当前关联节点Y的通信范围移动到新的关联节点Y1的通信范围时,进行如下操作以确保组播通信的正确性:

步骤601:开始;

步骤602:部分功能节点Z构建一个链路地址,组ID为x1,节点ID为自己的节点ID,向关联节点Y1发送命令ID为E的命令帧,命令帧的源地址为本步骤构建的链路地址,命令帧负载为n个组ID,即x1…xn

步骤603:关联节点Y1收到命令ID为E的命令帧后,在组播表中增加n个表项,每个表项的组ID为xp,节点ID为部分功能节点Z的节点ID,关联节点Y1查看组播表判断是否满足条件1,如果满足,进行步骤609,否则进行步骤604;

条件1:针对接收到的命令ID为E的命令帧负载中的每一个组ID,组播表中至少有两个表项的组ID等于该命令帧负载中的组ID;

步骤604:关联节点Y1构建一个新的链路地址,地址的组ID为x1,节点ID为初始化获取的节点ID,然后关联节点Y1向父节点发送一个命令ID为E的命令帧,源地址为本步骤新构建的链路地址,帧负载为不符合上述条件1的组ID;

步骤605:收到子节点的命令ID为E的命令帧的父节点,针对命令帧负载中的每个组ID都在组播表中增加一个表项,其中节点ID为子节点的节点ID;

步骤606:判断父节点是否为接入路由器,如果是,进行步骤609,否则进行步骤607;

步骤607:父节点查看组播表判断是否满足条件1,如果满足,进行步骤609,否则进行步骤608;

步骤608:父节点构建一个新的链路地址,地址的组ID为x1,节点ID为初始化获取的节点ID,然后向自己的父节点发送一个命令ID为E的命令帧,源地址为本步骤新构建的链路地址,命令帧负载为不符合条件1的组ID,返回步骤605;

步骤609:结束;

通过上述过程,当节点移动时能够及时进行更新组播表,因此确保了通信正确性,降低了丢包率。

如果全功能节点Y在规定时间内没有收到部分功能节点Z的信标帧,全功能节点Y首先记录下部分功能节点Z所加入的所有组播组,即在组播表中部分功能节点Z对应的所有表项的组ID,然后判断条件2是否成立,其中,条件2中的节点ID为部分功能节点Z的节点ID,组ID为部分功能节点Z所属于的每个组播组的组ID,然后全功能节点Y从组播表中删除部分功能节点Z的所有表项;

条件2:针对节点ID和组ID为设定值的表项,至少还有另一个表项的组ID等于该表项的组ID;例如,条件2中的节点ID为部分功能节点Z的节点ID,组ID为部分功能节点Z所属于的每个组播组的组ID;设定值例如,条件2中的节点ID为部分功能节点Z的节点ID,组ID为部分功能节点Z所属于的每个组播组的组ID。

如果针对部分功能节点Z所属的每个组播组的组ID,条件2都成立,那么全功能节点Y不进行任何操作,否则等待时间d×t后,d为树最大深度,t为一跳延迟,全功能节点Y执行下述操作:

步骤701:开始;

步骤702:全功能节点Y向父节点发送一个命令ID为F的命令帧,命令帧负载为部分功能节点Z所属的组播组中不符合条件2的组ID,源地址为全功能节点Y自己的链路地址,该链路地址的组ID为0;

步骤703:父节点收到子节点的命令ID为F的命令帧后,判断条件2是否成立,其中,条件2中的节点ID与子节点的节点ID相同,组ID为命令帧负载中每一个组ID,如果针对命令帧负载中对应的每个组ID条件2都成立,则进行步骤706,否则进行步骤704;

步骤704:判断父节点是否为接入路由器,如果是进行步骤706,否则进行步骤705;

步骤705:父节点删除节点ID为子节点且组ID为命令帧负载中的每个组ID对应的表项,然后向自己父节点发送一个命令ID为F的命令帧,命令帧负载为不符合条件2的组ID,源地址为自己的链路地址,进行步骤703;

步骤706;父节点删除节点ID为子节点且组ID为命令帧负载中的每个组ID对应的表项;

步骤707:结束。

通过上述过程,当节点移动时能够及时进行更新组播表,因此确保了通信正确性,降低了丢包率。

有益效果:本发明提供了一种下一代无线网络的组播通信实现方法,由于下一代无线网络和传统网络结构(例如互联网)不同,例如:下一代无线网络节点同时具有主机和路由器两个身份,因此目前传统网络中的组播方案无法在下一代无线网络中实施,迫切需要一种适合下一代无线网络使用的组播通信方案。在本发明中,组播消息在链路上采用单播方式发送给每个组播组成员,因此代价更小,这是现有技术无法实现的。所述下一代无线网络通过本发明所提供的组播通信实现方法,可实现快速通信。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。

图1为本发明所述的下一代无线网络拓扑结构示意图。

图2为本发明所述节点地址结构示意图。

图3为本发明所述全功能节点从邻居接入路由器获取节点ID的流程示意图。

图4为本发明所述全功能节点从邻居全功能节点获取节点ID的流程示意图。

图5为本发明所述部分功能节点从全功能节点获取节点ID流程示意图。

图6为本发明所述部分功能节点加入组播组的流程示意图。

图7为本发明所述组播通信流程示意图。

图8为本发明所述部分功能节点移动时的组播表更新流程示意图。

图9为本发明所述部分功能节点失效时的组播表更新流程示意图。

具体实施方式:

本发明提供了一种移动自组网络地址自动配置的实现方法,在所述方法中,移动自组网络中的每个节点可获取具有唯一性的地址,节点之间通过地址实现彼此的通信。

图1为本发明所述的下一代无线网络拓扑结构示意图。所述无线网络包括两类节点,全功能节点1和部分功能节点2,所述无线网络通过一个且只通过一个接入路由器3与互联网相连;全功能节点1为固定节点且具有路由功能,部分功能节点2为移动节点,不具有路由功能;接入路由器3与全功能节点1构建成一个树状结构,作为组播树完成组播,组播树的根节点为接入路由器3,网络层的组播通过链路层的单播实现;每个部分功能节点2与一个且只与一个全功能节点1关联,该全功能节点1称为部分功能节点2的关联节点,部分功能节点2通过关联节点与其他节点进行通信。

图2为本发明所述节点地址结构示意图。一个组播的组播地址由四部分组成,第一部分是组播前缀,长度为8个比特,值为十六进制的FF,表示该地址为组播地址;第二部分为保留字段,长度为8比特,值为0;第三部分为网络前缀,长度为64比特,唯一标识一个无线网络;第四部分为组ID,长度为48比特,唯一标识一个组播;

一个单播的单播地址由三部分组成,第一部分是网络前缀,长度为64比特,一个无线网络中所有节点的网络前缀都相同;第二部分为组ID,长度为48比特,当节点进行单播操作时,其值为0,节点进行组播操作时,其值为组播对应的组ID;第三部分为节点ID,长度为16比特,它唯一表示一个节点,该值在所述无线网络内具有唯一性;组ID和节点ID构成链路地址;

一个部分功能节点用于配置多个组播地址;

一个接入路由器的节点ID的地址空间为[1,4],部分功能节点的节点ID空间为[5,215-1],全功能节点的节点ID空间为[215,216-2];

链路层的命令帧中,负载的第一个字段为命令ID,长度为8比特,采用十六进制,如下表所示:

命令ID作用A全功能节点申请一个节点IDB为全功能节点分配一个节点IDC部分功能节点申请一个节点IDD为部分功能节点分配一个节点IDE部分功能节点请求加入一个组播组F更新组播组

组播组由两个以上组播成员构成,由一个组播地址标识,目的地址为该组播地址的消息分别到达组播组的每个组播成员;

全功能节点和部分功能节点通过地址初始化获取具有网络唯一性的节点ID,并实现地址配置;已配置地址的全功能节点具有一个全功能节点地址空间和一个部分功能节点地址空间,分别用于对全功能节点和部分功能节点进行地址配置;接入路由器、全功能节点和部分功能节点广播信标帧;接入路由器广播的信标帧负载包括网络前缀;全功能节点广播的信标帧负载为网络前缀,全功能节点地址空间长度和部分功能节点地址空间长度;部分功能节点广播的信标帧负载为空;全功能节点节点或者部分功能节点启动后,首先用自己的硬件ID(例如网卡ID)作为节点ID并构建临时链路地址,其中组ID为0。

图3为本发明所述全功能节点从邻居接入路由器获取节点ID的流程示意图。全功能节点启动后,侦听接入路由器或者其他全功能节点广播的信标帧,如果接入路由器为全功能节点的邻居节点,全功能节点则从接入路由器获取节点ID和相应的节点ID空间,否则从全功能节点地址空间最大的其他全功能节点邻居节点获取节点ID;

全功能节点X从邻居接入路由器AR1获取节点ID的过程为:

步骤101:开始;

步骤102:全功能节点X向接入路由器AR1发送命令ID为A的命令帧,源地址为全功能节点X的临时链路地址;

步骤103:接入路由器AR1收到命令ID为A的命令帧后,向全功能节点X返回命令ID为B的命令帧,命令帧负载为分配的全功能节点ID空间[L1,U1]和部分功能节点ID空间[L2,U2],同时将空间[L1,U1]和[L2,U2]标记为已分配,将全功能节点X标记为自己的子节点;

步骤104:全功能节点X收到命令ID为B的命令帧后,将空间下限L1作为自己的节点ID,与接入路由器AR1的网络前缀相结合取得IPv6地址,其中组ID为0,将空间[L1+1,U1]作为可分配全功能节点地址空间,同时保存空间[L2,U2]作为可分配部分功能节点地址空间,将接入路由器AR1标记为父节点;

步骤105:结束。

图4为本发明所述全功能节点从邻居全功能节点获取节点ID的流程示意图。当无线网络内所有全功能节点获取地址后,接入路由器AR1和全功能节点构建为树状结构,即组播树,根节点为接入路由器AR1;

如果全功能节点X的全功能节点空间为[L1+1,U1],部分功能节点空间为[L2,U2],全功能节点Y从邻居全功能节点X获取地址的过程为:

步骤201:开始;

步骤202:全功能节点Y向全功能节点X发送命令ID为A的命令帧,源地址为临时链路地址;

步骤203:全功能节点X收到命令ID为A的命令帧后,向全功能节点Y返回命令ID为B的命令帧,命令帧负载为分配的全功能节点ID空间 和部分功能节点ID空间 同时全功能节点X将自己的全功能节点ID空间更新为 将部分功能节点ID空间更新为 将全功能节点Y标记为子节点;

步骤204:全功能节点Y收到命令ID为B的命令帧后,将空间下限 作为自己的节点ID,与全功能节点X的网络前缀相结合取得IPv6地址,组ID为0,全功能节点Y将空间 作为可分配全功能节点ID空间,同时保存空间 作为可分配部分功能节点ID空间,将全功能节点X标记为父节点;

步骤205:结束。

图5为本发明所述部分功能节点从全功能节点获取节点ID流程示意图。部分功能节点启动后,侦听邻居全功能节点广播的信标帧,然后从信号最强的全功能节点获取节点ID;

如果邻居全功能节点Y的部分功能节点ID空间为[L3,U3],部分功能节点Z从全功能节点Y获取地址的过程为:

步骤301:开始;

步骤302:部分功能节点Z向全功能节点Y发送命令ID为C的命令帧,源地址为临时链路地址;

步骤303:全功能节点Y收到命令ID为C的命令帧后,向部分功能节点Z返回命令ID为D的命令帧,命令帧负载为分配的节点ID的空间下限L3,同时将自己的部分功能节点ID空间更新为空间[L3+1,U3];

步骤304:部分功能节点Z收到命令ID为D的命令帧后,将空间下限L3作为自己的节点ID,与全功能节点Y的网络前缀相结合取得IPv6地址,组ID为0,同时将全功能节点Y设置为自己的关联节点;

步骤305:结束。

图6为本发明所述部分功能节点加入组播组的流程示意图。一个组播由一个组ID唯一标识;在一个组播树中,每个节点保存一个组播表,每个表项包含2个域:组ID以及节点ID;

部分功能节点Z的关联节点为全功能节点Y,如果部分功能节点Z请求加入一个组ID已知的组播组,该组播组的组ID为g,那么部分功能节点Z执行下述过程:

步骤401:开始;

步骤402:部分功能节点Z构建一个新的链路地址,地址的组ID为g,节点ID为在初始化过程中获取的节点ID,然后向全功能节点Y发送命令ID为E的命令帧,帧的源地址为本步骤所述新的链路地址;

步骤403:全功能节点Y收到命令ID为E的命令帧后,在组播表中增加一个表项,组ID为g,节点ID为部分功能节点Z的节点ID;

步骤404:全功能节点Y查看组播表,判断除了部分功能节点Z的表项外,是否剩余的其他表项的组ID都不等于g,如果是,进行步骤405,否则进行步骤410;

步骤405:全功能节点Y构建一个新的链路地址,地址的组ID为g,节点ID为初始化获取的节点ID,然后向全功能节点Y自己的父节点发送一个命令ID为E的命令帧,源地址为本步骤所述新的链路地址;

步骤406:收到子节点的命令ID为E的命令帧的父节点,在组播表中增加一个表项,组ID为g,节点ID为子节点的节点ID;

步骤407:判断父节点是否为接入路由器,如果是进行步骤410,否则进行步骤408;

步骤408:父节点查看组播表,判断是否除了子节点的表项外,其他任何节点的表项的组ID都不等于g,如果是进行步骤409,否则进行步骤410;

步骤409:父节点构建一个新的链路地址,地址的组ID为x,节点ID为自己初始化获取的节点ID,然后向自己的父节点发送一个命令ID为E的命令帧,源地址为本步骤新构建的链路地址,返回步骤406;

步骤410:结束。

通过上述过程,多播通过多播树采用单播形式实现在,每个组播数据包在链路上通过单播发送给每个组播成员,因此代价更小。由于采用组播树来实现组播,同一个分支上的组成员的通信代价和延迟与单播代价和延迟相同,因此降低了组播代价和延迟,

图7为本发明所述组播通信流程示意图。当接入路由器AR1收到组ID为g的组播数据消息后,首先将数据消息封装为数据帧,然后根据组播表实现组播通信,过程如下所示:

步骤501:开始;

步骤502:接入路由器AR1查看组播表,针对每个组ID为g的表项进行如下操作:构建链路地址,地址的组ID为g,节点ID为该表项的节点ID;接入路由器AR1将组播数据帧的目的地址设置为本步骤构建的链路地址,源地址设置为自己的链路地址,然后发送该数据帧;

步骤503:如果接收到组播数据帧的是部分功能节点,则进行步骤504,否则进行步骤505;

步骤504:部分功能节点处理该组播数据帧,进行步骤506;

步骤505:全功能节点从父节点接收到组播数据帧后,全功能节点通过判断组ID为非0判定该数据帧为组播数据帧,针对组播表中每个组ID为g的表项进行如下操作:构建链路地址,地址的组ID为g,节点ID为该表项的节点ID;将组播数据帧的目的地址设置为构建的链路地址,源地址设置为自己的链路地址,然后发送该数据帧,返回步骤503;

步骤506:结束。

通过上述过程,多播通过多播树采用单播形式实现在,每个组播数据包在链路上通过单播发送给每个组播成员,因此代价更小。由于采用组播树来实现组播,同一个分支上的组成员的通信代价和延迟与单播代价和延迟相同,因此降低了组播代价和延迟。

图8为本发明所述部分功能节点移动时的组播表更新流程示意图。部分功能节点能够加入一个以上的组播组,针对每个组播,部分功能节点设有一个对应的链路地址,其中组ID为标识该组播的组ID,节点ID保持为初始化获取的节点ID;

如果部分功能节点Z加入了n个组播组,对应的组ID分别为xp,1≤p≤n,n为正整数,那么针对每个组播,部分功能节点Z设有一个链路地址;

当部分功能节点Z检测到自己从当前关联节点Y的通信范围移动到新的关联节点Y1的通信范围时,进行如下操作以确保组播通信的正确性:

步骤601:开始;

步骤602:部分功能节点Z构建一个链路地址,组ID为x1,节点ID为自己的节点ID,向关联节点Y1发送命令ID为E的命令帧,命令帧的源地址为本步骤构建的链路地址,命令帧负载为n个组ID,即x1…xn

步骤603:关联节点Y1收到命令ID为E的命令帧后,在组播表中增加n个表项,每个表项的组ID为xp,节点ID为部分功能节点Z的节点ID,关联节点Y1查看组播表判断是否满足条件1,如果满足,进行步骤609,否则进行步骤604;

条件1:针对接收到的命令ID为E的命令帧负载中的每一个组ID,组播表中至少有两个表项的组ID等于该命令帧负载中的组ID;

步骤604:关联节点Y1构建一个新的链路地址,地址的组ID为x1,节点ID为初始化获取的节点ID,然后关联节点Y1向父节点发送一个命令ID为E的命令帧,源地址为本步骤新构建的链路地址,帧负载为不符合上述条件1的组ID;

步骤605:收到子节点的命令ID为E的命令帧的父节点,针对命令帧负载中的每个组ID都在组播表中增加一个表项,其中节点ID为子节点的节点ID;

步骤606:判断父节点是否为接入路由器,如果是,进行步骤609,否则进行步骤607;

步骤607:父节点查看组播表判断是否满足条件1,如果满足,进行步骤609,否则进行步骤608;

步骤608:父节点构建一个新的链路地址,地址的组ID为x1,节点ID为初始化获取的节点ID,然后向自己的父节点发送一个命令ID为E的命令帧,源地址为本步骤新构建的链路地址,命令帧负载为不符合条件1的组ID,返回步骤605;

步骤609:结束;

通过上述过程,当节点移动时能够及时进行更新组播表,因此确保了通信正确性,降低了丢包率。

图9为本发明所述部分功能节点失效时的组播表更新流程示意图。如果全功能节点Y在规定时间内没有收到部分功能节点Z的信标帧,全功能节点Y首先记录下部分功能节点Z所加入的所有组播组,即在组播表中部分功能节点Z对应的所有表项的组ID,然后判断条件2是否成立,其中,条件2中的节点ID为部分功能节点Z的节点ID,组ID为部分功能节点Z所属于的每个组播组的组ID,然后全功能节点Y从组播表中删除部分功能节点Z的所有表项;

条件2:针对节点ID和组ID为设定值的表项,至少还有另一个表项的组ID等于该表项的组ID;

例如,条件2中的节点ID为部分功能节点Z的节点ID,组ID为部分功能节点Z所属于的每个组播组的组ID,

如果针对部分功能节点Z所属的每个组播组的组ID,条件2都成立,那么全功能节点Y不进行任何操作,否则等待时间d×t后,d为树最大深度,t为一跳延迟,全功能节点Y执行下述操作:

步骤701:开始;

步骤702:全功能节点Y向父节点发送一个命令ID为F的命令帧,命令帧负载为部分功能节点Z所属的组播组中不符合条件2的组ID,源地址为全功能节点Y自己的链路地址,该链路地址的组ID为0;

步骤703:父节点收到子节点的命令ID为F的命令帧后,判断条件2是否成立,其中,条件2中的节点ID与子节点的节点ID相同,组ID为命令帧负载中每一个组ID,如果针对命令帧负载中对应的每个组ID条件2都成立,则进行步骤706,否则进行步骤704;

步骤704:判断父节点是否为接入路由器,如果是进行步骤706,否则进行步骤705;

步骤705:父节点删除节点ID为子节点且组ID为命令帧负载中的每个组ID对应的表项,然后向自己父节点发送一个命令ID为F的命令帧,命令帧负载为不符合条件2的组ID,源地址为自己的链路地址,进行步骤703;

步骤706;父节点删除节点ID为子节点且组ID为命令帧负载中的每个组ID对应的表项;

步骤707:结束。

通过上述过程,当节点移动时能够及时进行更新组播表,因此确保了通信正确性,降低了丢包率。

实施例1

基于表1的仿真参数,本实施例模拟了本发明中的组播通信方法,性能分析如下:当节点密度不变,随着组成员数量的增加,组播数据帧经过的全功能节点数量略有增加,从而导致代价有所增加。当组成员数量增加时,其关联节点的最大深度也略微增加,因此延迟随之增加。同样,因为代价和延迟增加,所以丢包率也随之增加。组播的平均代价为30,平均延迟为25ms,平均丢包率为0.3%。

表1仿真参数

综上所述,本发明提供了一种下一代无线网络的组播通信实现方法,由于下一代无线网络和传统网络结构(例如互联网)不同,例如:下一代无线网络节点同时具有主机和路由器两个身份,因此目前传统网络中的组播方案无法在下一代无线网络中实施,迫切需要一种适合下一代无线网络使用的组播通信方案。在本发明中,组播消息在链路上采用单播方式发送给每个组播组成员,因此代价更小,这是现有技术无法实现的。所述下一代无线网络通过本发明所提供的组播通信实现方法,可实现快速通信。本发明可应用于交通路况检控及农业工程化等诸多领域,具有广泛的应用前景。

本发明提供了一种下一代无线网络的组播通信实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。

下一代无线网络的组播通信实现方法专利购买费用说明

专利买卖交易资料

Q:办理专利转让的流程及所需资料

A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。

1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。

2:按规定缴纳著录项目变更手续费。

3:同时提交相关证明文件原件。

4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。

Q:专利著录项目变更费用如何缴交

A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式

Q:专利转让变更,多久能出结果

A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。

动态评分

0.0

没有评分数据
没有评价数据
×

打开微信,点击底部的“发现”

使用“扫一扫”即可将网页分享至朋友圈

×
复制
用户中心
我的足迹
我的收藏

您的购物车还是空的,您可以

  • 微信公众号

    微信公众号
在线留言
返回顶部