一种报文转发方法及装置与流程

专利2022-05-09  104


本说明书涉及通信技术领域,尤其涉及一种报文转发方法及装置。



背景技术:

随着第五代5g通信技术的逐步部署,推动了承载业务的大发展,带宽成倍提升的同时,作为地面通信主力的无线基站的覆盖范围也越来越小,基站部署密度越来越高,运营商竞争激烈的前提下,大面积全覆盖的在一些偏远地区先发展5g显然是不可能的。这就造成了在一些偏远地区(例如森林、沙漠、海洋等)和人烟稀少的地区出现无法覆盖的孤岛,为了弥补这一网络覆盖不足的缺陷,当前基于地面无线与卫星通信集成的全连接的第六代6g通信技术开始启动探索和研发,以期达到卫星通讯和地面无线通信能够有机的融合在一起。

卫星通信是指利用人造地球卫星作为中继站来转发无线电波,从而实现多个地球站、航天器、空间站之间的单向或双向通信。按照卫星轨道高度不同,通信卫星可分为:

低轨卫星,轨道高度为400km~2,000km;

中轨卫星,轨道高度为2,000km~35,786km;

高轨地球同步卫星,轨道高度为35,786km。

过去的通信卫星以高轨地球同步卫星为主,其绕地球飞行的周期与地球自转周期一致,一颗卫星可以覆盖地球三分之一的面积。因轨道资源紧张、传播时延长、无法覆盖高纬度地区等问题,高轨卫星市场近年来日渐萎缩,而低轨卫星凭借其各项优势逐渐兴起。低轨卫星距离地面相对较近,有自己独立的轨道面,具有传播时延短,轨道及频率资源较为丰富,通过多个轨道面的多颗卫星组网可实现全球无死角覆盖,能够较好地解决高轨卫星存在的主要问题。近年来随着商用卫星发射成本的逐渐降低,卫星通信初步具备了规模部署的条件,因此逐渐被广泛认可和重视。

图1是低轨星地组网架构的示意图,地面通信网通过路由器设备使用标准的以太网接口与卫星地面接收站的地面站的天线互联,地面站的天线与天际的卫星通过无线空口完成通信,天空的卫星组成天基通信网,地面的设备组成地面网络,在偏远地区无基站覆盖的地方,终端设备2直接使用通过空口与卫星直接互联,数据报文通过天基卫星网络到达落地卫星后经过地面接收站落地,然后与地面通信网的路由器互联,最终通过地面通信网的基站实现与地面的终端的互通,其中落地卫星为可以与与地面接收站发送报文的卫星。

在实际的星地互联的过程中,由于低轨卫星具有自己独立的轨道面,因此其位置相对于地面接收站是动态变化的,卫星地面接收站所跟踪的卫星也存在动态切换和实时跟踪的情况,因此星地链路实际上受到地面站的天线的仰角(实际上是卫星的位置)影响,链路带宽会呈现出如图2所示的动态变化,地面站的天线跟踪某一颗星时,理论带宽是随着卫星的位置呈现出线性增加然后降低的过程,同时链路也容易受到天气的影响出现无法较大的波动,这样会存在图2中的理论速率曲线和实际速率曲线两种。这种速率的变化的其不可控性,导致地面站的天线和地面路由器对接的接口的带宽也需要实时跟踪变化,否则容易造成星地链路的拥塞丢包。同时由于单个卫星数据通信带宽有限,在地面接收站的接收到的落地流量集中,往往超过了单个卫星的带宽,这时候必然需要将多个卫星的多条星地链路进行负载分担处理以增加带宽,此时就需要一种基于速率变化的接口的负载分担技术。但是当前的负载分担均是基于带宽确定的方式进行的,并不能很好的使用当前的卫星通信的需求,所以需要探索新的负载分担技术。



技术实现要素:

为克服相关技术中存在的问题,本说明书提供了一种报文转发方法及装置。

根据本说明书实施例的第一方面,提供一种报文转发方法,所述方法包括:

周期性的轮询网络设备的以太网口;

若发现存在以太网口对应的接收队列中接收到至少一个完整的待调度报文,则获取各个空中接口的时延;

根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文。

可选的,根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度的报文,包括:

预估上一个报文到达对端的剩余时长,上一个报文的剩余时长表征上一个报文还有多久才能到达对端;

获取时延最小且时延大于剩余时长的空中接口转发所述待调度报文。

可选的,所述预估待调度报文到达对端的剩余时长,包括:

获取空中接口计算的上一个报文的时延;

将所述上一个报文的时延加入至与所述空中接口对应的定时器,所述定时器从所述上一个报文的时延递减计时;

根据当前计时器的时间预估上一个报文到达对端的剩余时长。

可选的,所述方法还包括:

空中接口获取自身对应的令牌桶中的令牌数,其中,所述令牌桶中的放入的令牌数是根据空中接口对应的链路当前的带宽确定的;

判断所述令牌数是否满足调度所述待调度报文的要求,若满足,则执行根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文的步骤。

可选的,所述令牌桶中的放入的令牌数与空中接口对应的链路当前的带宽的大小成正比。

根据本说明书实施例的第二方面,提供一种报文转发装置,包括:以太网接口、空中接口、仲裁模块;

其中,仲裁模块周期性的轮询网络设备的以太网口;

若仲裁模块发现存在以太网口对应的接收队列中接收到至少一个完整的待调度报文,则获取各个空中接口的时延;

仲裁模块根据根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文。

可选的,所述仲裁模块还用于预估上一个报文到达对端的剩余时长,上一个报文的剩余时长表征上一个报文还有多久才能到达对端;

仲裁模块选择时延最小且时延大于剩余时长的空中接口转发所述待调度报文。

可选的,所述仲裁模块还用于获取空中接口计算的上一个报文的时延;

以太网口将所述上一个报文的时延加入至与所述空中接口对应的定时器,所述定时器从所述上一个报文的时延递减计时;

仲裁模块根据当前计时器的时间预估上一个报文到达对端的剩余时长。

可选的,空中接口还用于获取自身对应的令牌桶中的令牌数,其中,所述令牌桶中的放入的令牌数是根据空中接口对应的链路当前的带宽确定的;

空中接口判断所述令牌数是否满足调度所述待调度报文的要求,若满足,则执行根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文的步骤。

可选的,所述令牌桶中的放入的令牌数与空中接口对应的链路当前的带宽的大小成正比。

本说明书的实施例提供的技术方案可以包括以下有益效果:通过与卫星建立通信的空中接口的时延去选择空中接口,通过空口的时延变化在多个空口之间实现负载分担。从而可以更好的适应空地链路这种带宽和时延都不断变化的场景。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。

图1是低轨卫星组网架构示意图;

图2示出了一种星地链路的带宽随着卫星仰角变化的示意图;

图3示出了一种地面站与地面路由器之间进行负载分担的示意图;

图4示出了本申请一实施例提供的报文转发方法的流程示意图;

图5示出了本申请实施例提供的一种地面站天线的结构示意图;

图6示出了一种计算空中接口时延的示意图;

图7示出了本申请又一实施例提供的报文转发方法的流程示意图;

图8示出了本申请再一实施例提供的报文转发方法的流程示意图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。

在相关的技术中,基于星地链路带宽的线性变化的负载分担策略是基于流进行哈希hash的方式实现的。图3示出了一种地面站与地面路由器之间进行负载分担的方案,具体的,在该方案中,包括如下步骤:

(1)当地面站的天线感知到带宽变化后,通知天线的中央处理器cpu(centralprocessingunit,简称cpu);

(2)地面站的天线的cpu通过私有协议通知地面路由器的cpu当前的带宽情况;

(3)路由器的cpu根据变化后的带宽,调整各个接口的负载分担的比例;

(4)路由器转发过程中利用这个比例完成非等值的负载分担转发。

在这个方案中存在两个关键点,一个是地面站的天线感知带宽变化后,如果要调整业务流量对应的出接口,那么在地面路由器上需要留有一定的带宽余量,该带宽余量用于确保在利用hash因子(一般hash因子为五元组)调整流量之后,带宽仍然足够,这就导致需要预留比较大的带宽余量时就要开始调整;另一个关键点是地面路由器需要深入解析数据流,单靠五元组识别的话,可能存在某一个五元组的业务流量瞬时特别大,导致分担到的出接口的带宽不足而导致丢包等。

由此可见,在以上方法中,基于hash方式的负载分担方案,流量的路径是按照五元组去确定的,只要五元组是相同的,对应的出接口就是固定的,不能动态调整,当链路出现快速变化时,不能及时响应变化,容易造成局部拥塞丢包。

实施例一

本实施例提供一种报文转发方法,通过与卫星建立通信的空中接口的时延去选择空中接口,通过空口的时延变化在多个空口之间实现负载分担。从而可以更好的适应空地链路这种带宽和时延都不断变化的场景。

具体的,该方法可以由与卫星通信的地面站执行,图4为本申请一实施例提供的报文转发方法的流程示意图,在该方法中,各个步骤可以由地面站天线的各个不同的模块进行执行,地面站的天线包括多个以太网口,用于与地面路由器通信,还包括多个空中接口(简称空口),用于与卫星通信,还包括用于仲裁的芯片。以太网口、空口可以在仲裁的芯片上,当然以太网口、空口可以在于仲裁芯片不同的芯片上,本申请对于执行报文转发方法的硬件实体并不加以限定,可以实现相应的功能即可。如图4所示,本实施例提供的报文转发方法包括:

步骤101,周期性的轮询网络设备的以太网口;

步骤103,若发现存在以太网口的接收队列中接收到至少一个完整的待调度报文,则获取各个空中接口的时延;

图5示出了一种地面站天线的结构示意图,地面路由器与地面站天线通过以太网口互联,地面路由器可以与卫星天线通过其他手段实现整体空口带宽和以太网链路带宽等的同步,例如:汇总空口1~4的带宽之和,同步给地面路由器,地面路由器将流量平均分配到以太网口1~4上,按照等价负载分担的方式在4个以太网口之间均匀的负载分担流量。

其中,以太网口主要完成数据报文的接收和缓存;

空中接口主要完成口空速率、时延检测、完成发包调度请求的回应,计算发包时延和令牌维护等;

仲裁模块主要是响应以太网口的发包请求,向空口申请令牌资源并判断选取其中一个空口回应后完成发包的调度工作。

为了更好的说明本实施例的方法,本实施例以仲裁模块周期性的轮询地面站天线为例进行说明。

在一种可选的实施例中,也可以是以太网口自身周期性的检测是否接收到报文,若接收到一个完整报文之后,则向仲裁模块发送调度请求,调度请求中包括待调度报文的长度,待调度报文的长度用p_len标识,后文会用到。

仲裁模块在收到调度请求之后,根据以太网口发送调度请求的先后顺序逐一串行向空口发送调度请求,当然也可以并行向个空口发送调度请求。串行触发调度可以在一定程度上缓解报文的拥塞问题,避免不拥塞的以太网口对应的队列的报文本不拥塞但是反而先被处理。

各个空中接收到了调度请求后,可以计算空中接口的时延。

接口的时延一般是由发送时延、传播时延、处理时延、排队时延等因素确定。

在一种可选的实施方式中,每个空中接口的时延可以根据该空中接口发送报文的时延tdelay、该空中接口对应的发送队列中正在发送的报文但未发送完成的报文长度transmitp_len、该空中接口对应的发送队列中缓存的待发送的报文长度的总和waitp_len、正在调度入发送队列的报文的长度enqueuep_len。具体的,图6示出了一种计算空中接口时延的示意图。

具体的,可以根据如下公式确定:

scheduledelay空口x=(enqueuep_len waitp_len transmitp_len)÷qspeed tdelay空口x;

其中,qspeed为该空口转发报文的速度;

x为空口标识;

scheduledelay空口x为空口的时延。

步骤105,根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文。

仲裁模块获取到各个空中接口返回的空口的时延,由此可以根据各个空口的时延确定满足时延条件的空中接口,通过该空中接口转发待调度报文。

具体的,判断空中接口的时延是否满足时延条件的一种具体的实施方式为:仲裁模块可以在多个空中接口中选择时延最小的空中接口转发待调度报文。

当然,选择空中接口的时延条件可以根据实际情况变化,在下面的实施例中会介绍另一种实施方式,本实施例中暂时不详细赘述。

仲裁模块在找到满足时延条件的空口之后,可以将该空口的标识和根据步骤103获取到的时延反馈给以太网口;如果无符合要求的空口,则向以太网口返回继续等待的命令。

根据本申请提供的上述报文转发方法可以看出,在该方法中,针对星地链路这种带宽和时延实时变化、或者空(无人机)地链路等带宽和时延实时变化的场景中,不再采用hash的方式进行负载分担,而对空中接口的时延加以考虑,实时获取各个空口的时延,从中选择时延合适的空中接口转发待调度报文,从而可以更加充分的利用带宽实现业务流在不同的星地链路之间的均匀的负载分担。

实施例二

基于hash方式的负载分担,在调整hash因子的瞬间触发流量链路选择的路径变化时会存在少量的乱序,会对业务系统造成影响。

在采用实施例一的方式上,本实施例提供一种报文转发方法通过对上一个报文到达对端的剩余时长进行估计,从而选择出时延最小且时延大于剩余时长的空中接口,去避免产生报文后发先至而导致的乱序问题。

具体的,图7示出了本实施例提供的报文转发方法的流程示意图,如图7所示,该方法包括:

步骤701,周期性的轮询网络设备的以太网口。

步骤703,若发现存在以太网口对应的接收队列中接收到至少一个完整的待调度报文,则获取各个空中接口的时延。

其中,步骤701和步骤703与上述实施例中的步骤101和步骤103的具体实现方式相同,本实施例中不再详细赘述。

其中,在实施例一中针对步骤107提供了一种实施方式,本实施例中提供另外一种实施方式,即步骤7051和步骤7052为实施例一中提供的步骤107的另外一种实现方式。

步骤7051,预估上一个报文到达对端的剩余时长,上一个报文的剩余时长表征上一个报文还有多久才能到达对端。

步骤7052,获取时延最小且时延大于剩余时长的空中接口转发待调度报文。

具体的,预估上一个报文还有多久能到达对端,可以通过空中接口发送上一个报文的时延减去距离接收到选择该空口发送上一个报文后所经历的时长来对待调度报文到达对端还需要用多长时间来进行估计。

举例来说,在各个空口发送上一个报文m1之前,也就是其作为待调度报文报文时,仲裁模块会根据实施例一所提供的方法计算各个空口发送m1的时延,若空口1通过计算确定出采用空口1发送该上一个报文m1的时延为3ms,空口2发送上一个报文m1的时延为5ms,空口3发送上一个报文m1的时延为t1=2ms,空口4发送上一个报文m1的时延为4ms,在仲裁模块确定选择空口3作为发送上一个报文m1的空口之后,时间已经过去了t2=2ms,由此可以计算,此时空口3的剩余时长为t1-t2=0,也就是可以认为对于空口3来说,此时发送的上一个报文m1已经到达对端,因此只有通过这样的空口去发送报文,才能避免后面到达的待调度报文被先发送至对端(卫星),从而导致的报文乱序问题。

对于如何获取剩余时长,可以通过设置定时器的方式进行计算。

具体的,针对上一个报文m1其作为待调度报文时,根据实施例一中提供的方式可以计算出各个空口发送报文m1的时延,仲裁模块可以在获取空中接口的时延之后,将各个空口发送该报文m1的时延发送至以太网口,各个以太网口负责维护与各以太网口对应的空口的时延信息,并将该时延加入至与各空口对应的定时器,具体的,可以如图5所示,由以太网口各自维护一个定时器,定时器的计时时间由各空口所计算的时延值随着时间的流逝逐渐递减,递减的值与时间流逝的值相等。举例来说,空口3计算的转发报文m1的时延为2ms,若转发报文m1为首个报文,则可以直接选择时延最小的空口作为转发m1的空口,若m1不是首个报文,则可以根据步骤7052确定m1空口,在仲裁模块选择该空口3转发m1之后,那么可以将该时延2ms加入至与空口1对应的以太口1维护的计时器中,计时器从2ms开始递减计时,计时器的最小值为0,当然也可以为负数,本实施例对于计时器的计时方式并不加以限定。

当周期性轮询网络设备的以太网口之后,如果发现存在至少一个完整的待调度报文之后,选择时延最小且时延大于该空口对应的计时器的剩余时长的空中接口转发待调度报文。

实施例三

在上述两个实施例的基础上,本实施例还提供一种报文转发方法,图8示出了本实施例提供的一种报文转发方法的流程示意图,该方法包括:

步骤801,周期性的轮询网络设备的以太网口;

步骤803,若发现存在以太网口对应的接收队列中接收到至少一个完整的待调度报文,则获取各个空中接口的时延。

步骤801和步骤803的实现过程与实施例一中步骤101和步骤103类似,本实施例中不再赘述。

步骤8041,空中接口获取自身对应的令牌桶中的令牌数,其中,所述令牌桶中的放入的令牌数是根据空中接口对应的链路当前的带宽确定的。

仲裁模块可以向各个空口发送调度请求,空口在接收到调度请求之后,可以获取自身对应的令牌桶的令牌数,其中令牌桶中方式令牌数的速度是根据该空中接口与卫星之间的链路当前的带宽确定的。

也就是本申请中令牌桶放入令牌的数量是根据空中接口与卫星之间链路带宽变化的。具体的,放入令牌桶的令牌的数量与空口与卫星之间的链路的带宽成正比。即空口与卫星之间的链路的当前的带宽越大,放入令牌桶中令牌的数量就越多。

步骤8042,判断所述令牌数是否满足调度所述待调度报文的要求,若满足则执行步骤805;若不满足,空中接口向仲裁模块返回无法调度该空口的指令。

空口判断其对应的令牌桶中的令牌数是否满足调度待调度报文的要求,例如若一个令牌代表可以承载1字节长度的报文,那么若令牌桶中的令牌数大于待调度报文的长度,则认为满足调度待调度报文的要求;或者,令牌桶中的令牌数减去待调度报文的长度大于预设阈值,则认为满足待调度报文的长度等等;

针对令牌数是否满足调度待调度报文的要求可以根据实际需求进行更改,本实施例中不再进行举例。

如果该空口对应令牌桶中的令牌数不满足调度待调度报文的要求,则空口向仲裁模块返回无法调度该空口的指令。

如果仲裁模块接收到所有空口都无法被调度,那么仲裁模块会通知以太网口继续等待,直到通过步骤805确定出满足时延条件的空口。

步骤805,根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文。

在一种可选的实施方式中,步骤805的实现方式可以通过实施例一提供方式实现,也可以通过实施例二中提供的步骤7051和步骤7052实现,本实施例中不再详细赘述。

此外,在一种可选的实施方式中,仲裁模块在找到满足时延条件的空口之后仲裁模块向该空口发送选择该空口作为转发待调度报文的指令,在该指令中可以携带待调度报文的长度p_len,空口在收到上述指令后,将待调度报文的长度p_len累加进正在调度入队的报文的长度,即:

enqueuep_len=enqueuep_len p_len;

同时令牌数量减去p_len,去更新令牌桶中的令牌数。

本实施例提供的方法,各个空口分别维护了令牌桶,令牌桶中放入令牌的速度根据与空中接口与卫星之间链路的带宽进行调整,从而在对待调度报文进行转发时,能够实时响应空口链路的带宽,更好的进行负载分担。

本发明提供的方法,实现了地面站天线与卫星之间链路的负载分担方案和地面路由器的负载分担方案的解耦,地面路由器只需要基于传统的做法实现业务流的分担,由地面站的天线来实现各个接口承载的业务流在不同的星地链路之间均匀负载分担。

此外,本申请所提供的方法不限于应用于地面站与卫星之间的通信,还可以用于其他链路带宽实时发生变化的应用场景。

实施例四

本实施提供一种报文转发装置,可以用于执行上述实施例一至实施例三所提供的报文转发装置,图5示出了一种地面站天线的结构示意图,以太网接口、空中接口、仲裁模块;

其中,仲裁模块周期性的轮询网络设备的以太网口;

若仲裁模块发现存在以太网口对应的接收队列中接收到至少一个完整的待调度报文,则获取各个空中接口的时延;

仲裁模块根据根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文。

可选的,所述仲裁模块还用于预估上一个报文到达对端的剩余时长,上一个报文的剩余时长表征上一个报文还有多久才能到达对端;

仲裁模块选择时延最小且时延大于剩余时长的空中接口转发所述待调度报文。

根据本申请提供的上述报文转发装置中,对空中接口的时延加以考虑,实时获取各个空口的时延,从中选择时延合适的空中接口转发待调度报文,从而可以更加充分的利用带宽实现业务流在不同的星地链路之间的均匀的负载分担。

可选的,所述仲裁模块还用于获取空中接口计算的上一个报文的时延;

以太网口将所述上一个报文的时延加入至与所述空中接口对应的定时器,所述定时器从所述上一个报文的时延递减计时;

仲裁模块根据当前计时器的时间预估上一个报文到达对端的剩余时长。

可选的,空中接口还用于获取自身对应的令牌桶中的令牌数,其中,所述令牌桶中的放入的令牌数是根据空中接口对应的链路当前的带宽确定的;

空中接口还用于判断所述令牌数是否满足调度所述待调度报文的要求,若满足,则执行根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文的步骤。

可选的,所述令牌桶中的放入的令牌数与空中接口对应的链路当前的带宽的大小成正比。

本实施例提供的装置中,各个模块的实现方式可以参照方法实施例,本实施例中不再详细赘述。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行计算机程序指令时,全部或部分地产生按照本申请的流程或功能。计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包括于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分。并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能。

在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。

应理解的是,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。上述实施例方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。

此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。上述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。该存储介质可以是只读存储器,磁盘或光盘等。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。


技术特征:

1.一种报文转发方法,其特征在于,包括:

周期性的轮询网络设备的以太网口;

若发现存在以太网口对应的接收队列中接收到至少一个完整的待调度报文,则获取各个空中接口的时延;

根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文。

2.根据权利要求1所述的方法,其特征在于,根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度的报文,包括:

预估上一个报文到达对端的剩余时长,上一个报文的剩余时长表征上一个报文还有多久才能到达对端;

获取时延最小且时延大于剩余时长的空中接口转发所述待调度报文。

3.根据权利要求2所述的方法,其特征在于,所述预估上一个报文到达对端的剩余时长,包括:

获取空中接口计算的上一个报文的时延;

将所述上一个报文的时延加入至与所述空中接口对应的定时器,所述定时器从所述上一个报文的时延递减计时;

根据当前计时器的时间预估上一个报文到达对端的剩余时长。

4.根据权利要求1所述的方法,其特征在于,所述方法还包括:

空中接口获取自身对应的令牌桶中的令牌数,其中,所述令牌桶中的放入的令牌数是根据空中接口对应的链路当前的带宽确定的;

判断所述令牌数是否满足调度所述待调度报文的要求,若满足,则执行根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文的步骤。

5.根据权利要求4所述的方法,其特征在于,所述令牌桶中的放入的令牌数与空中接口对应的链路当前的带宽的大小成正比。

6.一种报文转发装置,其特征在于,包括:以太网接口、空中接口、仲裁模块;

其中,仲裁模块周期性的轮询网络设备的以太网口;

若仲裁模块发现存在以太网口对应的接收队列中接收到至少一个完整的待调度报文,则获取各个空中接口的时延;

仲裁模块根据根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文。

7.根据权利要求6所述的装置,其特征在于,所述仲裁模块还用于预估上一个报文到达对端的剩余时长,上一个报文的剩余时长表征上一个报文还有多久才能到达对端;

仲裁模块选择时延最小且时延大于剩余时长的空中接口转发所述待调度报文。

8.根据权利要求7所述的装置,其特征在于,所述仲裁模块还用于获取空中接口计算的上一个报文的时延;

以太网口将所述上一个报文的时延加入至与所述空中接口对应的定时器,所述定时器从所述上一个报文的时延递减计时;

仲裁模块根据当前计时器的时间预估上一个报文到达对端的剩余时长。

9.根据权利要求6所述的装置,其特征在于,空中接口还用于获取自身对应的令牌桶中的令牌数,其中,所述令牌桶中的放入的令牌数是根据空中接口对应的链路当前的带宽确定的;

空中接口判断所述令牌数是否满足调度所述待调度报文的要求,若满足,则执行根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文的步骤。

10.根据权利要求9所述的装置,其特征在于,所述令牌桶中的放入的令牌数与空中接口对应的链路当前的带宽的大小成正比。

技术总结
本说明书提供一种报文转发方法及装置,所述方法包括:周期性的轮询网络设备的以太网口;若发现存在以太网口对应的接收队列中接收到至少一个完整的待调度报文,则获取各个空中接口的时延;根据所述空中接口的时延确定满足时延条件的空中接口转发所述待调度报文。本申请提供的方法通过与卫星建立通信的空中接口的时延去选择空中接口,通过空口的时延变化在多个空口之间实现负载分担。从而可以更好的适应空地链路这种带宽和时延都不断变化的场景。

技术研发人员:吕磊
受保护的技术使用者:新华三信息安全技术有限公司
技术研发日:2021.03.30
技术公布日:2021.08.03

转载请注明原文地址:https://doc.8miu.com/read-2369.html

最新回复(0)