智能变电站交换机基于GOOSE管理技术设计与实现

2020-04-09 10:12张宪军赵谦梁志宝晏平仲杨瑞
综合智慧能源 2020年2期
关键词:配置文件交换机报文

张宪军,赵谦,梁志宝,晏平仲,杨瑞

(1.国电南京自动化股份有限公司,南京 210003;2.南京国电南自电网自动化有限公司,南京 211153)

0 引言

智能变电站建设坚持“安全可靠、技术先进、功能集成、标准统一、通用互换、运行高效”的原则[1],在变电站设计、建设、运维过程中,三网合一、网架简洁[2],采用的通信设备基于面向通用对象的变电站事件(GOOSE)管理技术,实现集中配置,节约IP地址源资,方便部署高效投运,巡检省时省力,故障诊断排查全面快速,更换交换机免配置,批量升级软件,提高管理精确性、一致性、自动化水平。

智能变电站交换机在通用工业以太网交换机向电力专用交换机[3-6]技术演进的过程中,以单机管理模式为主,单台工业以太网交换机管理方式可支持命令行接口(CLI)、远程登录服务协议(Telnet)、安全壳协议(SSH)、超文本传输协议(HTTP)、超文本传输安全协议(HTTPS)、简单网络管理协议(SNMP)、IEC 61850通信标准[7-8]、综合网络管理软件(也称电力专用网管)[9]。通信设备不全在监控系统内管理,配置复杂,维护困难。综合网络管理软件通常不能安装在监控主机上,只有特定厂商的技术人员才能熟练使用调试主机进行调测,不利于现场运维人员实时高效管控所有通信设备。

当智能变电站通信设备管理人员变更时,管理员密码需要更改,当前通常需要到每台设备上修改,工作量大;通信设备默认配置安装完毕后,不能通过网络方式进行配置管理,工作效率低下;当前过程层交换机巡检也需每台交换机串口登录,查看相关端口统计、系统日志、诊断信息、告警信息等。

每台交换机的配置文件通常不能共享[10];运行过程中更换交换机需要对配置文件重新进行上传下载,整个过程手动处理,不能即插即用;当交换机故障不能上传配置文件,需要查找、备份、校验配置文件,且配置文件不是最新或不一致都可能导致数据通信错误;通信设备系统软件升级,需要对每台交换机进行近距离现场升级;已投运的通信设备,当出现概率性丢包事件时无法调试,仅凭专业知识和经验进行预估判断是非常困难的。这就需要丰富通信设备管理的信息和方式,方便现场故障诊断和运维巡检。

1 GMT总体设计

智能变电站交换机基于GOOSE管理技术,又称级联集群管理技术,是在智能变电站2层互联互通的局域网内进行统一管理。从管理角度看,1组交换机可以看成是1台“整体”的交换机。2台或2台以上交换机通过级联方式和集群管理协议组成一个集群,管理员采用1个IP地址和管理接口,对集群每个成员交换机进行访问和管理,自动发现设备,配置文件,备份恢复,自动升级映像文件,统一配置管理通道等。GMT不会对智能变电站现有网络拓扑结构和数据通信产生任何影响,支持星型、树型、链型等典型和任意拓扑。

1.1 基本特征

单台交换机可以全局打开GMT,每个端口也可单独打开和关闭。局域网中GMT支持交换机的最大个数为N(根据系统存储和内存资源可调整),必须集群版本号完全一致才能建立连接管理,可配置是否转发非本集群号协议控制报文。设置版本号是为了以后升级使用,旧版不支持新版技术功能,新版兼容旧版所有协议内容。设置集群号是为了便于将不同厂商,同厂商不同批次的交换机在数量达到最大时分集群进行管理。每台交换机基于媒体访问控制(MAC)地址进行识别,拥有自己的名字属性便于标识。集群与集群之间是独立关系。

集群中的交换机有4种模式: 主交换机(Master)、备交换机(Backup)、成员交换机(Member)、候选交换机(Candidate)。1个集群中只有1台主交换机和1台备交换机,其他均为成员交换机,不参与集群管理功能但又支持GMT的交换机为候选交换机,备交换机本身是成员交换机,但会和主交换机通信备份集群中所有其他交换机的配置文件,更换主交换机时可以接替主交换机工作。集群中主、备交换机可以通过选举方式产生,设置优先级或MAC地址选择。动态选择存在不确定性,收敛时间较大,智能变电站网络对可靠性、延时性要求较高,不推荐使用动态选举方式。推荐采用静态配置交换机模式的方式,单台交换机地位平等,每台均可配置成为GMT主、备交换机。主交换机可以管理不同型号、不同配置的通信设备。主交换机若采用SNMP协议管理成员交换机,理论上可以管理任何厂商任何型号的设备,但实现较复杂,协议通信效率不高,命令行配置成SNMP识别的语法工作量庞大,所以通常采用2层简单集群管理协议。

主交换机自动发现设备,建立集群,配置通道,管理成员交换机。主交换机根据MAC地址对成员交换机做唯一标志,集群管理协议是基于2层协议设计的,因此不需要IP地址进行成员管理。成员交换机信息包括MAC地址、名称、模式、状态、配置文件状态,详细信息包括日志告警和调试诊断信息。主交换机保存成员交换机的配置文件到非易失性永久存储器件中。当单个GMT成员交换机的数量达到最大后,打开GMT功能的交换机只能成为候选交换机。主交换机可以强制候选交换机加入GMT并进行基于GOOSE管理,强制成员交换机成为候选交换机。可对成员交换机进行软件升级、批量配置、更新配置文件、信息配置,包括集群命令行和网页方式。默认GMT功能是打开的,交换机处于成员模式,成员交换机不主动发包,但对GMT报文会响应。

主交换机自动发现设备是一种动态方式,如周期性地每隔2 s发送一次探测报文,成员交换机短暂延时响应。智能变电站在可靠性要求较高的网络环境下,可配置GMT模式为静态方式,主交换机永不发送探测报文,只在需要的情况下发送管理报文,尽可能降低管理流量。不足的是成员交换机是否在线需要人工把握,管理报文无响应则需要进行原因排查,多数时候成员交换机都是在线和可用的,这种方法能够充分享受GMT带来的好处,又能避免长期激活。探测报文消耗带宽和系统性能,管理报文可在专用网络或带内网络环境通信。

动态设备发现方式下,主交换机采用组播地址发送探测报文,各个交换机向打开GMT功能的接口转发,本组播地址直接写到硬件组播地址转发表中,端口成员是所有打开GMT功能的端口和中央处理器(CPU)端口。在带内环境下可以配置协议专用虚拟局域网(VLAN)传输集群管理报文,成员交换机可以直接转发成员交换机协议报文不送自身CPU,也可所有协议报文都上送CPU,成员交换机根据接收到的主交换机的端口进行针对性转发,这样所有协议报文只有一个生命周期,更好控制,但延时会较硬件转发稍大。

更换主交换机时,备交换机可检测到主交换机若干次未发送探测报文,自己将接替主交换机角色,也可通过手动配置变更。更换成员交换机或备交换机时,若MAC地址相同,成员交换机初次与主交换机相连,请求配置文件更新,配置文件均为动态生效,不必重启设备。成员、备用、候选交换机CPU只接收主交换机的探测报文,响应主交换机报文采用单播地址,避免产生大量无效的控制报文。可手动添加成员交换机,不发送协议控制报文,直接进行远程管理。成员交换机可主动配置成与主交换机同步配置。改扩建变电站增减交换机非常方便灵活。

(3) 该3-面为(3,5+,7)-面,由R2.1和R3.6得3-面和面上的3-点最多从7-点拿走的权值为

1.2 集群管理协议(CMP)

静态方式下主交换机通过手动添加新成员的方式输入成员交换机基本信息,包括MAC地址、名称等信息,直接进入可管理状态。成员交换机接收主交换机命令报文并响应。

动态方式下主交换机周期性发送探测报文,成员交换机接收到探测报文单设备短暂延时响应,同时会带自身MAC地址、名称等信息。通信链路建立之后,若主交换机没有成员交换机的配置文件则会获取成员交换机的配置文件保存,若主交换机已有,根据需要主交换机会同步成员交换机配置文件并实时生效。成员交换机响应主交换机探测报文,成为新成员,若干次不响应(如10次)则主交换机认为成员交换机处于离线状态。处于离线状态的成员交换机是不可配置管理的。备份交换机会从主交换机获取包括主交换机在内的所有配置文件备份,当若干次(如30次且需大于主交换机重启时间)接收不到主交换机的探测报文,则自己发送周期性探测报文,成员交换机将更新自身主交换机的MAC地址为备份交换机,备交换机接管整个集群交换机。

若主交换机接收到由自身发出的探测报文,则说明网络有环路阻塞对应的链路端口,若干次不能接收到自身发出的探测报文之后再重新打开被阻塞端口,这可防止网络误接线导致的环路故障,需告警并记录日志。

1.3 配置命令

配置命令包括单机指令和批量配置。单机指令是主交换机先指定成员交换机,配置单组命令进行下发,成员交换机执行语法检查,无误后执行相应命令,并返回执行结果给主交换机。单机指令可以一次下发一组命令,成员交换机按照顺序执行,若有一条执行失败则返回当前执行结果和失败原因,不执行后续命令。若通过网络管理系统(NMS)对主交换机进行操作,则主交换机还需要对结果进行反馈。

批量配置命令是通过读取相关命令对每个成员交换机进行配置,每个成员都配置成功才算配置成功。单机交换机配置个性化较强,主交换机使用批量配置功能需严格检查命令是否适合每个成员交换机,常见批量配置包括修改集群成员交换机管理密码、配置文件备份恢复、一键收集调试诊断信息、自动升级映像文件等。

1.4 数据管理通道

智能变电站新一代交换机一般带有专用以太网带外管理接口,可利用带外接口搭建专用交换机管理网络。硬件设计带外管理接口数据只和交换机管理CPU通信,不经交换机芯片,管理数据与业务通信数据严格分开,不占带内带宽。增加若干交换机搭建新管理网络专用平台,是最理想的GMT网管环境。从交换机角度看只要带宽允许,任何数据都一样,不存在相互干扰的情况,在数据通道传输GMT协议和命令报文是可行的。主交换机发送探测报文频率控制在每秒甚至数秒1次,GMT协议报文占用带宽非常小。若带内收发管理数据,可在调试阶段采用设备发现方式建立GMT集群,在投运阶段设为静态方式,智能变电站网络环境变化不频繁,改扩建变电站及时调整GMT配置,方便全站统一管理。

1.5 交换机配置文件

配置文件一般保存为命令行语法格式字符串,可编辑,支持上传、下载,实时生效。早期采用二进制格式保存配置文件,文件较大,无法离线编辑查看当前配置。交换机配置文件新版行标要求全站交换机统一采用XML语法格式配置文件,以符合“标准统一、通用互换”原则。配置文件本地保存方法是根据各个需保存模块注册的保存处理函数,与默认配置参数进行即时比较,若相同则无任何内容保存,若有差异,则根据差异生成相应命令行语法,所有模块遍历完成后生成配置文件缓存,然后保存到文件系统中去。注意各模块配置命令有优先级,加载时执行先后顺序。加载启动过程是从文件系统中读出配置文件,按生成时的顺序执行每一条命令行语法。GMT配置文件下载是动态即时生效的,即把系统(包括所有模块)先恢复出厂配置,然后执行配置文件命令,不必重启整个系统。

1.6 更换交换机免配置

智能变电站电压等级越高所用交换机数量越多,需保存的配置文件也越多,当发生异常更换时,需人工找到对应备份配置文件,维护工作量很大。GMT主交换机收集所有成员交换机配置文件并进行本地保存,这些配置文件要设计得比较小,采用字符串方式保存。备份交换机保存主交换机配置文件,若更换的成员交换机与被替换交换机的MAC地址完全一致,则GMT可以直接更新配置文件实时生效。若MAC地址不一致,则可在GMT主交换机上进行替换交换机的配置,使新MAC地址交换机能够继承前任交换机配置文件。更换GMT主交换机时,可从备份交换机导入前任配置文件。GMT能真正实现智能变电站交换机更换免配置,实现交换机整机“即插即用”。

1.7 一键收集调试诊断信息

电力交换机现场调试诊断信息是非干扰性的,即不影响智能变电站正常业务通信。所有诊断都是对已有通信异常的记录,包括端口通断状态变更、端口错误丢包数(如循环冗余校验(CRC)错误)、CPU利用率超过阈值、光端口光功率超过设定阈值、系统重启时间、CPU温度过高、广播风暴抑制恢复发生、端口接收非法报文、端口流量异常告警等信息,每个协议模块还有自身诊断报文异常信息及系统异常日志信息。对于临近或延长工业交换机产品使用寿命的情况,定期巡检很有必要,发现异常及时分析原因和预防,避免更大事故发生。为全站范围高效率巡检和快捷分析现场问题,新一代智能变电站交换机提供一键收集诊断信息功能,大大提高巡检和故障排除效率,且不对在运通信业务造成任何影响。

1.8 批量升级软件

智能变电站新一代交换机一般有引导程序(Bootrom)、系统映像文件、现场可编程门阵列(FPGA)程序,个别有复杂可编程逻辑器件(CPLD)升级程序。在无异常通信时一般不会有升级发生,但出现技术改进或缺陷修正时,需要对全站交换机升级将是非常大的工作量。GMT能做到同型号集群交换机所有程序文件版本完全一致,自动进行升级,精准且省时省力。智能变电站工程技术和维护人员一般严禁同一个型号设备使用2种不同版本的程序文件,避免发生不可预测故障。单机程序升级一般支持双程序文件,当一个程序文件升级不成功或写闪存(Flash)过程中发生破坏,系统仍能自动识别好的程序文件使用。程序文件升级将会带来单机系统重启。

2 GMT协议设计

2.1 软件系统架构

交换机软件系统较复杂,应用代码行数一般超过百万,因此良好的架构设计能使产品稳定可靠。软件配置交换芯片寄存器直接可用功能包括访问控制列表(ACL)、服务质量(QOS)、镜像、VLAN、单播/组播地址转发表、风暴抑制等。接口断开连接的状态变化是由硬件中断信号反馈给CPU,软件能够在最短时间处理各个模块注册的端口变更函数。监测类调试诊断信息包括各个协议模块、交换机配置功能模块、网络管理和维护类模块。除命令行接口(CLI)外,其余均建立在传输控制协议/网际协议(TCP/IP)之上。交换机GMT软件系统架构图如图1所示,图中列出2层动态协议所处位置,集群管理协议(CMP)是基于2层协议类型设计的,可很好地与系统融合。GMT涉及交换机管理所有信息,可读写全部配置参数,应基于稳定可靠、简单高效、易扩展原则设计智能变电站通信协议。按照管理方式,CLI,Telnet,SSH同属命令行类别,底层可调用同一类应用程序接口(API)函数,HTTP,HTTPS网页类可调用同一类API函数,SNMP,IEC61850调用各自底层适配API函数。

主交换机若对本机进行配置则直接调用本地相应API执行,若对成员交换机进行配置,CMP则提供一套底层链路通道,通过CMP把相应命令参数送到指定成员交换机。成员交换机解析命令参数,发现语法错误则直接返回错误并反馈错误提示信息,若命令参数合法则调用成员交换机本地相应API执行,执行结果通过CMP返回给主交换机,主交换机CMP模块最后返回给上层调用模块。若PC-NMS(计算机网络管理系统)通过IEC 61850,SNMP,Web,Telnet远程访问,则主交换机上层应用需进一步把执行结果封装返回给远程网络管理系统。

图1 交换机GMT软件系统架构

CMP直接通过交换芯片2层收发原始数据报文。CMP报文的源地址为交换机MAC地址,此MAC地址在整个智能变电站网络中唯一识别交换机,因此报文中将不再出现成员交换机MAC地址信息。CMP也接收报文队列缓存接收的所有报文,当成员交换机数据报文未接收完整时,主交换机将分别缓存成员交换机未接收完整的数据直至全部接收完毕。定时器任务定期检查发送报文是否得到确认,若在指定时间内未接收确认报文,则将重新发送上次发送过的报文,达到一定次数仍未接收确认报文将认为CMP链路断开,交换机恢复到初始状态。发送报文不采用滑动窗口方式确认,智能变电站2层网络推荐使用简单停-等确认模式,即只缓存最近一次发送报文,收到响应或确认报文后删除请求或响应缓存。

2.2 主交换机状态机

主交换机需维护N套与成员或候选交换机对应的交换机状态机数据结构,每套状态机数据结构对应于1个成员或候选交换机。因每个交换机地位平等,选取第0套(0为结构数组索引编号)状态机为成员或候选交换机自身的状态机数据结构。主交换机中每个成员交换机的状态基于MAC地址进行索引。系统初始化均为初始状态,初始状态不能做任何命令配置。当接收到成员交换机的探测报文响应时,启动相应的数据结构,状态迁移到Active状态。静态方式时,主交换机处于静态状态,除非手动配置发生变更,否则主交换机的成员交换机将永远处于Static模式,可以对成员交换机进行单命令配置和批量配置。在主交换机侧,可以配置指定成员交换机和候选交换机状态切换。当从成员交换机切换到候选交换机时,待发送响应或确认后清除缓存,其余状态保持不变。当候选交换机切换到成员交换机时,接收一切配置命令。当主交换机侧发生配置模式变更时,成员或候选交换机接收到模式变更通知后将进入相对应模式。当主交换机和成员或候选交换机配置模式发生冲突时,以主交换机命令优先级高处理。主交换机侧成员(候选)交换机状态机转换图如图2所示。

2.3 成员交换机状态机

候选、成员(备份)交换机可以接收主交换机的模式变更通知,也可以接受本地命令强制模式变更。当本地配置模式变更时,发送模式变更通知给主交换机同步模式。与主交换机侧相对应同样具备4个状态,功能是相同的。在同一台设备上实现有所区别,状态机数值采用不同于主交换机侧的对应状态。成员(候选)交换机除了接受本地配置命令发出的模式变更通知和配置文件同步等操作命令外,不会主动发送探测报文,都是响应主交换机探测报文。成员(候选)状态机转换图如图3所示。

图2 主交换机侧成员(候选)交换机状态机转换

图3 成员(候选)交换机状态机转换

2.4 报文格式

CMP为2层协议,可设定2层以太网协议类型为0×88AC,协议类型是要申请的。报文长度是指本报文包括从图4 CMP报文格式第1个字节开始算至数据载荷最后一个字节的字节数,成员名称是指成员交换机设置的名称,便于识别和记忆。报文类型和命令类型见表1,报文类型分为请求、响应、确认和通知4种类型,根据实现需要可增加相应类型,此分类便于根据报文类型直接调用相应函数指针集合实现。命令类型根据支持的上层应用管理方式分类,具体的安全命令行,HTTPS,SNMPv3,IEC 61850因不同设备厂商通信设备信息管理设计语法的差异,暂未有统一规范,只能根据厂商现有语法进行命令解释和执行。D和F位是为批量分片重组报文使用,D为0表示没有分片,D为1表示有分片还有后续报文;F为0表示最末报文,F为1表示不是最末报文还有后续报文。当接收方接收完整分片报文后才进行相应命令处理。报文发送序列号为递增回滚整数,接收序列号供确认报文使用,为所响应或确认报文的发送序列号。数据总长度为首报文使用,后续报文可以不填写。发送序列号、接收序列号、数据总长度在探测报文不使用,因为探测报文是依赖超时机制等待响应的报文,不需要单个报文确认。

图4 CMP报文格式

表1 报文类型和命令类型

2.5 报文时序图

报文按功能可分为4大类,周期性探测报文、消息(命令)通知报文、单配置报文、批量命令报文。智能变电站对可靠性要求非常高,请求报文均设计为有响应或确认报文,从而避免因报文丢失而功能未实现。只有主交换机才能发送周期性探测报文。主、成员交换机均可主动发送消息通知报文,包括链路状态通断,主交换机主动使成员交换机加入、离开,成员交换机主动加入、离开GMT,系统重新启动,异常告警等。确认报文丢失,发送方将定时再次发送请求报文,累计一定次数后状态机将恢复到初始状态,认为对方处于离线状态。配置响应报文包含配置请求报文的执行结果,对收到配置请求响应的命令可删除不再重发。收到配置响应报文需要回复确认报文,成员交换机收到确认后可删除响应报文不再重发。对需要多次响应的批量配置命令,请求发一次,响应将分片进行发送,每个分片都需要进行确认才能发送下一个分片直至结束。主交换机可发送批量命令,如批量配置密码、配置文件同步、批量升级、一键诊断等,成员交换机也可以发送批量命令,如配置文件同步等。CMP报文收发时序如图5所示。

图5 CMP报文收发时序图

3 GMT实现

在新一代智能变电站交换机上实现了上述GMT功能。在实验室环境搭建如图6所示的 GMT星型拓扑,给每个交换机起个易识别的名称,若仅靠MAC地址相区别交换机将非常容易弄混淆。默认GMT是没有主交换机的,配置Orchid 为主交换机,Chrysanthemum为备用交换机,则Orchid周期性地每隔2 s发送1次探测报文,各个成员交换机将回复主交换机的探测报文并同步备份自己的配置文件到主交换机。备用交换机将同步所有GMT交换机的配置文件到自己。Lotus,Peony为候选交换机,主交换机不能直接对其进行管理,但知道它们的存在,因候选交换机回复主交换机的探测报文。Narcissus,Plus 2个交换机不支持GMT,但能够和GMT中交换机正常配合工作,不足的是需单机管理,给其配置IP地址或通过命令行模式管理[14-18]。网管系统只需登录主交换机即可对所有成员交换机进行管理。通过主交换机可以实现成员交换机的单命令配置、批量配置密码、配置文件同步、批量升级、一键诊断等功能。实验室环境管理数据通过带内数据通道动态发现设备。更换相同MAC地址成员交换机,打开GMT功能上电免配置自动恢复到之前的配置,精准自动化管理通信设备。更换主交换机,通过命令行语法方式配置实现较为简便,Web方式数据量稍大,备份交换机经若干时间后成为主交换机[19-21]。

图6 GMT星型拓扑

4 结论

智能变电站交换机网络管理系统安装在监控服务器上会增加系统出故障的风险,当前通常用于调试辅助工具,而GMT根植于每个通信设备则不存在这样问题。GMT对通信设备高效率管理和运维将对全站故障快速排除和定位提供有力保障,极大地降低通信设备工程和运维人员工作量,提高通信设备管理工作效率1个数量级。

GMT在智能变电站是一个新生设计尝试,智能变电站需要高可靠性管理,期望将来能够做出智能变电站工业通信领域基于GOOSE管理行业标准。通信设备配置文件、配置命令语法(IEC 61850)还需进一步统一标准化,以便实现各个通信厂商设备的基于GOOSE管理的互通互换。GMT不足是实现起来相对复杂,技术细节较多,涉及交换机所有模块的所有管理信息。交换机能感知智能变电站全站设备拓扑图,便于网络拓扑故障快速定位。

基于GOOSE管理技术GMT设计可供智能变电站通信设备研发设计、工程技术和运维人员参考。感兴趣的读者可参考交换机堆叠、智能弹性架构(IRF)、集群级联管理、TCP/IP协议研发适合在智能变电站生产控制局域网工业通信领域使用的集中式管理技术,优化配置,提高网管可靠性和管理效率。

猜你喜欢
配置文件交换机报文
基于Docker的实时数据处理系统配置文件管理软件的设计与实现
基于J1939 协议多包报文的时序研究及应用
面向未来网络的白盒交换机体系综述
从Windows 10中删除所有网络配置文件
低轨星座短报文通信中的扩频信号二维快捕优化与实现
局域网交换机管理IP的规划与配置方案的探讨
CTCS-2级报文数据管理需求分析和实现
用软件处理Windows沙盒配置文件
互不干涉混用Chromium Edge
浅析反驳类报文要点