一种抗流量分析的自动纠错技术研究﹡

2013-09-25 02:14
通信技术 2013年8期
关键词:误码令牌空闲

杨 松

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引言

在我国,互联网己经取得巨大发展,从固定互联网到移动互联网,其爆炸式发展及其对社会的冲击超过人们的想象,以互联网为代表的信息网络己渗透到我国人民生活的各个方面,给社会发展带来了巨大而深远的变化,同时,电信业也迅速发展,特别是多媒体通信的发展,对网络带宽提出了新的需求,也就导致了光纤网和光纤通信也在飞速发展。

网络流量增大,为了保证可靠传输,就导致了纠错的需求增大。在数据传输时,纠错一般采用前向纠错(FEC)[1],这里的前向,是指差错控制过程是单方向的,不存在差错信息的反馈。另外一种反馈重发(ARQ)[2]纠错方式由于不能适应高速传输,在现代高速网络中基本不采用了。

目前对于FEC纠错方式能够自动开关纠错模式的研究不多。因为对于FEC目前普遍使用的带外传输方式,纠错是会增加流量的,所以根据线路误码情况及时开关纠错功能是一个重要技术。同时网络的流量信息也是网络安全信息之一,因为可以通过监测流量来分析目前的网络动态,从而可能存在泄露重要信息的风险,所以抗流量分析技术也是很有应用前景。

本研究提供一个较简单的方法既解决了流量分析的问题,又能够根据线路情况自动开启或关闭纠错模式,从而使带宽能够充分利用。而且本方案基本不增加额外的带宽,而且本方案适用于所有传输分组数据的线路,如以太网或采用 EoS技术的SDH线路。

1 概述

抗流量分析技术就是在线路上没有流量或流量较少的时候发送空闲帧,空闲帧在帧格式上与正常帧没有区别,截获后也无法识别,空闲帧发送不影响业务数据的发送。

自动纠错技术需要随时监测线路误码情况,根据误码门限来判别开启或关闭纠错功能。本方案中结合空闲帧技术完成误码统计,采用 RS纠错编码来完成纠错功能的实现。

2 抗流量分析的自动纠错技术设计与实现

2.1 空闲帧技术

在产生空闲帧的方案上,为了充分利用软硬件各自的特点,采用软硬结合的办法。

软件计算空闲帧发送的带宽,定时改变,同时也改变长度,硬件统计实际发送的业务数据流量,如果流量不够,硬件根据配置长度和带宽发送空闲帧,让流量达到配置的值,如果实际业务数据的流量已经大于或等于配置的空闲帧带宽,则不发送补充流量的空闲帧。

流量计算举例:100 MHz的时钟计数,以字节为单位,其数据流量为8 bit*100 M/s=800 Mb/s,硬件计算空闲帧带宽时采用类似令牌桶[3]的方式,当计数值等于软件给定带宽(计数周期)时就给出一个令牌,有多少个令牌表示可以发送多少个字节数据。根据软件给定的值,硬件获取对应的令牌,值越大,令牌发放越慢;值越小,令牌发放越快,空闲帧占的带宽也与大。例如软件配置计数周期为2,800 Mb/s/2=400 Mb/s,如配置成200,800Mb/s/200=4 Mb/s。当然,这里的空闲帧主要目的是防止流量分析,所以发送的流量不用太准,对于小数的情况,就直接取大于它的整数,令牌的计算可能比实际的要小。

如果可用令牌数大于软件给定的长度且没有业务数据,开始发送空闲帧,发送完成以后减去对应的长度的令牌。业务数据的发送也将减去对应的令牌,这样就能保证空闲帧不影响实际业务带宽。

其具体流程如图1所示。

图1 空闲帧插入流程

空闲帧的具体格式如图2所示。

图2 空闲帧格式

空闲帧的格式与通常的以太网帧[4]没有区别 ,具体定义如下:目的和源MAC地址:通用的以太网帧定义;Tpye字段:使用的一个特别的定义0x0a0a,标识空闲帧;

数据:采用从0开始的不断递增的计数值,这样也便于接收方向校验数据。

数据值为固定值后在线路上容易识别,这样就不能抗流量分析。为了在线路上的数据不被识别,本方案对线路数据都进行了加密处理,而且采用的一包一 IV(初始向量)的 CBC的处理方式,这样即使每一包的数据是相同的,经过加密算法以后数据也完全不同,由于加密部分不是这里讨论的重点,就不具体论述了。

2.2 自动纠错技术

目前线路传输的纠错普遍采用 FEC[5](前向纠错技术)

FEC 是一种数据编码技术,发送方向通过纠错编码技术在数据中加入冗余码,然后发给接收方,由接收方进行误码恢复和验证,在FEC 技术中,数据接收端不但能发现误码,而且能确定发生误码的位置,从而纠正过来。FEC 技术必须使用纠错编码码。接收方发现误码后不需要通知发送方重发。

实际应用的时候,发现误码较容易,发现后加上纠错码就可以解决,但是什么时候不需要纠错就难于发现。由于纠错后需要增加数据长度,会消耗一部分带宽,实际可用的带宽就变窄了。所以在线路没有误码或达到可容忍的范围后,需要将纠错功能去掉,从而增加带宽。

研究自动纠错技术就是为了解决上述问题,自动纠错技术是结合前面的空闲帧技术来完成的,如图3所示,空闲帧在发送方永远不加纠错码,接收方收到后也不会去纠错,而是直接用来计算误码率,由于空闲帧的内容是已知的,在一定时间范围内就可以得到平均误码码率的统计。于是就可以根据统计值进行纠错的开与关。当然,还有一些极端情况需要考虑,如业务带宽超过空闲帧带宽,此时没有空闲帧发送,没有办法计算误码率,这就需定时发送空闲帧,由此来统计误码率。另外对应空闲帧包头错时可能出现收不到包情况,此时如果接收方向在规定的时间内不能收到空闲帧,就结合线路误码统计确定是否开启误码功能,保证纠错功能开关的及时性。

图3 自动纠错示意

2.3 纠错编码

前向纠错有两种纠错编码,即 BCH和 RS编码[6],BCH编码也叫带内编码,因为它是将纠错冗余校验位的位置固定在帧结构中某个位置,不需要额外带宽。而 RS编码则称为带外编码,就编码算法而言,它也是BCH的一个子类,但应用时一般把它们看成两类。因为 RS的纠错冗余校验位不是像带内编码那样插入到空闲位置,而是附加在数据帧之后,需要增加额外的带宽,即用带外FEC 后实际占用带宽会提高。

由于BCH编码的纠错能力非常有限,而RS编码纠错能力更强,也更灵活,所以本方案中的编码采用RS编码来实现。

RS码是最大距离可分码,其最小距离为=n-k+1,最多可纠正(n-k)/2个符号(基本单位)错误。RS码的纠错能力是以其所能纠正的符号(基本单位)数来表示的。对 RS码来说,一个符号内错一个比特与错所有比特是相同的,这使得 RS码特别适用于纠突发错误。如果符号为8 bit,则RS(36,6)可纠可以纠正15 个(15 个8 bit 的字符)突发错误,即使这些错误连续出现,长度达120 bit 也能够纠正。如果错误比特零星分布在任意的 15 个字符之中也能够纠正,而这种情况可以视为随机错误,因此RS码也具有较强的纠随机错误的能力。综上所述,RS码是一类非常好的码字,性能优良。

具体在 FPGA上实现时,为了节约开发时间,采用xilinx公司提供的RS纠错编码的IPcore。分组数据是变长包,输入长度就设置成可变的,而纠错冗余码则根据实际需要选取。同时设置好其他相关参数就可以直接使用。

3 性能分析

根据上面的方案构想,研制了试验板卡,其对外接口是1000M以太网,纠错是在以太网MAC层上叠加,所以对线路纠错不能达到100%。当然,对于CRC错的数据不丢弃,只是在FPGA中对收到的数据进行校验,如果错误,就丢弃,使用2个板卡对发,线路上串接spirent公司的IP网络损伤测试仪,利用它产生线路误码,测试误码为泊松分布,然后再利用spirent公司的smartbit600网络分析仪发送数据包,测试速率为800 Mb/s,同时也利用smartbit600收包,对收发数据进行统计,测试结果如表1所示。

表1 纠错性能试验结果

接下来对自动纠错的功能进行了测试,误码统计时间设为10 s,定时发送空闲帧设为1 s时,没有发送业务数据或业务数据较少时,纠错开关的切换在10~20 s内完成,如果业务带宽大于等于空闲帧设定的带宽时,纠错开关的切换大6多在10~20 s内完成,有少数在30 s内完成。

另外只要业务带宽没有超过空闲帧带宽,线路上的流量就维持在空闲帧的带宽上,也证明了抗流量分析功能是很好的。

4 结语

通过以上的试验可以得出以下的结论,通过空闲帧的引入,可以在链路层(MAC)上实现纠错功能的自动打开和关闭,而且纠错后对线路传输数据的质量提高明显。此方案另一个优点是纠错功能可以与物理层独立开来,因而可以应用到不同的物理线路上。同时由于空闲帧的引入,在线路上可以把实际流量的信息屏蔽掉,从而达到抗流量分析的目的。

[1] 覃永新,陈文辉,蔡启仲.前向纠错技术中卷积交织器的FPGA实现[J].通信技术,2009,42(03):84-86.

[2] 秦晋平,王翔,李宇.一种高可靠的超短波数据通信技术方案设计[J].通信技术,2008,41(11):40-41.

[3] 邓长春.基于VoIP 的校园网络管理系统的设计[J].通信技术,2008,41(08):154-156.

[4] IEEEStd802.3—2002[S].[s.l.]:IEEE,2008:49-50.

[5] 钟竞东,梁钊.长距离高速光纤通信中的FEC技术及其研究进展[J].光子技术,2006(02):92-96.

[6] 陈磊,段淋,王峰,等.一种参数可变实时RS编码器的设计[J].通信技术,2007,40(11):11-13.

猜你喜欢
误码令牌空闲
称金块
基于路由和QoS令牌桶的集中式限速网关
“鸟”字谜
ZPW-2000A电码化轨道电路误码问题分析及解决方案
西湾村采风
一种基于CAN总线的误码测试方法
彪悍的“宠”生,不需要解释
WLAN和LTE交通规则
基于WTRP网络的自适应令牌传递算法*
潘小芳(太原铁路局太原通信段网管中心,太原 030012)