串口服务器内外网数据安全通信方法仿真

2022-08-22 13:39曹丽娜
计算机仿真 2022年7期
关键词:内网缓冲区数据通信

李 娜,周 瑛,曹丽娜

(石家庄铁道大学四方学院,河北石家庄 051132)

1 引言

近年来信息化服务已经成为人们生活的重要组成部分,内外网间的多媒体数据信息交互成为了主流技术,内外网数据的安全通信是通信技术的关键。如何在完成内外网信息交互的同时实现稳定地连续不断地数据传输,且保证信息的隐私安全,已成为近年来研究的热点问题[1,2]。

为实现串口服务器内外网数据安全通信,赵冬青等人[3]通过设计数据通信卡提升数据安全通信性能,王焕强等人[4]利用微服务架构保障数据安全通信,以上研究均能在一定程度上解决内、外网串口服务器安全有效通信,但是前者工作繁杂,且严重浪费网络资源,后者需要重新配置部署内网服务器,增加相关资源及成本。

为改善上述传统方法的不足,本文提出利用WCF技术解决串口服务器内外网数据安全通信方法。

2 串口服务器内外网数据安全通信方法

2.1 WCF技术判别方法

每个串口服务器都会配置一个内网IP[5],以便内网用户使用。利用NET可获得一个方便外网用户使用的外网IP端口。用户根据环境通过选择使用内、外网通信路径,实现服务器端与客户端的数据安全通信[6,7]。用户在使用串口服务器进行数据通信服务时,网页要正确地区分内外网用户,并且能够找到正确安全的数据通信路径,是本文方法的重要内容。

WCF(Windows Communication Foundation)技术是集合了创建和运行分布式系统于一身的数据通信应用架构[8],可以实现Web服务,远程控制、消息传输等多种通信方式,其扩展通信技术可提供安全可靠的跨平台分布式可兼容服务。本文结合WCF技术解决串口服务器内外网数据安全通信问题,同时也可以处理串口服务器的兼容性问题。WCF可与多程序兼容的优势,因此本文方法可广泛应用。

2.1.1 方法原理

参照需求的格式将串口服务器的内外网IP地址和端口号以及内网的IP地址范围输入配置文件,建立的WCF服务,获得串口服务器配置文件中相应的IP地址和端口号,将其加工成内外网数据安全通信路径,与此同时,得到配置文件中的内网IP地址范围。用户通过Web网站在客户端发出数据通信请求,调动WCF服务,使服务端接收到通信请求,在内网IP地址范围内对照获得的用户IP地址,判别是否是内网。若是内网,则使用对应的通信路径连接,完成用户的数据安全通信需求。具体的方法流程见图1。

图1 数据通信方法流程图

2.1.2 实现过程

第一,先要获得配置文件中串口服务器的内、外网通信路径与内网IP地址范围。实现步骤为:

1)提取配置文件中服务器的内、外网IP地址与端口号,这一过程要通过在网站服务器建立WCF服务实现。

2)将上步提取的信息处理成内、外网通信地址。

3)提取配置文件里的内网地址范围。

第二,判别获得的用户IP是否是内网。

用户进行数据安全通信时,客户端与服务端完成互通信息。后台建立的WCF服务可以提取到信息属性,从而获得用户的IP地址。详细流程如下:

1)提取当前线程的执行上下文:

OperationContext context =

OperationContext. Current

2)提取上下文中输入信息的属性:

InquiryCharacteristic inquiryCharacteristic =

Context. IncomingInquiryCharacteristic

3)确保输出信息的客户端IP地址和端口号可以使用:

RemoteTerminalInquiryWealth terminalWealth = inquiryCharacteristic

[RemoteTerminalInquiryWealth. Name ] as RemoteTerminalInquiryWealth

4)提取输出信息的客户端IP地址:

string[ ] guestIP=

terminalWealth. Address;

5)将提取到的用户IP与内网IP范围比照,判别是否为内网:

String[ ] insideStart=

Option.Range. InnerABBRipEnd. Split(′.′);

String[ ] insideEnd=

Option.Range. InnerABBRipEnd. Split(′.′);

String[ ] guestIPs=guestIP. Split(′.′);

If (guestIPs[0]==

insidestart[0]&& guestIPs[1]==insidestart[1] && guestIPs[2]==insidestart[2])

{

If(int.Analysis(guestIPs[3])>

Int.Analysis(insideStart[3])

&&int.Analysis(guestIPs[3])<

Int.Analysis(insideEnd[3])

Flsg=true;

}

Else

Flag=false

第三,客户端根据程序结果给出相应的通信路径,内、外网分别使用相应的通信路径,链接到串口服务器中。外网用户在进行数据通信时,需要跨过内网和外网和安全防火墙,客户端不能直接匹配服务器端的配置文件,所以需要WCF技术与串口服务器完成通信,来实现内外网的数据安全通信。而判断是否为内外网是在后台运行的,只要客户端正常打开网页即可。

2.2 服务端与客户端传输速率控制

服务端的传输是以包传输为主的、非连续异步传输,即在传输过程中有一定的延时。由于传输数据通信被分解为多个数据包,达到客户端的时间存在一定差异。为保证内外网数据通信可以持续输出,利用缓冲系统抑制延迟和抖动造成的影响,保证通信过程中不会出现网络卡顿,数据丢失等影响安全性能的问题。

2.2.1 数据传输速率控制方法

为保障数据传输的通畅安全,本文研究重点是缓冲系统的监管,确保不会出现“溢出”与“下溢”的情况。缓冲系统监管期间,分别设置Wh、Wn、Wl3个水位线。假设缓冲区实际量为A,时间段[ti,ti+1]后,缓冲区水位从ai变成ai+1,则有Δa=ai+1-ai。假设Rp、Rc分别代表生产速率和消费速率,则有式(1)

ai+1-ai=(Rp-Rc)×(ti+1-ti)

(1)

下面3个因素,是影响客户端缓冲区Wh、Wl值的选择:

1)Dmaxf代表反馈信息单元中的最大网络延迟,即反馈延迟。

2)用Δtcheck表示不间断两次水位检查时间间隔,即检查水位时间。

3)Dmax代表数据传输单元的最大网络延迟,即网络延迟。

若Rc>Rp,则表示缓冲区水位降低,需提前警示以确保缓冲区水位不能为0。结合3个延迟时间,从式(1)可得ai+1=0,ai=(Rc-Rp)×(Dmaxf+Δtcheck+Dmax),即:

Wl≥(Rc-Rp)×(Dmaxf+Δtcheck+Dmax)

(2)

若Rp>Rc,则表示缓冲区水位上升,需提前警示以确保缓冲区水位不能为A。结合3个延迟时间,从式(1)可得ai+1=A,ai=A-(Rp-Rc)×(Dmaxf+Δtcheck+Dmax),即

Wh≤A-(Rp-Rc)×(Dmaxf+Δtcheck+Dmax)

(3)

设定的缓冲区警界线,可对缓冲区变化每隔[ti,ti+1]时间段进行一次检查,反馈信息调整传送速率,确保数据安全传输的连续性。

参考式(1)可得,ti+1时间段内,可用式(4)表示生产速率与消耗速率的变化

(4)

由于反馈信息的调整也需要占用网络带宽,所以只要缓冲区水位处于[Wl,Wh]范围内,就不会造成网络堵塞和较大开销。此外,缓冲区水位大于Wh、ΔR<0和缓冲区水位小于Wl、ΔR>0时,这两种情况不需要调整。

在调整传输速率时,要综合考虑客户端接收能力,网络堵塞会导致传输效率低甚至传输中断。因此及时发现问题尽早调整,才会避免数据包在传输过程中损失。针对这个问题,提出一种速率控制优化方法。

2.2.2 数据传输速率优化方法

利用包丢失率LR和延迟抖动J两个参数来计算网络堵塞情况。LR计算公式如下

LRnew=α×LRold+(1-α)×LRnet

(5)

其中,新数据包丢失率为LRnew,上一次检测包丢失率为LRold(从LRold=0开始计算),实测丢包率是LRnet,此次测得的不可信程度α(0≤α≤1)。

延时抖动值用式(6)表示

Jnew=β×Jold+(1-β)×Jnet

(6)

其中,新得延迟抖动为Jnew,上次检测到延迟抖动为Jold(从Jold=0开始计算),实时延迟抖动为Jnet,此次测得不可信程度β(0≤β≤1)。选取适当的α和β值,进行加权处理,即可指定操作网络状态分析,见图2。

图2 网络状态分析模块

利用数据通信过程的包丢失率和延迟抖动,便可得知网络所处状态:

1)数据传输速度低,包丢失率高,即堵塞状态,串口服务器端需要降低传输速率保证释放网络宽带,直到恢复正常。

2)传输状态良好,包丢失率低,即正常状态,串口服务器端保持正常状态。

3)包丢失率非常低甚至不存在丢失,即欠载状态,此时要提高传输速率,保证充分利用宽带。设置参数LRc表示堵塞时包丢失率,可用式(7)计算网络状态

(7)

延迟抖动取决于数据传输路径的通信情况,但当延迟抖动迅速变化时,会被看作是网络堵塞征兆

If(Jnew>×Jold)congestion

(8)

3 仿真分析

3.1 仿真环境

设置36个串口服务器内外网集群节点,通过每9个节点为一个机架的4个机架,通过连接4个节点的集群规模,建立串口服务器内外网仿真环境。

3. 2 仿真

数据通信过程中,由于作为中间数据Shuffle所占比例高,数据通信的优化效果受其影响很大,为此以Shuffle中间数据为例,在仿真中,分别对每个数据传输的数据规模和集群规模进行对比,分析数据和集群的扩展性在数据通信中的影响。在不同的集群规模下进行串口服务器的Shuffle中间数据传输,随着节点数量的增加,数据传输效果结果见图3、图4。

图3 数据规模的扩展对Shuffle比例影响

图4 集群规模的扩展对Shuffle比例影响

结合图3、图4可以看出,随着数据规模和集群规模的扩大,Shuffle比例都有不同程度地减小。当数据规模达到32GB时,Shuffle比例最大,此时的本文方法优化后的数据传输效果优势不显著,但数据规模增加时,集群规模也在增长,优化前后的Shuffle比例均逐渐减小,且本文方法优化后的数据传输减小幅度明显,说明使用本文方法优化后的方法进行数据传输对Shuffle比例的影响更大,可最大程度缩小中间数据Shuffle所占比例,使数据安全通信效果更理想。

数据通信传输速率的控制是根据检测到的生产速率与消费速率差ΔR变化,选择不同的调整措施实现的,因此采用随机算法采集5个时间段内检测到ΔR变化,通过仿真,对比本文方法和文献[3]方法下的数据通信响应时间与执行时间(计算时间),同时利用方差表示方法的稳定性,具体结果见表1。

表1 通信平均响应与执行时间对比

表1结果显示,本文方法速率控制优化后,在进行数据安全通信时,平均响应时间与计算时间都明显优于文献方法。平均响应时间降低了4%~9%左右。从方差的数据来看,优化后的数据通信性能更趋于稳定,更具计算可靠性和实用性。

4 结论

本文研究串口服务器内外网数据通信方法仿真,该方法利用WCF技术完成数据安全通信。该方法可解决网络拥堵造成的数据延迟损失、数据传输过程中卡顿、信息细节不清晰等问题。可以在各个端点完成实时监控,以减少数据包丢失的概率,缩减延迟时间,防止延迟抖动造成网络数据堵塞的现象。因此,本文方法所提的速率控制方法更适合现下网络宽带变化,将网络堵塞发生的几率最小化。对于当下的网络时代具有非常大的应用意义。

猜你喜欢
内网缓冲区数据通信
企业内网中的数据隔离与交换技术探索
缓冲区溢出漏洞攻击及其对策探析
内外网隔离条件下如何实现邮件转发
基于EDA技术的通用异步收发器设计
北斗卫星同步技术在电力行业中的运用简析
优化网络设备维护提高数据通信传输质量
浅谈大连地铁二号线DCS系统
初涉缓冲区
本期导读
Linux系统下缓冲区溢出漏洞攻击的防范