一种跨网段的数据报头压缩实现方法技术

技术编号:16558582 阅读:31 留言:0更新日期:2017-11-14 17:41
本发明专利技术涉及一种跨网段的数据报头压缩的实现方法,该方法以两个嵌入式ARM(Acorn RISC Machine)处理器为硬件基础,采用网关转发数据的方式将两个硬件设计为不同网域内的网关;采用多进程处理机制对各个网关的不同数据包类型进行分类处理;采用网络地址与物理地址映射的方法实现不同局域网之间的主机通信。该跨网段通信方法能适用于以OSI(Open System Interconnection)七层模型为基础的网络协议。区别于传统的第三层交换技术,本发明专利技术利用ARP(Address Resolution Protocol)技术中物理地址与网络地址映射的方法处理数据链路层的数据包,使得网关在接收到了数据之后不经过网络协议上层的处理直接转发,能使数据的转发效率提升15%;通信链路中的数据传输量减少12%,并且在传输视频语音数据包时具有良好的抗干扰性能。

A method of compressing data header across network segments

The present invention relates to a method for realizing cross network segment data header compression, the method with two embedded ARM (Acorn RISC Machine) processor for hardware based, two hardware design for different gateway domain by gateway forwarding data; multi process processing mechanism of each different data gateway packet classification processing; by using the method of mapping network address and physical address of the host communication between different LANs. The cross network communication method can apply to the OSI (Open System Interconnection) network protocol based on seven layer model. The third layer is different from the traditional exchange technique, the invention uses ARP (Address Resolution Protocol) physical address and network address mapping technology in the processing of the data link layer packet, after making the gateway in the received data through the network protocol layer and forwarded directly, can make the data forwarding efficiency 15%; the amount of data transmission in a communication link is reduced by 12%, and has good anti-interference performance in the transmission of video and voice data packet.

【技术实现步骤摘要】
一种跨网段的数据报头压缩实现方法
本专利技术涉及一种跨网段的数据报头压缩实现方法,属于无线网络通信领域。利用跨网段并且数据报头压缩的方式进行信息的传输,可以满足实际应用中不同局域网内视频数据的通信要求,同时减少数据传输量,提高无线信道利用率,提高视频数据通信的抗干扰能力。
技术介绍
跨网段通信是指在不同的局域网的主机需要进行数据传输而提出的一种通信方式,这种通信方式能方便的解决不同网段的主机数据互通的功能,由于互联网的发展,用户可以将数据发送到公网上,再利用公网传输到另一个局域网上,从而实现跨网段通信,这种通信方式已经得到普遍的应用。而在某些领域内,对数据的安全性有很高的要求,不同局域网之间不能通过上述方法进行数据传输。为了满足局域网间跨网段的数据高效通信要求,本专利技术提供了一个能实现跨局域网数据压缩处理的通信系统,系统能进行冗长的数据帧头压缩,实现局域网内任意定向数据的发送或接收;目前很多这种封闭的局域网之间通信都是基于NAT(NetworkAddressTranslation)技术,网络地址转换的方式,即在不同的网段之间加入路由器,每一个跨网段的数据都通过路由器进行地址转换,将地址转换到同一个局域网内再进行数据通信,路由器在处理每一个数据帧时都会为其加入一个内部IP(InternetProtocol)地址和外部IP地址,内部IP地址设置为同一局域网内的地址,设置内部IP地址是为了在同一个局域网内查找到外部IP数据包,这些方式在发送和接收时都需要加入一个静态路由表,并在需要查看数据源端时还需要经过繁琐的转换处理;一个网络数据包中包含了许多的协议头,而协议头之间存在很多的冗余数据,例如一个视频数据流,其RTP(Real-timeTransportProtocol)数据包包含了以太帧头、IP协议头、UDP(UserDatagramProtocol)协议头、RTP协议头,诸如UDP中的网络源地址和目的地址和以太帧头中的源地址和目的地址相同,并且数据包中包含了一个静态部分,在数据流的一系列包中都是不变,在一个RTP数据包中这样冗余的数据有53字节,而传输这样的数据造成了带宽资源的浪费,因此需要对数据进行压缩处理之后再发送。
技术实现思路
本专利技术的目的在于提供一种跨网段的数据报头压缩实现方法,能实现特定的硬件系统上跨网段通信,实现网络数据协议头的压缩功能。具有实现方式简单,通信效率高、抗干扰能力强等特点。本专利技术是采用以下技术实现的:1.一种跨网段的数据报头压缩实现方法如下:1.1在两个ARM(AcornRISCMachine)设备上移植嵌入式网络协议栈,并利用它以中断处理的方式封装网络接口驱动程序,在各个设备上搭建网关,并开启接收,发送数据线程,将网关的物理地址相互通报对方;1.2各个网关将ARP(AddressResolutionProtocol)数据包与IP数据包分类处理,共分为3个处理进程,将ARP数据包交给网络连接进程,将IP数据包交给数据处理进程,将各个数据包的网络地址与物理地址提交给映射表管理进程;1.3网关1将接收到的以太网数据复制一份到缓存区中,并剥去以太帧头,将负载数据进行数据压缩,压缩端采用有限状态机设置3种不同的状态,特定的条件下对数据作对应的处理并进行状态转移。最后将处理完的数据发送到网关2;1.4网关2等待接收网关1的压缩数据,检测有数据时,提取以太网数据,交给解压缩线程,等待数据解压完成,网关2向网关1回复ACK(Acknowledgement)消息,将解压缩数据交由显示端显示。2.根据权利要求1所述一种跨网段的数据报头压缩实现方法,其特征在于:所述的1.1、1.2中ARM设备搭建网关、建立网络连接、分类处理数据包步骤如下:2.1读取网口接收缓冲区内的以太网数据,判断数据包类型,若值为0x0806则是是ARP数据包,跳转至2.2,若值为0x0800则是IP数据包,跳转至2.3;2.2判断数据包中请求的IP地址,丢弃非本机的数据包获取源IP地址和物理地址,查找网络协议栈中是否存在ARP缓存表,若表中不存在该表项则定义一个包含远端IP地址、远端网关IP地址表项状态、时间戳的表项;2.3解析数据包类型,若是IP数据包则网关根据本地ARP映射表物理地址与IP地址的关系改写以太帧的目的物理地址并调用网络协议栈中的发送函数(以下内容中该步骤简称发送线程)将数据包发往对应的目的地址,最后更新ARP映射表;3.根据权利要求1所述一种跨网段的数据报头压缩实现方法,所述的1.3对数据压缩时状态机实现步骤如下:3.1首先提取数据包的IP地址,通过IP地址查找上下文,上下文中存储了数据流对应的IP地址,将上下文的压缩器状态置为IR(InitializationandRefresh)状态跳转至3.2;3.2判断上下文的压缩器状态信息,若该值为IR则构建一个IR数据包,跳转至3.3,若该值为FO(FirstOrder)则构建一个IR-DYN数据包,跳转至3.4,若该值为SO(SecondOrder)则构建一个U0数据包,跳转至3.5;3.3构建IR数据包,将收到的数据中协议头静态部分的内容存储到上下文结构体中对应的位置,将数据包交给发送线程;3.4构建IR-DYN(InitializationandRefresh-Dynamic)数据包,将数据包对应的TOS、TTL、IP_ID字段,添加到上下文结构体中对应的位置,将数据包交给发送线程;3.5构建U0数据包,将数据包交给发送线程;4.根据权利要求1所述一种跨网段的数据报头压缩实现方法,所述的1.4对数据解压缩状态机实现步骤如下:4.1收到压缩端的数据包,查找对应的上下文,判断数据包的类型;4.2解压缩器有NC(NoneContext)、SC(StaticContext)、FC(FullContext)三种状态,查看上下文中解压缩器的状态信息,根据上下文信息选择发送正反馈信息给压缩端;4.3根据上下文信息还原数据包的协议头,并将发送的数据附加到协议头后面传输到网络协议上层。本专利技术是一种跨网段的数据报头压缩实现方法,其优点如下:1.该方法在嵌入式网络协议栈上实现,嵌入式网络协议栈是开源代码,并且对IP报文、以太帧头、UDP报文等都定义了规范的数据结构,对网络协议栈的分层比较清晰,各个网络数据层之间的关联性比较小,对于网络接口的物理底层而言,不同的网口厂商都会提供不同的驱动函数,协议栈可以根据这些API封装出自定义的接收、发送、控制函数。2.采取ARP地址映射和更改物理地址的方式实现跨网段通信,能避免基于NAT技术添加内部IP地址的繁琐操作,能节约在处理数据帧时处理器的内存资源;3.压缩算法主要是用于减少数据报头中的冗余数据,只在无线网络中传输压缩的数据包,有效的节省了传输信道的带宽资源。附图说明图1:系统框图图2(a):压缩模块流程图图2(b):压缩模块状态转移子流程图图3:解压缩模块流程图图4:跨网段通信网络拓扑图具体实施方案以下结合说明书附图对本专利技术的实施方案做进一步说明:本专利技术的系统结构如图1所示:图中以太网用于提供数据源;网关1用于接收数据源端的数据帧,负责对数据帧头进行压缩处理,对数据进行重定向处理,且与数据源为同一个网段;网关2:用于接收网本文档来自技高网
...
一种跨网段的数据报头压缩实现方法

【技术保护点】
一种跨网段的数据报头压缩实现方法如下:1.1在两个ARM设备上移植嵌入式网络协议栈,并以中断处理的方式封装网络接口驱动程序,在各个设备上搭建网关,并开启接收和发送数据线程,将网关的物理地址相互通报对方;1.2各个网关将ARP数据包与IP数据包分类处理,共分为3个处理进程,将ARP数据包交给网络连接进程,将IP数据包交给数据处理进程,将各个数据包的网络地址与物理地址提交给映射表管理进程;1.3网关1将接收到的以太网数据复制一份到缓存区中,并剥去以太帧头,将负载数据进行数据压缩,压缩端采用有限状态机设置3种不同的状态,特定的条件下对数据作对应的处理并进行状态转移。最后将处理完的数据发送到网关2;1.4网关2等待接收网关1的压缩数据,检测有数据时,提取以太网数据,交给解压缩线程,等待数据解压完成,网关2向网关1回复ACK消息,将解压缩数据交由显示端显示。

【技术特征摘要】
1.一种跨网段的数据报头压缩实现方法如下:1.1在两个ARM设备上移植嵌入式网络协议栈,并以中断处理的方式封装网络接口驱动程序,在各个设备上搭建网关,并开启接收和发送数据线程,将网关的物理地址相互通报对方;1.2各个网关将ARP数据包与IP数据包分类处理,共分为3个处理进程,将ARP数据包交给网络连接进程,将IP数据包交给数据处理进程,将各个数据包的网络地址与物理地址提交给映射表管理进程;1.3网关1将接收到的以太网数据复制一份到缓存区中,并剥去以太帧头,将负载数据进行数据压缩,压缩端采用有限状态机设置3种不同的状态,特定的条件下对数据作对应的处理并进行状态转移。最后将处理完的数据发送到网关2;1.4网关2等待接收网关1的压缩数据,检测有数据时,提取以太网数据,交给解压缩线程,等待数据解压完成,网关2向网关1回复ACK消息,将解压缩数据交由显示端显示。2.根据权利要求1所述一种跨网段的数据报头压缩实现方法,其特征在于:所述的1.1、1.2中ARM设备搭建网关、建立网络连接、分类处理数据包步骤如下:2.1读取网口接收缓冲区内的以太网数据,判断数据包类型,若值为0x0806则是是ARP数据包,跳转至2.2,若值为0x0800则是IP数据包,跳转至2.3;2.2判断数据包中请求的IP地址,丢弃非本机的数据包获取源IP地址和物理地址,查找网络协议栈中是否存在ARP缓存表,若表中不存在该表项则定义一个包含远端IP地址、远端网关IP地址表项状态、时间戳的表项;2.3解析数据...

【专利技术属性】
技术研发人员:何苏勤杨健吕英明
申请(专利权)人:北京化工大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1