CN103986657A - 电力线载波通信实现分布式网络交换的方法 - Google Patents

电力线载波通信实现分布式网络交换的方法 Download PDF

Info

Publication number
CN103986657A
CN103986657A CN201410171091.5A CN201410171091A CN103986657A CN 103986657 A CN103986657 A CN 103986657A CN 201410171091 A CN201410171091 A CN 201410171091A CN 103986657 A CN103986657 A CN 103986657A
Authority
CN
China
Prior art keywords
carrier
network
data frame
equipment
frame
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410171091.5A
Other languages
English (en)
Other versions
CN103986657B (zh
Inventor
田定胜
邹仕翔
许志瑜
蔡燕群
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KEDA INTELLIGENT TECHNOLOGY Co Ltd
Original Assignee
KEDA INTELLIGENT TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by KEDA INTELLIGENT TECHNOLOGY Co Ltd filed Critical KEDA INTELLIGENT TECHNOLOGY Co Ltd
Priority to CN201410171091.5A priority Critical patent/CN103986657B/zh
Publication of CN103986657A publication Critical patent/CN103986657A/zh
Application granted granted Critical
Publication of CN103986657B publication Critical patent/CN103986657B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种电力线载波通信实现分布式网络交换的方法,包括:进行MAC地址与IP地址的状态维护表,本地和远端设备状态同步,地址学习与ARP代理实现主从载波机之间状态同步进行MAC地址学习:通过扩充载波数据帧格式定义进行网络数据帧交换的数据压缩协议,将网络地址与载波地址转换,网络数据帧压缩和解压缩,MTU数据包分片处理实现网络数据帧封装。本发明通过载波机间设备状态同步,本地载波机能生成远端设备状态信息表,记录远端所有设备的IP地址及其MAC地址。当本地载波机收到对远端设备进行ARP解析的包时,通过查询远端设备状态信息表,获取IP地址对应的MAC地址,代被解析的设备生成ARP应答包,回送给源IP,实现在没有广播能力的物理网络上进行地址解析。

Description

电力线载波通信实现分布式网络交换的方法
技术领域
本发明涉及通信领域,特别是涉及本发明涉及一种电力线载波通信实现分布式网络交换的方法。 
背景技术
电力线载波通信是指利用现有的电力传输介质(电缆、架空线)作为信息传输媒介,通过载波方式将模拟或数字信号进行传输的一种特殊通信方式。电力线载波最大的优势就是可以利用电力线网络作为一种通信媒介,这是世界上分布范围最广的、最经济的有线通信资源。国外很早就有对电力线载波通讯技术的研究,但是因各个国家的使用频率范围不同,国外的电力线载波产品均是根据本地区电网特性、电网结构而设计。而我国配电网结构复杂,配电自动化系统中的信息接入点多,且地理位置分布广,有一个稳定的通信信息平台是建设智能电网的重要保证。我国单个通信点信息量少,通信设备工作环境差,其通信组网方式也必须找到一个技术性能、造价和建设维护方面都能满足需求的通信解决方案。 
目前,现有的中压配电载关键设备是电力线载波通信机(简称载波机)。如图1所示,电力线载波通信机挂接在电力线上,连接配电自动化控制中心的载波机(称为主载波机)将配电自动化控制中心发送的配电命令调制到电力线,经远端的载波机(称为从载波机)解调后发送给相应的配电自动化终端。根据配电自动化控制中心、终端设备的接口不同,载波机通常支持以太网口、串口两种方式。早期设备以串口设备为主,现越来越多的配电自动化设备采用以太网口连接。 
在基于以原有太网接口的载波通信网络中,配电自动化控制中心与主载波机之间通过TCP方式连接,配电自动化控制中心作为客户端,主载波机作为服务器。主载波机通过不同端口区分不同配电自动化终端,如7000对于DTU1,7001对DTU2。配电自动化终端与从载波机之间也是通过TCP方式连接,从载波机作为客户端,配电自动化终端作为服务器。但是基于网络应用层端口模式的数据转发过程中,电力线载波数据转发过程中,只需要转发网络数据包的应用层数据,并不转发应用层以下的数据帧报文。从最大限度上节约了载波网络的数据容量,提高了数据的传输效率。但是随着以太网的拓展和延伸, 采用基于应用层端口的数据派发模式隔离了各个通信数据源的局域网效应,各个数据源并不是在同一个局域网内工作,为以后的网络设备通信带来了诸多不便因素,例如:各数据终端直接不能直接建立网络TCP或者UDP连接,不能通过ICMP查询网络状态,难以开展VOIP等IP附加业务、端口配置和应用非常复杂等等。上述方式的本质是,TCP报文段在应用层转发,所以现有的载波机不支持非TCP报文段封装的消息,主要表现在: 
(1)不支持ICMP协议。 
通过运行ICMP协议,配电自动化控制中心获悉配电自动化终端在线状态和运行状态,但ICMP消息不是基于TCP报文段的。 
(2)难以开展VOIP等增值业务。 
现有增值业务通常是基于端到端通过TCP和UDP协议实现,而基于应用层转发显然不是端到端的。 
发明内容
本发明要解决的技术问题是提供一种基于电力线载波通信技术实现分布式网络交换的方法,使承载IP类型的网络数据帧能在电力线载波通信机之间透明传输,使通过电力线连接的多台载波机效果上等同于一个以太网交换机,即用多台电力线载波机构建一个分布式以太网交换机。 
为解决上述技术问题,本发明提供一种电力线载波通信实现分布式网络交换的方法; 
由于距离及信号衰减原因,主载波机并不能与挂接在同一对电力线的每一台从载波机通信,也不能在全网范围广播,所以,配电自动化终端新上线时,并不能向网络发送广播消息,配电自动化控制中心没有该配电自动化终端的MAC地址信息。当配电控制中心向该配电自动化终端发送命令消息时,首先要进行ARP地址解析,即试图通过主载波机发送ARP广播消息,但电力载波机通信并不能进行全网广播,所以结果是ARP解析失败。本发明设计了主从载波机间状态同步方法,本方法主要分为以下两大步骤(一、二),本方法的两大步骤实施无先后顺序要求也可同时实施。 
一、主从载波机之间状态同步进行MAC地址学习,通过以下步骤: 
1、各载波机通过以太网的数据信息解析出网络数据帧,通过分析网络数据帧结构,载波机自动学习挂接在本载波机下的所有设备信息(IP、MAC地址、VLAN ID),生成包 含所述设备信息的本地状态表; 
2、当载波设备网络状态或者载波设备附属终端设备(即配电自动化终端)的网络状态变化时,向载波的附属主载波设备(即向载波网络的主载波机)同步网络状态信息,通过状态同步,各载波机生成载波设备状态表,载波设备状态表记录载波机设备信息; 
3、载波机实现ARP代理功能,即代远端设备发送ARP响应,使主载波机成功解析挂接在某个从载波机下的配电自动化终端设备的MAC地址; 
载波机以太网网卡工作于混杂模式,接收局域网所有网络数据帧。载波机处理两种类型网络数据帧:ARP数据帧和IP数据帧。无论收到哪种类型网络数据帧,总可从网络数据帧中提取出源MAC-源IP的映射。每收到一网络数据帧,更新本地设备状态表:如果当前帧中的源MAC-源IP映射项已经存在本地设备状态表中,更新本地设备状态表中当前中的源MAC-源IP映射建立时间,重置该映射项老化时间;否则,在本地设备状态表中新增当前帧中的源MAC-源IP映射项、分配设备索引,设置该映射项老化时间,启动本地向远端状态表同步过程。如果当前时间大于某映射项老化时间,清除该映射项、收回设备索引,启动本地向远端状态同步过程。 
二、网络传输数据帧封装,通过以下步骤: 
(1)扩充PLC帧格式定义,以区分是普通PLC帧还是PLC封装的网络数据帧; 
若是网络数据帧,要进一步区分是压缩的MAC/IPv4/TCP、压缩的MAC/IPv4/UDP或无压缩的MAC/IP; 
若是普通载波数据帧,仍按载波通信数据透明传输的数据转发流程处理; 
若是网络传输数据(MAC)帧,则按本发明的网络数据帧的数据转发流程处理,即本发明步骤(3); 
(2)网络地址与载波地址转换 
由于连接载波通信设备的网络终端之间是基于目的MAC寻址(在网络层是基于IP地址寻址),而载波机之间是基于载波机地址寻址,所以载波机收到网络数据帧(MAC)时,将网络数据帧的MAC地址转换为载波机地址,并将网络数据帧封装入PLC帧结构后发送到电力线; 
(3)网络数据帧压缩和解压缩 
由于连接载波通信设备的网络终端之间是基于IP通信方式,每个IP报文段额外开 销为14字节(网络数据帧头)+20字节(IP帧头)+20字节(TCP帧头)=54字节;而传送的命令消息内容短小、实时性要求高,而电力线传输速率低,所以必须进行数据压缩。 
TCP压缩的方法:将网络数据帧的网络数据帧头(网络数据帧的前14字节)丢弃,IP/TCP帧头(IP数据帧的前20字节)按照RFC1144(低速串行链路上的TCPIP头部压缩协议)压缩;解压时,先按RFC1144对IP/TCP帧头解压,再查询本地载波设备状态表和远端设备网络状态信息表,恢复网络数据帧头; 
UDP压缩的方法:本发明只对于IP首部长度为20字节、服务类型为0,DF为0且不分片的UDP报文进行压缩,不满足“IP首部长度为20字节、服务类型为0,DF为0且不分片”的UDP报文以“无压缩的MAC/IP”方式传送。 
符合上述条件的UDP压缩:将网络数据帧的MAC信息头(网络数据帧的前14字节)丢弃,查询本地载波设备状态表和远端设备网络状态信息表,将IP头中的源IP地址(4字节)、目的IP地址(4字节)转换为源设备索引(4比特)、目的设备索引(4比特);保留IP头中的标识(2字节)、TTL(1字节),其余丢弃;保留UDP头中的源端口(2字节)、目的端口(2字节)和长度(2字节),丢弃UDP检验和。解压时,首先恢复UDP的数据部分、源端口、目的端口和长度,并通过计算恢复UDP检验和;恢复IP头中的标识和TTL;通过查询本地载波设备状态表和远端设备网络状态信息表,将源设备索引、目的设备索引转换为IP头中的源IP、目的IP;IP头中的数据长度为底层上报的压缩IP/UDP包长度x-9(压缩的IP/UDP头长度)+28(标准的IP/UDP头长度);IP版本号为4,首部长度为5,服务类型为0,标志、片偏移为0,上层协议为17(UDP);计算IP首部检验和; 
(4)MTU数据包分片处理 
如果压缩后的报文长度超出PLC帧的最大长度,且IP头中的DF=0即允许分片,对IP进行分片; 
如果压缩后的报文长度超出PLC帧的最大长度,且IP头中的DF=1即禁止分片,则丢弃该报文,并向源IP发送ICMP不可到达报文。 
IP分片过程: 
①计算原IP头长度x,IP数据部分长度为y。x为IP头中的首都长度的4倍,y 为IP头中的总长度减去x。 
②计算每片的长度z。z=(501-x)&~7。 
③计算片片数n。n=(y+z-1)/z。 
④封装每片数据。 
对第i(0≤i≤n-1)片头在原IP头的基础上修改: 
a、总长度为x+z(i<n-1)或x+y-i*z(i=n-1); 
b、片偏移为在原IP片偏移的基础上增加i*z/8; 
c、分片标志MF为置1(i<n-1)或为0(i=n-1)。 
第i片数据部分为原IP数据部分的第z*i字节开始的z字节(i<n-1)或者y%z字节(i=n-1)。 
经过分片的IP包用“无压缩的MAC/IP”方式传送。目的载波机接收到后,剥去PLC帧头,即可得到IP包。根据IP头中的源IP、目的IP,查询本地本地载波设备状态表和远端设备网络状态信息表,即可解析出源MAC、目的MAC,从而封装成网络数据帧。 
通过载波机间设备状态同步,本地载波机可生成远端设备状态信息表,记录远端所有设备的IP地址及其MAC地址。当本地载波机收到对远端设备进行ARP解析的包(ARP包中包含需要进行地址解析的设备的IP地址)时,通过查询远端设备状态信息表,获取IP地址对应的MAC地址,代被解析的设备生成ARP应答包,回送给源IP,实现了在没有广播能力的物理网络上进行地址解析。 
附图说明
下面结合附图与具体实施方式对本发明作进一步详细的说明: 
图1现有载波通信系统结构示意图。 
具体实施方式
本发明电力线载波通信实现分布式网络交换的方法一实施例,包括: 
1、各载波机通过网络信息解析出网络数据帧,通过分析网络数据帧结构,载波机自动学习挂接在本载波机下的所有设备信息,生成包含所述设备信息的本地状态表; 
本地设备状态表用以记录挂接在本载波机下的所有设备序号、IP、MAC、挂接在载波机的哪个网口、设备IP是否是外网地址等,如表1所示载波机本地设备状态表。 
设备序号 设备IP地址 设备MAC地址 挂接网口 是外部地 VLAN ID
        址?  
           
表1 
其中,MAC地址为载波机动态学习的。 
设备的IP地址是否为外部地址是指该设备是否被配电自动化控制中心直接访问的地址,如果不是外部地址,主载波机要进行NAT转换。 
设备序号动不能重复,0号设备为载波机本身。 
远端设备状态表相当于相关载波机本地设备状态表的汇总,增加载波机号,如表2所示,载波机远端设备状态表。 
表2 
本地设备状态表由载波机自学习得到,远端设备状态表由远端载波机发送同步消息得到。 
主载波机的远端设备状态表汇总所有从载波机的本地设备状态表,而从载波机的远端设备状态表只记录主载波机的本地设备状态表,因为从载波机只与主载波机进行IP通信,从载波机之间不进行IP通信。 
由表1、表2,载波机可以将从网络收到的网络数据帧转换或者压缩为PLC帧,经电力线传送给相应的目标载波机;也可以将从电力线收到的PLC帧还原或者解压为网络数据帧,经网络发送给相应的配电自动化终端、配电控制中心和其它网络设备。 
2、当状态变化时,向远端载波机同步,通过状态同步,各载波机生成远端设备状态表,远端设备状态表记录远端载波机设备信息; 
载波机检测到本地设备状态改变时,向远端载波机发送状态更新过程,发送同步消息,进行状态同步。本地、远端载波机设备状态同步消息结构,如表3所示。 
表3 
其中,设备操作、设备索引、设备IP、设备MAC和挂接网口字段重复3次; 
3、实现ARP代理功能,即代远端载波机发送ARP响应,使主载波机成功解析挂接在某个从载波机下的配电自动化终端设备的MAC地址; 
载波机以太网网卡工作于混杂模式,接收局域网所有网络数据帧。载波机处理两种类型网络数据帧:ARP数据帧和IP数据帧。无论收到哪种类型网络数据帧,总可从网络数据帧中提取出源MAC-源IP的映射。每收到一网络数据帧,更新本地设备状态表:如果当前帧中的源MAC-源IP映射项已经存在本地设备状态表中,更新本地设备状态表中当前中的源MAC-源IP映射建立时间,重置该映射项老化时间;否则,在本地设备状态表中新增当前帧中的源MAC-源IP映射项、分配设备索引,设置该映射项老化时间,启动本地向远端状态表同步过程。如果当前时间大于某映射项老化时间,清除该映射项、收回设备索引,启动本地向远端状态同步过程; 
二、网络数据帧封装,通过以下步骤: 
(1)扩充载波数据帧格式定义,以区分是普通PLC帧还是PLC封装的网络数据帧; 
若是网络数据帧,要进一步区分是压缩的MAC/IPv4/TCP、压缩的MAC/IPv4/UDP、无压缩的MAC/IP;若是普通载波数据帧,仍按原流程处理;若是网络数据帧,则按本发明的流程处理; 
本发明定义的PLC帧结构如表4所示。 
表4 
对原有PLC帧格式的修改:将8比特NETID划分为两部分:1比特Flag,7比特NETID。NETID含义与现有的一样,Flag位标识当前帧是普通PLC帧(Flag=0),还是网络数据帧(Flag=1)。 
接收方根据Flag位,可判断帧类型,进行下一步处理。如果是普通PLC帧,执行原有处理流程;如果是网络数据帧,执行本发明设计的流程。当Flag=1时,DATA_字段进一步划分为如表5结构: 
表5 
各字段含义: 
TYPE  MAC类型,目前TYPE定义如下: 
1   压缩的MAC/IPv4/TCP 
2   压缩的MAC/IPv4/UDP 
3   无压缩的MAC/IP 
其他 预留 
sZBI  源端设备序号 
dZBI  目的端设备序号 
PRI   优先级 
BODY  网络数据帧内容(m≤501)。 
(2)网络地址与载波地址转换 
将网络地址转换为载波机地址,并将网络数据帧封装入载波数据帧结构后发送到电力线; 
通过中断服务程序,接收PLC帧,视PLC帧头中的Flag位; 
(i) 如果为0,是普通PLC帧,按照普通PLC帧流程处理。 
(ii) 如果为1,是网络数据帧,提取出TYPE、sZBI、dZBI、BODY,查询远端状态表由sZBI获得源MAC;查询本地状态表,由dZBI获得目的MAC,并确定目的MAC所连接的载波机网卡e,视TYPE类型; 
a、如果为无压缩的MAC/IP,恢复的网络数据帧由sZBI获得的源MAC + 由dZBI获得的目的MAC + IP类型(0x0800) + BODY组成。调用网卡e驱动发送接口的hard_start_xmit函数发送; 
b、如果为MAC/IPv4/TCP,按照RFC1144,解压出网络数据帧,调用网卡e驱动发送接口的hard_start_xmit函数发送; 
c、如果为MAC/IPv4/UDP,提取出标识、TTL、源端口、目的端口、UDP长度。查询远端状态表根据sZBI获得源IP地址,查询本地状态表根据dZBI获得目的IP地址。IP/UDP头的版本号、包头长度、服务类型、标志、片偏移为缺省值4、5、0、2、0;数 据长度由PLC帧长度、IP报头长度、UDP长度计算得到;IP首部检验和、UDP检验和计算得到,即解压出网络数据帧,调用网卡e驱动发送接口的hard_start_xmit函数发送; 
(3)网络数据帧压缩和解压缩 
TCP压缩:将网络数据帧头丢弃,IP/TCP帧头按照RFC1144压缩; 
TCP解缩:先按RFC1144对IP/TCP帧头解压,再查询本地设备状态表和远端设备状态表,根据表恢复网络数据帧头; 
每个IP报文,网络数据帧头是网络数据帧的前14字节,IP帧头是IP帧的前20字节,TCP帧头是TCP帧的前20字节; 
UDP压缩只对于IP首部长度为20字节,服务类型为0,DF为0且不分片的UDP报文进行压缩,不满足“IP首部长度为20字节、服务类型为0,DF为0且不分片”的UDP报文以“无压缩的MAC/IP”方式传送; 
符合上述条件的UDP压缩:将网络数据帧的网络数据帧头丢弃,查询本地载波设备状态表和远端设备网络状态信息表,将IP帧头中的源IP地址、目的IP地址转换为源设备索引、目的设备索引;保留IP帧头中的标识和TTL,其余丢弃;保留UDP头中的源端口、目的端口和长度,丢弃UDP检验和; 
符合上述条件的UDP解压:恢复UDP的数据部分、源端口、目的端口和长度,并通过计算恢复UDP检验和;恢复IP帧头中的标识和TTL;通过查询本地载波设备状态表和远端设备网络状态信息表,将源设备索引、目的设备索引转换为IP头中的源IP、目的IP;IP帧头中的数据长度为底层上报的压缩IP/UDP包长度压缩的IP/UDP头长度+2标准的IP/UDP头长度,IP版本号为4,首部长度为5,服务类型为0,标志、片偏移为0,上层协议为17UDP,计算IP首部检验和; 
载波机软件一般采用Linux操作系统,网卡设置为混杂模式,接收所有网络数据帧。修改网卡驱动,在接收中断处理函数中加入函数m_ProcessMacHook,参数为收到的网络数据帧。ProcessMacHook函数的功能是对钩出的网络数据帧进行处理,处理流程是: 
①如果目的MAC为多播地址 
区分MAC类型:如果不是ARP(0x0806),返回;否则,如果是ARP请求,且请求解析目标为远端载波机挂接设备x(即在远端载波机挂接设备状态中),代x发送ARP响应。 
②如果目的MAC为单播地址 
(i)查询源MAC是否在本地状态中,如果在,则转入(ii);如果不在,分配设备序号,在本地设备状态中插入该源MAC设备,并向远端载波机进行状态同步; 
(ii)区分MAC类型:如果不是IP(0x0800),返回;否则,提取出源IP、目的IP。根据本地状态表,源IP查询得到PLC帧中的SRC(源载波机)和sZBI(源设备序号);根据远端状态表,由目的IP查询得到PLC帧中的DST(目的载波机)和dZBI(目的设备序号)。 
标记PLC帧头中Flag为1(即为IP)。 
根据IP包头的协议字段,对IP包头和IP包体作如下处理: 
如果IP版本不是4、6,丢失; 
如果IP版本是6:IP包长度不大于501字节,将整个IP包写入BODY字段,标志PLC帧TYPE为无压缩的IP;如果IP包长度大于501字节,丢弃IP包,并给源主机会送ICMP不可达差错报文。 
如果IP版本是4且IP包头长度是5(即20字节长度),则视IP包头中的协议字段: 
如果是TCP,按RFC1144协议压缩。如果压缩后报文长度不大于501字节,将压缩后报文直接写入BODY字段,并标志TYPE类型为压缩的MAC/IPv4/TCP后发送;如果压缩后报文长度大于501字节,且DF(禁止分片)位为0,对IP包分片(每片长度不大于501字节),不压缩,直接写入BODY字段,并标志TYPE类型为无压缩的IP后发送;否则,丢弃IP包,并给源主机会送ICMP不可达差错报文。 
如果是UDP,且服务类型为0,提取IP/UDP头中的标识字段、寿命字段、源端口字段、目的端口字段和UDP长度字段,其余字段压缩。 
如表6所示,UDP压缩结构。 
表6 
如果压缩后报文长度不大于501字节,将压缩后报文直接写入BODY字段,并标志TYPE类型为压缩的MAC/IPv4/UDP后发送;如果压缩后报文长度大于501字节,且DF位为0,对IP包分片(每片长度不大于501字节),不压缩,直接写入BODY字段,并标志TYPE类型为无压缩的IP后发送;否则,丢弃IP包,并给源主机会送ICMP不可达差错报文。 
否则,不压缩。如果IP包长度不大于501字节,且DF位为0,将IP包直接写入BODY字段;如果IP长度大于501字节,对IP包分片(每片长度不大于501字节),直接写入BODY字段,并标志TYPE类型为无压缩的IP后发送;否则,丢弃IP包,并给源主机会送ICMP不可达差错报文。 
(4)MTU数据包分片处理 
如果压缩后的报文长度超出载波数据帧的最大长度,且IP头中的DF=0即允许分片,对IP进行分片; 
如果压缩后的报文长度超出载波数据帧的最大长度,且IP头中的DF=1即禁止分片,则丢弃该报文,并向源IP发送ICMP不可到达报文。 
IP分片过程: 
①计算原IP头长度x,IP数据部分长度为y。x为IP头中的首都长度的4倍,y为IP头中的总长度减去x。 
②计算每片的长度z。z=(501-x)&~7。 
③计算片片数n。n=(y+z-1)/z。 
④封装每片数据。 
对第i(0≤i≤n-1)片头在原IP头的基础上修改: 
总长度为x+z(i<n-1)或x+y-i*z(i=n-1); 
片偏移为在原IP片偏移的基础上增加i*z/8; 
分片标志MF为置1(i<n-1)或为0(i=n-1)。 
第i片数据部分为原IP数据部分的第z*i字节开始的z字节(i<n-1)或者y%z字节(i=n-1)。 
经过分片的IP包用“无压缩的MAC/IP”方式传送。目的载波机接收到后,剥去PLC帧头,即可得到IP包。根据IP头中的源IP、目的IP,查询本地本地载波设备状态表 和远端设备网络状态信息表,即可解析出源MAC、目的MAC,从而封装成网络数据帧。 
以上通过具体实施方式和实施例对本发明进行了详细的说明,但这些并非构成对本发明的限制。在不脱离本发明原理的情况下,本领域的技术人员还可做出许多变形和改进,这些也应视为本发明的保护范围。 

Claims (1)

1.一种电力线载波通信实现分布式网络交换的方法,其特征是,包括: 
一、主从载波机之间状态同步进行MAC地址学习,通过以下步骤: 
1)各载波机通过以太网的数据信息解析出网络数据帧,通过分析网络数据帧结构,载波机自动学习挂接在本载波机下的所有设备信息,生成包含所述设备信息的本地状态表; 
2)当载波设备网络状态或者载波设备附属终端设备的网络状态变化时,向载波的附属主载波设备同步网络状态信息,通过状态同步,各载波机生成载波设备状态表,载波设备状态表记录载波机设备信息; 
3)载波机实现ARP代理功能,即代远端设备发送ARP响应,使主载波机成功解析挂接在某个从载波机下的配电自动化终端设备的MAC地址; 
每收到一网络数据帧,更新本地设备状态表:如果当前帧中的源MAC-源IP映射项已经存在本地设备状态表中,更新本地设备状态表中当前中的源MAC-源IP映射建立时间,重置该映射项老化时间;否则,在本地设备状态表中新增当前帧中的源MAC-源IP映射项、分配设备索引,设置该映射项老化时间,启动本地向远端状态表同步过程;如果当前时间大于某映射项老化时间,清除该映射项,收回设备索引,启动本地向远端状态同步过程; 
二、网络数据帧封装,通过以下步骤: 
(1)扩充载波数据帧格式定义,以区分是普通PLC帧还是PLC封装的网络数据帧; 
若是网络数据帧,要进一步区分是压缩的MAC/IPv4/TCP、压缩的MAC/IPv4/UDP或无压缩的MAC/IP; 
若是普通载波数据帧,仍按载波通信数据透明传输的数据转发流程处理; 
若是网络传输数据帧即MAC帧,则按本发明的网络数据帧的数据转发流程处理,即本发明步骤(3); 
(2)网络地址与载波地址转换 
载波机收到网络数据帧时,将网络数据帧的MAC地址转换为载波机地址,并将网络数据帧封装入PLC帧结构后发送到电力线; 
(3)网络数据帧压缩和解压缩 
TCP压缩:将网络数据帧头丢弃,IP/TCP帧头按照RFC1144压缩; 
TCP解缩:先按RFC1144对IP/TCP帧头解压,再查询本地设备状态表和远端设备状态表,根据表恢复网络数据帧头; 
每个IP报文,网络数据帧头是网络数据帧的前14字节,IP帧头是IP帧的前20字节,TCP帧头是TCP帧的前20字节; 
UDP压缩只对于IP首部长度为20字节,服务类型为0,DF为0且不分片的UDP报文进行压缩,不满足“IP首部长度为20字节、服务类型为0,DF为0且不分片”的UDP报文以“无压缩的MAC/IP”方式传送; 
符合上述条件的UDP压缩:将网络数据帧的网络数据帧头丢弃,查询本地载波设备状态表和远端设备网络状态信息表,将IP帧头中的源IP地址、目的IP地址转换为源设备索引、目的设备索引;保留IP帧头中的标识和TTL,其余丢弃;保留UDP头中的源端口、目的端口和长度,丢弃UDP检验和; 
符合上述条件的UDP解压:恢复UDP的数据部分、源端口、目的端口和长度,并通过计算恢复UDP检验和;恢复IP帧头中的标识和TTL;通过查询本地载波设备状态表和远端设备网络状态信息表,将源设备索引、目的设备索引转换为IP头中的源IP、目的IP;IP帧头中的数据长度为底层上报的压缩IP/UDP包长度压缩的IP/UDP头长度+2标准的IP/UDP头长度,IP版本号为4,首部长度为5,服务类型为0,标志、片偏移为0,上层协议为17UDP,计算IP首部检验和; 
(4)MTU数据包分片处理 
如果压缩后的报文长度超出载波数据帧的最大长度,且IP头中的DF=0即允许分片,对IP进行分片; 
如果压缩后的报文长度超出载波数据帧的最大长度,且IP头中的DF=1即禁止分片,则丢弃该报文,并向源IP发送ICMP不可到达报文。 
CN201410171091.5A 2014-04-25 2014-04-25 电力线载波通信实现分布式网络交换的方法 Active CN103986657B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410171091.5A CN103986657B (zh) 2014-04-25 2014-04-25 电力线载波通信实现分布式网络交换的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410171091.5A CN103986657B (zh) 2014-04-25 2014-04-25 电力线载波通信实现分布式网络交换的方法

Publications (2)

Publication Number Publication Date
CN103986657A true CN103986657A (zh) 2014-08-13
CN103986657B CN103986657B (zh) 2017-09-12

Family

ID=51278484

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410171091.5A Active CN103986657B (zh) 2014-04-25 2014-04-25 电力线载波通信实现分布式网络交换的方法

Country Status (1)

Country Link
CN (1) CN103986657B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770032A (zh) * 2017-11-10 2018-03-06 中国南方电网有限责任公司 配电终端的通讯系统及其通讯方法
CN109379109A (zh) * 2018-11-27 2019-02-22 国网山东省电力公司济宁供电公司 基于电缆铜屏蔽层载波技术的配电自动化通信装置
CN112837524A (zh) * 2021-01-19 2021-05-25 国网山西省电力公司营销服务中心 一种基于电力线载波的智能分布式通信方法
CN113194102A (zh) * 2021-05-19 2021-07-30 苏州瑞立思科技有限公司 一种基于端口的icmp回送报文传输方法
CN113612530A (zh) * 2021-01-05 2021-11-05 青岛鼎信通讯股份有限公司 一种基于电力线载波通信的光纤断点续接方法
CN113794949A (zh) * 2021-08-12 2021-12-14 广西电网有限责任公司南宁供电局 一种多场景电能计量数据传输系统及方法
CN114302345A (zh) * 2021-12-31 2022-04-08 上海电力设计院有限公司 5g网络切片在智慧能源领域的配电自动化系统通信方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697326B1 (en) * 2000-04-14 2004-02-24 International Business Machines Corporation Method and apparatus for generating replies to address resolution protocol requests
CN102710521A (zh) * 2012-06-08 2012-10-03 科大智能科技股份有限公司 中压配电网电力线载波通信系统及主载波机、从载波机
CN103532855A (zh) * 2013-10-23 2014-01-22 深圳市晟思智能电网有限公司 一种实现电力线以太网数据交换的方法、载波设备及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6697326B1 (en) * 2000-04-14 2004-02-24 International Business Machines Corporation Method and apparatus for generating replies to address resolution protocol requests
CN102710521A (zh) * 2012-06-08 2012-10-03 科大智能科技股份有限公司 中压配电网电力线载波通信系统及主载波机、从载波机
CN103532855A (zh) * 2013-10-23 2014-01-22 深圳市晟思智能电网有限公司 一种实现电力线以太网数据交换的方法、载波设备及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107770032A (zh) * 2017-11-10 2018-03-06 中国南方电网有限责任公司 配电终端的通讯系统及其通讯方法
CN109379109A (zh) * 2018-11-27 2019-02-22 国网山东省电力公司济宁供电公司 基于电缆铜屏蔽层载波技术的配电自动化通信装置
CN113612530A (zh) * 2021-01-05 2021-11-05 青岛鼎信通讯股份有限公司 一种基于电力线载波通信的光纤断点续接方法
CN112837524A (zh) * 2021-01-19 2021-05-25 国网山西省电力公司营销服务中心 一种基于电力线载波的智能分布式通信方法
CN113194102A (zh) * 2021-05-19 2021-07-30 苏州瑞立思科技有限公司 一种基于端口的icmp回送报文传输方法
CN113194102B (zh) * 2021-05-19 2023-11-21 苏州瑞立思科技有限公司 一种基于端口的icmp回送报文传输方法
CN113794949A (zh) * 2021-08-12 2021-12-14 广西电网有限责任公司南宁供电局 一种多场景电能计量数据传输系统及方法
CN114302345A (zh) * 2021-12-31 2022-04-08 上海电力设计院有限公司 5g网络切片在智慧能源领域的配电自动化系统通信方法

Also Published As

Publication number Publication date
CN103986657B (zh) 2017-09-12

Similar Documents

Publication Publication Date Title
CN103986657A (zh) 电力线载波通信实现分布式网络交换的方法
EP2482502B1 (en) Message handling method and apparatus
EP1076955B1 (en) Point-to-point protocol with a signaling channel
Davidson An introduction to TCP/IP
Rentschler et al. The parallel redundancy protocol for industrial IP networks
CN110233766B (zh) 一种基于IPv6的OTN、PTN、IPRAN、SPN及PON网络自动部署的方法
CN101369977A (zh) 数据传输的方法、装置和系统
CN103973569A (zh) 一种数据报文转发方法、用户驻地设备和系统
CN101304387B (zh) 一种实现二层隧道协议隧道转换的方法
CN108200199B (zh) IPV4 over IPV6隧道场景中的负载均衡系统及方法
JP6386166B2 (ja) IPv4とIPv6との間の翻訳方法及び装置
CN105490937A (zh) 以太虚拟网络网关切换方法和服务商边缘节点设备
CN103856581A (zh) 一种用户侧设备的翻译封装自适应算法
US20030035439A1 (en) Packet switched network using distributed protocol converters for interfacing user terminals
EP2071808B1 (en) Methods and a system and devices for ipv6 datagram transmission in the ethernet
CN102868642B (zh) 在asic中实现nvgre报文转发的方法和装置
CN102238164B (zh) 面向ip电信网的多协议报文适配方法
CN102388594A (zh) 数据传输的方法、设备及系统
CN112995038A (zh) Profinet协议在工业sdn中的接入方法
US9787578B2 (en) Systems and methods of IPV6 mapping
CN104506461A (zh) 一种工业通信网络关口设备
CN105072057A (zh) 一种用于网络数据传输的中间交换设备及网络通信系统
CN102075921B (zh) 一种网络间通信的方法和装置
CN102238163B (zh) 面向ip电信网的多协议报文传输方法
CN112994994B (zh) 基于工业以太网协议在工业sdn中的接入方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant