计算机无线网络通信中的传输控制技术
2022-09-07贾俊
贾 俊
(晋中信息学院 山西 太谷 030800)
0 引言
随着当前无线网络技术的快速发展,大量的数据和信息开始通过采取计算机无线网络通信的方式进行传输,特别是现阶段广泛应用和快速发展的智能手机,极大地提升了人们对于无线网络性能的要求。同时当前多数无线网络应用均要求相关传输过程具有更强的传输可靠性和低延时性,但需要了解的是,现阶段的无线资源整体仍然较为有限,这种情况下要实现对新技术的开发和创新以适应人们对网络传输的需求是较为困难,因此如何在现有的资源条件下,确保无线网络传输的可靠性与稳定性成为一个广受关注的问题[1]。从实际情况来看,计算机无线网络所采取的方式是依托无线通信介质来实现通信过程,而各个通信节点之间又极其容易出现彼此干扰的情况,且当参与通信的节点越多,则这种干扰现象将会越严重。基于这一实际情况,在计算机无线网络通信之中,采取相应的传输控制技术来防范这些问题,具有重要的现实意义。
无线网络通信在布网方面具有较强的灵活性和便捷性,由于其在实际应用阶段环境因素的影响,容易导致路径损耗、盲区衰落、多径衰落以及各类干扰问题的发生,因而其整体丢标率较高,现阶段相关的研究之中进行计算机无线网络通信控制的主要措施包括自动请求重传(ARQ)、前向纠错机制(FEC)、混合方案以及网络编码等措施。网络编码技术是现阶段应用较多的一种传输控制技术,该技术是一种包括路由和编码在内的信息交换技术,在应用过程中其可以实现对各个传输节点所接收的数据信息实时编码,在此基础上达到提高网络链路带宽利用率的目的。
本次研究中,主要尝试采取异或网络编码、定长滑窗口技术和团分割技术来增强计算机无线网络通信的传输可靠性。
1 计算机无线网络通信传输控制相关技术
1.1 滑动窗口协议
滑动窗口协议是当前广泛应用的TCP/IP协议之中,用以进行可能出现的差错控制以及流控制的技术类型,在现阶段的计算机网络无线通信中,该技术对于确保通信过程的可靠和准确意义重大。该协议通常包括停等协议、回退N协议和选择重传协议3个种类。首先,停等协议在相关传输之中发挥作用的条件是,当相应的窗口值为1的时候,每次进行信号传输仅仅进行单一数据分组的发送,当相关数据分组发送之后则需要对信息接受方节点的ACK回复进行一段时间的等待,且在这个阶段之中ACK定时器会进行计时,如果接收方在计时范围内没有进行ACK回复,则进行对上述数据分组的再次传输。而如果在ACK计时范围内,接收方进行了相应的ACK回复,则将已经完成传输的数据分组移出,将下一个需要进行传输的数据分组放入[2]。其次,回退N协议在进行数据传输的过程中,其传输方式是一次传输进一个批次数据的传输,同时也以ACK定时器来判定传输是否成功,如果传输失败,则退回至第一个发生传输错误的数据包进行再次传输。与停等协议相比,回退N协议在应用过程中往往会出现大规模重复传输的现象,因而比较容易造成网络资源的浪费。最后,选择重传协议在应用过程中,是以一次进行一批数据分组传输的方式进行传输,其传输结果判定是以双方是否进行了相关数据的确认为核心。且该协议下,会将接收方已经完成确认的数据信息进行缓存,并对未完成正确接收的数据包进行重新传输。
1.2 定长滑窗直接重传算法
该技术在应用过程中所采取的措施是以后退N协议为基础,对信息的接收方进行特定长度的数据发送,当相关对象在对这些数据进行有效接收之后,则将具体的数据接收状况向传输方进行反馈。而如果传输方所传输的数据之中存在丢失现象,则需要退回到第一个丢失的数据重新进行数据传输,见图1。
在上述技术基础上,相关研究者提出了定长滑窗团分割措施,在这种技术之下,相关的数据传输过程对原有的定长滑窗技术和团分割技术进行了整合。实际应用过程中,相关技术需要定义发送方节点和N个接收节点,同时需要对窗口值进行定义[3]。当进行数据分组的传输之后,就需要对ACK反馈进行接收,完成接收之后形成相应的信息表及构造图,通过应用最小团分割算法,将相应的数据分组以异或编码的形式进行传输。
2 基于定长滑窗团分割的传输控制设计
2.1 传输控制的整体设计
在本次设计中,为了确保相关过程的顺利,需要将发送方及接收方的传输交互流程和逻辑进行明确。
首先,在数据分组传输过程中,需要以ACK计时的方式来判断传输过程是否成功,并决定相应的重传方式,具体分类如下:(1)当数据分组进行传输之后,ACK计时范围内没有接收到ACK反馈,这种情况下认为相关数据完全丢失,因此发送方应当采取直接重传本批次数据的方式来保障信息传输可靠性;(2)当传输方完成传输,且接收到ACK反馈,但本次传输过程中,数据接收节点并未完全成功接收数据,则采用团分割传输编码数据进行补救;(3)当传输方完成本次数据传输,且在ACK计时范围内接收到ACK反馈,且本批次数据接收方完全完成了接收,则进行新一批的内容的传输。具体逻辑见图2。
其次,接收方需要对相关传输结果进行判定,并进行反馈,由此实现传输过程的完整和成功。在该过程中,接收方的主要判定标准为是否能够完成对相关数据的解码,具体流程如下:(1)当接收方接收到新的数据内容之后,需要将自身所获取的数据信息存入缓存之中;(2)当接收到相关的编码数据之后,需要以是否能够实现解码来进行对数据的判定,当相关数据经过判定,无法实现解码的情况下,则直接对相应的编码包进行舍弃;(3)当相关编码数据满足解码条件的情况下,则进行解码。具体流程见图3。
2.2 ACK/NACK反馈机制设计
在数据传输的控制方面,主要需要ACK/NACK来进行可靠性保障。通常来说,ACK/NACK的反馈方式有两种类型,首先是发送方向接收方进行一个要求回复ACK/NACK的数据包发送,当数据的接收方在获取这个数据包之后,则会迅速地将自身的实际情况向发送方进行反馈,以达到对传输情况的判定。另一种方式是通过ACK/NACK计时器的方式,当相关接收方的反馈未发生在即使范围内,则需要进行重传。但在实际应用的过程中,由于相关网络受到各类因素的影响,因而不可避免地会出现传输延时的情况,部分情况下仅仅是少量的延时也会导致数据大规模重传问题的发生[4]。基于此,在本次设计之中采取了混合措施来进行反馈机制的设计,即当相关发送方节点进行对数据包的发送,要求接收方对本次传输的具体情况进行反馈,且在这种情况下还会进行重传计时。通过这种方式,可以避免传输方进行重传的长期等待,又可以避免由于网络环境延时而导致不合时宜的大规模重传发生,见图4。
在相关机制发挥作用的阶段,当发送方进行完成对数据的发送之后,随即会启用计时器对接收方的接收状况进行判定,当相关反馈内容在时间范围之内达到,且判定数据需要重传的情况下,则以团分割算法对相关数据包的实际组成情况进行判定。如果相关的反馈未在时间范围内达到,则认为传输过程失败,需要对相应的数据信息进行全部重传。
2.3 模块设计
在进行相关设计的过程中,发送模块、接收模块和重传模块的设计重要性较强。本次研究之中,尽管发送模块的主要功能是对现有的数据信息进行发送,但同时其也需要完成对反馈数据的接收,从而判定是否需要进行重传,因而如果缺少对反馈信息的接收,则必然导致整个流程无法推进,这也是设计之中进行接收模块增设的原因。首先,在发送模块的设计之中,相关的发送数据组判定是根据定长滑窗的窗口值和包长度来确定[5]。在执行发送的过程中,相关数据分组的数量应当小于窗口值,当判定数据分组的数据包数量小于窗口值,且数量并没有达到本次传输数据包数量的末尾,则对数据分组进行传输。而当判定数据组数量等于或是大于窗口值,且文件数量并没有达到末尾,则对该组数据组装成数据包,不执行发送并进入上一循环。其次,在接收模块的设计过程中,需要根据所获取的反馈信息来判定是否成功发送,当反馈信息为数据完全成功接收之后,则结束本次流程。当判定数据未完成全部接收的情况下,则需要执行重传。最后,在重传模块的设计方面,需要根据ACK数据来进行判定执行全部重传或是部分重传。在部分重传的情况下,进行数据接收信息表的建立,并以此进行相关数据的团分割,并对数据进行编码和重传[6]。
与之相对应的,在接收方模块设计的过程中,也需要进行相关的发送模块设计,从而向发送方进行信息反馈。本次设计之中,接收方模块主要包括接收模块和发送模块两个部分,其中接收模块在根据已经接收的数据信息判定未完全传输之后,需要将新数据写入到缓存。在接收到重传的编码数据后,需要对数据进行解码,并存储至对应位置。在发送模块的设计方面,需要接收方在接收到相关的数据后,根据所获取的数据进行完整性的判定,并进行ACK数据的发送。
3 实验结果与分析
本文采取单播和组播两种方式对可靠性进行了测试,在单播情况下,所进行的数据包传输数量为1 000~9 999不断增加,测试了丢包率在2%及10%情况下的传输成功率,相关测试之中显示,采取本次设计最终单播传输的可靠性均为100%,说明相关措施能够保证计算机无线网络通信的传输质量得到充分控制,见表1。
表1 单播情况下可靠性测试结果
同时,在进行组播测试的过程中,主要测试了网络丢包率2%和10%的两种情况,数据包数量为1 000~9 999不断增加,在本次的测试结果之中,相关传输的可靠率均达到较高水平,说明在组播的情况下,该方案也具有良好的传输效果,见表2。
表2 组播情况下可靠性测试结果
4 结语
计算机网络通信控制技术的应用能够有效地保障相关信息传输的准确性和稳定性,本文通过以定长滑窗技术为基础进行了相应的通信控制设计,在相关实现过程中,该方案是依托ACK/NACK完成对相应数据传输情况的判定,而传统的传输反馈整体方式较为单一,如采取ACK计时器的方式,或是要求回复ACK/NACK的数据包的发送等,这些方式在结果判定方面缺乏弹性,因而比较容易导致数据包丢失或是大规模重传等问题的发生,极大地降低计算机网络通信的可靠性,并对网络资源形成较大程度的挤占。而通过本次的设计,可以有效地控制丢包个数,达到提升计算机网络通信可靠性目的。