- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单向隔离系统中丢包恢复技术研究与实现
单向隔离系统中丢包恢复技术研究与实现 摘 要:在高安全域的网络中需要用单向隔离系统进行数据传输,该类系统具有无反馈的特性。本文提出FEC丢包恢复技术来解决单向隔离系统可靠传输的问题。其分为两级:第一级是基于RS码通过在信息包后添加冗余数据包;第二级是在包组间进行交织编码。测试结果证明方案能够很好地恢复出单向数据传输中丢失的数据包。 关键词:单向隔离系统;FEC丢包恢复;RS码;交织编码 中图分类号:TN915.02 随着电子政务不断的深入发展,各行业对“物理隔离”加“数据迁移”的需求越来越强烈,政府、公安、税务、海关、电力、铁道等众多行业用户在将行业应用成果通过互联网向社会公众提供电子政务服务、或者从互联网收集的数据迁移到行业内部网络时,都需要采用安全可靠、稳定高效的网络安全隔离与数据迁移技术。 为达到国家保密局提出的高安全域网络需要实行“物理隔离”的要求,同时又能够解决将低密级网络中的数据传输到高密级网络的问题,目前信息安全领域的研究热点放在了一种利用光纤单向传输特性的单向隔离系统上。由于单向无反馈传输,FEC前向丢包恢复为解决该类系统的可靠传输提供了一种方法。 1 单向隔离系统传输架构 1.1 硬件传输架构 由于单向隔离系统应用于不同安全域之间的传输,必须对内部网络与外部网络进行有效的隔离。本文所述系统采用“2+1”硬件模型设计,即内外主机加上光导入模块。内外主机均采用专用的工控主板,凭借高性能的硬件平台以保证系统性能的稳定性。 1.2 软件传输架构 单向传输系统的传输模块采用点对点模式,分为发送程序和接收程序。发送程序置于外部主机,接收程序置于内部主机。它是外网到内网进行数据迁移的唯一接口,其他任何功能模块都建立在基本的传输功能模块之上。如图1所示: 图1 FEC包编码流图 根据单向隔离系统本身的特性,考虑需要保证数据传输过程中的安全可靠,该系统采用自定义的私有传输协议。为与经典的TCP/IP协议作对比,笔者将传输过程分为应用层,数据传输层以及物理层的三层结构。物理层指的是光纤信道,数据传输层采用PF_RING技术实现数据的高效处理[1],在应用层中采用FEC前向丢包恢复技术解决可靠性问题。 在发送端,数据流中的数据被分割成若干个信息包,组成一个编码包组。这些信息包具有相等的长度,不足用零填充。经过两级FEC编码后,形成含有冗余信息包的数据包组。第一级FEC编码采用数据包级的RS码作为纠错编码,第二级FEC编码采用交织技术以克服连续丢包错误。在包头信息中含有包序号,数据包类型以及数据包的CRC校验等信息。最后经由光纤信道将数据传输到内网中。 在接收端,通过数据包头中的CRC判断数据包是否出错,以及通过包序号判断数据包的是否丢失。保留发生比特错误的数据包,若丢失则确定丢包位置,再通过FEC包解码器在丢包恢复能力范围内将丢失的数据恢复。由于对信息包进行编码产生冗余包采用的是系统码,当没有比特错误或者丢包错误时,接收端可以直接提取出原始数据信息,一定程度上提高了接收端的数据接收速度。 2 FEC丢包恢复的原理及实现 2.1 第一级FEC (1)RS码简介。RS码具有很强的纠错性能,其定义为在GF(q)上(q≠2m),码长n=q-1的本原BCH码称为RS码[2]。RS(n,k)码表示有效信息符号个数为k,码长为n个符号,其中每个符号由m比特组成。在纠删码原理中,只需要就收到任意k个符号就可以恢复出原来的k个源数据[3]。 假设RS码能够纠正t个符号错误与e个符号删除,则相关参数有如下关系:码长n=2m-1个符号,信息段长k个符号,冗余段长n-k=2t+e个符号,最小码距d=2t+e+1个符号。本文研究基于Linux系统,以字节为单位,每个字节含有8比特,所以采用RS(255,223)编码。当没有符号错误时,可以恢复32个被删除的符号。 (2)RS包编码及解码。将一段数据流分为k个数据包,每个数据包的长度为固定h个字节,不足用零填充。依次取每个数据包相同位置上的数据,分别对每次得到的k个字节进行RS编码得到n-k个冗余包中的对应字节。这些数据包与冗余包组成一个数据包组,如图2所示。 图2 FEC数据包组 冗余包R与信息包I的关系可以用R=I*G表示,其中G为RS编码的生成矩阵。每个数据包是Pi,i∈(1,k+r)的集合。所以不难看出包编码是对包内对应字节的运算。 在接收端进行解码时经过包序号判断以及CRC校验等机制确定错误包和丢失包,并统一定义为丢包事件。没有发生丢包事件时直接从数据包中提取有效数据内容,若发生了丢包事件,则制作该数据包组的丢包矢量图。接着提取出数据包组中的对应位,结合丢包矢量图通过RS解码器恢复出丢失字节,用这些丢失字节重构
原创力文档


文档评论(0)