本发明涉及电力线通信(PLC,Power Line Communication)技术,尤其涉及一种电力线网络通信的方法及装置。
背景技术:
随着物联网产业应用呈现多样化,宽带电力线通信作为物联网应用的一种,由于具备基础设施不用重新布线、组网简单、成本低、安全性高、易于实现等优点,受到越来越多的关注。
电力线网络节点上一般支持的通信协议栈如图1所示。网络中任意两个节点需要进行数据传输时,发送方站点将待发送数据,例如介质访问控制服务数据单元(MSDU,Media Access Control Service Data Unit)通过汇聚层或网络管理层交给介质访问控制(MAC,Media Access Control)层处理后发送到电力线上传输。接收方站点从信道上接收到数据后,通过MAC层恢复出MSDU,交给汇聚层或网络管理层处理。
当数据报文在网络节点中通过这种方式传输时,会存在两个问题。
第一,对于网络中的单播报文,如果最终目的站点和源节点之间存在多个中间(代理)节点,例如图2中中央协调器(CCO,Central Coordinator)和站点(STA,Station)之间需要经过多个代理协调器(PCO,Proxy Coordinator)的情况,那么每个中间节点都需要对MSDU进行转发,即每个中间节点的汇聚层或网络管理层收到MAC层上送的MSDU之后,需要解析MSDU,提取目的MAC(DMAC,Destination Media Access Control)字段,然后通过查找算法获取DMAC对应节点的路由表条目信息。这里解析、提取、查找路由的操作极大的消耗了中央处理器(CPU,Central Processing Unit)的性能。
第二,对于网络中的广播报文,例如CCO向全网成员发送广播报文。PCO需要将广播报文以广播方式转发给所有子节点。若网络中存在多个中间节点情况下,由于电力线这种共享信道的特性,中间节点完全可能收到其他中间节点转发的广播报文。这时由于中间节点无法区别此时收到的广播报文是由管理者直接发出还是由其他中间节点转发,因此将继续对此广播报文进行广播。从而造成广播风暴。这将造成灾难性的后果,是网络不能容忍的。
技术实现要素:
为解决上述技术问题,本发明实施例提供了一种电力线网络通信的方法及装置。
本发明实施例提供的电力线网络通信的方法包括:
汇聚层或网络管理层接收到来自用户层的数据时,在所述数据中封装转发信息头(FIH,Forwarding Information Header),所述FIH包括以下参数的部分或全部:目的终端设备标识(DTEI,Destination Terminal Equipment Identifier)、源终端设备标识(STEI,Source Terminal Equipment Identifier)、下一跳终端设备标识(NTEI,Next Terminal Equipment Identifier)、当前终端设备标识(CTEI,Current Terminal Equipment Identifier);
将封装完成的FIH数据作为新的待发送数据发送给MAC层,所述MAC层对所述FIH数据进行相应处理后,通过物理(PHY)层调制发送至电力线。
本发明实施例中,所述在所述数据中封装FIH,包括:
将所述STEI、CTEI均设置为本站点终端设备标识(TEI,Terminal Equipment Identifier);
提取所述数据的目的MAC,判断所述目的MAC是否为广播MAC;
当所述目的MAC是广播MAC时,将所述DTEI、NTEI均设置为广播地址;
当所述目的MAC是非广播MAC时,查找所述目的MAC对应的TEI,作为所述FIH中的DTEI;利用所述DTEI在路由表中索引出下一跳信息,作为所 述FIH中的NTEI。
本发明实施例中,当进行广播业务时,所述FIH包括所述DTEI、CTEI;
当进行单播业务时,所述FIH包括所述DTEI、STEI、NTEI。
本发明另一实施例提供的电力线网络通信的方法包括:
MAC层通过PHY层接收来自电力线的报文并处理,解析得到FIH数据后发送给汇聚层或网络管理层;
汇聚层或网络管理层收到来自所述MAC层的FIH数据后,解析FIH中的各个参数,并根据解析结果对所述FIH数据中的数据部分进行相应处理;所述FIH包括以下参数的部分或全部:DTEI、STEI、NTEI、CTEI。
本发明实施例中,所述解析FIH中的各个参数,并根据解析结果对所述FIH数据中的数据部分进行相应处理,包括:
判断所述DTEI是否为广播地址;
当所述DTEI是广播地址时,判断所述CTEI是否为本站点父节点的TEI;
当所述CTEI不是本站点父节点的TEI时,丢弃所述FIH数据;
当所述CTEI是所述本站点父节点的TEI时,对所述FIH数据中的数据部分进行复制后发送给用户层进行相应的处理。
本发明实施例中,所述方法还包括:
当所述CTEI是所述本站点父节点的TEI时,修改所述FIH中的所述CTEI为本站点的TEI,并将修改后的FIH数据转发给本站点的子节点。
本发明实施例中,所述解析FIH中的各个参数,并根据解析结果对所述FIH数据中的数据部分进行相应处理,包括:
判断所述DTEI是否为广播地址;
当所述DTEI是非广播地址时,判断所述NTEI是否为本站点的TEI;
当所述NTEI不是本站点的TEI时,丢弃所述FIH数据;
当所述NTEI是本站点的TEI时,且所述DTEI不是本站点的TEI时,根据所述DTEI在路由表中索引出下一跳信息,并利用所述下一跳信息更新所述FIH中的NTEI,以及将所述CTEI修改为本站点的TEI后转发所述FIH数据;
当所述NTEI是本站点的TEI时,且所述DTEI也是本站点的TEI时,将所述FIH数据中的数据部分发送给用户层进行相应的处理。
本发明实施例提供的电力线网络通信的装置包括:
封装模块,用于接收到来自用户层的数据时,在所述数据中封装FIH,所述FIH包括以下参数的部分或全部:DTEI、STEI、NTEI、CTEI;
发送模块,用于将封装完成的FIH数据作为新的待发送数据发送给MAC层,所述MAC层对所述FIH数据进行相应处理后,通过PHY层调制发送至电力线。
本发明实施例中,所述封装模块包括:
第一设置子模块,用于将所述STEI、CTEI均设置为本站点TEI;
判断子模块,用于提取所述数据的目的MAC,判断所述目的MAC是否为广播MAC;
第二设置子模块,用于当所述目的MAC是广播MAC时,将所述DTEI、NTEI均设置为广播地址;
第三设置子模块,用于当所述目的MAC是非广播MAC时,查找所述目的MAC对应的TEI,作为所述FIH中的DTEI;利用所述DTEI在路由表中索引出下一跳信息,作为所述FIH中的NTEI。
本发明实施例中,当进行广播业务时,所述FIH包括所述DTEI、CTEI;
当进行单播业务时,所述FIH包括所述DTEI、STEI、NTEI。
本发明另一实施例提供的电力线网络通信的装置包括:
第一解析模块,用于接收来自电力线的报文并处理,解析得到FIH数据后发送给汇聚层或网络管理层;
第二解析模块,用于收到来自所述MAC层的FIH数据后,解析FIH中的各个参数;
处理模块,用于根据解析结果对所述FIH数据中的数据部分进行相应处理;所述FIH包括以下参数的部分或全部:DTEI、STEI、NTEI、CTEI。
本发明实施例中,所述第二解析模块包括:
第一判断子模块,用于判断所述DTEI是否为广播地址;
第二判断子模块,用于当所述DTEI是广播地址时,判断所述CTEI是否为本站点父节点的TEI;
所述处理模块,还用于当所述CTEI不是本站点父节点的TEI时,丢弃所述FIH数据;当所述CTEI是所述本站点父节点的TEI时,对所述FIH数据中的数据部分进行复制后发送给用户层进行相应的处理。
本发明实施例中,所述装置还包括:
修改模块,用于当所述CTEI是所述本站点父节点的TEI时,修改所述FIH中的所述CTEI为本站点的TEI;
转发模块,将修改后的FIH数据转发给本站点的子节点。
本发明实施例中,所述第二解析模块包括:
第一判断子模块,用于判断所述DTEI是否为广播地址;
第三判断子模块,用于当所述DTEI是非广播地址时,判断所述NTEI是否为本站点的TEI;
所述处理模块,还用于当所述NTEI是本站点的TEI时,且所述DTEI不是本站点的TEI时,根据所述DTEI在路由表中索引出下一跳信息,并利用所述下一跳信息更新所述FIH中的NTEI,以及将所述CTEI修改为本站点的TEI后转发所述FIH数据;当所述NTEI是本站点的TEI时,且所述DTEI也是本站点的TEI时,将所述FIH数据中的数据部分发送给用户层进行相应的处理。
本发明实施例的技术方案中,汇聚层或网络管理层接收到来自用户层的数据时,在所述数据中封装FIH,所述FIH包括以下参数的部分或全部:DTEI、STEI、NTEI、CTEI;将封装完成的FIH数据作为新的待发送数据发送给MAC层,所述MAC层对所述FIH数据进行相应处理后,通过物理PHY层调制发送至电力线。MAC层通过PHY层接收来自电力线的报文并处理,解析得到FIH数据后发送给汇聚层或网络管理层;汇聚层或网络管理层收到来自所述MAC层的FIH数据后,解析FIH中的各个参数,并根据解析结果对所述FIH数据中的数据部分进行相应处理。本发明实施例通过各站点对FIH的处理,提高了网 络中间节点对单播报文的转发性能,从而提高了网络整体的数据处理能力。同时网络节点对广播报文进行了有效抑制,使网络避免了广播风暴这样的灾难性事件。
附图说明
图1为典型电力线通信协议栈示意图;
图2为典型电力线通信网络拓扑示意图;
图3为本发明实施例的电力线网络通信的方法的流程示意图一;
图4为转发信息头数据结构示意图;
图5为本发明实施例的电力线网络通信的方法的流程示意图二;
图6为本发明第一实施例网络拓扑示意图;
图7为本发明第一实施例网络节点路由表示意图;
图8为本发明第二实施例网络拓扑示意图;
图9为本发明第三实施例参数优化后的转发信息头结构示意图;
图10为本发明第四实施例协议栈处理模块示意图;
图11为本发明实施例一的电力线网络通信的装置的结构组成示意图;
图12为本发明实施例二的电力线网络通信的装置的结构组成示意图。
具体实施方式
为了能够更加详尽地了解本发明实施例的特点与技术内容,下面结合附图对本发明实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本发明实施例。
图3为本发明实施例的电力线网络通信的方法的流程示意图一,如图3所示,所述电力线网络通信的方法包括以下步骤:
步骤301:汇聚层或网络管理层接收到来自用户层的数据时,在所述数据中封装FIH,所述FIH包括以下参数的部分或全部:DTEI、STEI、NTEI、CTEI。
本发明实施例中,所述在所述数据中封装FIH,包括:
将所述STEI、CTEI均设置为本站点TEI;
提取所述数据的目的MAC,判断所述目的MAC是否为广播MAC;
当所述目的MAC是广播MAC时,将所述DTEI、NTEI均设置为广播地址;
当所述目的MAC是非广播MAC时,查找所述目的MAC对应的TEI,作为所述FIH中的DTEI;利用所述DTEI在路由表中索引出下一跳信息,作为所述FIH中的NTEI。
本发明实施例中,当进行广播业务时,所述FIH包括所述DTEI、CTEI;当进行单播业务时,所述FIH包括所述DTEI、STEI、NTEI。
步骤302:将封装完成的FIH数据作为新的待发送数据发送给MAC层,所述MAC层对所述FIH数据进行相应处理后,通过PHY层调制发送至电力线。
上述方案中,通过汇聚层或网络管理层传递给MAC层的数据,如MSDU,在这部分数据前面增加若干字节长度的FIH,如图4所示。站点通过对FIH的处理从而提高网络中单播报文的转发性能以及防止网络广播风暴。
FIH包括DTEI、STEI、NTEI、CTEI。这些参数的字节大小可以根据网络具体支持的节点数目多少而定。例如,如果电力线网络支持255个节点,那么FIH每个参数只需一个字节大小即可;如果网络需要支持64K个节点,那么FIH每个参数对应调整为两个字节大小,依次类推。
这些字段为全1时表示广播地址,如字段为一个字节大小时,对应广播地址为0xFF。一般来说,对于网络中广播发送数据报文的情况下,需要将DTEI、NTEI设置为广播地址。反之,则表示这是一个单播数据报文。
FIH中DTEI参数表示转发数据报文的最终目的节点;STEI表示转发数据报文的最初源节点;这两个参数由转发报文的发起节点确定,各个中间节点在对报文进行转发过程中不能修改FIH中的这两个参数。直到报文最终到达目的节点。
FIH中的NTEI参数表示当前报文的下一跳处理节点。若一个网络节点收到的单播报文的FIH中此参数与本站点TEI不符,则丢弃此报文。
FIH中的CTEI参数表示当前报文的前一个处理节点。
单播情况下的数据报文在网络节点间传输时,参数NTEI和CTEI需要被各个中间节点逐跳修改。
网络中各个节点在组网之后,都会被网络管理者分配一个终端设备标识,即TEI。此标识与各个站点的MAC地址唯一对应。各节点需要维护自身TEI信息,父节点TEI信息,以及本节点到达网络中其他节点的拓扑信息,从而形成路由表。通过FIH中的DTEI参数,可以提高单播报文的转发性能。
当中间节点接收到单播报文之后,解析FIH,根据DTEI参数直接获取路由条目,获知下一跳节点NTEI信息,完成转发。因此,不再需要解析MSDU获取DMAC,再通过查找算法获取DMAC对应的下一跳节点信息。路由表查找消耗的处理性能跟实现时使用的具体算法相关,一般会占用单播报文转发处理流程的50~60%以上,且随着网络支持的站点容量增大而进一步增加。本发明节省了站点根据报文中的DMAC进行路由表查找的过程,从而提高了单播报文的转发性能。
通过FIH中的CTEI参数,可以抑制广播风暴。当中间节点接收到广播报文之后,解析FIH,判断其中CTEI参数是否为自己父节点TEI。若是,则处理此广播报文;若不是,则丢弃此报文。通过CTEI字段,网络节点只处理来自父节点的广播报文,从而避免了广播风暴。
这里,电力线网络中的广播报文,一般是管理节点向成员节点传输数据报文时采用的一种方式。
图5为本发明实施例的电力线网络通信的方法的流程示意图二,如图5所示,所述电力线网络通信的方法包括以下步骤:
步骤501:MAC层通过PHY层接收来自电力线的报文并处理,解析得到FIH数据后发送给汇聚层或网络管理层。
步骤502:汇聚层或网络管理层收到来自所述MAC层的FIH数据后,解析FIH中的各个参数,并根据解析结果对所述FIH数据中的数据部分进行相应处理;所述FIH包括以下参数的部分或全部:DTEI、STEI、NTEI、CTEI。
本发明实施例中,所述解析FIH中的各个参数,并根据解析结果对所述FIH数据中的数据部分进行相应处理,包括:
判断所述DTEI是否为广播地址;
当所述DTEI是广播地址时,判断所述CTEI是否为本站点父节点的TEI;
当所述CTEI不是本站点父节点的TEI时,丢弃所述FIH数据;
当所述CTEI是所述本站点父节点的TEI时,对所述FIH数据中的数据部分进行复制后发送给用户层进行相应的处理。
本发明实施例中,所述方法还包括:
当所述CTEI是所述本站点父节点的TEI时,修改所述FIH中的所述CTEI为本站点的TEI,并将修改后的FIH数据转发给本站点的子节点。
本发明实施例中,所述解析FIH中的各个参数,并根据解析结果对所述FIH数据中的数据部分进行相应处理,包括:
判断所述DTEI是否为广播地址;
当所述DTEI是非广播地址时,判断所述NTEI是否为本站点的TEI;
当所述NTEI不是本站点的TEI时,丢弃所述FIH数据;
当所述NTEI是本站点的TEI时,且所述DTEI不是本站点的TEI时,根据所述DTEI在路由表中索引出下一跳信息,并利用所述下一跳信息更新所述FIH中的NTEI,以及将所述CTEI修改为本站点的TEI后转发所述FIH数据;
当所述NTEI是本站点的TEI时,且所述DTEI也是本站点的TEI时,将所述FIH数据中的数据部分发送给用户层进行相应的处理。
以下结合具体应用场景对本发明实施例做进一步说明,应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
实施例一
本实施例针对电力线网络中的单播报文说明FIH的用法。
网络各节点上电后组网拓扑结构如图6所示。站点A为网络管理者,站点 B、C为中间节点,站点D为网络叶子节点。这种情况下,各节点对应的路由表信息如图7所示。
以站点A向站点D发送单播报文为例。站点A在报文前封装FIH为:DTEI=D、STEI=A、NTEI=B、CTEI=A。其中NTEI与本地路由表信息对应,说明本站点到达目的站点A的下一跳为站点B。
站点B收到此报文时,解析FIH,判断NTEI为本站点,但报文最终目的站点为D,因此直接根据DTEI查找本地路由表,并修改FIH为:DTEI=D、STEI=A、NTEI=C、CTEI=B。修改了NTEI和CTEI字段,表明此报文当前由站点B发出,将由站点C处理。
站点C收到此报文时,解析FIH,判断NTEI为本站点,但报文最终目的站点为D,因此直接根据DTEI查找本地路由表,并修改FIH为:DTEI=D、STEI=A、NTEI=D、CTEI=C。修改了NTEI和CTEI字段,表明此报文当前由站点C发出,将由站点D处理。
站点D收到此报文时,解析FIH,判断出DTEI、NTEI均为本站点,因此接收报文并交给相应模块进行处理。
从本实施例能够看出,中间节点B、C在处理报文过程中,只需要根据FIH中的DTEI参数即可直接获取路由表下一跳信息,从而完成转发。相比较没有FIH的情况,本发明节省了站点根据报文中的DMAC进行路由表查找的过程。路由表查找消耗的处理性能跟实现时使用的具体算法相关,一般会占用单播报文转发处理流程的50~60%以上,且随着网络支持的站点容量增大而进一步增加。因此,本发明通过使用FIH,使网络中间节点的单播报文转发性能极大提高。
实施例二
本实施例针对电力线网络中的广播报文说明FIH的用法。
网络各节点上电后组网拓扑结构如图8所示。站点A为网络管理者,站点B、C为一级子节点,站点D、E为二级子节点。其中站点B为站点D的父节 点,站点C为站点E的父节点。
假定本网络节点容量小于255,则广播地址为0xFF。
当站点A需要向全体成员站点广播数据报文时,在数据报文前封装FIH为:DTEI=0xFF、STEI=A、NTEI=0xFF、CTEI=A。
站点B收到此报文时,解析FIH,通过DTEI、NTEI为0xFF判断出这是广播报文。进一步解析CTEI字段,确认和本站点父节点信息一致,因此接收此报文。由于站点B为网络中间节点,因此修改FIH为:DTEI=0xFF、STEI=A、NTEI=0xFF、CTEI=B,并转发到电力线上供子节点继续处理。
站点C收到站点A发出的报文时,通过解析FIH中的DTEI、NTEI字段判断出这是广播报文。进一步解析CTEI=A,确认和本站点父节点信息一致,因此接收此报文。由于站点C为网络中间节点,因此修改FIH为:DTEI=0xFF、STEI=A、NTEI=0xFF、CTEI=C,并转发到电力线上供子节点继续处理。
由于电力线网络的总线型特性,站点C也有可能收到站点B发出的广播报文。这种情况下,站点C解析FIH中的CTEI=B,发现与本站点父节点(A)信息不一致,因此站点C丢弃站点B的广播报文。类似的,站点B也会丢弃站点C发出的广播报文。
站点D有可能收到站点B、C发出的广播报文。通过解析FIH中的DTEI、NTEI字段判断出是广播报文,并进一步解析CTEI字段,只有和本站点父节点信息一致,即CTEI=B的情况下,才会处理此广播报文,其他情况都会进行报文丢弃处理。站点E处理广播报文情况与此类似。
从本实施例能够看出,各站点只会处理父节点发出的广播报文,对可能收到的其他节点的广播报文进行丢弃处理,从而保证广播报文按网络拓扑进行转发,避免了广播风暴。
FIH增加了数据报文传输的额外开销,但这点开销基本可以忽略不计。对于支持255成员数量的网络来说,FIH只需要4字节;即使对于支持65535个成员数量的网络,也只需要8字节。而电力线网络通常支持传输1518字节长度的数据报文。相比数据报文长度,FIH增加的开销微乎其微。但是FIH却极大 的提高了单播报文的转发性能,并使网络避免了广播风暴这样灾难性的事件。因此FIH的使用将使电力线网络数据处理性能更加快速、更加健壮。
实施例三
本实施例提供一种对FIH参数个数进一步优化压缩的方法。
CTEI字段一般针对广播业务使用,单播的情况实际可以忽略此字段。STEI字段一般用于单播业务,当报文被转发最终目的站点,即DTEI对应的站点时,站点可以依据STEI进行报文响应处理。而广播报文一般不需要目的站点进行响应处理;或者即使需要响应,也是将响应报文发送给网络管理节点(CCO)。因此广播报文可以忽略STEI字段。
单播和广播是两种独立互斥的业务。基于这些情况,我们可以对FIH的使用作进一步优化。
假定本网络节点容量小于255,则广播地址为0xFF。
如图9所示,FIH优化参数之后大小随业务情况而定。若为单播业务,FIH可优化为3个参数大小;若为广播业务,FIH可优化为2个参数大小。具体处理流程如下:
报文接收站点在解析FIH时,首先解析第一个参数,即DTEI。
1)若DTEI为广播地址(0xFF),则判定此报文为广播业务,并取第二个参数,即CTEI,判断此参数是否为自己父节点TEI,若不是,说明报文为其他站点发出,丢弃不处理;若是,则处理此报文,且按FIH大小为2参数大小情况提取MSDU数据。
2)若DTEI非广播地址,判定此报文为单播业务。站点按单播格式从FIH提取STEI和NTEI字段。若NTEI非本站点,直接丢弃此报文;否则,进一步判断DTEI字段。若DTEI非本站点,对此报文进行转发处理;否则,站点处理此报文,按FIH大小为3参数大小情况偏移提取MSDU数据,并交给设备相应模块处理。
使用这种参数优化处理之后,FIH在提高单播报文转发性能和抑制广播风 暴的同时,对于数据报文传输的额外开销进一步减小,单播和广播业务分别减小25%和50%,网络节点处理能力得到进一步提升。
实施例四
本实施例基于某公司产品实际使用情况给出FIH在转发用户数据时的一种处理流程,此流程包含了FIH针对单播、广播业务的统一处理方法。
产品整体软件协议栈功能模块划分如图10所示。FIH的封装和解析在网络管理层完成。网络管理层通过HASH方式对站点MAC进行高效管理,并对各站点的TEI信息形成直连路由表,便于转发时索引和获取站点信息。
产品支持4K容量网络节点,因此各站点TEI为2字节大小,网络广播TEI为0xFFF。用户数据传输的典型场景是CCO向网络某节点或整个网络发送数据。
CCO收到来自用户层的MSDU数据时,启动数据发送处理流程:
1)提取MSDU中目的MAC参数,判断此参数是否为广播地址并相应封装FIHFIH。其中STEI=CTEI=本站点TEI。
目的MAC是广播MAC:封装FIH中DTEI=NTEI=0xFFF;
目的MAC非广播MAC:通过HASH模块查找站点MAC对应的TEI,即对应FIH中的DTEI;并用DTEI直接索引路由表将路由表中的下一跳信息设置为FIH中的NTEI。
2)将封装完成的FIH+MSDU作为新的待发送数据发给MAC层。MAC层进行相应处理后,通过PHY层将数据调制发送到电力线。
网络中各节点收到电力线的报文具体处理如下:
1)通过PHY层接收来自电力线的报文并处理,将解析得到的FIH+MSDU数据发送给网络管理层;
2)网络管理层收到来自MAC层的数据,解析FIH中各参数:
DTEI为0xFFF,进行广播报文接收处理:
CTEI不是本站点的父节点,丢弃报文;
CTEI是本站点的父节点,需要本站点处理,将数据MSDU部分拷贝一份 送给用户层作相应处理;另外,修改FIH中的CTEI为本站点值,并将其转发出去,待本站点子节点继续处理;
DTEI非0xFFF,进行单播报文接收处理:
NTEI非本站点:丢弃报文;
NTEI为本站点,DTEI为非本站点:根据DTEI索引路由表,获取新的下一跳并用此值更新FIH中的NTEI;将CTEI改为本站点TEI值,将报文转发出去;
NTEI为本站点,DTEI也为本站点:本站点为单播报文最终目的节点,将MSDU部分交给用户层作相应处理。
FIH的处理在协议整体处理流程中相对独立,因此虽然本实施例用于解决用户数据报文转发的场景,但其他场景,例如协议控制报文的接收和转发,也可以参考本实施例的流程进行处理。
图11为本发明实施例一的电力线网络通信的装置的结构组成示意图,如图12所示,所述装置包括:
封装模块11,用于接收到来自用户层的数据时,在所述数据中封装FIH,所述FIH包括以下参数的部分或全部:DTEI、STEI、NTEI、CTEI;
发送模块12,用于将封装完成的FIH数据作为新的待发送数据发送给MAC层,所述MAC层对所述FIH数据进行相应处理后,通过PHY层调制发送至电力线。
所述封装模块11包括:
第一设置子模块111,用于将所述STEI、CTEI均设置为本站点TEI;
判断子模块112,用于提取所述数据的目的MAC,判断所述目的MAC是否为广播MAC;
第二设置子模块113,用于当所述目的MAC是广播MAC时,将所述DTEI、NTEI均设置为广播地址;
第三设置子模块114,用于当所述目的MAC是非广播MAC时,查找所述目的MAC对应的TEI,作为所述FIH中的DTEI;利用所述DTEI在路由表中 索引出下一跳信息,作为所述FIH中的NTEI。
当进行广播业务时,所述FIH包括所述DTEI、CTEI;
当进行单播业务时,所述FIH包括所述DTEI、STEI、NTEI。
本领域技术人员应当理解,图12所示的电力线网络通信的装置中的各单元的实现功能可参照前述电力线网络通信的方法的相关描述而理解。
图12为本发明实施例二的电力线网络通信的装置的结构组成示意图,如图12所示,所述装置包括:
第一解析模块21,用于接收来自电力线的报文并处理,解析得到FIH数据后发送给汇聚层或网络管理层;
第二解析模块22,用于收到来自所述MAC层的FIH数据后,解析FIH中的各个参数;
处理模块23,用于根据解析结果对所述FIH数据中的数据部分进行相应处理;所述FIH包括以下参数的部分或全部:DTEI、STEI、NTEI、CTEI。
所述第二解析模块22包括:
第一判断子模块221,用于判断所述DTEI是否为广播地址;
第二判断子模块222,用于当所述DTEI是广播地址时,判断所述CTEI是否为本站点父节点的TEI;
所述处理模块23,还用于当所述CTEI不是本站点父节点的TEI时,丢弃所述FIH数据;当所述CTEI是所述本站点父节点的TEI时,对所述FIH数据中的数据部分进行复制后发送给用户层进行相应的处理。
所述装置还包括:
修改模块24,用于当所述CTEI是所述本站点父节点的TEI时,修改所述FIH中的所述CTEI为本站点的TEI;
转发模块25,将修改后的FIH数据转发给本站点的子节点。
所述第二解析模块22包括:
第一判断子模块221,用于判断所述DTEI是否为广播地址;
第三判断子模块223,用于当所述DTEI是非广播地址时,判断所述NTEI 是否为本站点的TEI;
所述处理模块23,还用于当所述NTEI是本站点的TEI时,且所述DTEI不是本站点的TEI时,根据所述DTEI在路由表中索引出下一跳信息,并利用所述下一跳信息更新所述FIH中的NTEI,以及将所述CTEI修改为本站点的TEI后转发所述FIH数据;当所述NTEI是本站点的TEI时,且所述DTEI也是本站点的TEI时,将所述FIH数据中的数据部分发送给用户层进行相应的处理。
本领域技术人员应当理解,图12所示的电力线网络通信的装置中的各单元的实现功能可参照前述电力线网络通信的方法的相关描述而理解。
本发明实施例所记载的技术方案之间,在不冲突的情况下,可以任意组合。
在本发明所提供的几个实施例中,应该理解到,所揭露的方法和智能设备,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个第二处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。