一、DNP3协议解析
1.1 DNP协议原理
DNP(Distributed Network Protocol,分布式网络规约)是一种应用于自动化组件之间的通讯协议,常见于电力、水处理等行业。SCADA可以使用DNP协议与主站、RTU、及IED进行通讯。DNP协议标准由IEEE提出,参考了IEC 870-5、以及其他一些IEC协议。主要为了解决SCADA行业中,协议混杂、没有公认标准的问题。
DNP协议有一定的可靠性,这种可靠性可以用来对抗恶劣环境中产生的电磁干扰、元件老化等信号失真现象,但不保证在黑客的攻击下、或者恶意破坏控制系统的情况下的可靠性。DNP协议提供了对数据的分片、重组、数据校验、链路控制、优先级等一些列的服务,在协议中大量使用了CRC校验来保证数据的准确性。
1.2 DNP3.0协议特点
DNP3.0规约是一种分布式网络协议,适用于要求高度安全、中等速率和中等吞吐量的数据通信领域。
DNP3.0规约以IEC870-5标准为基础,该规约非常灵活,满足目前和未来发展的要求,且与硬件结构无关。
DNP3.0规约采用网络通信方式。
DNP3.0规约支持点对点、一点多址、多点多址和对等的通信方式。
DNP3.0规约支持问答式和自动上报数据传输方式。
DNP3.0规约支持通信冲突碰撞避免/检测方式,能保证数据传输的可靠性。
DNP3.0规约支持传送带时标的量,尤其有利于配电自动化系统采集分时电度值和分析事故原因。
灵活采取适当的扫描方式,DNP3.0规约可以在一定程度上实现实时优先级。
1.3协议用途
DNP3协议是由美国IEEE的电力工程协会 (PES)在IEC的基础上制定成为美国的通信标准,在美国等西方国家有广泛的应用,在我国的应用范围也十分广阔。DNP3.0是开放式协议,既可用于SCADA系统,也可应用于分布式的自动化(DA)系统。该协议高度灵活并且末端开放,不含任何目标硬件的专用结构,适合高可靠,中等速度和中等吞吐量的应用;IEC870-5-101协议采用FT1.2的顺格式,是我国的国家标准。该协议适用于SCADA等系统,通讯方式灵活,适用于较快速度和较低可靠要求的应用场合。
二、DNP3在supernova测试仪中可应用的场景
2.1 网关模式
测试仪同时模拟客户端和服务器,测试流量穿过受测设备(防火墙、交换机、路由器等),得到受测设备的性能。
2.2代理模式
测试仪同时模拟客户端和服务器,测试流量穿过受测设备(代理设备、负载均衡设备),得到受测设备的性能。
2.3应用服务模式
测试仪只模拟客户端,向受测的DNP3服务器发送流量,获取响应,得到DNP3服务器的性能。
2.4 终端模式
测试仪只模拟服务器,接收客户端的请求,并回复正确的回应,得到客户端的性能。
三、DNP3用例功能介绍
3.1.分配cpu核
用例的运行需要分配cpu核数,DNP3的最高性能需要分配一定的核数。
3.2抓包设置
可以设置需要抓的协议类型,指定IP地址、端口、文件大小或者包数。可在运行前或运行中设置抓包。
3.3主站数量
范围:1 - 8,192,每个客户端网口和CPU核,至少要有一个主站。
3.4循环执行次数
执行DNP3新建流模板中循环的次数,0为无限制。
3.5召唤全数据间隔
范围:1-2,147,483(秒),召唤全数据(CLASS 0123)的时间间隔。
3.6客户端-源端口范围
填写源端口范围,范围: 1 - 65,535。
3.7 服务器-服务器端口
自定义服务器的端口。
3.8子站地址
填写子站地址,范围0-65519。
3.9添加静态数据
自定义可以单选或多选静态数据。
四、DNP3测试案例
4.1 DNP3用例拓扑图
说明:测试仪使用“网关模式”模拟DNP3的客户端和服务端,过一台防火墙(网关模式),测试防火墙性能。
4.2 DNP3用例目的
Supernova测试仪同时模拟客户端和服务端,仿真DNP3主站和从站的交互过程。客户端模拟DNP3主站向从站发送请求指令,测试流量经过代理设备转发,服务端模拟DNP3从站接到指令后执行动作并进行响应。测试仪通过统计DNP3请求、回应等信息,得到受测代理设备转发DNP3性能。
4.3 DNP3测试预计结果
4.3.1 网关模式过防火墙,在防火墙上配置网关,测试仪可以正常发送和接收DPN3报文;
五、测试步骤
5.1创建DNP3用例,配置参数。
(1)在网关模式中,创建DNP3用例,由于过的是防火墙,需要配置网关,选择网关模式。
(2)分配CPU核数
(3)抓包设置。
(4)参数设置
5.2启动用例,查看结果
(1)点击启动用例
(2)在监控中查看运行界面
(5)生成报告
用例手动终止或者到时后,可在报告页面生成报告。
六、对预期结果进行验证
6.1网关模式过防火墙,在防火墙上配置网关,测试仪可以正常发送和接收DPN3报文
结论:符合4.3.1的预期结果