Research and Design of Unidirectional Data Transmission Device Based on Optical Fiber Technology
With the rapid development of intelligent transportation systems, the real-time acquisition, transmission, and security of massive traffic data have become key concerns. This paper proposes a unidirectional data transmission device based on optical fiber technology to reduce the security risks in data transmission between internal and external networks of transportation systems. With the unidirectional optical transmission of optical fiber, it achieves unidirectional physical isolation of data transmission channel, which maintains the security of host computers and internal networks. The network protocol stack is optimized to achieve efficient and stable data transmission. The data transfer rate from the host computer to the removable storage media reaches 100 Mb/s. This demonstrates the potential for use in the fields requiring stringent data security.
Optical Fiber Technology
智慧交通(Intelligent Transportation System, ITS)是通过物联网、云计算、大数据、人工智能等技术,对交通管理、车辆调度、路网优化等环节进行智能化改造的系统。随着智慧交通系统的快速发展,海量交通数据的实时采集、传输与安全性问题日益突出,数据安全传输成为关注焦点
单向数据传输设备是一种专门设计用于数据单向传输的硬件设备。其核心功能在于允许数据从高安全级别的系统或设备向低安全级别的系统或设备单向导出,而严格禁止数据反向传输,因此在信息安全领域具有广泛应用。单向数据传输设备的方案主要基于数据泵技术和数据二极管技术
本文提出一种基于光纤技术的移动介质数据单向传输设备,通过光纤传输与硬件隔离,彻底阻断反向数据传输路径,基于RawGadget内核模块和自反馈校验机制,实现了上位机向USB设备高效稳定下发数据。
光纤是光导纤维的简称,是由高透射率材料构成的圆柱形波导,其结构如
使用光纤进行数据传输的过程如
如
使用光信号进行数据传输,是保证物理通路单向导通的关键。设备光路部分的设计如
在基于Rawgedget技术的基础上,我们进一步拓展并创新,实现了双文件系统间的监听与同步功能。
当检测到文件系统事件时,触发相应的同步操作。例如,当主机端文件系统中创建了一个新文件,该事件会被inotify捕获,并通知给监听程序。监听程序会立即调用同步逻辑,将新文件从主机端复制到虚拟U盘的文件系统中。这一功能允许系统在两个不同文件系统之间实时跟踪和同步数据变化,确保了数据的完整性和一致性。通过使用inotify工具监控文件的创建、修改和删除等系统事件,并在检测到变化时触发相应的同步操作,从而实现高效的数据同步。同时我们采用了内存镜像文件技术,利用计算机内存的高速读写能力,模拟出移动存储介质的空间。通过创建内存镜像文件,将内存区域映射到文件系统,从而实现内存和文件系统的高效数据交换。该方案有效提升了数据传输速率。
核心板与光模块使用网线连接,核心板间使用网络协议进行数据传输。传统的网络协议栈,如TCP/IP协议栈,遵循严格的分层模型,网络数据包在通过内核时,会经历传输层、网络层、设备驱动等复杂的协议栈处理,并且涉及频繁的用户态与内核态的上下文切换和内存拷贝,极大限制了设备性能。为了减少这些开销,将网卡驱动的接口暴露给内核空间的应用程序,使得应用程序可以直接通过系统调用接口与网卡驱动进行交互。这样,数据包在到达网卡后,可以直接被内核空间的应用程序处理,无需经过网络协议栈的逐层封装和解封装,从而减少了数据拷贝和系统调用开销。通过修改协议处理的优先级,使自定义协议的数据包在到达网卡驱动后能够优先于其他协议的数据包进行处理。通过修改传统网络协议栈,在内核空间直接调用网卡驱动收发数据包,显著提高了数据传输速率。
为保证大量数据传输的空间和效率,引入了三层弹性缓存机制。该机制包括网卡驱动层缓存、内核协议层缓存和应用层缓存。网卡驱动层缓存用于暂存从网络接收到的数据包,内核协议层缓存用于在协议处理过程中暂存数据,应用层缓存用于存储即将发送或已经接收的数据。三层缓存之间通过动态调整缓存大小和数据调度策略,实现数据的高效存储和传输,有效缓解了数据传输过程中的拥塞和延迟问题。
在单向传输设备中,数据只能单向流动,缺乏从接收端到发送端的直接反馈机制,需要设计容错纠错控制机制来降低误码率与丢包率。通过光纤耦合器将发送光模块的RX口与TX口连接,在核心板a形成自反馈环路,进行CRC校验。CRC是一种根据网络数据包或计算机文件等数据产生简短固定位数校验码的信道编码技术,主要用来检测或校验数据传输或者保存后可能出现的错误。其核心思想是通过多项式除法对数据进行处理,将数据视为一个长的二进制数,通过特定的生成多项式对数据进行除法运算,所得的余数就是校验码。本方案采用CRC-32标准,数据包每个帧的末尾附加一个32位的CRC冗余校验码,用于检测帧在传输过程中是否出现错误。核心板a维护一个环形缓冲区,缓存最近发送的N个数据帧(默认N = 1000),每个帧包含原始数据及校验码。核心板a接收反馈信号后,提取校验码并与原始数据帧进行比对。若反馈校验失败,核心板a从缓冲区中提取对应数据帧重新发送,最多重传5次,若仍失败,则标记为“不可恢复错误”,记录日志并由指示灯产生告警信号。设置单帧传输超时阈值(默认500 ms),超时后强制丢弃该帧,避免信道拥塞。
对设备的传输速率进行测试并与基于传统TCP/IP协议栈方案进行比较,结果如
指标 |
传统TCP/IP协议栈 |
优化协议栈 |
提升比例 |
1 GB文件传输速率 |
45 Mb/s |
100 Mb/s |
122%↑ |
平均延迟 |
320 μs |
85 μs |
73%↓ |
10 K小文件耗时 |
58 s |
12 s |
79%↓ |
CPU占用率(峰值) |
78% |
32% |
59%↓ |
唐山高速集团科技创新项目No. TE2023016基于移动存储介质的单向数据传输设备。