CN106101012B - 一种卫星ip网关协议适配的方法 - Google Patents
一种卫星ip网关协议适配的方法 Download PDFInfo
- Publication number
- CN106101012B CN106101012B CN201610529906.1A CN201610529906A CN106101012B CN 106101012 B CN106101012 B CN 106101012B CN 201610529906 A CN201610529906 A CN 201610529906A CN 106101012 B CN106101012 B CN 106101012B
- Authority
- CN
- China
- Prior art keywords
- message
- data
- air interface
- user mode
- linux
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/22—Traffic shaping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2483—Traffic characterised by specific attributes, e.g. priority or QoS involving identification of individual flows
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Radio Relay Systems (AREA)
Abstract
本发明公开了一种卫星IP网关协议适配的方法,所述方法包括:下行通路中设备空口接收到数据流后,层层解封装恢复出IP报文交给Linux用户态程序处理;进而Linux用户态程序将处理后的IP报文转交给Linux内核,经过协议栈根据路由信息将数据报文给物理网卡进行转发;上行通路中物理网卡接收到的IP报文经过协议栈将需要的转交给用户态程序,进行封装为空口数据格式转发到空口。本发明适用于卫星通信IP网关设备,可以实现地面网与卫星网络之间的互联互通,满足航空、远洋及其它偏远地区的互联网接入需求。
Description
技术领域
本发明涉及卫星通信的研究领域,特别涉及一种卫星IP网关协议适配的方法。
背景技术
卫星通信覆盖区域广,带宽容量高,这些特点对于航空、航海用户和偏远地区等缺少地面通信的用户是极为合适的,甚至成为唯一选择。由于体积、质量等限制,现有卫星通信系统往往选取部分主流业务进行支持,如话音、数据报业务等。若卫星通信系统与地面以太网络能够互联互通,用户可以基于该网络实现丰富多样的互联网应用,而无需特殊定制大部分具体业务。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种卫星IP网关协议适配的方法,适用于卫星通信IP网关设备,以实现地面网与卫星网络之间的互联互通,满足航空、远洋及其它偏远地区的互联网接入需求。
为了达到上述目的,本发明采用以下技术方案:
本发明的一种卫星IP网关协议适配的方法,所述方法包括:
下行链路中,设备空口接收到数据流后,层层解封装恢复出IP报文交给Linux用户态程序处理;
Linux用户态程序将处理后的IP报文转交给Linux内核,经过协议栈根据路由信息将数据报文给物理网卡进行转发;
上行链路中,物理网卡接收到的IP报文经过协议栈将需要的转交给用户态程序,进行封装为空口数据格式转发到空口。
作为优选的技术方案,对于下行数据,其适配方法为:
空口接收卫星下行数据流;
用户态程序按照空口协议定义恢复出IP报文;
进行数据报文处理后,使用Linux虚拟网络设备TUN/TAP将IP报文转发到内核协议栈;
由Linux内核将IP数据根据路由表转发到物理网卡设备。
作为优选的技术方案,对于上行数据,其适配方法为:
设备物理网卡接收到IP数据报文后,根据路由表将需要发送到空口的报文转发到虚拟网络设备TUN/TAP;
用户态程序从TUN/TAP取得报文做相应处理后,根据空口协议定义封装空口数据包;
使用空口接口发送到卫星。
作为优选的技术方案,在设备空口接收到数据流后,层层解封装恢复出IP报文交给Linux用户态程序处理的步骤中,层层解封装恢复出IP报文的具体方法为:
针对当前接收Buffer里的MAC层PDU按照识别标志PID进行分类;
针对PID=x的MAC层PDU进行重组,循环直到Buffer里该数据段信息的末尾,PDULeft对象保留重组中余剩的有效PDU,作为下一数据段信息的起头;按照上述过程继续重组;
对重组生成的数据段信息按照数据段协议头定义过滤出IP数据段,去掉数据段协议头封装,即恢复出IP报文。
作为优选的技术方案,在设备空口接收到数据流后,层层解封装恢复出IP报文交给Linux用户态程序处理的步骤中,Linux用户态程序对恢复出的IP报文进行处理的具体方法为:
对下行IP报文进行速率及流量统计,用于链路监视及计费;
对下行IP报文按照协议或业务类型进行分类,针对需要可靠保证的报文进行ACK应答及掉包重传请求。
作为优选的技术方案,将空口恢复出的IP报文经过用户态程序处理后经过转发到Linux内核的方式为:
Linux内核中开启通用TUN/TAP设备驱动支持;
用户态程序打开TUN/TAP设备,使用write函数将IP报文写入。作为优选的技术方案,在Linux用户态程序将处理后的IP报文转交给Linux内核,经过协议栈根据路由信息将数据报文给物理网卡进行转发的步骤中,协议栈根据路由信息将数据报文给物理网卡进行转发的具体方法为:
开启Linux操作系统IP转发支持;
建立IP路由表,将需要转发到地面网络的IP数据包指明路由到物理网卡;
作为优选的技术方案,将物理网卡收到的IP报文根据路由转发到用户态程序的方式为:
Linux内核中开启通用TUN/TAP设备驱动支持;
开启Linux操作系统IP转发支持;
建立IP路由表,对需要转发到空中的IP数据包指明路由到TUN/TAP设备;
用户态程序打开TUN/TAP设备,使用read函数读出IP报文。
作为优选的技术方案,在物理网卡接收到的IP报文经过协议栈将需要的转交给用户态程序,进行封装为空口数据格式转发到空口的步骤中,进行封装为空口数据格式转发到空口的具体方法为:
对IP报文按照数据段协议定义封装协议头形成数据段;
对数据段按照MAC层PDU有效数据区大小为单元进行分段,按照所分配识别标志PID进行MAC层PDU封装;如不能凑够整数个MAC层PDU,余剩的空间作为下一个数据段的起头位置;
对MAC层PDU使用空口接口驱动程序发送到空口。
本发明与现有技术相比,具有如下优点和有益效果:
1、本发明在不断简化设计的卫星通信网关中,实现卫星链路协议栈到IP协议栈的转换,从而完成丰富多样的网络应用,拓展卫星通信网关的应用范围。
2、本发明采用TUN/TAP设备作为用户态程序接口,采用标准read/write函数进行读/写,即可与Linux内核IP协议栈通信。简化了与地面以太网络的接口交互设计。
3、本发明利用Linux路由转发功能实现卫星网络与本地网络IP数据包的识别与分发,简化了IP过滤与路由工作,并可方便利用Linux内核实现流量整形、端口限速、优先级等Qos工作。
附图说明
图1是本发明的网络拓扑结构图;
图2是本发明的适配方法的流程图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例1
如图1、图2所示,在卫星IP网关设备上运行嵌入式Linux操作系统,通过空口接口驱动程序完成空口数据流的收发;通过用户态应用程序完成空口协议栈的封装/解封装,链路监视、Qos、计费等,及通过TUN/TAP与Linux内核协议栈通信;通过设置路由表实现IP分组路由。通过上述过程实现从卫星网络到地面IP网络的适配。
下行适配方法包括:空口接收卫星下行数据流;用户态应用程序按照空口协议定义恢复出IP报文;进行数据报文处理后,使用Linux虚拟网络设备TUN/TAP将IP报文转发到内核协议栈;由Linux内核将IP数据根据路由表转发到物理网卡设备。
上行适配方法包括:设备物理网卡接收到IP数据报文后,根据路由表将需要发送到空口的报文转发到虚拟网络设备TUN/TAP;用户态应用程序从TUN/TAP取得报文做相应处理后,根据空口协议定义封装空口数据包;使用空口接口发送到卫星。
本实施例一种卫星IP网关协议适配的方法,该方法包括:
S1、下行链路中,设备空口接收到数据流后,层层解封装恢复出IP报文交给Linux用户态程序处理;
S2、Linux用户态程序将处理后的IP报文转交给Linux内核,经过协议栈根据路由信息将数据报文给物理网卡进行转发;
S3、上行链路中,物理网卡接收到的IP报文经过协议栈将需要的转交给用户态程序,进行封装为空口数据格式转发到空口。
本实施例的适配方法同时适用于上行数据和下行数据,对于下行数据,其适配方法为:
A:空口接收卫星下行数据流;
A1、用户态程序按照空口协议定义恢复出IP报文;
A2、进行数据报文处理后,使用Linux虚拟网络设备TUN/TAP将IP报文转发到内核协议栈;
A3、由Linux内核将IP数据根据路由表转发到物理网卡设备。
B:对于上行数据,其适配方法为:
B1、设备物理网卡接收到IP数据报文后,根据路由表将需要发送到空口的报文转发到虚拟网络设备TUN/TAP;
B2、用户态程序从TUN/TAP取得报文做相应处理后,根据空口协议定义封装空口数据包;
B3、使用空口接口发送到卫星。
在步骤S1中,层层解封装恢复出IP报文的具体方法为:
S11、针对当前接收Buffer里的MAC层PDU按照识别标志PID进行分类;
S12、针对PID=x的MAC层PDU进行重组,循环直到Buffer里该数据段信息的末尾,PDULeft对象保留重组中余剩的有效PDU,作为下一数据段信息的起头;按照上述过程继续重组;
S13、对重组生成的数据段信息按照数据段协议头定义过滤出IP数据段,去掉数据段协议头封装,即恢复出IP报文。
在步骤S1中,Linux用户态程序对恢复出的IP报文进行处理的具体方法为:
S14、对下行IP报文进行速率及流量统计,用于链路监视及计费;
S15、对下行IP报文按照协议或业务类型进行分类,针对需要可靠保证的报文进行ACK应答及掉包重传请求;
在步骤S2中,将空口恢复出的IP报文经过用户态程序处理后经过转发到Linux内核的方式为:
S21、Linux内核中开启通用TUN/TAP设备驱动支持;
S22、用户态程序打开TUN/TAP设备,使用write函数将IP报文写入。
在步骤S2中,协议栈根据路由信息将数据报文给物理网卡进行转发的具体方法为:
S23、开启Linux操作系统IP转发支持;
S24、建立IP路由表,将需要转发到地面网络的IP数据包指明路由到物理网卡;
步骤S3中,将物理网卡收到的IP报文根据路由转发到用户态程序的方式为:
S31、Linux内核中开启通用TUN/TAP设备驱动支持;
S32、开启Linux操作系统IP转发支持;
S33、建立IP路由表,对需要转发到空中的IP数据包指明路由到TUN/TAP设备;
S34、用户态程序打开TUN/TAP设备,使用read函数读出IP报文。
步骤S3中,进行封装为空口数据格式转发到空口的具体方法为:
S35、对IP报文按照数据段协议定义封装协议头形成数据段;
S36、对数据段按照MAC层PDU有效数据区大小为单元进行分段,按照所分配识别标志PID进行MAC层PDU封装;如不能凑够整数个MAC层PDU,余剩的空间作为下一个数据段的起头位置;
S37、对MAC层PDU使用空口接口驱动程序发送到空口。
本实施例通过采用TUN/TAP设备作为用户态程序接口,采用标准read/write函数进行读/写,即可与Linux内核IP协议栈通信。简化了与地面以太网络的接口交互设计。实现卫星链路协议栈到IP协议栈的转换,从而完成丰富多样的网络应用,拓展卫星通信网关的应用范围。
实施例2
本发明实现卫星IP网关协议适配的方法,与实施例一不同的是,以常见卫星空口数据格式TS数据流为例,进一步公开了实现地面IP网络与卫星网络互联互通的步骤。
下行数据处理步骤如下:
步骤1:终端上电后启动嵌入式Linux操作系统并加载TUN/TAP驱动及空口接口驱动。启动操作系统IP转发功能;
步骤2:用户态应用程序通过空口接口读取来自卫星的TS数据流,根据PID抽取出封装着IP数据的MPEG数据流,解封装恢复出ULE/MPE数据,进一步解析得到IP格式数据;
步骤3:用户态应用程序对IP数据进行统计分析等;
步骤4:用户态应用程序将IP数据写入三层虚拟网卡TUN;
步骤5:根据目的IP地址设置好路由表后,嵌入式Linux操作系统将IP数据通过物理网卡转发到下一跳IP设备;
上行数据处理步骤如下:
步骤1:网关设备物理网卡接收到IP数据包,根据设置好的路由表信息,将需要转发的数据包转发至三层虚拟网卡TUN;
步骤2:用户态应用程序从TUN设备读取到IP数据,进行统计分析、根据Qos策略排队等;
步骤3:用户态应用程序将IP数据封装成ULE/MPE格式,进一步根据PID封装成MPEG格式;
步骤4:用户态应用程序使用空口接口按照TS流格式将据发送到卫星。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (5)
1.一种卫星IP网关协议适配的方法,其特征在于,所述方法包括:
下行链路中,设备空口接收到数据流后,层层解封装恢复出IP报文交给Linux用户态程序处理;
Linux用户态程序对恢复出的IP报文进行处理的具体方法为:
对下行IP报文进行速率及流量统计,用于链路监视及计费;
对下行IP报文按照协议或业务类型进行分类,针对需要可靠保证的报文进行ACK应答及掉包重传请求;
Linux用户态程序将处理后的IP报文转交给Linux内核,经过协议栈根据路由信息将数据报文给物理网卡进行转发;
上行链路中,物理网卡接收到的IP报文经过协议栈将需要的转交给用户态程序,进行封装为空口数据格式转发到空口;
对于下行数据,其适配方法为:
空口接收卫星下行数据流;
将解封恢复出的IP报文交给Linux用户态程序处理;
进行数据报文处理后,使用Linux虚拟网络设备TUN/TAP将IP报文转发到内核协议栈;
由Linux内核将IP数据根据路由表转发到物理网卡设备;
对于上行数据,其适配方法为:
设备物理网卡接收到IP数据报文后,根据路由表将需要发送到空口的报文转发到虚拟网络设备TUN/TAP;
用户态程序从TUN/TAP取得报文做相应处理后,根据空口协议定义封装空口数据包;
使用空口接口发送到卫星。
2.根据权利要求1所述的一种卫星IP网关协议适配的方法,其特征在于,将空口恢复出的IP报文经过用户态程序处理后经过转发到Linux内核的方式为:
Linux内核中开启通用TUN/TAP设备驱动支持;
用户态程序打开TUN/TAP设备,使用write函数将IP报文写入。
3.根据权利要求1所述的一种卫星IP网关协议适配的方法,其特征在于,在Linux用户态程序将处理后的IP报文转交给Linux内核,经过协议栈根据路由信息将数据报文给物理网卡进行转发的步骤中,协议栈根据路由信息将数据报文给物理网卡进行转发的具体方法为:
开启Linux操作系统IP转发支持;
建立IP路由表,将需要转发到地面网络的IP数据包指明路由到物理网卡。
4.根据权利要求1所述的一种卫星IP网关协议适配的方法,其特征在于,将物理网卡收到的IP报文根据路由转发到用户态程序的方式为:
Linux内核中开启通用TUN/TAP设备驱动支持;
开启Linux操作系统IP转发支持;
建立IP路由表,对需要转发到空中的IP数据包指明路由到TUN/TAP设备;
用户态程序打开TUN/TAP设备,使用read函数读出IP报文。
5.根据权利要求1所述的一种卫星IP网关协议适配的方法,其特征在于,在物理网卡接收到的IP报文经过协议栈将需要的转交给用户态程序,进行封装为空口数据格式转发到空口的步骤中,进行封装为空口数据格式转发到空口的具体方法为:
对IP报文按照数据段协议定义封装协议头形成数据段;
对数据段按照MAC层PDU有效数据区大小为单元进行分段,按照所分配识别标志PID进行MAC层PDU封装;如不能凑够整数个MAC层PDU,余剩的空间作为下一个数据段的起头位置;
对MAC层PDU使用空口接口驱动程序发送到空口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610529906.1A CN106101012B (zh) | 2016-07-06 | 2016-07-06 | 一种卫星ip网关协议适配的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610529906.1A CN106101012B (zh) | 2016-07-06 | 2016-07-06 | 一种卫星ip网关协议适配的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106101012A CN106101012A (zh) | 2016-11-09 |
CN106101012B true CN106101012B (zh) | 2020-05-12 |
Family
ID=57212383
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610529906.1A Active CN106101012B (zh) | 2016-07-06 | 2016-07-06 | 一种卫星ip网关协议适配的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106101012B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110401923B (zh) * | 2019-04-19 | 2021-08-10 | 广州天链通信科技有限公司 | 一种vsat终端网桥和路由方式同时支持的方法和vsat终端 |
CN112506674B (zh) * | 2019-09-16 | 2024-02-02 | 北京华耀科技有限公司 | Linux系统下用户态TCP/IP协议栈与本地应用通信的系统及方法 |
CN110958258B (zh) * | 2019-12-09 | 2021-10-22 | 中国电子科技集团公司第五十四研究所 | 一种支持多数据类型可扩展的交换式接口协议转换装置 |
CN111565131B (zh) * | 2020-04-22 | 2022-04-08 | 烽火通信科技股份有限公司 | 一种家庭网关cpu测速方法及系统 |
CN114567583A (zh) * | 2022-02-24 | 2022-05-31 | 北京卓越信通电子股份有限公司 | 一种路由报文从网卡经内核到路由模块的传输方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245271A (zh) * | 2015-10-27 | 2016-01-13 | 航天恒星科技有限公司 | 卫星通信网络加速装置以及方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2627067C (en) * | 2005-10-28 | 2010-02-16 | Viasat, Inc. | Adaptive coding and modulation for broadband data transmission |
CN102882879B (zh) * | 2012-10-08 | 2015-10-07 | 中国电子科技集团公司第五十四研究所 | 一种适用于卫星信道的ip数据压缩传输方法 |
CN103312601B (zh) * | 2013-05-31 | 2017-04-19 | 汉柏科技有限公司 | 用户态到内核态的数据报文处理方法 |
CN103428226B (zh) * | 2013-08-30 | 2017-04-19 | 天津汉柏汉安信息技术有限公司 | 一种用户态与内核通信的方法与系统 |
CN103763630A (zh) * | 2014-01-23 | 2014-04-30 | 深圳市同洲电子股份有限公司 | 一种网关设备以及协议转换的方法 |
WO2015135120A1 (zh) * | 2014-03-11 | 2015-09-17 | 华为技术有限公司 | 端到端的网络QoS控制系统、通信设备和端到端的网络QoS控制方法 |
-
2016
- 2016-07-06 CN CN201610529906.1A patent/CN106101012B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105245271A (zh) * | 2015-10-27 | 2016-01-13 | 航天恒星科技有限公司 | 卫星通信网络加速装置以及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106101012A (zh) | 2016-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106101012B (zh) | 一种卫星ip网关协议适配的方法 | |
JP4893581B2 (ja) | 多重化通信システム、送信処理装置、受信処理装置、多重化通信方法、送信処理方法、および受信処理方法 | |
US10659572B2 (en) | Handling different protocol data unit types in a device to device communication system | |
JP4627669B2 (ja) | パケット転送装置およびその転送制御方式 | |
US9143585B2 (en) | Method and system for generic multiprotocol convergence over wireless air interface | |
US8160106B2 (en) | Method, device and system for transmitting Ethernet packets | |
US20020032788A1 (en) | Method and means for transmitting data of different quality of service in internet protocol datagrams | |
JP2004512787A (ja) | セルラーネットワークのバックホール接続上のip適応層 | |
US20090161600A1 (en) | Wireless slave unit | |
CN105577501B (zh) | 专网客户终端设备的下挂设备入网通信实现方法及装置 | |
CN107196834B (zh) | 报文处理方法及设备 | |
US20110038304A1 (en) | Telecommunication network broadband off-loading system and method | |
CA2361433A1 (en) | Internet over satellite | |
US20220407742A1 (en) | Time-sensitive transmission of ethernet traffic between endpoint network nodes | |
CN114979839B (zh) | 一种传输控制协议代理方法及通信装置 | |
WO2019134496A1 (zh) | 数据传输方法及通信设备 | |
EP2760173A1 (en) | Data transmission method, device and system | |
CN102045249B (zh) | 一种网络通信中报文的转发方法和设备 | |
KR100533669B1 (ko) | 모바일 애드 혹 네트워크에서 데이터 패킷 전송 효율의개선을 위한 네트워크 장치 및 패킷 송수신 방법 | |
CN101557386A (zh) | 数据发送方法与装置及数据接收方法与装置 | |
CN109951458B (zh) | 一种应用于模拟ICP环境的RapidIO/FC协议转换系统及方法 | |
EP2984793A1 (en) | System and method for data transmission | |
CN115065982A (zh) | 一种基于卫星链路提高5g业务传输速率的方法及系统 | |
CN101287008B (zh) | 实现子网依赖汇聚协议的系统 | |
WO2015165056A1 (zh) | 一种数据传输、转发信息更新的方法、通信设备和控制器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |