基于网络按需距离矢量多播路由的数据传输方法与系统转让专利

申请号 : CN201110045910.8

文献号 : CN102075442B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李旭苏少明唐艳

申请人 : 北京交通大学

摘要 :

本发明公开了一种基于网络按需距离矢量多播路由的数据传输方法与系统。其中,该方法包括:实现多播数据的传输时,依据多播路由表,判断接收到多播数据包的节点是否处于多播树结构上;若是,查询该节点所在多播树结构的上游节点和下游节点;依据接收到多播数据包的节点否为发送数据包的源,向该节点所在多播树结构的上游节点和/或下游节点转发多播数据包。本发明利用多播路由表信息实现多播数据包沿树枝传播,使非树上节点接收不到多播数据,既提高了多播协议数据传输的安全性,又节省了非树上节点的能量,同时避免多播树节点对多播数据的重复处理。

权利要求 :

1.一种基于网络按需距离矢量多播路由的数据传输方法,其特征在于,包括如下步骤:上游节点和下游节点确定步骤,实现多播数据包的传输时,依据多播路由表,判断接收到多播数据包的节点是否处于多播树结构上;若是,查询该节点所在多播树结构的上游节点和下游节点;

转发步骤,依据接收到多播数据包的节点否为发送多播数据包的源,向该节点所在多播树结构的上游节点和/或下游节点转发多播数据包;

其中,转发步骤具体为:

所述转发步骤中,若所述接收到多播数据包的节点为发送多播数据包的源,则判断该节点所在多播树结构的下一跳节点数目:若为0,则此多播组只有这一个成员或者该节点与多播树结构发生了断链,则该节点对接收到的多播数据包不进行其他操作;

若大于0,向该节点的所述上游节点和所述下游节点发送多播数据包;

所述转发步骤中,若所述接收到多播数据包的节点不是发送多播数据包的源,则判断发送多播数据包的源是否为树外节点:若是,则向其上游节点和下游节点转发多播数据包;若否,判断发送多播数据包的源是否为上游节点,若是,向其下游节点转发多播数据包,若否,向其上游节点和下游节点转发多播数据包。

2.一种基于网络按需距离矢量多播路由的数据传输系统,其特征在于,包括:上游节点和下游节点确定模块,用于实现多播数据包的传输时,依据多播路由表,判断接收到多播数据包的节点是否处于多播树结构上;若是,查询该节点所在多播树结构的上游节点和下游节点;

转发模块,用于依据接收到多播数据包的节点否为发送多播数据包的源,向该节点所在多播树结构的上游节点和/或下游节点转发多播数据包;

具体为:

所述转发模块中,若所述接收到多播数据包的节点为发送多播数据包的源,则判断该节点所在多播树结构的下一跳节点数目:若为0,则此多播组只有这一个成员或者该节点与多播树结构发生了断链,则该节点对接收到的多播数据包不进行其他操作;

若大于0,向该节点的所述上游节点和所述下游节点发送多播数据包;

所述转发模块中,若所述接收到多播数据包的节点不是发送多播数据包的源,则判断发送多播数据包的源是否为树外节点:若是,则向其上游节点和下游节点转发多播数据包;若否,判断发送多播数据包的源是否为上游节点,若是,向其下游节点转发多播数据包,若否,向其上游节点和下游节点转发多播数据包。

说明书 :

基于网络按需距离矢量多播路由的数据传输方法与系统

技术领域

[0001] 本发明涉及无线自组织网络技术领域,尤其涉及一种基于网络按需距离矢量多播路由的数据传输方法与系统。

背景技术

[0002] 无线自组网是一种复杂的分布式网络系统,由于其自组织、无需固定基础设施、节点可移动以及良好的抗毁性等优点而在军事指挥、紧急救援等军用和民用领域得以广泛应用。多播作为一种一点对多点或多点对多点的通信方式,具有较高的分组发送和传播效率。由于无线自组网的应用场合常常要求支持多播业务,因此对无线自组网的多播路由协议进行研究显得尤为重要。然而,无线自组网分布式、网络拓扑变化、带宽有限等固有特点,使得实现多播路由协议具有很大的挑战。当前无线自组网的多播路由协议大多数只考虑如何实现有效的通信路由,对其他因素考虑得很少,尤其在安全性和数据保密性等方面还需要大量的深入研究。

发明内容

[0003] 本发明的目的在于提供一种基于网络按需距离矢量多播路由方法及系统,以提高网络中多播数据传输的安全性,并有效节约非多播树上节点的能量。
[0004] 一方面,本发明公开了一种基于网络按需距离矢量多播路由的数据传输方法,包括如下步骤:上游节点和下游节点确定步骤,实现多播数据的传输时,依据多播路由表,判断接收到多播数据包的节点是否处于多播树结构上;若是,查询该节点所在多播树结构的上游节点和下游节点;转发步骤,依据接收到多播数据包的节点否为发送数据包的源,向该节点所在多播树结构的上游节点和/或下游节点转发多播数据包。
[0005] 上述数据传输方法,优选所述转发步骤中,若所述接收到多播数据包的节点为发送数据包的源,则:判断该节点所在多播树结构的下一跳节点数目:若为0,则此多播组只有这一个成员或者该节点与多播树发生了断链,则该节点对接收到的多播数据不进行其他操作;若大于0,向该节点的所述上游节点和所述下游节点发送多播数据包。 [0006] 上述数据传输方法,优选所述转发步骤中,若所述接收到多播数据包的节点不是发送数据包的源,则:判断发送多播数据的源是否为树外节点:若是,则向其上游节点和下游节点转发多播数据包;若否,判断发送多播数据的源是否为上游节点,若是,向其下游节点转发多播数据包,若否,向其上游节点和下游节点转发多播数据包。 [0007] 另一方面,本发明还公开了一种基于网络按需距离矢量多播路由的数据传输系统,包括:上游节点和下游节点确定模块和转发模块。其中,上游节点和下游节点确定模块用于实现多播数据的传输时,依据多播路由表,判断接收到多播数据包的节点是否处于多播树结构上;若是,查询该节点所在多播树结构的上游节点和下游节点;转发模块用于依据接收到多播数据包的节点否为发送数据包的 源,向该节点所在多播树结构的上游节点和/或下游节点转发多播数据包。
[0008] 上述数据传输系统,优选所述转发模块中,若所述接收到多播数据包的节点为发送数据包的源,则:判断该节点所在多播树结构的下一跳节点数目:若为0,则此多播组只有这一个成员或者该节点与多播树发生了断链,则该节点对接收到的多播数据不进行其他操作;若大于0,向该节点的所述上游节点和所述下游节点发送多播数据包。 [0009] 上述数据传输系统,优选所述转发模块中,若所述接收到多播数据包的节点不是发送数据包的源,则:判断发送多播数据的源是否为树外节点:若是,则向其上游节点和下游节点转发多播数据包;若否,判断发送多播数据的源是否为上游节点,若是,向其下游节点转发多播数据包,若否,向其上游节点和下游节点转发多播数据包。 [0010] 本发明利用多播路由表信息实现多播数据包沿树枝传播,使非树上节点接收不到多播数据,既提高了多播协议数据传输的安全性,又节省了非树上节点的能量,同时避免多播树节点对多播数据的重复处理。

附图说明

[0011] 图1为本发明基于网络按需距离矢量多播路由的数据传输方法实施例的步骤流程图;
[0012] 图2a为现有技术中基于网络按需距离矢量多播路由协议的数据发送方式; [0013] 图2b为现有技术中基于网络按需距离矢量多播路由协议的数据发送方式; [0014] 图3为基于网络按需距离矢量多播路由的数据传输方法实施例的发送方式; [0015] 图4为本发明基于网络按需距离矢量多播路由的数据传输系统实施例的结构框图。

具体实施方式

[0016] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0017] 多播是一种点对多点的数据传输方式,在基于树结构的多播路由协议中,多播数据分组被沿着树枝进行广播,树外节点接收到多播数据后,查找自己的多播路由表。如果发现没有关于此多播组的相关信息,则将此多播分组抛弃,只有多播树上节点才可以进一步处理多播数据分组。但在某些特殊的应用场合中,不希望非多播树上节点接收到多播数据分组,采用广播的数据分组传输方式无法满足此应用需求,因而需要对多播数据的传输方式进行改进,使得多播数据在多播树上转发时,多播树上节点仅向自己的父节点和子节点发送多播数据分组,而不向树外节点发送数据。
[0018] 基于网络按需距离矢量多播路由的数据传输方法实施例
[0019] 仿真平台NS2下MAODV算法使用广播方式实现多播数据的传输,利用多播路由表信息判断一个节点是否处于多播树上,但多播路由表信息并未用于多播数据包的寻路过程。在本实施例基于网络按需距离矢量多播路由的数据传输方法,多播数据沿多播树的树 枝传送,修改多播数据的处理函数,即多播路由表信息除用作判断一个节点是否处于多播树上之外,还需用来查找节点所在多播树结构的上游节点和下游节点。参照图1,多播树上节点接收到多播数据包后,判断本节点是否为叶子节点,若是叶子节点,则向该节点的上游节点转发多播数据包;若不是叶子节点,则需要判断该节点是否为多播组组长,若是组长,则向该节点的下游节点转发多播数据包;若不是组长,则向该节点的上游节点和下游节点转发多播数据包。
[0020] 换句话说,对于多播树上节点接收到多播数据包,首先,判断节点是否为发送数据包的源。若是发送数据包的源,判断节点所在多播树结构的下一跳节点数目,若为0,说明此多播组只有这一个成员或者该节点与多播树发生了断链,则该节点对接收到的多播数据不进行其他操作;若大于0,向其上游节点和下游节点发送多播数据包。
[0021] 若不是发送数据包的源,判断发送多播数据的源是否为树外节点,若是,则向其上游节点和下游节点转发多播数据包;若否,判断发送多播数据的源是否为上游节点,若是,向其下游节点转发多播数据包,若否,向其上游节点和下游节点转发多播数据包。 [0022] 仿真平台NS2下,MAODV采用广播方式实现多播数据在多播树内的传输,广播的数据传输方式存在安全隐患,可能导致多播组成员受到恶意节点的欺骗,即多播组成员节点收到虚假的多播数据信息或多播数据信息被伪装成多播组成员的节点截获。本实施例提供了一种多播数据传输的改进方式,即利用多播路由表信息实现多播数据包沿树枝传播,使非树上节点接收不到多播数据,既提高了多播协议数据传输的安全性,又节省了非树上节点的能量,同时避免多播树节点对多播数据的重复处理。
[0023] 参照图2a,假设多播组成员节点D为发送多播数据的源,按照原MAODV协议中数据的广播方式,节点D将数据广播出去,多播组成员节点A、F、G和一个树外节点接收到数据包,其中树外节点不属于多播组,因此将接收到的多播数据包丢弃。
[0024] 参照图2b,对于接收到节点D广播的多播数据包的节点G,判断其也在多播树上且为多播组成员,则节点G将接收到的多播数据包广播出去,树上转发节点C、多播组成员节点D、F、H和一个树外节点接收到多播数据包,其中树外节点不属于多播组,因此将接收到的多播数据包丢弃,树上结点则将接收到的多播数据包再次广播出去。这种多播数据的广播方式,使得多播数据可能传播到树外,同时树上节点也可能重复接收到相同的多播数据包。
[0025] 参照图3,同样假设多播组成员节点D为发送多播数据的源,采用改进的多播数据传输方式,沿着多播树的树枝,节点D将数据发送给其上游节点A和下游节点F,由于节点F为叶子节点将不再转发数据包,节点A继续将数据发送给其上游节点L和下游节点C,依次进行操作,直到多播数据沿着树枝传送到所有多播组成员。基于网络按需距离矢量多播路由的数据传输系统实施例
[0026] 另一方面,本发明还提出了一种基于网络按需距离矢量多播路由的数据传输系统实施例,参照图4,包括上游节点和下游节点确定模块42和转发模块44。其中,上游节点和下游节点确定模块42用于实现多播数据的传输时,依据多播路由表,判断接收到多播数据包的节点是否处于多播树结构上;若是,查询该节点所在多播树结构的上游节点和下游节点;转发模块44用于依据接收到多播数据包的节点否为发送数据包的源,向该节点所在多播树结构的上游节点和/或下游节点转发多播数据包。
[0027] 其中,转发模块44中,若所述接收到多播数据包的节点为发送数据包的源,则判断该节点所在多播树结构的下一跳节点数目:若为0,则此多播组只有这一个成员或者该节点与多播树发生了断链,则该节点对接收到的多播数据不进行其他操作;若大于0,向该节点的所述上游节点和所述下游节点发送多播数据包。
[0028] 转发模块中44,若所述接收到多播数据包的节点不是发送数据包的源,则判断发送多播数据的源是否为树外节点:若是,则向其上游节点和下游节点转发多播数据包;若否,判断发送多播数据的源是否为上游节点,若是,向其下游节点转发多播数据包,若否,向其上游节点和下游节点转发多播数据包。
[0029] 以上对本发明所提供的一种基于网络按需距离矢量多播路由的数据传输方法与系统进行详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上,本说明书内容不应理解为对本发明的限制。