低压载波集中式网络的发送方法、收发方法及其装置的制作方法

文档序号:7659971阅读:207来源:国知局
专利名称:低压载波集中式网络的发送方法、收发方法及其装置的制作方法
技术领域
本发明涉及低压载波集中式网络的发送方法、收发方法及其装置,更具 体地说,涉及低压载波集中式网络的发送方法、路由方法及其装置。
背景技术
低压电力载波抄表系统是利用现有的低压电力网作为通信媒介来进行自 动抄收电表数据的系统,电力线网络是一种分布范围最广的网络,作为一种 通信媒介,构建抄表系统简洁,成本低廉,是电表抄表系统的最佳通信资源。
一个典型的低压电力载波抄表系统电力网侧的基本结构如下
*集中器(LV-C)为三相供电(三相四线制),电力线载波通讯信号可 以分别在三相A—N、 B—N、 C—N上传输(A、 B、 C代表三相火线,N代表零 线)。集中器一般安装在配电变压器的低压侧,从配电变压器低压侧发散出来 的三相四线进入到其管辖的每家每户;单相供电的载波表在其所在相位进行 载波信号传输,三相供电的载波表一般选取某一相作为载波信号传输的通道。
*整个低压电力网拓朴结构为无固定规律的发散状的星形结构或树状 结构。
国内大量的电表企业和从事自动抄表系统的企业都研发了低压电力载波 抄表系统并且在许多省市试用,但到目前为止仍然没有达到成熟的可大规模 成功推广的程度,主要表现就是系统抄收很不可靠,未能达自动抄表实用化 的要求。出现这种现状的原因主要是因为低压电力线网络是非常恶劣的通信 媒介,各种电气设备都挂在电网上,会对电网造成污染,主要表现为
*高能量的随机噪音。
随机且不可预测的电力线负载变化。
电力线负载变化具有4艮大的动态范围。
这些因素决定了低压电力线通信信道的严重噪音、载波信号的高衰减和 高失真的特点,以及载波信号的衰减、失真和噪音强度具有时变的特点。低 压电力线网络的这些特点导致了低压电力载波抄表系统以下情况的发生,使
得整个系统的抄收很不可靠
某些电表不能被集中器直接访问到,或者有时能被集中器直接访问 到,有时又不能被集中器直接访问。
低压电力网时变的特性导致了采用专门的固定位置的中继器不能很
好解决系统通讯的问题。
*低压载波抄表系统的通信物理媒介(集中器和电表(节点)构成的网 络)是单一的总线型的低压电力网,因此与计算机网络中的路由器一般上行 和下行的物理々某介不同,计算机网络中不会存在信号回传和不存在信号冲突, 整个低压电力网上存在回传信号和冲突及相撞的问题。
目前很多低压电力载波抄表系统采用改善物理层通信性能的办法来延长 通信距离,这需要载波通信芯片的不断改进和完善,但物理层的点对点通信 性能总是有限度的,而低压电力网通信信道又是动态的、极其复杂的,仅仅 靠改善物理层通信的性能不足以彻底解决载波抄表的可靠性问题。多数低压 电力载波抄表系统还釆用固定中继的方法来提高通信可靠性,即在某些固定 位置安装物理中继器,但由于电力网时变的特点,固定位置的中继器随着时 段的变化又变得不稳定了,从而使得系统的自动抄收还是很不可靠。也有些 厂家采用了自动中继技术,但由于是完全主从的一问一答方式,所采用协议
的MAC层(媒介访问控制层)不具备CSMA(多访问载波侦听)机制,不能支持 广播应答,随着系统安装电表的增加,集中器自动中继算法过程的工作量呈 几何级数的增加,使得集中器的自动中继消耗大量的时间和空间资源,达不 到实用的要求。
鉴于这些情况,申请号为200610004565.2、发明名称为低压载波集中式 网络及其组网、发送和接收方法的中国专利申请提供了系统组网和形成树状 网络拓朴的技术方案,其中路由节点负责转发数据包,普通节点和未配置节 点不转发数据包。底层协议采用EIA709. 1,其支持的Predictive P-persistent CSMA机制是一种冲突避免技术,可以支持数据包的并发而冲 突概率降低到最小;EIA709. 1同时支持重复包检测,可以避免同样的包由同 一个路由节点多次转发,从而可以降低网络负荷,也能降低数据包并发产生 冲突的概率。Predictive P-persistent CSMA机制算法基本原理为系统中 的某个节点发送前,它知道本次发送数据会引起网络上有多少节点响应,在 本集中式网络中,集中器知道每个子网包含的节点个数,因此它对某个子网
发送广播命令时就可以预测到网络上会引起多少个响应,协议中把会引起多
少个响应的个数值称为ABL,发送节点发送命令包时会把该ABL带入数据包
中。接收节点会同步收到该命令包,需要响应的接收节点解析收到的命令包,
就知道网络上会有多少个节点都要响应,接收节点把自身以前的BL+ABL作 为新的BL值,然后根据该BL产生一个随机延迟T,随机延迟T为某个单位 时间槽Tsun的整数倍(EIA709. 1的T=0—BL x 16 x Tsl。t),每个要响应的接收节 点都会随机分配一个时间槽,有些会分配在前面的时间槽,有些会分配到后 面的时间槽,分配到最前面时间槽的节点在随机延迟T到达时侦听到信道仍 为空闲,则会抢先发送,而其他要响应的节点收到抢先节点的响应后又会重 新根据BL值再重新分配一次时间槽,反复这个过程,就把要发送的响应比较 随机均匀地分配到不同的时间槽上,从而显著减小了沖突发生的概率。更为 详细的Predictive P-persistent CSMA算法可参考EIA709. 1协议。
图1示出低压电力载波抄表系统自动组网后的网络拓朴结构图。
图1采用如下符号说明
* 路由节点(R-Node), LV-C本身即为子网1的路由节点; 〇 普通节点;
丢失节点(也是未配置节点)。 对图1的说明采用如下定义和缩略语
* LV-C:集中器。
* Domain:网绍d或,48 <立(bit ) ,Domain[i], i为i或号, 一个LV-C所 辖范围就是一个域,不同的LV-C所辖范围分属不同的域,i-O表示未配置。
* Subnet:子网,8 bit, Subnet[j], j为子网号,j二O表示未配置。
* Node:节点,8 bit,Node[k], k为节点号,本方案中最高位固定为1, 实际用到低7位,]^1-127,k-0表示未配置。
* Unique—Node—ID:节点唯一的48位物理标识符(ID),简写为U—ID。
* R—Tab:路由表,由子网号Subnet [j]组成。
* R—Node:某个子网中的路由节点,R—Node [x], x为路由节点所在子网 组网后各种类型节点网络地址描述
1) LV-C网络地址固定为Domain [i]\Subnet [l]\Node[l],实际LV-C就是 Subnet [l]的R-Node[l]。
2) 当节点的网络地址Domain [i]\Subnet[j]\Node[k] i=0或j=0或k=0 时,表示此节点未配置。
3) 同一个域中某个子网中的路由节点的网络地址固定为
Subnet [j]\Node[l](即路由节点的节点号固定为1),每个子网有一个路由 节点;普通节点的网络地址为Subnet [j]\Node[k] (2<=k<=127)。
系统组网过程结束后,整个系统划分为数个子网,每个子网中有一个路 由节点,每个子网的每个节点会配置一个网络地址。LV-C内存中保存了每一 个节点的ILID、网络地址以及LV-C到每一个子网的路由表,每一个已配置 节点保存了自身所在子网到LV-C之间的路由表。集中器通过到每个子网的路 由表就能访问到任意一个节点(电表)。每一个已配置节点通过自己到LV-C 的路由表也能访问到LV-C。低压电力载波抄表系统组网完成,形成树状网络 拓朴,树根为LV-C。
图2示出集中式低压载波通信网络的节点装置的路由表的数据结构。在 网络层协议数据单元(NPDU)中插入路由表,该路由表是由9字节构成的一 维数组, 一字节一子网号,代表最多可达9级路由(包括源子网和目标子网), 如果路由不到9级,后面的高地址字节填O。对于集中式网络而言,数据包 的传递只有两个方向。从LV-C到节点表示下行数据包;从节点到LV-C表示 上行数据包。
虽然现有的低压电力载波抄表系统采用了自动中继技术,但是只能做到 逐级中继,中间任何l级中继节点通信受阻了则不能再转发出去,由于电力 网络的时变特性,这种情况是时常发生的,所以一旦中继级数多了,到达目 标节点的可能性就很小。此外,对于广播应答之类的事务,又需要经过多级 路由转发才能到达目标节点,因为CSMA算法的存在,在响应或转发数据包时 都是一种随机竟争的关系,因此在网络上完全可能存在后发先至的情况。

发明内容
鉴于这种逐级中继不能保证系统可靠通信的情况,而低压通信物理々某介 是单一的总线型的低压电力网,而且又是时变的,因此完全存在跨级接收的 可能。本发明在于构建一种采用并发算法和洪泛算法的路由节点发送和路由 方法,在路由级数增加的情况下保证数据包能可靠地到达目标节点,并且在 本算法的NPDU接收队列中开辟了多个緩冲区以解决重复包检测的问题。
根据本发明的 一个方面提供一种集中式低压载波通信网络的数据包发送
方法,包括步骤产生路径信息;在待发送的数据包中加入该路径信息;以 及发送该数据包。
根据本发明的另 一个方面,提供一种集中式低压载波通信网络的收发方 法,所述集中式低压载波通信网络的节点包括已配置节点,所述已配置节点 包括普通节点和路由节点,所述方法包括步骤 (a)接收数据包;
(b )如果接收所述数据包的节点是当前接收的数据包的目的节点,将当 前接收的l史据包递交上层; (c)否则
(cl)如果接收所述数据包的节点是普通节点,则丢弃该当前接收 的数据包;否则
(c2)如果接收所述数据包的节点是路由节点,贝寸
(c21)如果当前接收的数据包的路由表所记录的路径中不包 括该路由节点,则丟弃当前接收的数据包;否则
(c22)将记录在当前接收的数据包的路由表的路径中的该路 由节点逻辑删除并且转发当前接收的数据包。 根据本发明的另 一 个方面,提供 一种集中式低压载波通信网络的数据包 发送节点装置,包括路径信息产生部件,用于产生路径信息;路径信息加 入部件,用于在待发送的数据包中加入该路径信息;和发送部件,用于发送 该数据包。
才艮据本发明的另一个方面,提供一种集中式低压载波通信网络的普通节 点装置,包括接收部件,用于接收数据包;记录部件,用于记录所接收的 数据包;判断部件,用于判断该普通节点装置自身是否为当前接收的数据包 的目的节点;和递交部件,如果所述判断部件的判断结果为肯定的,则将当 前接收的教:据包递交上层,否则丢弃当前接收的数据包。
根据本发明的另 一个方面,提供一种集中式低压载波通信网络的未配置 节点装置,包括接收部件,用于接收数据包;记录部件,用于记录所接收 的数据包;判断部件,用于判断该未配置节点装置自身是否为当前接收的数 据包的目的节点;和递交部件,如果所述判断部件的判断结果为肯定的,则 将当前接收的数据包递交上层,否则丢弃当前接收的数据包。
根据本发明的另 一个方面,提供一种集中式低压载波通信网络的路由节
点装置,包括接收部件,用于接收数据包;记录部件,用于记录所接收的 数据包;判断部件,用于判断该路由节点装置自身是否为当前接收的数据包 的目的节点;路径确定部件,用于确定当前接收的数据包的路由表所记录的 路径中是否包括该路由节点自身;递交部件,如果所述判断部件的判断结果 为肯定的,则将当前接收的数据包递交上层;和转发部件,如果所述判断部 件的判断结果为否定的,则转发当前接收的数据包;如果所述判断部件的判 断结果为否定的并且所述路径确定部件的确定结果为肯定的,则将记录在当 前接收的数据包的路由表的路径中的该路由节点逻辑删除并且转发当前接收 的数据包。
根据本发明的另一个方面,提供一种包括数据包发送节点装置、普通节 点装置、未配置节点装置和路由节点装置的集中式低压载波通信网络。
通过采用本发明的集中式低压载波通信网络的数据包发送方法和收发方 法及其装置,将会大大提高所组网络的健壮性和系统抄收的成功率。


图1示出集中式低压载波通信网络自动组网后的网络拓朴结构图; 图2示出集中式低压载波通信网络的节点装置的路由表的数据结构; 图3示出根据本发明实施例的、采用并发算法的集中式低压载波通信网
络的数据包的发送方法的流程图4示出采用路由并发算法的集中式低压载波通信网络的数据包发送和
收发的示意图5示出根据本发明实施例的、采用并发算法的集中式低压载波通信网
络的数据包的收发方法的流程图6A为根据本发明的实施例的重复包检测示意图6B示出根据本发明的实施例的重复包检测的流程图7示出根据本发明实施例的、釆用重复数据包过滤的并发算法的集中
式低压载波通信网络的数据包的收发方法的流程图8A、图8B、图8C分别示出根据本发明实施例的洪泛算法的数据包逐
级转发过程;
图9示出根据本发明实施例的、采用洪泛算法的集中式低压载波通信网
络的数据包的收发方法的流程图10示出根据本发明实施例的、采用重复数据包检测的洪泛算法的集中 式低压载波通信网络的数据包的收发方法的流程图11示出根据本发明实施例的、采用并发算法的集中式低压栽波通信网 络的数据包发送节点装置的框图12示出根据本发明实施例的集中式低压载波通信网络的普通节点装 置的框图13示出根据本发明实施例的集中式低压载波通信网络的未配置节点 装置的框图14示出根据本发明实施例的、采用并发算法的集中式低压载波通信网 络的路由节点装置的框图;和
图15示出根据本发明实施例的、采用洪泛算法的集中式低压载波通信网 络的路由节点装置的框图。
具体实施例方式
下面将结合附图详细描述本发明的优选实施例。本领域的技术人员应当 了解低压电器,比如电表、计算机、洗衣机、电冰箱和空调等等也可以作 为本发明的节点。在下面的描述中,现有低压载波集中式网络中公知的单元 将不再详细描述,以免不必要的细节混淆本发明。
1.数据包发送
需要发送路由数据包的节点在NPDU中某位置加上路由表,路由表可以是 多级,比如9级,其固定9个字节,由子网号组成(包括源子网号和目的子 网号)。如果路由不到9级,则路由表后面填0。源发送节点把带有路由表的 路由数据包送交下层发送出去。
图3示出根据本发明实施例的、采用并发算法的集中式低压载波通信网 络的数据包的发送方法的流程图。在步骤S301,产生路径信息。路径信息包 括由发送节点的子网号和节点号构成的源地址,和由目的节点子网号、目 的节点子网号与目的节点节点号、或者目的节点物理标识符构成的目的地址。 如果目的节点为已配置节点,则由目的节点子网号、目的节点子网号与目的 节点节点号构成的目的地址;如果目的节点为未配置节点,则由目的节点物 理标识符构成的目的地址。例如,LV-C对未配置节点A发出某数据包(采用
ILID寻址方式)。此外,如果原节点和目的节点都是已配置节点,则所述路
径信息还包括由至少一个子网号构成的可达路径路由表。在步骤S302,在待 发送的数据包中加入该路径信息。在步骤S303,发送该数据包。
此外,为了接收方能够判断其接收的包是否为已经接收过的包,上述发 送方法还可以包括步骤在网络层产生路由标识号并且在网络层向数据包加入 路由标识号,而加入的位置可以是在待发送的数据包的包尾。
2.路由并发算法
路由并发算法是基于集中式低压载波通信网络中已配置节点而开发的发 送和路由方法。网络层完成地址解析和路由处理任务,NPDU(网络层协议数 据单元)的关键要素之一是包括源地址和目的地址。源地址为源发送节点的 子网X节点号(SrcSubneASrcNode);当目的地址为子网号时(DstSubent),表 示是源对目的子网的广播;当目的地址为子网V节点号时(DstSubenADstNode: 或者当目的地址为ILID号时,表示源对目的节点的单播。
2. 1路由并发算法示例
当源发送节点知道到目的节点的路由表时,采用路由并发算法。图4示 出采用路由并发算法的集中式低压载波通信网络的数据包发送和收发的示意图。
该示例假定一个5级路由的子网,下行包的源子网为子网1(LV-C所在子 网),目的子网为子网5。实现表示实际记录的路由表,虚线表示通过路由并 发算法衍生出的可达路由表。
因为本路由并发算法不但可以前级路由后级,还可以后级路由前级,因 此从图3中可以看出,从源子网l到目的子网5(下行数据包)的可达路由表 包括
1—2—3—4—5
1—2—3—5
1—2—4—5
1—3—4—5
1 — 2 — 5
1 — 3 — 5
1 — 4 — 5
1 — 5
1—3—2—4—5
1—4—2—3—5
1—4—3—2—5
1—3—2—5
1—4—2—5
1 — 4 — 3 — 5。
所以,按照本路由并发算法,从源子网l到目的子网5(下行数据包)衍 生出的可达路径达14条之多,只要有任何一条路径到达目标节点便通信成 功,而且随着路由级数的增加,衍生出的可达路径将更多,比起逐级路由来 说,这样就极大地增加了通信成功的概率。.同理,从子网5到子网1(节点对 LV-C的应答)的上行数据包可衍生出的可达路径也可达14条之多。
2. 2并发算法中的路由数据包接收和转发
下面采用伪码的形式说明并发算法中的数据包接收和转发。
节点网络层接收到 一个数据包;
If 3]^3油116"=0&&0313111)1^1!=0(表示该数据包的源发送节点和目的 节点都为已配置节点)
If目的地址是自己ll包括自己
斧,《^弄该炎^逸,'//
节点把该数据包递交上层;// Else If接收节点非路由节点
节点丟弃该lt据包;〃 Else接收节点是路由节点
I f接收数据包NPDU的RTab中包括自己的子网号
,《丟弄该炎拔逸/ //
节点网络层把R-Tab中自己的子网号变为0,转发
该数据包;〃 Else (接收数据包NPDU的RTab中不包括自己的子网号)
节点丢弃该数据包〃 上述伪码中的斜体字部分考虑了对重复接收的数据包的过滤。无论接收 包的节点是目的节点、普通节点或者路由节点,如果该节点已经接收过该数 据包,即,对于接收该凝:据包的节点来说该数据包为重复包,则将其丢弃。 但是,本领域的技术人员应当了解,上述过滤步骤并非本发明的必要步骤, 其原因是在省略上述过滤步骤的条件下,仍然可以通过任何一条路径联系已 配置节点以便通信成功,而且随着路由级数的增加,衍生出的可达路径将更 多,比起逐级路由来说,这样就极大地增加了通信成功的概率。而重复数据 包过滤的功能在于保证了路由表上的路由节点收到同 一个数据包后转发且只 转发l次,多收到的重复包会丢弃不予转发,这样就显著降低了网络负荷, 而且可以避免出现网络振荡。
图5示出根据本发明实施例的、采用并发算法的集中式低压载波通信网 络的数据包的收发方法的流程图。在步骤S501,接收数据包。在步骤S502, 判断接收所述数据包的节点是否为当前接收的数据包的目的节点?在步骤 S503,如果接收所述数据包的节点是当前接收的数据包的目的节点,将当前 接收的数据包递交上层。如果接收所述数据包的节点不是当前接收的数据包 的目的节点,则在步骤S504判断接收所述数据包的节点的类型如果接收所 述数据包的节点是普通节点,则在步骤S505丢弃该当前接收的数据包;否则, 如果接收所述数据包的节点是路由节点,在步骤S506,判断当前接收的数据 包的路由表所记录的路径中是否包括该路由节点?如果当前接收的数据包的 路由表所记录的路径中不包括该路由节点,则在步骤S507丢弃当前接收的数 据包;否则,在步骤S508,将记录在当前接收的数据包的路由表的路径中的 该路由节点逻辑删除并且转发当前接收的数据包。
2.3并发算法中的重复数据包检测
图6A为根据本发明的实施例的重复包检测示意图。子网1为LV-C所在 子网,子网5为目标子网。
LV-C向目标子网5发送下行数据包的路由表如图中实线箭头所示,为1 —2 — 3 — 4 — 5;图中虚线箭头表示跨级接收。
从图中可看出,中间子网的路由节点可以多次收到同一个包,重复包检 测功能保证了路由表上的路由节点收到同一个数据包后转发且只转发1次, 多收到的重复包会丢弃不予转发,这样就显著降低了网络负荷,而且可以避免出现网络振荡。
同理,从子网5到子网1 (节点对LV-C的应答)的上行数据包也会有同样 的重复包现象。
重复包4全测方法
下面以伪码的形式说明重复包检测方法。
源发送节点发送一个数据包时,在源发送节点网络层产生一个路由标识
号RID (uns igend char类型),放在NPDU (网络层协议数据单元)的包尾。 源发送节点网络层RID=RID+1 If RID==0 RID=1 〃
每个节点网络层构造一个网络层重复包检测接收队列,该队列为包括8 个緩沖区的循环队列,每个緩冲区256字节
unsigned char NwRepeatDtRec [DEPTH] [BUFLEN] /* DEPTH-8, BUFLEN=256,
8个buffer,每个buffer 256字节*/
接收队列的容量和每个緩冲区的大小由节点的硬件记录器资源和集中式 网络的命令处理时间决定。不同的应用可以选取不同容量的队列。
接收节点网络层从底层(Fi rmware)接收数据包时,会从Fi rmware获知接 收MPDU的长度(MAC层PDU的长度Mien),接收节点网络层剥离接收MPDU的 一些内容,得到接收NPDU的内容和接收NPDU的长度Nlen, Nlen放在网络层 接收緩沖区的第l个字节。
节点初始状态时
s=0; (s为队列空标志)
RepeatFlag-O; (RepeatFlag为重复包标志)
当某节点接收到数据包时
If 网络层接收队列NwRepeatDtRec [][]为空(位标志s=0) (队列队尾指针Rear-O。 队列满位标志Ful 1=0 (表示队列未满);
接收节点网络层4巴接收数据包放入NwR印eatDtRec [Rear](包括RID 和Nlen) ^
队列空位标志s=l (表示队列非空)Rear=Rear+l } 〃
Else (网络层接收队列NwRepeatDtRec[][]非空(位标志s==l)) If Full-0 (表示队列未满) for(i=0, KRear, i++)
(接收节点网络层从接收NPDU中取出RID,与NwRepeatDtRec[i] 的RID比较
If RID==NwRepeatDtRec[i]的RID
(接收节点网络层从接收NPDU中取出包长度字节Nlen,与 NwRepeat歸ec [i]「的NLen比较
If Nlen==NwRepeatDtRec[i]的NLen {接收节点网络层比较4妻收NPDU和NwR印eatDtRec [i] 的数据内容,而不比较RID和RTab If 接收NPDU的内容完全等于NwRepeatDtRec[i] 的数据内容(是重复包) {接收节点网络层认为该数据包是重复包。 置重复包位标志R印eatFlag-l。
J 〃
If RepeatFlag==l (表示有重复包)
RepeatFlag=0 // Else (没有重复包)
(接收节点网络层把接收数据包放入 NwRepeatDtRec [Rear]。 Rear=Rear+l。 If Rear>7
{队列满位标志Full-1 (表示队列已满) Rear=0 } //J 〃
Else (Full=l,表示队列已满) for(i=0, i<8, i++)
(接收节点网络层从接收NPDU中取出RID,与NwRepeatDtRec[i] 的RID比较
If RID-歸印eatDtRec[i]的RID
{接收节点网络层从接收NPDU中取出包长度字节Nlen,与 NwRepeatDtRec [i]的NLen比專交 If Nlen==NwRepeatDtRec U]的NLen
(接收节点网络层比较接收NPDU和NwR印eatDtRec [i] 的数寺居内容,而不比较RID和RTab If 接收NPDU的内容完全等于NwR印eatDtRec[i] 的数据内容(是重复包) {接收节点网络层认为该数据包是重复包。 置重复包4立标志R印eatFlag-l。 break.,
} 〃 (跳出for(i-O, i<8, i+十)循环) J 〃
J 〃
} 〃
If RepeatFlag--l(表示有重复包)
RepeatFlag=0 〃 Else (没有重复包)
{接收节点网络层把接收数据包放入 NwRepeatDtRec[Rear]。 Rear=Rear+l。 If Rear〉7 Rear=0 〃 } 〃
图6B示出根据本发明的实施例的重复包检测的流程图。 节点初始状态队列为空,重复包标志为无效,队列队尾指针为0,队
列满位标志无效,队列空标志有效。
在步骤S600,接收数据包。在步骤S601,判断接收队列是否满?如果队 列为空,则在步骤S602,在队列队尾指针所指的队列位置记录所接收的数据 包的路由标识号、包长度、和包内容中的至少一项,在步骤S603,将队列空 标志置为无效并且将队尾指针加1。如果队列非空且非满,则在步骤S604, 将所接收的数据包的路由标识号、包长度、和包内容中的至少一项与队列中 所记录的每个已接收的数据包的相应项比较。包内容包括包数据内容、包源 地址和/或包目的地址。比如,可以先比较标识号、再比较包长度、最后比较 包内容,也可以仅比较包内容,这取决于用户对于重复包的检测精度的要求。 如果比较结果相同,则在步骤S605,将重复包标志设置为有效,否则,在步 骤S606将当前所接收的数据包记录在队列队尾指针所指的队列位置并且将 队尾指针加l,并且在步骤S607,判断队列是否满?如果队列满,则在步骤 S608将队尾指针归O并且将队列满位标志设置为有效。如果队列满,则在步 骤S609,将所接收的数据包的路由标识号、包长度、和包内容中的至少一项 与队列每个元素中所记录的已接收的数据包的相应项比较。如果比较结果相 同,则在步骤S610,将重复包标志设置为有效,否则,在步骤S611将当前 所接收的数据包记录在队列队尾指针所指的队列位置并且将队尾指针加1。
图7示出根据本发明实施例的、采用重复数据包过滤的并发算法的集中 式低压载波通信网络的数据包的收发方法的流程图。图7是对图5的改进, 图7中与图5相同的步骤将不再详细描述,以免不必要的细节混淆本发明; 其中图7与图5的不同之处在于在步骤S501和步骤S502之间加入步-骤S509, 将当前接收的数据包和先前接收的数据包进行比较。如果当前接收的数据包 和先前接收的数据包相同,则转至步骤S505丢弃当前接收的数据包并且结 束;否则,前进到步骤S502。
3.洪泛算法
当目的节点为未配置节点(本集中式网络中源发送节点则一定为LV-C)或 源发送节点为未配置节点(本集中式网络中目的节点则一定为LV-C)时,由于 不知道到目的节点的路由表,采用洪泛并发算法。图8A、图8B、图8C分别 示出根据本发明实施例的洪泛算法的数据包逐级转发过程。
通过图8A、图8B、图8C的过程,凝:据包的传递如同波浪一样一层一层 向外围传递出去,未配置节点A只要能收到l次即可进行处理,向集中器做出应答。同样,未配置节点A对LV-C的应答也是采用洪泛算法模式,直至 LV-C接收到。
因此,通过这种洪泛算法模式,即使系统中存在组网未成功的未配置节
点,LV-C也可以和其进行通信。
3. 1洪泛算法中的数据包接收和转发
下面采用伪码的形式说明洪泛算法中的数据包接收和转发。 If SrcSubnet==0 (本应用中表示源发送节点为未配置节点&&目的节点
为LV-C,因此NPDU中无路由表) If目的地址是自己| l包括自己
,,《^并该炎凝逸/ //
节点把该数据包递交上层;〃 Else If接收节点非路由节点
节点丢弃该数据包;〃 Else接收节点是路由节点
贯^^弄该炎凝逸,'//
节点网络层转发该数据包;〃 Else (DstSubnet==0,本应用中表示源发送节点为LV-C&&目的节点为未 配置节点,因此NPDU中也无路由表) If目的地址是自己| l包括自己
,^^弄该炎拔逸,'〃
节点把该数据包递交上层。〃 Else If接收节点非路由节点
节点丢弃该数据包;〃 Else接收节点是路由节点
节点丢弃该数据包;//
Else
节点网络层转发该数据包。〃
上述伪码中的斜体字部分考虑了对重复接收的数据包的过滤。无论接收 包的节点是已配置节点或者未配置节点,如果该节点已经接收过该数据包, 即,对于接收该数据包的节点来说该数据包为重复包,则将其丢弃。但是, 本领域的技术人员应当了解,上述过滤步骤并非本发明的必要步骤,其原因 是在省略上迷过滤步骤的条件下,对于系统中存在组网未成功的未配置节点, 通过这种洪泛算法模式仍然使LV-C也可以和其进行通信。而重复数据包过滤 的功能在于保证了路由表上的路由节点收到同 一 个数据包后转发且只转发1 次,多收到的重复包会丢弃不予转发,这样就显著降低了网络负荷,而且可 以避免出现网络振荡。
图9示出根据本发明实施例的、采用洪泛算法的集中式低压载波通信网 络的数据包的收发方法的流程图。在步骤S901,接收数据包。在步骤S902, 判断接收所述数据包的节点是否为当前接收的数据包的目的节点?如果接收 所述数据包的节点是当前接收的数据包的目的节点,则在步骤S903将当前接 收的数据包递交上层。如果接收所述数据包的节点不是当前接收的数据包的 目的节点,则在步骤S904判断接收所述数据包的节点的类型。如果接收所述 数据包的节点是普通节点或未配置节点,则在步骤S905丢弃该当前接收的数 据包;否则,如果接收所述数据包的节点是路由节点,则在步骤S906,判断 当前接收的数据包的源节点和目的节点的类型是否都是已配置节点。如果当 前接收的数据包的源节点和目的节点都是已配置节点,则在步骤S907判断当 前接收的数据包的路由表所记录的路径中是否包括该路由节点?如果当前接 收的数据包的路由表所记录的路径中不包括该路由节点,则在步骤S908丟弃 当前接收的数据包;否则,在步骤S909,将记录在当前接收的数据包的路由 表的路径中的该路由节点逻辑删除并且转发当前接收的数据包。如果当前接 收的数据包的源节点和目的节点并非都是已配置节点,则在步骤S910转发当 前接收的数据包。
3. 2洪泛算法中的重复数据包检测
洪泛算法中的重复数据包的检测方法与并发算法中的重复数据包的检测 方法类似。
图10示出示出根据本发明实施例的、采用重复数据包^f企测的洪泛算法的 集中式低压载波通信网络的数据包的收发方法的流程图。图IO是对图9的改
进,图10中与图9相同的步骤将不再详细描述,以免不必要的细节混淆本发 明;其中图10与图9的不同之处在于在步骤S901和步骤S902之间加入步 骤S911,将当前接收的数据包和先前接收的数据包进行比较。如果当前接收 的数据包和先前接收的数据包相同,则转至步骤S905丟弃当前接收的数据包 并且结束;否则,前进到在步骤S902。收到该数据包的所有路由节点(图108B 中示例为子网2、 3、 m、 n、 x)判断若不是重复包,则都转发且只转发1次该 数据包,同时收到该数据包的所有路由节点(图8C中示例为子网4、 5、 y、 z)判断若不是重复包,则都转发且只转发1次该^:据包。。 4.路由并发算法和洪泛算法的结合
根据上述说明,由于路由并发算法和洪泛算法分别针对包括已配置节点 的集中式低压载波通信网络和包括未配置节点的集中式低压载波通信网络, 所以它们在功能上是互补的,由此,本发明也涵盖路由并发算法和洪泛算法 的结合。下面给出路由并发算法和洪泛算法的结合的伪码。
If 3^3111)116"=0&&03131^1^1!=0(表示该教:据包的源发送节点和目的节 点都为已配置节点)
If目的地址是自己l l包括自己
,,《丟弄#炎^逸/ 〃
节点把该数据包递交上层;〃 Else If接收节点非路由节点
节点丟弃该数据包;〃 Else接收节点是路由节点
If接收数据包NPDU的RTab中包括自己的子网号
斧,《^弄该炎拔逸,'〃
节点网络层把R-Tab中自己的子网号变为0,转发 该数据包;〃
Else (接收数据包NPDU的RTab中不包括自己的子网号) 节点丟弃该数据包;〃 Else If SrcSubnet==0 (本应用中表示源发送节点为未配置节点&&目的
节点为LV-C,因此NPDU中无路由表) If目的地址是自己l l包括自己
,;^弄该炎拔逸/ 〃
节点把该数据包递交上层;/ / Else If接收节点非路由节点
节点丢弃该数据包;〃 Else接收节点是路由节点 /尸^重复逸
,,《^弄#炎^逸/ //
节点网络层转发该数据包;〃 Else (DstSubnet==0,本应用中表示源发送节点为LV-C&&目的节点为未 配置节点,因此NPDU中也无路由表) If目的地址是自己l l包括自己
,,《^弄该炎^逸,'〃
节点把该数据包递交上层。/ / Else If接收节点非路由节点 节点丟弃该数据包;〃 Else接收节点是路由节点
,^^弄#炎孩6/ //
节点网络层转发该数据包。〃
5.集中式低压载波通信网络的数据包发送节点装置
图11示出4艮据本发明实施例的、采用并发算法的集中式低压载波通信网
络的数据包发送节点装置的框图。凄t据包发送节点装置110包括路径信息 产生部件lll,用于产生路径信息;路径信息加入部件112,用于在待发送的 数据包中加入该路径信息;和发送部件113,用于发送该数据包。其中,路 径信息包括由发送节点的子网号和节点号构成的源地址,和由目的节点子 网号、目的节点子网号与目的节点节点号、或者目的节点物理标识符构成的 目的地址。如果目的节点为已配置节点,则由目的节点子网号、目的节点子 网号与目的节点节点号构成的目的地址,如果目的节点为未配置节点,则由 目的节点物理标识符构成的目的地址。此外,如果原节点和目的节点都是已 配置节点,则所述路径信息还包括由至少一个子网号构成的可达路径路由表
此外,为了接收方能够判断其接收的包是否为已经接收过的包,上述数 据包发送节点装置110还可以包括路由标识号生成部件114,用于在网络层 产生路由标识号,而所述路径信息加入部件112在网络层向所述数据包加入 所述路由标识号,而加入的位置可以是在待发送的数据包的包尾。
6.集中式低压载波通信网络的普通节点装置
图12示出才艮据本发明实施例的集中式低压载波通信网络的普通节点装 置的框图。普通节点装置120包括接收部件121,用于接收数据包;记录 部件122,用于记录当前所接收的数据包(如果考虑重复包检测,则也用于 记录先前接收的数据包);判断部件123,用于判断该普通节点装置自身是否 为当前接收的数据包的目的节点;和递交部件124,如果所述判断部件的判 断结果为肯定的,则将当前接收的数据包递交上层,否则丢弃当前接收的数 据包。如果考虑重复包的检测,则普通节点装置120还包括比较部件125, 用于比较当前接收的数据包是否与先前接收的数据包相同;其中,如果所述 判断部件的判断结果为否定的或者所述比较部件的比较结果为肯定的,则所 述递交部件丢弃当前接收的数据包;并且如果所述判断部件的判断结果为肯 定的并且所述比较部件的比较结果为否定的,则所述递交部件将当前接收的 数据包递交上层。
记录部件122可以是存储器,其数据结构可以采用由緩冲区所构成的队 列。例如,该队列为包括8个緩沖区的循环队列,每个緩沖区256字节。接 收队列的容量和每个緩冲区的大小由节点的硬件存储器资源和集中式网络的 命令处理时间决定。不同的应用可以选取不同容量的队列。接收节点网络层
从底层(Firmware)接收数据包时,会从Firmware获知接收MPDU的长度(MAC 层PDU的长度Mlen),接收节点网络层剥离接收MPDU的一些内容,得到接收 NPDU的内容和接收NPDU的长度Nlen, Men放在网络层接收緩沖区的第1个 字节。记录部件122的具体操作在上文已经说明,在此不再复述。
7. 集中式低压载波通信网络的未配置节点装置
图13示出根据本发明实施例的集中式低压载波通信网络的未配置节点 装置的框图。未配置节点装置130包括普通节点装置130包括接收部件 131,用于接收数据包;记录部件132,用于记录当前所接收的数据包(如果 考虑重复包检测,则也用于记录先前接收的数据包);判断部件133,用于判 断该普通节点装置自身是否为当前接收的数据包的目的节点;和递交部件 134,如果所述判断部件的判断结果为肯定的,则将当前接收的数据包递交上 层,否则丟弃当前接收的数据包。如果考虑重复包的检测,则普通节点装置 130还包括比较部件135,用于比较当前接收的数据包是否与先前接收的数
的比较结果为肯定的,则所述递交部件丟弃当前接收的数据包;并且如果所 述判断部件的判断结果为肯定的并且所述比较部件的比较结果为否定的,则 所述递交部件将当前接收的数据包递交上层。
未配置节点装置的记录部件132的结构与普通节点装置的记录部件的结 构类似。
8. 集中式低压载波通信网络的采用路由并发算法的^^由节点装置 当源发送节点知道到目的节点的路由表时,使用采用路由并发算法的路
由节点装置。图14示出根据本发明实施例的、采用并发算法的集中式低压载 波通信网络的路由节点装置的框图。路由节点装置140包括接收部件141, 用于接收数据包;记录部件142,用于记录所接收的数据包(如果考虑重复 包才全测,则也用于记录先前接收的数据包);判断部件143,用于判断该路由 节点装置自身是否为当前接收的数据包的目的节点;路径确定部件144,用 于确定当前接收的数据包的路由表所记录的路径中是否包括该路由节点自 身;递交部件145,如果所述判断部件的判断结果为肯定的,则将当前接收 的数据包递交上层;和转发部件146,如果所述判断部件的判断结果为否定 的,则转发当前接收的数据包;如果所述判断部件的判断结果为否定的并且 所述路径确定部件的确定结果为肯定的,则将记录在当前接收的数据包的路
由表的路径中的该路由节点逻辑删除并且转发当前接收的数据包。
如果路由节点装置140还考虑重复包检测,则路由节点装置140还包括 比较部件147,用于比较当前接收的数据包是否与先前接收的数据包相同; 如果所述比较部件的比较结果为肯定的,则所述递交部件和所述转发部件仅 执行如下处理丢弃当前接收的数据包。收到该数据包的所有路由节点判断 若不是重复包,则都转发且只转发1次该数据包。
9.集中式低压载波通信网络的采用洪泛算法的路由节点装置
当目的节点为未配置节点(本集中式网络中源发送节点则 一定为LV-C)或 源发送节点为未配置节点(本集中式网络中目的节点则一定为LV-C)时,由于 不知道到目的节点的3各由表,使用采用洪泛并发算法的^各由节点装置。图15 示出根据本发明实施例的、采用洪泛算法的集中式低压载波通信网络的路由 节点装置的框图。路由节点装置150包括接收部件151,用于接收数据包; 记录部件152,用于记录所接收的数据包(如果考虑重复包检测,则也用于 记录先前接收的数据包);判断部件153,用于判断该路由节点装置自身是否 为当前接收的数据包的目的节点;源节点和目的节点确定部件154,用于确 定当前接收的数据包的源节点和目的节点是否都是已配置节点;路径确定部 件155,用于确定当前接收的数据包的路由表所记录的路径中是否包括该路 由节点自身;递交部件156,如果所述判断部件的判断结果为肯定的,则将 当前接收的数据包递交上层;和转发部件157,如果判断部件153的判断结 杲为否定的、源节点和目的节点确定部件154的确定结果为否定的,则转发 部件157转发当前接收的数据包;如果判断部件153的判断结果为否定的、 源节点和目的节点确定部件154的确定结果为肯定的并且所述路径确定部件 155的确定结果为肯定的,则转发部件157将记录在当前接收的数据包的路 由表的路径中的该路由节点逻辑删除并且转发当前接收的数据包。如果路由 节点装置150还考虑重复包检测,则路由节点装置150还包括比较部件158, 用于比较当前接收的数据包是否与先前接收的数据包相同其中,如果比较部 件158的比较结果为肯定的,则递交部件156和转发部件157丢弃当前接收 的数据包。当目的节点为未配置节点(本集中式网络中源发送节点则 一定为 LV-C)或源发送节点为未配置节点时,源节点和目的节点确定部件154的确定 结果一定为否定的。
路由节点装置的记录部件152的结构与普通节点装置的记录部件的结构类似。
10.包括数据包发送节点装置、普通节点装置、未配置节点装置、和路 由节点装置的集中式低压载波通信网络
根据上述说明,由于数据包发送节点装置、普通节点装置、未配置节点 装置、和路由节点装置分别针对包括已配置节点的集中式低压载波通信网络 和包括未配置节点的集中式低压载波通信网络,所以它们在功能上是互补的, 由此,本发明也涵盖数据包发送节点装置、普通节点装置、未配置节点装置、 和路由节点装置的结合。
尽管参考本发明的优选实施例具体展示和描述了本发明,但是本领域一 般技术人员应该明白,该发明不局限于电力网的应用,在不脱离所附权利要 求限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种 爿修改并可应用于其他场合。
权利要求
1.一种集中式低压载波通信网络的数据包发送方法,包括步骤:产生路径信息;在待发送的数据包中加入该路径信息;以及发送该数据包。
2. 如权利要求l所述的方法,其中 所述数据包是网络层协议数据单元。
3. 如权利要求1或2所述的方法,其中所述路径信息包括 由发送节点的子网号和节点号构成的源地址;和由目的节点子网号、目的节点子网号与目的节点节点号、或者目的节点 物理标识符构成的目的地址。
4. 如权利要求3所述的方法,其中所述路径信息还包括由至少一个子 网号构成的可达路径路由表。
5. —种集中式低压载波通信网络的收发方法,所述集中式低压载波通信 网络的节点包括已配置节点,所述已配置节点包括普通节点和路由节点,所 述方法包括步骤(a)接收数据包;(b )如果接收所述数据包的节点是当前接收的数据包的目的节点,将当 前接收的数据包递交上层; (c)否则(cl)如果接收所述数据包的节点是普通节点,则丟弃该当前接收 的数据包;否则(c2)如果接收所述数据包的节点是路由节点,贝'J:(c21)如果当前接收的数据包的路由表所记录的路径中不包 括该路由节点,则丟弃当前接收的数据包;否则(c22 )将记录在当前接收的数据包的路由表的路径中的该路 由节点逻辑删除并且转发当前接收的数据包。
6. 如权利要求5所述的方法,其中所述集中式低压载波通信网络的节点 还包括未配置节点,其中步骤(cl)还包括如果接收所述数据包的节点是未配置节点,则丢弃该 当前接收的数据包;步骤(c2)还包括步骤如果当前接收的数据包的源节点和目的节点都是已配置节点,则执行所 述步骤(c21)和(c22);否则(c23 )如果当前接收的数据包的源节点和目的节点中至少一个是未配置 节点,则转发当前接收的数据包。
7. 如权利要求5所述的方法,其中 步骤(b)还包括将当前接收的数据包和先前接收的数据包进行比较 如果当前接收的数据包和先前接收的数据包相同,则丟弃当前接收的数 据包;否则,如果接收所述数据包的节点是当前接收的数据包的目的节点,则 执行所述将当前接收的数据包递交上层的步骤; 步骤(c22)还包括步骤将当前接收的数据包和先前接收的数据包进行比较 如果当前接收的数据包和先前接收的数据包相同,则丢弃当前接收的数 据包;否则,执行所述将记录在当前接收的数据包的路由表的路径中的该路由 节点逻辑删除并且转发当前接收的数据包的步骤。
8. 如权利要求6所述的方法,其中 步骤(c23)还包括将当前接收的数据包和先前接收的数据包进行比较 如果当前接收的数据包和先前接收的数据包相同,则丟弃当前接收的数 据包;否则,执行所述转发当前接收的数据包的步骤。
9. 一种集中式低压载波通信网络的数据包发送节点装置,包括 路径信息产生部件,用于产生路径信息;路径信息加入部件,用于在待发送的数据包中加入该路径信息;和 发送部件,用于发送该数据包。
10. 如权利要求9所述的装置,其中 所述数据包是网络层协议数据单元。
11. 如权利要求9或10所述的装置,其中所述路径信息包括 由发送节点的子网号和节点号构成的源地址;和由目的节点子网号、目的节点子网号与目的节点节点号、或者目的节点 物理标识符构成的目的地址。
12. 如权利要求9所述的装置,其中所述路径信息还包括由至少一个 子网号构成的可达路径路由表。
13. 如权利要求9或10所述的装置,还包括路由标识号生成部件,用 于在网络层产生路由标识号;其中所述5^径信息加入部件在网络层向所述^:据包加入所述^各由标识号。
14. 一种集中式低压载波通信网络的普通节点装置,包括 接收部件,用于接收数据包;记录部件,用于记录所接收的数据包;判断部件,用于判断该普通节点装置自身是否为当前接收的数据包的目 的节点;和递交部件,如果所述判断部件的判断结果为肯定的,则将当前接收的数 据包递交上层,否则丟弃当前接收的数据包。
15. —种集中式低压载波通信网络的未配置节点装置,包括 接收部件,用于接收数据包;记录部件,用于记录所接收的数据包;判断部件,用于判断该未配置节点装置自身是否为当前接收的数据包的 目的节点;和递交部件,如果所述判断部件的判断结果为肯定的,则将当前接收的数 据包递交上层,否则丢弃当前接收的数据包。
16. —种集中式低压载波通信网络的路由节点装置,包括 接收部件,用于接收数据包;记录部件,用于记录所接收的数据包;判断部件,用于判断该路由节点装置自身是否为当前接收的数据包的目 的节点;路径确定部件,用于确定当前接收的数据包的路由表所记录的路径中是 否包括该路由节点自身;递交部件,如果所述判断部件的判断结果为肯定的,则将当前接收的数 据包递交上层;和转发部件,如果所述判断部件的判断结果为否定的,则转发当前接收的 数据包;如果所述判断部件的判断结果为否定的并且所述路径确定部件的确 定结果为肯定的,则将记录在当前接收的数据包的路由表的路径中的该路由 节点逻辑删除并且转发当前接收的数据包。
17. 如权利要求16所述的路由节点装置,还包括源节点和目的节点确定部件,用于确定当前接收的数据包的源节点和目的节点是否都是已配置节点;其中,如果所述判断部件的判断结果为否定的、所述源节点和目的节点 确定部件的确定结果为否定的,则所述转发部件转发当前接收的数据包;如 果所述判断部件的判断结果为否定的、所述源节点和目的节点确定部件的确件将记录在当前接收的数据包的路由表的路径中的该路由节点逻辑删除并且 转发当前接收的数据包。
18. 如权利要求16或17所述的路由节点装置,还包括 比较部件,用于比较当前接收的数据包是否与先前接收的数据包相同;和其中,如果所述比较部件的比较结果为肯定的,则所述递交部件和所述转发部件仅执行如下处理丢弃当前接收的数据包。
19. 如权利要求16、 17或18所述的路由节点装置,其中如果当前接收的数据包的源子网号和目的子网号都不为0,则当前接收的 数据包的源节点和目的节点都是已配置节点,否则当前接收的数据包的源节 点和目的节点之一是未配置节点;以当前接收的数据包的路由表中包括路由节点的子网号的方式表达当前 接收的数据包的路由表所记录的路径中包括所述路由节点;并且以将该路由表中该路由节点的子网号清0的方式表达在路由表所记录的 路径中逻辑删除路由节点。
20. —种包括权利要求25的数据包发送节点装置、权利要求32的普通 节点装置、权利要求34的未配置节点装置和权利要求36的路由节点装置的 集中式低压载波通信网络。
全文摘要
公开集中式低压载波通信网络的数据包发送方法和收发方法及其装置。所述集中式低压载波通信网络的节点包括已配置节点,所述已配置节点包括普通节点和路由节点,所述收发方法包括步骤(a)接收数据包;(b)如果接收所述数据包的节点是当前接收的数据包的目的节点,将当前接收的数据包递交上层;(c)否则(c1)如果接收所述数据包的节点是普通节点,则丢弃该当前接收的数据包;否则(c2)如果接收所述数据包的节点是路由节点,则(c21)如果当前接收的数据包的路由表所记录的路径中不包括该路由节点,则丢弃当前接收的数据包;否则(c22)将记录在当前接收的数据包的路由表的路径中的该路由节点逻辑删除并且转发当前接收的数据包。
文档编号H04L12/56GK101373556SQ20071014279
公开日2009年2月25日 申请日期2007年8月23日 优先权日2007年8月23日
发明者范伟光, 果 陈 申请人:瑞斯康微电子(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1