CN111600802B - 一种基于信用量的端系统发送控制方法及系统 - Google Patents
一种基于信用量的端系统发送控制方法及系统 Download PDFInfo
- Publication number
- CN111600802B CN111600802B CN202010289810.9A CN202010289810A CN111600802B CN 111600802 B CN111600802 B CN 111600802B CN 202010289810 A CN202010289810 A CN 202010289810A CN 111600802 B CN111600802 B CN 111600802B
- Authority
- CN
- China
- Prior art keywords
- data
- credit
- virtual link
- end system
- host
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/39—Credit based
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及网络通信技术领域,公开了一种基于信用量的AFDX端系统发送控制方法。当主机使用通信端口发送数据时,先将端口号、数据长度传输给AFDX端系统,端系统根据数据长度计算出数据消耗信用量,并判断其与对应虚链路信用量的关系,来决定是否接受主机发送请求。当虚链路信用量不低于数据消耗信用量时则接受,主机继续将数据内容传输到端系统,否则拒绝请求。在主机数据发送时,消耗一定信用量,端系统将数据发送到虚链路缓冲区时,恢复一定信用量。上述方案能快速响应主机的发送请求,不同端口通过其共用虚链路的信用量进行流量信息交互,确保端系统接受的主机发送请求在特定时间前完成,减少发生新数据被阻塞或丢弃、旧数据被发送的情况。
Description
技术领域
本发明涉及网络通信技术领域,特别是一种基于信用量的AFDX端系统发送控制方法及系统。
背景技术
在AFDX网络中,定义了虚链路的概念,表示网络中一个端系统到一个或多个端系统的单向逻辑连接。每条虚链路都有两个参数,带宽分配间隙和最大帧长,AFDX端系统按照带宽分配间隙分隔连续两帧数据,因此虚链路的带宽不高于最大帧长除以带宽分配间隙。但是由于在主机和AFDX端系统之间的通信端口上,没有采取流量控制。在端系统的实现中,一般出现虚链路的瞬时流量超出带宽时,可能填满虚链路缓冲区,导致端口缓冲区的出队阻塞,进而填满端口缓冲区,才能在端口发送过程中拒绝主机的数据发送。超流量的数据发送需要较长的时间才能反馈到数据的源端(即主机),其中部分数据的发送请求尽管被端系统接受,但是虚链路的带宽限制造成这些数据真正发送到AFDX网络仍需要很长时间,可能超出数据的有效时间,而且这个问题不被主机所知悉。
发明内容
本发明所要解决的技术问题是:针对上述存在的问题,提供了一种基于信用量的AFDX端系统发送控制方法及系统。
本发明采用的技术方案如下:一种基于信用量的AFDX端系统发送控制方法,包括:
端系统根据待发送数据长度计算出数据消耗信用量,并判断数据消耗信用量与对应虚链路信用量的关系;
当对应虚链路信用量不低于数据消耗信用量时,接受主机的数据发送请求,主机继续将数据内容传输到端系统,否则拒绝主机的数据发送请求;
在数据发送到端系统时,消耗对应虚链路的信用量,端系统将数据发送到虚链路缓冲区时,恢复对应虚链路的信用量。
进一步的,根据待发送数据长度计算数据消耗信用量credit的方法为:数据长度len=[(Lmax-47)&0xFF8]*m+n,其中Lmax表示虚链路的最大帧长,m、n为正整数,n<[(Lmax-47)&0xFF8],则有:当n>7时,credit=m+1;当n≤7时,credit=m。
进一步的,在数据发送到端系统时,消耗对应虚链路的信用量,对应虚链路的信用量更新为:VL_Credit–credit;端系统将数据发送到虚链路缓冲区时,恢复对应虚链路的信用量,对应虚链路的信用量更新为:VL_Credit+1。
进一步的,判断是否接受主机的数据发送请求时,还包括以下过程:
(a)调用主机端口发送功能时,先判断端口缓冲区存储情况,如果端口缓冲区不满,则进行步骤(b)的判断,否则拒绝发送请求;
(b)如果数据消耗信用量不超过对应虚链路的信用量时,接受主机的数据发送请求,将发送数据写入端口缓冲区。
进一步的,所述基于信用量的AFDX端系统发送控制方法还包括各个虚链路缓冲区的轮流检查过程:
如果虚链路缓冲区为空,对应有端口缓冲区不为空,则从端口缓冲区中读取数据进行UDP组包、IP组包或IP分片、MAC组帧,形成一帧完整数据写入虚链路缓冲区,由端系统物理层发送到AFDX网络。
进一步的,拒绝主机的数据发送请求时,由主机决定放弃发送或等待信用量满足要求。
本发明还公开了一种基于信用量的AFDX端系统发送控制系统,包括:
端口发送单元:用于根据待发送数据长度计算出数据消耗信用量,并判断数据消耗信用量与对应虚链路信用量的关系,完成主机和端系统之间的发送请求;
虚链路发送单元:用于从端口缓冲区中读取数据进行UDP组包、IP组包或IP分片、MAC组帧,形成一帧完整数据,并将数据发送到虚链路缓冲区;以及用于管理端口缓冲区;以及用于管理虚链路缓冲区;
信用管理单元:针对每条虚链路维护一个信用量,主机和端系统之间完成发送请求时消耗对应虚链路的信用量,端系统将数据发送到虚链路缓冲区时恢复对应虚链路的信用量;
端口缓冲区:用于存放端口数据的先进先出队列;
虚链路缓冲区:用于存放虚链路数据。
进一步的,所述虚链路缓冲区中,缓冲数量为1。
与现有技术相比,采用上述技术方案的有益效果为:采用本发明的技术方案,每条虚链路维护一个信用量,并根据主机数据长度计算消耗信用量,当主机发送端口对应虚链路的信用量不低于消耗信用量时,接受主机的发送请求,在主机数据发送到端系统时消耗一定信用量,端系统将数据发送到虚链路缓冲区时恢复一定信用量,这样信用量将虚链路缓冲区的拥塞情况直接反馈到端口发送功能,通过信用量和数据长度的关系对比,快速响应主机的发送请求,同时协调共用虚链路的主机端口之间的数据流量,不同端口通过其共用虚链路的信用量进行流量信息交互,确保端系统接受的主机发送请求都能在特定时间前完成,减少发生新数据被阻塞或丢弃、旧数据被发送的情况。
附图说明
图1是基于信用量的端系统发送功能框图。
图2是端系统发送任务处理流程图。
具体实施方式
下面结合附图对本发明做进一步描述。
本实施例中:Port_Send表示端系统的端口发送功能;VL_Send表示虚链路发送功能;Credit_Mgr表示信用量管理功能;Port_Buffer表示端口缓冲区;虚链路缓冲区VL_Buffer。
如图1所示,一种基于信用量的AFDX端系统发送控制方法,包括:
Port_Send过程:
根据待发送数据长度(发送数据对应了发送端口)计算出数据消耗信用量credit,并判断数据消耗信用量credit与对应虚链路(虚链路和发送端口对应)信用量VL_Send的关系;
当对应虚链路信用量VL_Send不低于数据消耗信用量时credit,接受主机的数据发送请求,主机继续将数据内容传输到端系统,否则拒绝主机的数据发送请求(拒绝的情况由主机决定放弃发送或等待信用量满足要求);
VL_Send过程:
如果虚链路缓冲区VL_Buffer为空,对应有端口缓冲区Port_Buffer不为空,则从端口缓冲区Port_Buffer中读取数据进行UDP组包、IP组包或IP分片、MAC组帧,形成一帧完整数据写入虚链路缓冲区VL_Buffer,由端系统物理层发送到AFDX网络。
Port_Send过程和VL_Send过程中:在数据发送到端系统时,消耗对应虚链路的信用量,端系统将数据发送到虚链路缓冲区时,恢复对应虚链路的信用量。
当主机调用Port_Send功能时,端系统对应调用Port_Send,接收从主机传输过来的发送请求,请求内容包含发送端口号和待发送数据的长度。Port_Send功能查询到发送端口号对应的虚链路,从Credit_Mgr功能读取该虚链路的信用量VL_Credit。Port_Send功能使用待发送的数据长度和虚链路配置的最大帧长,计算出数据消耗的信用量credit。
信用量的管理方法如下:
credit计算过程:假设数据长度len=[(Lmax-47)&0xFF8]*m+n,其中Lmax为虚链路最大帧长,m、n为正整数,n<[(Lmax-47)&0xFF8],则有:当n>7时,credit=m+1;当n≤7时,credit=m;
如果Port_Buffer不满,且数据消耗信用量credit不超过虚链路信用量VL_Credit时,端系统接受主机发送请求,Port_Send将发送数据写入Port_Buffer;否则拒绝发送请求。端系统接受主机发送请求时,Credit_Mgr功能将更新虚链路信用量为VL_Credit-credit。
VL_Send功能独立于Port_Send功能运行,轮流检查各虚链路缓冲区。如果VL_Buffer为空,对应有Port_Buffer不为空,则从Port_Buffer中读取全部(或部分)数据进行UDP组包、IP组包(或分片)、MAC组帧,形成一帧完整数据写入VL_Buffer,由端系统物理层发送到AFDX网络。
VL_Send功能发送一帧数据时,Credit_Mgr功能将更新虚链路信用量为VL_Credit+1。
通过VL_Send功能和Port_Send功能对VL_Credit的影响,建立两者数据流量上的联系,使得端系统能够快速响应主机的发送请求,同时协调共用虚链路的主机端口之间的数据流量,确保端系统接受的主机发送请求都能在特定时间前完成。
如图2所示,一种基于信用量的AFDX端系统发送控制系统,包括:
Port_Send单元:用于根据待发送数据长度计算出数据消耗信用量Credit,并判断数据消耗信用量与对应虚链路信用量的关系,进行数据内容的传输和处理,完成主机和端系统之间的发送请求;
VL_Send单元:用于从端口缓冲区中读取数据进行UDP组包、IP组包或IP分片、MAC组帧,形成一帧完整数据,并将数据发送到虚链路缓冲区;以及用于管理端口缓冲区;以及用于管理虚链路缓冲区;
Credit_Mgr单元:针对每条虚链路维护一个信用量,虚链路信用量由端系统维护,Port_Send过程时消耗对应虚链路的信用量,VL_Send时恢复对应虚链路的信用量;
Port_Buffer:用于存放端口数据的先进先出队列,队列长度由配置决定;
VL_Buffer:用于存放虚链路数据,缓冲数量为1。
本发明并不局限于前述的具体实施方式。本发明扩展到任何在本说明书中披露的新特征或任何新的组合,以及披露的任一新的方法或过程的步骤或任何新的组合。如果本领域技术人员,在不脱离本发明的精神所做的非实质性改变或改进,都应该属于本发明权利要求保护的范围。
Claims (6)
1.一种基于信用量的AFDX端系统发送控制方法,其特征在于,包括:
端系统根据待发送数据长度计算出数据消耗信用量,并判断数据消耗信用量与对应虚链路信用量的关系;
当对应虚链路信用量不低于数据消耗信用量时,接受主机的数据发送请求,主机继续将数据内容传输到端系统,否则拒绝主机的数据发送请求;
在数据发送到端系统时,消耗对应虚链路的信用量,端系统将数据发送到虚链路缓冲区时,恢复对应虚链路的信用量;
根据待发送数据长度计算数据消耗信用量credit的方法为:数据长度len=[(Lmax-47)&0xFF8]*m+n,其中Lmax表示虚链路的最大帧长,m、n为正整数,n<[(Lmax-47)&0xFF8],则有:当n>7时,credit=m+1;当n≤7时,credit=m;
在数据发送到端系统时,消耗对应虚链路的信用量,对应虚链路的信用量更新为:VL_Credit–credit;端系统将数据发送到虚链路缓冲区时,恢复对应虚链路的信用量,对应虚链路的信用量更新为:VL_Credit+1。
2.如权利要求1所述的基于信用量的AFDX端系统发送控制方法,其特征在于,判断是否接受主机的数据发送请求时,还包括以下过程:
(a)调用主机端口发送功能时,先判断端口缓冲区存储情况,如果端口缓冲区不满,则进行步骤(b)的判断,否则拒绝发送请求;
(b)如果数据消耗信用量不超过对应虚链路的信用量时,接受主机的数据发送请求,将发送数据写入端口缓冲区。
3.如权利要求1所述的基于信用量的AFDX端系统发送控制方法,其特征在于,还包括各个虚链路缓冲区的轮流检查过程:
如果虚链路缓冲区为空,对应有端口缓冲区不为空,则从端口缓冲区中读取数据进行UDP组包、IP组包或IP分片、MAC组帧,形成一帧完整数据写入虚链路缓冲区,由端系统物理层发送到AFDX网络。
4.如权利要求1所述的基于信用量的AFDX端系统发送控制方法,其特征在于,拒绝主机的数据发送请求时,由主机决定放弃发送或等待信用量满足要求。
5.一种基于信用量的AFDX端系统发送控制系统,其特征在于,包括:
端口发送单元:用于根据待发送数据长度计算出数据消耗信用量,并判断数据消耗信用量与对应虚链路信用量的关系,完成主机和端系统之间的发送请求;
虚链路发送单元:用于从端口缓冲区中读取数据进行UDP组包、IP组包或IP分片、MAC组帧,形成一帧完整数据,并将数据发送到虚链路缓冲区;以及用于管理端口缓冲区;以及用于管理虚链路缓冲区;
信用管理单元:针对每条虚链路维护一个信用量,主机和端系统之间完成发送请求时消耗对应虚链路的信用量,端系统将数据发送到虚链路缓冲区时恢复对应虚链路的信用量;
端口缓冲区:用于存放端口数据的先进先出队列;
虚链路缓冲区:用于存放虚链路数据。
6.如权利要求5所述的基于信用量的AFDX端系统发送控制系统,其特征在于,所述虚链路缓冲区中,缓冲数量为1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010289810.9A CN111600802B (zh) | 2020-04-14 | 2020-04-14 | 一种基于信用量的端系统发送控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010289810.9A CN111600802B (zh) | 2020-04-14 | 2020-04-14 | 一种基于信用量的端系统发送控制方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111600802A CN111600802A (zh) | 2020-08-28 |
CN111600802B true CN111600802B (zh) | 2022-09-02 |
Family
ID=72183221
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010289810.9A Active CN111600802B (zh) | 2020-04-14 | 2020-04-14 | 一种基于信用量的端系统发送控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111600802B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1812313A (zh) * | 2005-01-26 | 2006-08-02 | 华为技术有限公司 | 无线链路控制层缓冲区溢出的控制方法 |
CN101115053A (zh) * | 2007-08-24 | 2008-01-30 | 中国科学院计算技术研究所 | 一种信誉流量控制方法 |
CN103647722A (zh) * | 2013-11-19 | 2014-03-19 | 中国科学院计算技术研究所 | 一种基于信誉的链路拥塞控制方法 |
CN103841046A (zh) * | 2012-11-19 | 2014-06-04 | 美国博通公司 | 基于信誉的链路级流控制的系统和方法 |
CN103890750A (zh) * | 2011-10-25 | 2014-06-25 | 国际商业机器公司 | 具有持久状态流控制的高性能虚拟融合增强型以太网 |
CN105530157A (zh) * | 2015-12-08 | 2016-04-27 | 中国航空工业集团公司西安航空计算技术研究所 | Afdx网络交换机多个虚拟链路共享信用的方法 |
CN110708682A (zh) * | 2019-09-12 | 2020-01-17 | 中国神华能源股份有限公司神朔铁路分公司 | 车地数据通信方法及装置、计算机设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050063308A1 (en) * | 2003-09-24 | 2005-03-24 | Wise Jeffrey L. | Method of transmitter oriented link flow control |
US9674098B2 (en) * | 2013-07-02 | 2017-06-06 | Intel Corporation | Credit flow control for ethernet |
US9584429B2 (en) * | 2014-07-21 | 2017-02-28 | Mellanox Technologies Ltd. | Credit based flow control for long-haul links |
-
2020
- 2020-04-14 CN CN202010289810.9A patent/CN111600802B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1812313A (zh) * | 2005-01-26 | 2006-08-02 | 华为技术有限公司 | 无线链路控制层缓冲区溢出的控制方法 |
CN101115053A (zh) * | 2007-08-24 | 2008-01-30 | 中国科学院计算技术研究所 | 一种信誉流量控制方法 |
CN103890750A (zh) * | 2011-10-25 | 2014-06-25 | 国际商业机器公司 | 具有持久状态流控制的高性能虚拟融合增强型以太网 |
CN103841046A (zh) * | 2012-11-19 | 2014-06-04 | 美国博通公司 | 基于信誉的链路级流控制的系统和方法 |
CN103647722A (zh) * | 2013-11-19 | 2014-03-19 | 中国科学院计算技术研究所 | 一种基于信誉的链路拥塞控制方法 |
CN105530157A (zh) * | 2015-12-08 | 2016-04-27 | 中国航空工业集团公司西安航空计算技术研究所 | Afdx网络交换机多个虚拟链路共享信用的方法 |
CN110708682A (zh) * | 2019-09-12 | 2020-01-17 | 中国神华能源股份有限公司神朔铁路分公司 | 车地数据通信方法及装置、计算机设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
New Feasible Grouping Algorithms for Virtual Link in AFDX Networks;YoungJun Cha, JuHo Lim, SunYoung Lee, DongJin Kim et.al;《IEEE》;20150618;1-4 * |
基于虚拟链路的航电网络信用量评估模型;谷晓燕,代真,何锋;《计算机工程与设计》;20150430;892-895,905 * |
Also Published As
Publication number | Publication date |
---|---|
CN111600802A (zh) | 2020-08-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0829986B1 (en) | System for improving data throughput of a TCP/IP Network connection with slow return channel | |
CN109120544B (zh) | 一种数据中心网络中基于主机端流量调度的传输控制方法 | |
US6600721B2 (en) | End node pacing for QOS and bandwidth management | |
US6922408B2 (en) | Packet communication buffering with dynamic flow control | |
EP0430570B1 (en) | Method and apparatus for congestion control in a data network | |
EP0249035B1 (en) | Adaptive session-level pacing | |
US6907042B1 (en) | Packet processing device | |
US6167452A (en) | Joint flow control mechanism in a telecommunications network | |
JP3419627B2 (ja) | ルータ装置 | |
US7613132B2 (en) | Method and system for controlling virtual machine bandwidth | |
US20080019365A1 (en) | Host operating system bypass for packets destined for a virtual machine | |
US20060251120A1 (en) | Host ethernet adapter for networking offload in server environment | |
US7139268B1 (en) | Performance of intermediate nodes with flow splicing | |
CA2642510A1 (en) | Systems and methods of improving performance of transport protocols | |
JPH03188733A (ja) | ウィンドウサイズの決定方法とデータセルの輻輳制御方法 | |
JP2001519973A (ja) | 共用バッファへの優先度付きアクセス | |
US7613198B2 (en) | Method and apparatus for dynamic assignment of network interface card resources | |
US8199764B2 (en) | Scalable approach to large scale queuing through dynamic resource allocation | |
US20050190779A1 (en) | Scalable approach to large scale queuing through dynamic resource allocation | |
CN110177051A (zh) | 基于流控技术的数据中心拥塞控制方法 | |
CN111600802B (zh) | 一种基于信用量的端系统发送控制方法及系统 | |
US6320865B1 (en) | Method and apparatus for implementing time-based data flow control and network implementation thereof | |
CN111416775B (zh) | 数据接收和发送方法、装置及系统 | |
CN101053222B (zh) | 用于传送以数据分组的形式供使用的数据的方法 | |
WO2007074343A2 (en) | Processing received data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |