预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共12页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN110190893A(43)申请公布日2019.08.30(21)申请号201910524082.2H04L12/863(2013.01)(22)申请日2019.06.18(71)申请人中国电子科技集团公司第五十四研究所地址050081河北省石家庄市中山西路589号中国电子科技集团公司第五十四研究所卫星通信与广播电视专业部(72)发明人柳长青张亚生杨光祥(74)专利代理机构河北东尚律师事务所13124代理人王文庆(51)Int.Cl.H04B7/185(2006.01)H04L12/851(2013.01)H04L12/807(2013.01)H04L12/823(2013.01)权利要求书2页说明书8页附图1页(54)发明名称一种基于DPDK的卫星信道高速可靠数据传输方法(57)摘要本发明公开了一种基于DPDK的卫星信道高速可靠数据传输方法,属于卫星通信技术领域。其利用DPDK在用户空间提供的轮询接收方式,将数据从网卡直接接收到应用程序,绕过Linux内核网络协议栈,避免了频繁的CPU中断和内存拷贝,显著提高了数据处理效率。在用户空间对接收到的数据报文根据其协议类型进行处理,对于非TCP报文,只是简单的缓存,在等到令牌后便从另一个端口转发出去;对于TCP报文,则需要按SCPS-TP协议流程进行处理,以克服卫星信道长时延、高误码等特点。本发明能有效提高可靠数据传输的卫星信道利用率,完全兼容TCP协议,特别适合高通量卫星系统中的可靠数据传输。CN110190893ACN110190893A权利要求书1/2页1.一种基于DPDK的卫星信道高速可靠数据传输方法,其特征在于,用于卫星通信的网关中,所述网关具有两个网卡;包括以下步骤:(1)将网关的两个网卡绑定到DPDK的用户态驱动上,分别作为网关的LAN端口和WAN端口,利用DPDK提供的rte_eth_rx_burst函数从网卡接收数据包,并将数据包直接送到实现SCPS-TP协议流程的用户空间;(2)在SCPS-TP协议流程的用户空间中进行数据包的处理,记录数据包的MAC地址、MAC头部协议类型字段;(3)根据数据包的MAC头部协议类型字段,识别数据包的协议类型,若非IP协议,则执行步骤(4);若为IP协议,则继续判断IP头部协议类型字段:若为TCP或SCPS-TP协议,则执行步骤(6),否则执行步骤(5);(4)通过DPDK提供的rte_eth_tx_burst函数将数据包从网关的另一个端口转出;(5)将数据包放入数据包缓存队列,在获取到令牌后通过DPDK提供的rte_eth_tx_burst函数将数据包从网关的另一个端口转出;(6)根据TCP或SCPS-TP协议的传输层头部标志位字段分别按照步骤(7)(8)(9)进行处理;(7)若头部标志位字段为SYN或SYN+ACK,则数据包的类型为TCP或SCPS-TP的连接建立请求或连接建立请求确认报文;此时执行如下步骤:(701)记录数据包的连接信息,包括源IP地址、源端口、目的IP地址、目的端口;判断数据包来自网关的LAN端口还是WAN端口;(702)若数据包来自网关的LAN端口,则将该数据包从TCP的SYN或SYN+ACK包转换为SCPS-TP的SYN或SYN+ACK包,然后通过DPDK提供的rte_eth_tx_burst函数经WAN端口转发给对端的网关;(703)若数据包来自网关的WAN端口,则将该数据包从SCPS-TP的SYN或SYN+ACK包转换为TCP的SYN或SYN+ACK包,然后通过DPDK提供的rte_eth_tx_burst函数经LAN端口转发给数据业务终端;(704)在建立SCPS-TP连接的过程中,进行数据接收缓冲区协商设置和SCPS-TP拥塞控制算法优化;(8)若头部标志位字段为ACK,则数据包的类型为TCP或SCPS-TP的数据报文或确认报文;此时执行如下步骤:(801)依据建立连接过程记录的连接信息,判断是否存在匹配的连接;(802)若不存在,则丢弃该TCP报文;若存在,则进一步判断数据包来自网关的LAN端口还是WAN端口;(803)若数据包来自网关的LAN端口,则通过DPDK提供的rte_rth_tx_burst函数经WAN端口将该TCP报文转发给对端的网关;此外,若数据包为TCP数据报文,则还需通过DPDK提供的rte_eth_tx_burst函数经LAN端口向数据业务发送终端回复数据已经到达目的终端的伪确认;(804)若数据包来自网关的WAN端口,则通过DPDK提供的rte_rth_tx_burst函数经LAN端口将该TCP报文转发给数据业务终端;此外,若数据包为TCP数据报文,则还需跟据SCPS-TP的拥塞控制,通过DPD