CN114157610B - 一种适用于区块链网络的高速网络协议系统及传输方法 - Google Patents

一种适用于区块链网络的高速网络协议系统及传输方法 Download PDF

Info

Publication number
CN114157610B
CN114157610B CN202111005080.6A CN202111005080A CN114157610B CN 114157610 B CN114157610 B CN 114157610B CN 202111005080 A CN202111005080 A CN 202111005080A CN 114157610 B CN114157610 B CN 114157610B
Authority
CN
China
Prior art keywords
bandwidth
connection
speed
router
network
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
Application number
CN202111005080.6A
Other languages
English (en)
Other versions
CN114157610A (zh
Inventor
蔡维德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianmin Qingdao International Sandbox Research Institute Co ltd
Zeu Crypto Networks Inc
Original Assignee
Tianmin Qingdao International Sandbox Research Institute Co ltd
Zeu Crypto Networks Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianmin Qingdao International Sandbox Research Institute Co ltd, Zeu Crypto Networks Inc filed Critical Tianmin Qingdao International Sandbox Research Institute Co ltd
Priority to CN202111005080.6A priority Critical patent/CN114157610B/zh
Publication of CN114157610A publication Critical patent/CN114157610A/zh
Application granted granted Critical
Publication of CN114157610B publication Critical patent/CN114157610B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/26Flow control; Congestion control using explicit feedback to the source, e.g. choke packets
    • H04L47/263Rate modification at the source after receiving feedback
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4604LAN interconnection over a backbone network, e.g. Internet, Frame Relay
    • H04L12/462LAN interconnection over a bridge based backbone
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0896Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0894Packet rate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/60Router architectures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/19Flow control; Congestion control at layers above the network layer
    • H04L47/193Flow control; Congestion control at layers above the network layer at the transport layer, e.g. TCP related
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供一种适用于区块链网络基于高速网络协议系统的传输方法和系统,方法包括:步骤1,对于每个网卡每条链路,在区块链网络所在Linux内核的htb模块内写入初始带宽,初始带宽包括网卡带宽为BWcard,连接的线路带宽为BWnet;步骤2,设置对应于网卡和连接的线路的总带宽为BW,BW=min(BWcard,BWnet);步骤3,在内核中统计每一个经过某一路由器的连接,对于新加入的连接分配一个初始带宽,通过连接的ACK包反馈给发送端,经过一段时间后在路由器上统计连接的实际的计算速度,反馈给发送端;步骤4,对连接所途经的每一个路由器重复进行步骤1‑3;步骤5,确定ACK包中返回的带宽值是否大于路由器统计的实际的计算速度结果,如果是,则为ACK包中赋予新的统计结果。

Description

一种适用于区块链网络的高速网络协议系统及传输方法
技术领域
本发明属于高速网络协议技术领域以及区块链技术领域,具体特别涉及适用于区块链网络的高速网络协议系统及传输方法,所开发的网络协议适用于区块链网络流量的特性,提高区块链网络的吞吐量以及降低时延。
背景技术
目前的主流传输层网络协议主要有三种:Reno、CUBIC以及BBR,其中CUBIC算法采用二分法计算发送速度,BBR通过计算数据包与相应ACK的时间戳之差计算发送速度。
1、Reno
Reno的特点是慢启动以及拥塞控制,是互联网最初设计时使用的拥塞控制协议,由于其糟糕的性能,目前主流的操作系统都不再使用RENO。
2、CUBIC
CUBIC协议目前应用于主流的Linux系统内核中,是目前的主流拥塞控制协议,其主要采用二分搜索的方式来决定拥塞窗口的增长尺度。首先记录拥塞窗口的一个最大值点,这个最大值点就是TCP最近一次出现丢包时拥塞窗口的值;同时还会记录一个最小值点,即在一个RTT周期内没有出现丢包事件时窗口的大小。二分搜索就是取最小值和最大值的中间值点,当拥塞窗口增长到这个中间值点且没有出现丢包的话,就说明网络还可以容纳更多的数据包,那么就将这个中间值点对应的中间值设为新的最小值,在新的最小值和最大值间搜索新的中间值点。其过程如图1所示。CUBIC算法具有以下缺点:
(1)启动慢,虽然启动速度好于Reno算法,但是依然很慢,需要n*rtt(往返时延)的时间才能够到达链路最高带宽,这对于小数据包的网络连接来说并不友好。
(2)对于丢包过度敏感,造成在糟糕的网络环境下性能很差。如图2所示为随着网络时延的增加CUBIC算法和BBR算法吞吐量的对比。
3、BBR拥塞控制协议:
谷歌于2016年开发的一款网络拥塞控制协议,其主要应用于谷歌的内部网络,在互联网上目前应用并不普遍,Linux内核版本2.6.19以上带有该拥塞控制算法。BBR协议是一个时延敏感类型的协议,其不过分关注于丢包,所以在糟糕的网络环境下其性能要优于CUBIC,但BBR也具有以下缺点:
(1)慢启动问题依然存在,需要n*rtt时间才能确定最大带宽,对于小数据包的网络连接来说并不友好。
(2)当有多个连接竞争带宽时,其每个连接的收敛速度非常慢,造成带宽分配的不均衡,图3所示为BBR的流量竞争图,由图3可知,当有过个连接竞争带宽时需要30秒才能达到稳定状态。
(3)在链路路由器队列很长且链路时延不断变化的情况下,带宽利用率很低。
(4)由于BBR的delay-based属性,且过于激进的带宽探测方法,其丢包率高于CUBIC,更容易引起丢包,若丢包率过高,其传输的有效数据或有效带宽在某些情况下会低于CUBIC。
综上所述,区块链网络是一个分布式的网络结构,其特点是交易数据包数据量小,但是包数量多,在区块链网络进行网络结算时其突发流量大。即区块链网络具有数据包数据量小,数量多,突发流量多的特点,现有的网络拥塞控制协议已经不适用于区块链网络,主要表现在:
(1)通常,一次或几次交易通信的连接还处于慢启动阶段,交易就结束了,造成一次交易很慢,现有的拥塞控制协议之所以初始阶段不能全力发送数据,是因为现有拥塞控制协议依据猜测进行,无法在最开始给出一个合适的发送速度,这就造成了现有的拥塞控制协议对于区块链网络的吞吐量无法全部利用。具体来说,现有的拥塞控制协议有各种各样的问题,关键在于其是端到端(end-to-end)的结构,没有中心化的控制器,所以合适的数据发送速度只能靠“猜”,不断地探测,不断地试错,在这样一个过程中还不断地有新的流加入,网络情况也是不断变化的,靠“猜”就一定会产生拥塞,进而丢包。事实上路由器上的排队时延,以及排除掉噪声丢包的路由器丢包以及接收端丢包都是由拥塞控制算法引起的,其本身控制拥塞的同时却也是产生拥塞的原因。
(2)大量的突发流量情况下,由于所有的流量的速度都是慢启动的,无法最开始给到一个合适的初始速度,到一定界限后突发流量造成丢包,从而造成网络拥塞。
(3)连接的不公平性造成某些地区某些时段交易快,某些地区某些时段交易慢,影响公平性。
发明内容
本发明为了解决现有技术存在的一项或多项技术问题,基于现有网络协议的缺点以及区块链网络的特点,创造性的提供一种网络内控制的高速网络协议系统及传输方法,抛弃了传统的端到端的网络协议模式,属于一种网络内控制的高速网络协议,在保证启动速度的情况下,提高了区块链网络的吞吐量以及交易速度。
本发明的目的在于提供一种适用于区块链网络的高速网络协议(HSP)系统,包括:
带宽分配模块,用于设置网卡带宽BWcard和线路带宽BWnet,计算总带宽为BW,BW= min(BWcard,BWnet);
计算速度反馈模块,用于在内核中统计每一个经过某一路由器的连接,对于新加入的TCP流分配一个初始带宽,通过所述T连接的ACK包反馈给发送端,经过一段时间后在所述路由器上统计所述连接的实际的计算速度,将所述实际的计算速度反馈给发送端;连接所途经的每一个路由器都通过所述计算速度反馈模块进行所述实际的计算速度的反馈;
数据发送模块,当确定ACK包中返回的带宽值大于所述路由器统计的结果,则为ACK包中赋予新的统计结果,经过一层一层的所述实际的计算速度的反馈,最终将链路瓶颈处的分配带宽反馈给所述发送端,使所述发送端能够依据瓶颈带宽进行数据发送,避免丢包以及达到链路带宽的最大利用率。
优选的,所述适用于区块链网络的高速网络协议系统以HSP网桥的形式架设在所述路由器上。
优选的,所述HSP网桥在整个所述区块链网络上部署,最少应部署在所述区块链网络的关键节点和瓶颈位置处;或者部署在所述区块链网络的各个局域网的出口位置。
本发明的目的还在于提供一种适用于区块链网络基于高速网络协议(HSP)系统的传输方法,通过在路由端预设好链路带宽然后反馈给发送端的方式来计算发送速度,包括:
步骤1,对于每个网卡对应的每条链路,在所述区块链网络所在Linux内核的htb模块内写入初始带宽,所述初始带宽包括网卡带宽为BWcard,连接的线路带宽为BWnet;
步骤2,设置对应于所述网卡和连接的线路的总带宽为BW,BW = min(BWcard,BWnet);
步骤3,在内核中统计每一个经过某一路由器的连接,对于新加入的连接分配一个初始带宽,通过所述连接的ACK包反馈给发送端,经过一段时间后在路由器上统计所述连接的实际的计算速度,将实际的计算速度反馈给发送端;
步骤4,对连接所途经的每一个路由器重复进行步骤1-步骤3;
步骤5,确定ACK包中返回的带宽值是否大于所述路由器统计的实际的计算速度结果,如果是,则为ACK包中赋予新的统计结果;经过一层一层的反馈,最终会将所述连接瓶颈处的分配的带宽反馈给发送端,使发送端能够依据瓶颈带宽进行数据发送,避免丢包以及达到链路带宽的最大利用率。
优选的,若链路上有n个路由器,每个路由器给某一连接分配的带宽为BWn,则最终发送端接收到的ACK包中的反馈的链路带宽信息为BWbottleneck,BWbottleneck = min(BW1,BW2,BW3,...,BWn)。
优选的,所述步骤3包括:在所述路由器的所述网卡设置一个链路带宽以分配速度,所述链路带宽与链路实际带宽相等,为每一个经过所述路由器的连接分配一个初始速度,然后根据连接的实际传输速度进行带宽的再分配。
优选的,带宽的再分配包括:
(1)在每个时间片内统计每个连接的当前实际速度;
(2)如果有新的流加入,则均分带宽,在两个时间片后进入动态调整阶段,并根据实际速度分配传输速度;
(3)进入所述动态调整阶段至少8个时间片后,如果有新的流加入则进行均分带宽,如果没有新的流加入,则继续维持在动态调整阶段,对于新加入的流,将分配一个初始速度,等待路由进入均分带宽阶段后会分配一个平均值大小的带宽后进入动态调整阶段。
优选的,所述初始速度为20kb/s。
优选的,动态调整阶段的带宽分配方法包括:
(1)设总带宽为B,当新的连接加入时,首先将所述总带宽为每个连接平均分配,则每个连接获得的带宽为BW=B/n,其中n为连接数量,将反馈速度通过路由器端反馈给数据发送端;
(2)均分持续两个时间片后统计每个连接的实际发送速度,设置为(BW1,BW2,...BWn),其中n为连接数量,设反馈带宽比i = BWi/BW:
当i<0.85时,表示所述连接无需反馈这么高的反馈速度,将其反馈速度设置为BWi*1.1。当0.85<i<0.95时,表示所述连接反馈的速度刚好适合,不改变所述连接的分配带宽,依旧为BWi;当i>0.95时,表示所述连接已经将分配带宽满额使用,则此时:
BWi(i>0.95)= (B - ∑BWi(i<0.85)*1.1-ΣBWi(0.85<i<0.95))/i(i>0.95)
即对于i>0.95的连接,其分配带宽为剩余带宽除以i>0.95的连接的数量;
(3)步骤(2)的新分配程序持续8个时间片后,如果没有新的连接加入则返回步骤(2),重新按照实际的计算速度分配带宽,如果有新的连接加入则回到步骤(1),均分带宽之后再分配。
优选的,所述方法还包括:在连接建立过程中先发送一部分数据,包括:
(1)客户端发送SYN连接请求包给服务器端,其中seq=x;
(2)所述服务器端将SYN反馈给所述客户端,其中seq=y,ack=x+1,在所述数据包后跟随的数据包长度len=q;
(3)所述客户端反馈所述ack,ack=y+q;
(4)所述服务器端若接收所述ack后,继续传输后续数据,若没有收到所述ack,则关闭连接。
本发明的有益效果:
网络内控制的高速网络协议系统及传输方法,抛弃了传统的端到端的网络协议模式,属于一种网络内控制的高速网络协议,在保证启动速度的情况下,提高了区块链网络的吞吐量以及交易速度。
根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。本发明的目标及特征考虑到如下结合附图的描述将更加明显,附图中:
图1为根据现有技术的CUBIC算法流程图;
图2为根据现有技术的CUBIC算法和BBR算法吞吐量对比示意图;
图3为根据现有技术的BBR多流竞争示意图;
图4为根据本发明的优选实施例的HSP网络协议机制,以及与CUBIC, BBR机制的比较示意图;
图5为根据本发明优选实施例的带宽分配流程图;
图6为根据本发明优选实施例的动态调整阶段带宽分配流程图;
图7为根据本发明优选实施例的连接建立过程发送数据客户端与服务器端交互流程图;
图8为根据本发明优选实施例的HSP协议部署结构示意图。
具体实施方式
为了使得本发明能够针对其发明要点更加明显易懂,下面将结合附图和实例对本发明作进一步的说明。在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本发明,并且能够将本发明完整形象地传达给本领域的技术人员。虽然本发明能够以很多不同于此描述的其它方式实施,但是本领域技术人员可以在不违背本发明内涵的情况下做相应的推广,因此本发明不受下面公开的具体实例及具体附图所限制。
在下面的描述中阐述了很多细节和具体实例,提供这些实例是为了能够更透彻地理解本发明,并且能够将本发明完整形象地传达给本领域的技术人员。虽然本发明能够以很多不同于此描述的其它方式实施,但是本领域技术人员可以在不违背本发明内涵的情况下做相应的推广,因此本发明不受下面公开的具体实例及具体附图所限制。
本实施例提供适用于区块链网络的高速网络协议系统,包括:
带宽分配模块,用于设置网卡带宽BWcard和线路带宽BWnet,计算总带宽为BW,BW= min(BWcard,BWnet);
计算速度反馈模块,用于在内核中统计每一个经过某一路由器的TCP流(或者称为连接),对于新加入的TCP流分配一个初始带宽,通过TCP流的ACK包反馈给发送端,经过一段时间后在路由器上统计TCP流的实际的计算速度,将实际的计算速度反馈给发送端;连接所途经的每一个路由器都通过计算速度反馈模块进行实际的计算速度的反馈;
数据发送模块,当确定ACK中返回的带宽值大于路由器统计的结果,则为ACK中赋予新的统计结果,经过一层一层的实际的计算速度的反馈,最终将链路瓶颈处的分配带宽反馈给发送端,使发送端能够依据瓶颈带宽进行数据发送,避免丢包以及达到链路带宽的最大利用率。
作为优选的实施方式,适用于区块链网络的高速网络协议系统以HSP网桥的形式架设在路由器上。
作为优选的实施方式,HSP网桥在整个区块链网络上部署,最少应部署在区块链网络的关键节点和瓶颈位置处。
作为优选的实施方式,HSP网桥部署在区块链网络的各个局域网的出口位置。
适用于区块链网络基于高速网络协议(HSP)系统的传输方法,通过在路由端预设好链路带宽然后反馈给发送端的方式来计算发送速度,区别如图4所示,其中HSP协议即为本发明的协议名称,包括:
步骤1,对于每个网卡对应的每条链路,在区块链网络所在Linux内核的htb模块内写入初始带宽,初始带宽包括网卡带宽为BWcard,连接的线路带宽为BWnet;
步骤2,设置对应于网卡和连接的线路的总带宽为BW,BW = min(BWcard,BWnet);
步骤3,在内核中统计每一个经过某一路由器的TCP流,对于新加入的TCP流分配一个初始带宽,通过TCP流的ACK包反馈给发送端,经过一段时间后在路由器上统计TCP流的实际的计算速度,将实际的计算速度反馈给发送端;
步骤4,对连接所途经的每一个路由器重复进行步骤1-步骤3;
步骤5,确定ACK中返回的带宽值是否大于路由器统计的实际的计算速度结果,如果是,则为ACK中赋予新的统计结果;经过一层一层的反馈,最终会将链路瓶颈处的分配的带宽反馈给发送端,使发送端能够依据瓶颈带宽进行数据发送,避免丢包以及达到链路带宽的最大利用率。
作为优选的实施方式,若链路上有n个路由器,每个路由器给某一TCP流分配的带宽为BWn,则最终发送端接收到的ACK中的反馈的链路带宽信息为BWbottleneck,BWbottleneck = min(BW1,BW2,BW3,...,BWn)。
作为优选的实施方式,步骤3包括:在路由器的网卡设置一个链路带宽以分配速度,链路带宽与链路实际带宽相等,为每一个经过路由器的连接分配一个初始速度,然后根据连接的实际传输速度进行带宽的再分配。
如图5所示,作为优选的实施方式,带宽的再分配包括:
时间片是根据链路时延设置的,例如链路时延是100ms,则设置一个时间片为100ms,在每个时间片内都会统计每个连接的当前实际速度。如果有新的流加入,则均分带宽,在两个时间片后进入动态调整阶段,根据实际速度分配rate,之所以在两个时间片后才进行调整,是因为在第一个时间片内,数据可能刚刚到达,此时统计的连接的真实速度并不准确,所以要在两个时间片后进行调整,进入动态调整阶段过去8个时间片后(也可以设置的更长),如果有新的流加入则进行均分带宽,如果没有新的流加入,则进入动态调整阶段,对于新加入的流,将分配一个初始速度大约20kb/s,等待路由进入均分带宽阶段后会分配一个平均值,然后进入动态调整阶段。
如图6所示,动态调整阶段的带宽分配方法包括:
(1)设总带宽为B,当新的连接加入时,首先将总带宽为每个连接平均分配,则每个连接获得的带宽为BW=B/n,其中n为连接数量,将反馈速度通过路由器端反馈给数据发送端;
(2)均分持续两个时间片后统计每个连接的实际发送速度,设置为(BW1,BW2,...BWn),其中n为连接数量,设反馈带宽比i = BWi/BW:
当i<0.85时,表示连接无需反馈这么高的反馈速度,将其反馈速度设置为BWi*1.1。当0.85<i<0.95时,表示连接反馈的速度刚好适合,不改变连接的分配带宽,依旧为BWi;当i>0.95时,表示连接已经将分配带宽满额使用,则此时:
BWi(i>0.95)= (B - ∑BWi(i<0.85)*1.1-ΣBWi(0.85<i<0.95))/i(i>0.95)
即对于i>0.95的连接,其分配带宽为剩余带宽除以i>0.95的连接的数量;
(3)步骤(2)的新分配程序持续8个时间片后,如果没有新的连接加入则返回步骤(2),重新按照实际的计算速度分配带宽,如果有新的连接加入则回到步骤(1),均分带宽之后再分配。
如图7所示,方法还包括:
在连接建立过程中先发送一部分数据
对于区块链网络,其数据包数据量较小,其发送数据时间主要集中在连接建立过程,如果在连接建立过程中就传送完数据,则会大大节省传输时间,传输流程如图7所示,包括:
(1)客户端发送SYN连接请求包给服务器端,其中seq=x;
(2)服务器端将SYN反馈给客户端,其中seq=y,ack=x+1,在数据包后跟随的数据包长度len=q;
(3)客户端反馈ack,ack=y+q;
(4)服务器端若接收ack后,继续传输后续数据,若没有收到ack,则关闭连接。
在连接建立过程中传输一部分数据,将会大大减少接收端收到数据的时延,更早的接收到交易数据,且连接开始建立时就提高了带宽利用率。
如图7所示,本实施例中,在数据发送端需要重新安装基于HSP协议的Linux内核,在数据接收端不需要做修改,在路由器上需要部署HSP网桥。
HSP网桥:部署在网络的瓶颈处(效果最好),或者部署在网络各个局域网的出口处也可以,以网桥的方式部署,只需要新增加一台设备,不需要改变原有路由器的设置。
HSP可整个网络部署,最少应部署在关键节点和BOTTLENECK处,且在网桥的内核确保设置为:
1、维护一个连接表,区分数据包以及ACK是否属于同一连接,并进行速度统计。
2、对于经过该路由器的所有流通过修改ACK中的option字段来写入分配的带宽进行反馈。
本实施例中,网络内控制的高速网络协议系统及传输方法,抛弃了传统的端到端的网络协议模式,属于一种网络内控制的高速网络协议,在保证启动速度的情况下,提高了区块链网络的吞吐量以及交易速度。
虽然本发明已经参考特定的说明性实施例进行了描述,但是不会受到这些实施例的限定而仅仅受到附加权利要求的限定。本领域技术人员应当理解可以在不偏离本发明的保护范围和精神的情况下对本发明的实施例能够进行改动和修改。

Claims (4)

1.一种适用于区块链网络基于高速网络协议系统的传输方法,其特征在于:通过在路由端预设好链路带宽然后反馈给发送端的方式来计算发送速度,包括:
步骤1,对于区块链网络内的路由上的每个网卡以及该网卡连接的链路,设网卡带宽为BWcard,设该网卡连接的线路带宽为BWnet;
步骤2,设置对应于所述网卡和连接的线路的总带宽为BW,BW = min(BWcard,BWnet),将BW写入路由器的linux内核的层次令牌桶模块;
步骤3,在内核中统计每一个经过某一路由器的连接,对于新加入的连接分配一个初始带宽,通过所述连接的ACK包反馈给发送端,经过一段时间后在路由器上统计所述连接的实际的计算速度,将实际的计算速度反馈给发送端;
步骤4,对连接所途经的每一个路由器重复进行步骤1-步骤3;
步骤5,确定ACK包中返回的带宽值是否大于所述路由器统计的实际的计算速度结果,如果是,则为ACK包中赋予新的统计结果;经过一层一层的反馈,最终会将所述连接瓶颈处的分配的带宽反馈给发送端,使发送端能够依据瓶颈带宽进行数据发送;
若链路上有n个路由器,每个路由器给某一连接分配的带宽为BWn,则最终发送端接收到的ACK包中的反馈的链路带宽信息为BWbottleneck,BWbottleneck = min(BW1,BW2,BW3,...,BWn);
所述步骤3包括:在所述路由器的所述网卡设置一个链路带宽以分配速度,所述链路带宽与链路实际带宽相等,为每一个经过所述路由器的连接分配一个初始速度,然后根据连接的实际传输速度进行带宽的再分配;
带宽的再分配包括:
(1)在每个时间片内统计每个连接的当前实际速度;
(2)如果有新的连接加入,则均分带宽,在两个时间片后进入动态调整阶段,并根据实际速度分配传输速度;
(3)进入所述动态调整阶段至少8个时间片后,如果有新的连接加入则进行均分带宽,如果没有新的连接加入,则继续维持在动态调整阶段,对于新加入的连接,将分配一个初始速度,等待路由进入均分带宽阶段后会分配一个平均值大小的带宽后进入动态调整阶段;
由一种适用于区块链网络的高速网络协议系统实现,所述适用于区块链网络的高速网络协议系统包括:
带宽分配模块,用于设置网卡带宽BWcard和线路带宽BWnet,计算总带宽为BW,BW =min(BWcard,BWnet);
计算速度反馈模块,用于在内核中统计每一个经过某一路由器的连接,对于新加入的TCP连接分配一个初始带宽,通过所述TCP连接的ACK包反馈给发送端,经过一段时间后在所述路由器上统计所述连接的实际的计算速度,将所述实际的计算速度反馈给发送端;连接所途经的每一个路由器都通过所述计算速度反馈模块进行所述实际的计算速度的反馈;
数据发送模块,当确定ACK包中返回的带宽值大于所述路由器统计的结果,则为ACK包中赋予新的统计结果,新的结果就是所述路由器实际的计算速度,经过一层一层的所述实际的计算速度的反馈,最终将链路瓶颈处的分配带宽反馈给所述发送端,使所述发送端能够依据瓶颈带宽进行数据发送;
所述适用于区块链网络的高速网络协议系统以HSP(高速协议)网桥的形式架设在所述路由器上;所述HSP网桥在整个所述区块链网络上部署,或者部署在所述区块链网络的关键节点和瓶颈位置处,或者部署在所述区块链网络的各个局域网的出口位置。
2.根据权利要求1所述的一种适用于区块链网络基于高速网络协议系统的传输方法,其特征在于:所述初始速度为20kb/s。
3.根据权利要求1所述的一种适用于区块链网络基于高速网络协议系统的传输方法,其特征在于动态调整阶段的带宽分配方法包括:
(1)总带宽为B,当新的连接加入时,首先将所述总带宽为每个连接平均分配,则每个连接获得的带宽为BW=B/n,其中n为连接数量,将反馈速度通过路由器端反馈给数据发送端;
(2)均分持续两个时间片后统计每个连接的实际发送速度,设置为(BW1,BW2,...BWn),其中n为连接数量,反馈带宽比i = BWi/BW:
当i<0.85时,表示所述连接无需反馈这么高的反馈速度,将其反馈速度设置为BWi*1.1:
当0.85<i<0.95时,表示所述连接反馈的速度刚好适合,不改变所述连接的分配带宽,依旧为BWi;当i>0.95时,表示所述连接已经将分配带宽满额使用,则此时:
BWi(i>0.95)= (B - ∑BWi(i<0.85)*1.1-ΣBWi(0.85<i<0.95))/i(i>0.95)
即对于i>0.95的连接,其分配带宽为剩余带宽除以i>0.95的连接的数量;
(3)步骤(2)分配持续8个时间片后,如果没有新的连接加入则返回步骤(2),重新按照实际的计算速度分配带宽,如果有新的连接加入则回到步骤(1),均分带宽之后再分配。
4.根据权利要求1所述的一种适用于区块链网络基于高速网络协议系统的传输方法,其特征在于所述方法还包括:在连接建立过程中先发送一部分数据,包括:
(1)客户端发送SYN连接请求包给服务器端,其中seq=x;
(2)所述服务器端将SYN反馈给所述客户端,其中seq=y,ack=x+1,在所述数据包后跟随的数据包长度len=q;
(3)所述客户端反馈所述ack,ack=y+q;
(4)所述服务器端若接收所述ack后,继续传输后续数据,若没有收到所述ack,则关闭连接。
CN202111005080.6A 2021-09-16 2021-09-16 一种适用于区块链网络的高速网络协议系统及传输方法 Active CN114157610B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111005080.6A CN114157610B (zh) 2021-09-16 2021-09-16 一种适用于区块链网络的高速网络协议系统及传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111005080.6A CN114157610B (zh) 2021-09-16 2021-09-16 一种适用于区块链网络的高速网络协议系统及传输方法

Publications (2)

Publication Number Publication Date
CN114157610A CN114157610A (zh) 2022-03-08
CN114157610B true CN114157610B (zh) 2022-07-08

Family

ID=80462487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111005080.6A Active CN114157610B (zh) 2021-09-16 2021-09-16 一种适用于区块链网络的高速网络协议系统及传输方法

Country Status (1)

Country Link
CN (1) CN114157610B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545277A (zh) * 2003-11-19 2004-11-10 北京邮电大学 一种端到端的网络瓶颈带宽测量方法
CN1980238A (zh) * 2006-10-30 2007-06-13 上海广电(集团)有限公司中央研究院 基于实时传输/控制协议的h.264流媒体传输控制方法
CN101964755A (zh) * 2010-11-03 2011-02-02 中南大学 高带宽延时网络中基于带宽估计的显式拥塞控制方法
CN106656679A (zh) * 2017-02-08 2017-05-10 北京邮电大学 可用带宽测量方法和装置
CN109218222A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 一种实现发送端调速的方法、装置和系统

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002025878A1 (fr) * 2000-09-22 2002-03-28 Matsushita Electric Industrial Co., Ltd. Procede de transmission/reception de donnees, dispositif de transmission, dispositif de reception, systeme de transmission/reception et programme
ITBA20030039A1 (it) * 2003-08-29 2005-02-28 Grieco Luigi Alfredo Controllo di congestione rate-based del traffico entrante
CN102098301B (zh) * 2011-01-06 2015-07-29 复旦大学 多链路自适应的数据传输方法与系统
CN106357551B (zh) * 2016-11-08 2019-05-10 中南大学 一种数据中心网络中对tcp友好且能快速收敛的调窗方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545277A (zh) * 2003-11-19 2004-11-10 北京邮电大学 一种端到端的网络瓶颈带宽测量方法
CN1980238A (zh) * 2006-10-30 2007-06-13 上海广电(集团)有限公司中央研究院 基于实时传输/控制协议的h.264流媒体传输控制方法
CN101964755A (zh) * 2010-11-03 2011-02-02 中南大学 高带宽延时网络中基于带宽估计的显式拥塞控制方法
CN106656679A (zh) * 2017-02-08 2017-05-10 北京邮电大学 可用带宽测量方法和装置
CN109218222A (zh) * 2017-06-30 2019-01-15 华为技术有限公司 一种实现发送端调速的方法、装置和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
架构式车载网络端到端信息传输机制研究;刘伟;《中国优秀硕士学位论文全文数据库》;20160315;全文 *

Also Published As

Publication number Publication date
CN114157610A (zh) 2022-03-08

Similar Documents

Publication Publication Date Title
US6839767B1 (en) Admission control for aggregate data flows based on a threshold adjusted according to the frequency of traffic congestion notification
US11362960B2 (en) Layer 3 fair rate congestion control notification
US6862291B2 (en) Method and system for quality of service provisioning for IP virtual private networks
US7821939B2 (en) Method, system, and computer program product for adaptive congestion control on virtual lanes for data center ethernet architecture
CN110572333B (zh) 一种带宽探测阶段的发送速率调整方法及拥塞控制算法的实现方法
CN107852371B (zh) 数据分组网络
WO2003015355A2 (en) Method for supporting non-linear, highly scalable increase-decrease congestion control scheme
CN103999414B (zh) 一种归因针对相应用户寄存器的共享资源的拥塞贡献的方法和装置
CN113543209B (zh) 一种基于令牌调度的拥塞控制方法及装置
CA2351395A1 (en) Providing admission control and network quality of service with a distributed bandwidth broker
JPH03174848A (ja) コンピュータ回路網における遅延ベース混雑回避方法及び装置
US20030223442A1 (en) Buffer memory reservation
CN112437019B (zh) 用于数据中心的基于信用包的主动型传输方法
JP2006506845A (ja) ルータにおけるパケットに対し論理リンクを選択する方法
US20050144309A1 (en) Systems and methods for controlling congestion using a time-stamp
WO2021253725A1 (zh) 一种分布式流量限速方法及系统
CN106572009A (zh) 一种多运营商链路环境下报文转发方法和装置
CN105847175A (zh) 数据中心网络中的应用层调度方法
CN116156019A (zh) 一种用于卫星网络的tcp流量控制方法、系统、设备及介质
Turkovic et al. P4qos: Qos-based packet processing with p4
CN107852372B (zh) 数据分组网络
CN107046507B (zh) 一种用于dcn中任务传输的拥塞控制方法
CN114157610B (zh) 一种适用于区块链网络的高速网络协议系统及传输方法
WO2005002154A1 (en) Hierarchy tree-based quality of service classification for packet processing
Thapliyal et al. LE-SBCC: loss-event oriented source-based multicast congestion control

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