首页> 中国专利> 下一代无线网络的组播通信实现方法

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

摘要

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

著录项

  • 公开/公告号CN104244230A

    专利类型发明专利

  • 公开/公告日2014-12-24

    原文格式PDF

  • 申请/专利权人 常熟理工学院;

    申请/专利号CN201410557810.7

  • 发明设计人 王晓喃;

    申请日2014-10-20

  • 分类号H04W8/26;H04L12/18;H04L29/12;

  • 代理机构江苏圣典律师事务所;

  • 代理人胡建华

  • 地址 215500 江苏省苏州市常熟市常熟理工学院(东南校区)计算机科学与工程学院

  • 入库时间 2023-12-18 08:15:34

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-04-08

    专利权的转移 IPC(主分类):H04W 8/26 专利号:ZL2014105578107 登记生效日:20220329 变更事项:专利权人 变更前权利人:常熟理工学院 变更后权利人:常熟市知识产权运营中心有限公司 变更事项:地址 变更前权利人:215500 江苏省苏州市常熟市常熟理工学院(东南校区)计算机科学与工程学院 变更后权利人:215500 江苏省苏州市常熟市常福街道联丰路68号4号楼5楼

    专利申请权、专利权的转移

  • 2017-08-22

    授权

    授权

  • 2015-01-14

    实质审查的生效 IPC(主分类):H04W8/26 申请日:20141020

    实质审查的生效

  • 2014-12-24

    公开

    公开

说明书

技术领域

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

背景技术

随着用户对下一代无线网络新应用需求的不断增长,迫切需要下一代无线网络能 接入互联网实现全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 全功能节点申请一个节点ID B 为全功能节点分配一个节点ID C 部分功能节点申请一个节点ID D 为部分功能节点分配一个节点ID E 部分功能节点请求加入一个组播组 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 全功能节点申请一个节点ID B 为全功能节点分配一个节点ID C 部分功能节点申请一个节点ID D 为部分功能节点分配一个节点ID E 部分功能节点请求加入一个组播组 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仿真参数

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

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

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号