CN113765956B - 报文处理方法、设备、系统及存储介质 - Google Patents

报文处理方法、设备、系统及存储介质 Download PDF

Info

Publication number
CN113765956B
CN113765956B CN202010496892.4A CN202010496892A CN113765956B CN 113765956 B CN113765956 B CN 113765956B CN 202010496892 A CN202010496892 A CN 202010496892A CN 113765956 B CN113765956 B CN 113765956B
Authority
CN
China
Prior art keywords
igp
blockchain
message
network device
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
CN202010496892.4A
Other languages
English (en)
Other versions
CN113765956A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010496892.4A priority Critical patent/CN113765956B/zh
Priority to PCT/CN2021/091881 priority patent/WO2021244206A1/zh
Priority to EP21175907.1A priority patent/EP3920478B1/en
Priority to US17/336,439 priority patent/US11616706B2/en
Publication of CN113765956A publication Critical patent/CN113765956A/zh
Application granted granted Critical
Publication of CN113765956B publication Critical patent/CN113765956B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
    • 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
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1886Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with traffic restrictions for efficiency improvement, e.g. involving subnets or subdomains
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种报文处理方法、设备、系统及存储介质,属于网络技术领域。本申请提供了一种基于IGP构建区块链网络的方法,通过对IGP进行扩展,提供一种用于传播区块链任务的新的IGP报文,网络设备接收到这种新的IGP报文时,能够利用自身的算力参与执行区块链任务,由于充分挖掘了网络设备的算力以构建区块链网络,避免网络设备空闲的算力被浪费,因此提高了网络设备的计算资源的利用率。

Description

报文处理方法、设备、系统及存储介质
技术领域
本申请涉及网络技术领域,特别涉及一种报文处理方法、设备、系统及存储介质。
背景技术
在网络技术中,路由器、交换机等网络设备是重要的硬件基础设施。网络设备通常包括一个或多个主控板和一个或多个接口板,主控板和接口板上分别具有一个或多个中央处理器(central processing unit,CPU)或者其他处理器,网络设备能够通过处理器提供的算力进行报文的转发处理。
经过大数据统计,时下网络设备的平均CPU利用率低于20%,可见网络设备经常出现算力空闲的情况,网络设备的计算资源的利用率不高。
发明内容
本申请实施例提供了一种报文处理方法、设备、系统及存储介质,能够提高网络设备的计算资源的利用率。所述技术方案如下:
第一方面,提供了一种报文处理方法,在该方法中,第一网络设备接收第一内部网关协议IGP报文,所述第一IGP报文包括第一字段,所述第一字段用于指示执行区块链任务,所述区块链任务是区块链网络的共识机制对应的计算任务,所述区块链网络包括所述第一网络设备;所述第一网络设备根据所述第一IGP报文,获取所述共识机制的输入数据;所述第一网络设备根据所述输入数据,执行所述区块链任务。
以上提供了一种基于IGP构建区块链网络的方法,通过对IGP进行扩展,提供一种用于传播区块链任务的新的IGP报文,网络设备接收到这种新的IGP报文时,能够利用自身的算力参与执行区块链任务。一方面,由于充分挖掘了网络设备的算力以构建区块链网络,避免网络设备空闲的算力被浪费,因此提高了网络设备的计算资源的利用率;另一方面,能够缓解区块链技术由于算力不足而受到制约的问题,因此有助于区块链技术的发展。
可选地,所述第一IGP报文包括链路状态广播LSA头,所述LSA头包括链路状态LS类型字段,所述第一字段包括所述LS类型字段。
通过这种可选方式,由于扩展了新的LS类型来标识区块链任务,使用LSA报文来传递区块链任务,网络设备能够借助LSA的泛洪扩散机制以实现在网络中传播区块链任务的功能,降低了方案实施的复杂度。
可选地,所述第一IGP报文包括链路状态报文协议数据单元LSP PDU类型字段,所述第一字段包括所述LSP PDU类型字段。
通过这种可选方式,由于扩展了新的LSP PDU类型来标识区块链任务,使用LSP报文来传递区块链任务,网络设备能够借助LSP报文的泛洪扩散机制以实现在网络中传播区块链任务的功能,降低了方案实施的复杂度。
可选地,所述方法还包括:根据所述第一网络设备的CPU利用率小于阈值,确定执行所述区块链任务。
通过这种方式,能够在网络设备空闲的情况下,及时地利用网络设备的空闲的算力启动区块链任务,从而提高网络设备的计算资源的利用率。
可选地,所述第一网络设备接收第一内部网关协议IGP报文之后,所述方法还包括:所述第一网络设备在IGP域中广播所述第一IGP报文,所述IGP域包括所述第一网络设备和第二网络设备。
通过这种可选方式,有助于将区块链任务传递至IGP域中的所有网络设备,便于IGP预中的所有网络设备参与执行区块链任务并进行共识。
可选地,所述执行所述区块链任务之后,所述方法还包括:所述第一网络设备生成第二IGP报文,所述第二IGP报文包括所述第一网络设备执行所述区块链任务得到的第一区块;所述第一网络设备在IGP域中广播所述第二IGP报文。
通过这种可选方式,网络设备通过在执行区块链任务后,将形成的区块封装至IGP报文中并广播IGP报文,从而将本设备产生的区块快速地传播至整个区块链网络,便于区块链网络对区块进行共识。
可选地,所述方法还包括:
所述第一网络设备从IGP域中的第二网络设备接收第三IGP报文,所述第三IGP报文包括所述第二网络设备执行所述区块链任务得到的第二区块;
所述第一网络设备对所述第二区块进行验证;
若所述第二区块验证通过且经过共识,所述第一网络设备将所述第二区块存储至区块链上。
通过这种可选方式,在其他网络设备抢先计算出结果并产生区块的情况下,第一网络设备通过对区块进行验证,并基于共识机制对区块上链,从而实现了区块链的记账功能。
可选地,所述第一网络设备接收第一内部网关协议IGP报文之前,所述方法还包括:
所述第一网络设备创建IGP进程,所述IGP进程用于在IGP域中传输所述区块链任务关联的信息。
通过这种可选方式,在原有的IGP网络上更改配置,新增IGP进程来实现区块链网络信息的传递,配置简单,实现复杂度低。
可选地,所述方法还包括:若所述第一网络设备的中央处理器CPU利用率大于阈值,所述第一网络设备停止执行所述区块链任务。
通过这种可选方式,能够在网络设备负载较高的情况下及时停止区块链计算,以便将网络设备的算力留给转发任务,从而避免由于执行区块链任务而影响到转发任务的情况,保证了网络设备的转发性能。
第二方面,提供了一种报文处理方法,在该方法中,网关设备响应于存储请求,生成第一内部网关协议IGP报文,所述第一IGP报文包括第一字段,所述第一字段用于指示执行区块链任务,所述区块链任务是区块链网络的共识机制对应的计算任务;所述网关设备发送所述第一IGP报文。
以上提供了一种基于IGP构建区块链网络的方法,通过对IGP进行扩展,提供一种用于传播区块链任务的新的IGP报文,网关设备通过在IGP域中传播这种新的IGP报文,以便网络设备利用自身的算力参与执行区块链任务。一方面,由于充分挖掘了网络设备的算力以构建区块链网络,避免网络设备空闲的算力被浪费,因此提高了网络设备的计算资源的利用率;另一方面,能够缓解区块链技术由于算力不足而受到制约的问题,因此有助于区块链技术的发展。
可选地,所述网关设备发送所述第一IGP报文,包括:
所述网关设备在IGP域中广播所述第一IGP报文,所述IGP域包括多个网络设备。
可选地,所述网关设备的第一接口被配置为接收所述存储请求,所述网关设备的第二接口被配置为接收执行所述区块链任务所需的共识算法,所述网关设备的第三接口被配置为给所述区块链任务分配算力,所述网关设备的第四接口被配置为处理IGP报文。
可选地,所述方法还包括:
所述网关设备获取所述共识机制的输入数据;
所述网关设备根据所述输入数据,执行所述区块链任务。
可选地,所述网关设备发送所述第一IGP报文之后,所述方法还包括:
所述网关设备接收第二IGP报文,所述第二IGP报文包括网络设备执行所述区块链任务得到的区块;
所述网关设备对所述区块进行验证;
若所述区块验证通过且经过共识,所述网关设备将所述区块存储至区块链上。
可选地,所述第一IGP报文包括链路状态广播LSA头,所述LSA头包括链路状态LS类型字段,所述第一字段包括所述LS类型字段。
可选地,所述第一IGP报文包括链路状态报文协议数据单元LSP PDU类型字段,所述第一字段包括所述LSP PDU类型字段。
第三方面,提供了一种网络设备,该网络设备具有实现上述第一方面或第一方面任一种可选方式中报文处理的功能。该网络设备包括至少一个单元,至少一个单元用于实现上述第一方面或第一方面任一种可选方式所提供的报文处理方法。第三方面提供的网络设备的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第四方面,提供了一种网关设备,该网关设备具有实现上述第二方面或第二方面任一种可选方式中报文处理的功能。该网关设备包括至少一个单元,至少一个单元用于实现上述第二方面或第二方面任一种可选方式所提供的报文处理方法。第四方面提供的网关设备的具体细节可参见上述第二方面或第二方面任一种可选方式,此处不再赘述。
第五方面,提供了一种网络设备,该网络设备包括处理器和通信接口,该处理器用于执行指令,使得该网络设备执行上述第一方面或第一方面任一种可选方式所提供的报文处理方法,所述通信接口用于接收或发送报文。第五方面提供的网络设备的具体细节可参见上述第一方面或第一方面任一种可选方式,此处不再赘述。
第六方面,提供了网关设备,该网关设备包括处理器和通信接口,该处理器用于执行指令,使得该网关设备执行上述第二方面或第二方面任一种可选方式所提供的报文处理方法,所述通信接口用于接收或发送报文。第六方面提供的网关设备的具体细节可参见上述第二方面或第二方面任一种可选方式,此处不再赘述。
第七方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使网络设备执行上述第一方面或第一方面任一种可选方式所提供的报文处理方法。
第八方面,提供了一种计算机可读存储介质,该存储介质中存储有至少一条指令,该指令由处理器读取以使网关设备执行上述第二方面或第二方面任一种可选方式所提供的报文处理方法。
第九方面,提供了一种计算机程序产品,当该计算机程序产品在网络设备上运行时,使得网络设备执行上述第一方面或第一方面任一种可选方式所提供的报文处理方法。
第十方面,提供了一种计算机程序产品,当该计算机程序产品在网关设备上运行时,使得网关设备执行上述第二方面或第二方面任一种可选方式所提供的报文处理方法。
第十一方面,提供了一种芯片,当该芯片在网络设备上运行时,使得网络设备执行上述第一方面或第一方面任一种可选方式所提供的报文处理方法。
第十二方面,提供了一种芯片,当该芯片在网关设备上运行时,使得网关设备执行上述第二方面或第二方面任一种可选方式所提供的报文处理方法。
第十三方面,提供了一种网络系统,该网络系统包括网络设备以及网关设备,该网络设备用于执行上述第一方面或第一方面任一种可选方式所述的方法,该网关设备用于执行上述第二方面或第二方面任一种可选方式所述的方法。
第十四方面,提供了一种网络设备,所述网络设备包括:主控板和接口板,进一步,还可以包括交换网板。所述网络设备用于执行第一方面或第一方面的任意可选方式中的方法。具体地,所述网络设备包括用于执行第一方面或第一方面的任意可选方式中的方法的单元。在一种可能的实现方式中,所述网络设备中的主控板和接口板之间建立进程间通信协议(inter-process communication,IPC)通道,主控板和接口板之间通过IPC通道进行通信。
第十五方面,提供了一种网关设备,所述网关设备包括:主控板和接口板,进一步,还可以包括交换网板。所述网关设备用于执行第二方面或第二方面的任意可选方式中的方法。具体地,所述网关设备包括用于执行第二方面或第二方面的任意可选方式中的方法的单元。在一种可能的实现方式中,所述网关设备中的主控板和接口板之间建立IPC通道,主控板和接口板之间通过IPC通道进行通信。
附图说明
图1是本申请实施例提供的一种基于区块链网络实现去中心化记账的示意图;
图2是本申请实施例提供的一种区块链技术的示意图;
图3是本申请实施例提供的一种系统架构的示意图;
图4是本申请实施例提供的一种系统架构的示意图;
图5是本申请实施例提供的一种IGP报文的格式示意图;
图6是本申请实施例提供的一种报文处理方法的流程图;
图7是本申请实施例提供的一种BCGW将记账数据泛洪至IGP域的示意图;
图8是本申请实施例提供的一种全网达成共识并完成记账的示意图;
图9是本申请实施例提供的一种基于IGP进行区块链计算的方法的流程图;
图10是本申请实施例提供的一种网络设备的结构示意图;
图11是本申请实施例提供的一种网关设备的结构示意图;
图12是本申请实施例提供的一种网络设备的结构示意图;
图13是本申请实施例提供的一种网关设备的结构示意图;
图14是本申请实施例提供的一种网络系统的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
由于本申请实施例涉及区块链技术,为了便于理解,下面先对本申请实施例涉及的区块链技术中的术语相关概念进行介绍。
(1)区块链网络
区块链网络本质是一个共享数据库,存储于其中的数据或信息,具有“不可伪造”、“全程留痕”、“可以追溯”、“公开透明”、“集体维护”等特征。基于这些特征,区块链技术奠定了坚实的“信任”基础,创造了可靠的“合作”机制,具有广阔的运用前景。构成区块链网络有四大基础技术基石:哈希运算、数字签名、对等(peer to peer,P2P)网络、共识算法。
(2)共识算法
分布式系统集群设计中面临着一个不可回避的问题:一致性问题。对于系统中的多个服务节点,给定一系列操作,需要使全局对局部处理结果达成某种程度的一致。共识算法就可以提供这种技术机制,可以在缺乏信任的环境中构建一致性(构建信任)。共识算法是一类算法的总称,包含许多具体的算法。
(3)P2P网络
P2P网络即为对等计算机网络,是一种在对等者(Peer)之间分配任务和工作负载的分布式应用架构,是对等计算模型在应用层形成的一种组网或网络形式。在P2P网络环境中,彼此连接的多台计算机之间都处于对等的地位,各台计算机有相同的功能,无主从之分,一台计算机既可作为服务器,设定共享资源供网络中其他计算机所使用,又可以作为工作站,整个网络一般来说不依赖专用的集中服务器,也没有专用的工作站。网络中的每一台计算机既能充当网络服务的请求者,又对其它计算机的请求做出响应,提供资源、服务和内容。通常这些资源和服务包括:信息的共享和交换、计算资源(如中央处理器(centralprocessing unit,CPU)计算能力共享)、存储共享(如缓存和磁盘空间的使用)、网络共享、打印机共享等。
(4)哈希(hash)运算
简单的说,哈希运算就是一种将任意长度的消息压缩到某一固定长度的消息摘要算法或函数。例如,哈希运算是SHA256运算。SHA256运算是一种哈希值长度是256位的哈希运算,SHA表示安全散列算法(Secure Hash Algorithm)。
(5)内部网关协议(Interior Gateway Protocol,IGP)
IGP是在一个自治网络内网关(主机和路由器)间交换路由信息的协议。路由信息能用于网间协议(IP)或者其它网络协议来说明路由传送是如何进行的。IGP协议包括路由信息协议(Routing Information Protocol,RIP)、开放式最短路径优先(Open ShortestPath First,OSPF)、中间系统到中间系统(Intermediate System-to-IntermediateSystem,IS-IS)、内部网关路由协议(Interior Gateway Routing Protocol,IGRP)、增强内部网关路由协议(Enhanced Interior Gateway Routing Protocol,EIGRP)、独立组播路由协议(Protocol Independent Multicast,PIM)。
(6)区块链任务
区块链任务是区块链网络的共识机制对应的计算任务。可选地,执行区块链任务的过程是求解一个计算难题的过程,该计算难题具有难于求解易于验证的特点,通过求解该计算难题,便于区块链网络各节点达成“共识”。
区块链任务的执行通常涉及哈希运算。例如,区块链任务的执行过程包括:通过脚本对一个随机数进行迭代,每当迭代一次后,根据当前的随机数计算哈希值,判断哈希值是否小于目标值,如果哈希值不小于目标值,则修改随机数(例如对随机数加一)并重新计算,直至哈希值小于目标值为止。例如,区块链任务是“对一个给定的字符串进行补值,补值后的字符串通过哈希运算(比如SHA25)的结果为0”,其中,0是对目标值的举例说明。其中,共识机制例如是工作量证明(Proof of Work,PoW),计算得出的随机数即为对工作量的证明,因为它能够证明设备已经做了足够多的工作并找到正确的了随机数。
以上介绍了一些区块链技术中的术语概念,以下对区块链技术在应用中的情况进行简单的介绍。
请参见附图1,附图1是对区块链网络实现去中心化记账的举例说明,区块链是在不可信的环境中的分布式记账技术,用技术机制构筑信任,实现去中心化。参见附图2,区块链主要运用了四个基础技术:哈希运算(SHA256)、数字签名、P2P网络和共识算法。其中共识算法往往需要耗费大量的算力使分布式系统达成统一。
然而,区块链领域的创新面临着算力制约的问题。具体地,区块链建设需要投入大量专有硬件,尤其是区块链各节点达成“共识”需要消耗大量算力。区块链分为公有链和行业链,公有链(比如比特币)有大量“矿工”支撑区块链网络的算力,而行业链构建需要投资建设专有硬件,成本较高,当硬件建设成本高于区块链给行业带来的好处时,就会严重制约行业链的发展。
此外,运营商基础设施有大量空闲算力待挖掘和变现。具体地,运营商的网络基础设施蕴含大量闲置算力,比如一个市级的IP化的移动接入承载网(IP Radio AccessNetwork,IPRAN)网络就会有上万台的网络设备,经过大数据统计,这些设备的平均CPU利用率低于20%,闲置算力折现能力达到千万人民币/年的量级。
有鉴于此,本实施例提供了一种基于IGP构建区块链网络的方法,通过对IGP扩展,使得网络设备能参与区块链的分布式计算,从而复用现有运营商网络基础设施构筑区块链,运营商可以灵活出租网络基础设施的闲置算力,用于垂直行业的区块链构建,给行业营造健康生态,助力区块链技术在行业领域的创新和工程落地。
下面,分别从硬件的角度和软件的角度介绍本申请实施例提供的系统架构。
参见附图3,本申请实施例提供了一种系统架构100。系统架构100是对IGP构建的区块链网络的举例说明。系统架构100中的不同设备基于IGP进行通信。系统架构100中的所有设备可选地属于同一个IGP域。系统架构100包括至少一个网关设备和至少一个网络设备。网关设备和网络设备、不同网络设备之间通过无线网络或有线网络相连。
网关设备例如称为区块链网关(Block Chain Gate Way,BCGW)。例如,网关设备是附图3所示的BCGW111、BCGW112、BCGW113和BCGW114。网关设备例如是区块链专用网关节点,南向分发维护区块链任务,北向提供区块链数据的订购订阅等接口。网关设备会加入到特定的IGP进程中,通过附图3所示的特殊格式的IGP报文,以广播的形式向网络中发布区块链任务,或者接收执行区块链任务得到的区块。网关设备的形态例如是计算设备,比如是服务器,也可以是路由器、交换机等。可选地,BCGW并不需要中心化建设,任意网络设备在任意网络节点都可加入IGP域作为BCGW,发布区块链任务收集区块等。网关设备的硬件结构请参考附图13以及网关设备800对应的描述。网关设备的软件架构请参考附图4以及系统架构200对应的描述。
网关设备和外部系统通过无线网络或有线网络相连。外部系统在附图3中没有示出。外部系统是指没有加入IGP域的其它设备或系统。例如,外部系统是第三方业务系统或终端设备。外部系统可以将待存储的数据发送至网关设备,触发下述方法300或方法400,从而通过系统架构100提供的区块链网络将数据存储至区块链上。
网络设备例如是路由器(Router)或交换机等。例如,网络设备是附图3所示的路由器121、路由器122、路由器123、路由器124、路由器125、路由器126、路由器127、路由器128。网络设备用于承载网络的转发类业务,同时可以利用自身的空闲算力参与区块链任务。网络设备会通过配置相同的IGP进程、互相发送IGP报文等方式加入到与网关设备相同的IGP进程中,通过附图5所示的特殊格式的IGP报文,接收区块链任务,或者向网络中广播执行区块链任务得到的区块。网络设备的硬件结构请参考附图12以及网络设备700对应的描述。网络设备的软件架构请参考附图4以及系统架构200对应的描述。
在一些实施例中,系统架构100通过运营商提供的网络基础设施构建,网关设备和网络设备均是运营商基础设施中的设备,例如网络设备是IPRAN网络中的路由器。通过复用运营商基础设施构筑的区块链网络,一方面,能够深度利用运营商的存量基础设施用于行业链建设,开辟一块新的存量市场,避免重新建设区块链专用硬件,节约了构建区块链网络的成本;
另一方面,能够充分发挥运营商基础设施在算力、地理覆盖率、业务发放等维度的优势。具体地,由于区块链网络要求算力稳定,否则容易遭受51%攻击篡改账本,而复用运营商基础设施构筑的区块链网络可提供6个9的算力可靠性。此外,运营商网络的地理覆盖率非常高,区块链用户可以随时随地消费运营商提供的区块链服务。此外,运营商业务发放自动化程度高,可以弹性租赁,分时租赁,给中小企业提供低成本高效构筑私有链业务的选择。
以上对基于IGP构建的区块链网络的硬件架构进行了介绍,以下对基于IGP构建的区块链网络所需的软件架构进行介绍。
参见附图4,本实施例提供了另一种系统架构200。系统架构200是对基于IGP构建的区块链网络所需的软件架构的举例说明。系统架构200部署在上述系统架构100中的每个设备上。换句话说,系统架构100中的每个设备均可以采用系统架构200所示的软件来实现区块链的功能。
系统架构200包括核心模块210、北向接口模块211、西向接口模块212、东向接口模块213和南向接口模块214。
北向接口模块211接入至第三方业务系统221。北向接口模块211包括区块链业务定义子模块2111、数据订阅子模块2112、数据处理逻辑编排子模块2113和计算任务导入子模块2114。第三方业务系统221需要记账时,可以向北向接口模块211发起请求,北向接口模块211会创建区块链任务,从而将区块链任务导入至IGP域。
西向接口模块212和网络基础设施222连接。西向接口模块212包括IGP协议栈子模块2121和IP套接字(IP socket)子模块2122,从而执行IGP协议的处理、报文封装域处理等。
核心模块210包括数字签名子模块和共识算法子模块。
东向接口模块213和算法库223连接,能够访问算法库223,得到算法库223保存的共识算法。东向接口模块213包括脚本执行容器子模块2131、预置算法子模块2132和算法更新子模块2133。算法更新子模块2133用于更新共识算法。具体地,因为区块链任务需要调用丰富的算法,且区块链有版本区别,具体的共识算法也会根据业务需要经常改变,通过设置算法更新子模块2133,能够动态更新设备执行区块链任务使用的算法。
南向接口模块214和本地硬件系统224通信,用于操作操作网络设备的硬件设施,以适配区块链任务。南向接口模块214包括闪存(Compact Flash,CF)卡/硬盘/内存管理子模块2141、CPU算力分配子模块2142和冗余硬件灾备管理子模块2143。
以上通过系统架构100和系统200,对基于IGP构建的区块链网络的硬件架构和软件架构分别进行了介绍。在一些实施例中,在系统架构100和系统200的基础上,在网络中新增若干个IGP进程,IGP进程用于在IGP域中传输区块链任务关联的信息。例如,该IGP进程用于传输区块链任务,或者,该IGP进程用于传输通过执行区块链任务得到的区块。可选地,每个网络设备上创建多个IGP进程,第一IGP进程专用于承载区块链任务,第二IGP进程用于处理路由和拓扑,第一IGP进程和第二IGP进程的进程号不同。
可选地,用于传输区块链任务相关信息的IGP进程是OSPF进程。具体地,在网络中新增一个OSPF进程,该OSPF进程只用于承载区块链任务,具体地,该OSPF进程用于通过特殊的链路状态广播(Link-State Advertisement,LSA)报文洪泛区块链任务以及用于通过特殊的LSA报文发布区块。
例如,在附图3所示的系统架构100中,所有网络设备新增如下OSPF配置。
每个网络设备上通过以上配置,用进程号20创建OSPF进程,得到OSPF进程20,将接口宣告进OSPF进程20。每个网络设备使用OSPF进程20与其他网络设备建立OSPF邻居关系。OSPF邻居建立后,网络设备就会通过特殊的LSA报文接收到区块链任务。其中,OSPF进程号(OSPF Process ID)20的OSPF进程是对新增的用于传输区块链任务相关信息的IGP进程的举例说明。
通过以上方式,充分复用网络基础设施的IGP协议,在原有的IGP网络上更改配置即可实现区块链网络信息的传递,易于快速部署区块链业务,易于维护。
本实施例设计了一种新的IGP报文,这种新的IGP报文用于传播区块链任务。该IGP报文包括而不限于任何类型的组播协议报文。例如,该IGP报文是ISIS、OSPF、RIP、LLDP、PIM等协议报文。参见附图5,其示出了这种用于传播区块链任务的IGP报文的格式示意图。IGP报文包括LSA头和区块。
LSA头属于IGP LSA报文标准结构。LSA头包括LS时限(LS age)字段、选项、LS类型字段、LS标识(Link-State ID)字段、宣告路由器(Advertising Router)字段、LS序号(LSSequence Number)字段、LS校验和(LS checksum)字段、长度(Length)字段。
区块包括区块头和区块主体。
区块头属于区块链技术中标准的信息头。区块头包括版本号(version)字段、上个区块(Last block)字段、区块链根节点(Merkle Root Node)字段、时间戳(timestamp)字段、只被使用一次的任意或非重复的随机数值(Number used once或Number once,nonce)字段。可选地,区块头属于IGP报文的载荷。
其中,版本号字段用于指示版本号,例如区块链任务使用的共识算法的版本。版本号如是32个字节。区块字段的大小例如是4个字节。上个区块字段用于索引至上一个区块(即当前区块的父区块)。例如,上个区块字段用于携带上个区块的哈希值。上个区块字段的大小例链根节点字段用于标识区块所属的区块链的根节点,从而指明区块数据隶属于哪个账本。时间戳字段用于指示区块产生的时间。
nonce字段用于携带随机数,即哈希算法难题。nonce字段的大小例如是4个字节。
区块主体用于携带区块数据。区块数据(block data)即为需要记账的数据体。可选地,区块数据属于IGP报文的载荷。区块数据的应用场景包括多种情况。可选地,区块数据用于构建电子货币交易系统。或者,区块数据用于存储智能合约。
本实施例提供的IGP报文包括第一字段,第一字段用于指示执行区块链任务。第一字段包括附图5所示的IGP报文中的一个或多个字段。当接收端(如网络设备或网关设备)收到IGP报文时,通过识别第一字段即可获知要执行区块链任务从而参与记账。
使用IGP报文中的哪一个或哪一些字段作为第一字段包括多种实现方式。可选地,第一字段为LSA头中的字段。可选地,第一字段为区块头中的字段。或者,第一字段包括LSA中的字段和区块头中的字段,本实施例对第一字段在IGP报文中的携带位置不做限定。
可选地,IGP报文通过新的LSA类型(LS type)标识区块链任务。具体来讲,第一字段包括LS类型字段,LS类型字段的取值用于指示区块链任务。其中,LS类型字段的取值也称LSA类型号或LS type值。
例如,对于OSPF协议,传播区块链任务或区块的IGP报文是OSPF LSA报文。示意性地,申请LSA类型号15,以第15类LSA作为传递区块链任务的特殊报文,并预先配置,网络中所有设备接收到第15类LSA时,需要将报文向IGP进程内的协议邻居进行广播。这种处理机制类似于第三类LSA(summary LSA,LS Type为3),与第三类LSA不同的是,第三类LSA携带的是路由信息,第15类LSA携带的是区块链任务。所有网络设备或者网关设备收到OSPF LSA报文后,识别LS类型字段的取值,如果判断LS类型字段的取值是15,就可以知道该OSPF LSA报文是用来传递区块链任务或者计算得到的区块的。其中,15是新申请的LSA类型号的举例说明,在另一些实施例中,通过15之外的其他未被占用的LSA类型号标识区块链任务,本实施例对LS类型字段的具体取值不做限定。
例如,对于ISIS协议,传播区块链任务或区块的IGP报文是链路状态协议(LinkState Protocol,LSP)报文,LSP报文通过新的LSP协议数据单元(Presentation ProtocolData Unit,PDU)类型(LSP PDU type)标识区块链任务。具体来讲,IGP报文包括LSP PDU类型字段,LSP PDU类型字段用于标识PDU的类型。第一字段包括LSP PDU类型字段。示意性地,申请LSP PDU类型155作为传递区块链任务的特殊LSP报文,并预先配置,所有网络设备接收到LSP PDU类型为155的LSP报文时,需要将报文内容向协议邻居进行广播,该处理机制与其它类型的LSP报文相同。其中,155是新申请的LSA类型号的举例说明,在另一些实施例中,通过155之外的其他未被占用的LSP PDU类型号标识区块链任务,本实施例对LSP PDU类型字段的具体取值不做限定。
可选地,第一字段仅包括LS类型字段这一个字段。或者,第一字段不仅包括LS类型字段,还包括LS类型字段之外的其他字段。可选地,第一字段仅包括LSP PDU类型字段这一个字段。或者,第一字段不仅包括LSP PDU类型字段,还包括LSP PDU类型字段之外的其他字段。
例如,第一字段包括LS类型字段和nonce字段,nonce字段是对第一字段中LS类型字段之外的其他字段的举例说明。接收端接收到IGP报文后,识别IGP报文中的LS类型字段和nonce字段,判断LS类型字段的值是否为新申请的区块链相关的LSA类型号(如15),并判断nonce字段是否具有值。如果LS类型字段的值为新申请的区块链相关的LSA类型号,且nonce字段没有值,则接收端确定本节点需要执行区块链任务。如果LS类型字段的值为新申请的区块链相关的LSA类型号,且nonce字段有值,则接收端确定IGP报文包含了其它节点发布的区块,对nonce字段的值进行验证。如果验证nonce字段的值正确,则接收端记账。
值得注意的是,本实施例提供的用于传播区块链任务或区块的IGP报文的格式包括多种实现方式,附图5是对基于OSPF协议传播区块链任务的报文格式的举例说明,本实施例并不限定用于传播区块链任务或区块的IGP报文的格式与附图5完全相同。例如,在基于OSPF协议之外的其他IGP协议传播区块链任务时,报文的格式与附图5可以具有差异。具体地,在基于ISIS、RIP、LLDP、PIM等组播协议传播区块链任务或区块时,可以将附图5中的LSA头替换为ISIS、RIP、LLDP、PIM等组播协议的通用报头。此外,可选地,在基于OSPF之外的其他IGP协议传播区块链任务时,不是使用LS类型字段来指示区块链任务,而是采用其他IGP协议的通用报头中的类型字段来指示区块链任务,或者在其他IGP协议的通用报头中扩展新的比特位(如某个flag字段)、新的类型长度值(type length value,TLV)或新的选项来指示区块链任务。
以上介绍了本申请实施例提供的硬件架构、软件架构和IGP报文的报文格式,以下通过方法300至方法400,示例性介绍基于上文提供的系统架构和IGP报文构建区块链网络的方法流程。
参见附图6,附图6是本申请实施例提供的一种报文处理方法300的流程图。
可选地,方法300由系统架构100中的设备执行。例如,方法300中的网关设备是附图3所示的BCGW111、BCGW112、BCGW113或BCGW114,方法300中的第一网络设备或第二网络设备是附图3所示的路由器121、路由器122、路由器123、路由器124、路由器125、路由器126、路由器127或者路由器128。
可选地,方法300中的各个步骤基于上述系统架构200的各个单元实现。例如,网关设备的第一接口被配置为接收存储请求。例如,网关设备通过北向接口模块211接收第三方业务系统发来的存储请求,从而执行以下步骤S301。网关设备的第二接口被配置为接收执行区块链任务所需的共识算法,网关设备的第三接口被配置为给区块链任务分配算力。例如,网关设备通过东向接口模块213访问算法库得到共识算法,通过南向接口模块214访问本地的CPU,将CPU算力分配给区块链任务,从而执行区块链任务。网关设备的第四接口被配置为处理IGP报文。例如,网关设备通过西向接口模块212中的IGP协议栈子模块处理IGP报文中IGP通用的报头部分。可选地,第一接口为北向接口;第二接口为东向接口;第三接口为南向接口;第四接口为西向接口。
可选的,方法300中通过主控板上的CPU或者接口板上的CPU执行区块链任务。可选的,方法300中通过接口板上的嵌入式神经网络处理器(Neural-network ProcessingUnit,NPU)执行区块链任务。或者,也可以不用CPU或NPU,而使用其他适合用于哈希运算的处理器执行区块链任务,本实施例不做限制。当然,也可以通过不同的处理器承担不同步骤对应的处理工作,例如,通过一个处理器进行报文转发,通过另一个处理器执行区块链任务。
示例性地,方法300包括S301至S312。
S301、网关设备接收存储请求。
存储请求用于指示将数据存储至区块链上,存储请求包括待存储的数据。其中,在区块链领域中,待存储的数据可称为一笔交易(transaction),存储数据的动作可称为记账,存储请求可称为记账请求,数据最终会以区块的形式存储至区块链上。可选地,网关设备接收的存储请求来自于位于IGP域外部的外部系统,外部系统生成存储请求,向网关设备发送存储请求,网关设备接收到存储请求。
S302、网关设备响应于存储请求,生成第一IGP报文。
在一种可能的实现中,网关设备每当接收到一次存储请求,则响应于存储请求,生成一次IGP报文,从而随着收到的存储请求实时地触发区块链任务。在另一种可能的实现中,网关设备当接收到存储请求后,启动定时器,每当时间经过预设时长后,则响应于存储请求,生成一次IGP报文,从而周期性地触发区块链任务。
第一IGP报文包括第一字段,因此第一IGP报文能够指示接收端执行区块链任务。第一IGP报文的具体格式请参见上述附图5对应的介绍,在此不做赘述。具体地,网关设备解析存储请求,得到存储请求包括的数据,将数据携带在附图5所示的区块体部分,得到第一IGP报文。
S303、网关设备发送第一IGP报文。
在一些实施例中,网关设备在IGP域中广播第一IGP报文。其中,IGP域包括多个网络设备,第一IGP报文在IGP域中经过广播后,第一IGP报文携带的待存储的数据会被发送至该多个网络设备中的每个网络设备上,因此每个网络设备均能够得到数据并参与执行区块链任务。
S304、第一网络设备接收第一IGP报文。
S305、第一网络设备在IGP域中广播第一IGP报文。
具体地,OSPF、ISIS、RIP、LLDP、PIM等IGP报文是组播协议报文,组播协议报文的MAC帧头包括特定的组播MAC地址,或者IP头包括特定的组播IP地址,因此第一网络设备接收到第一IGP报文后,会对第一IGP报文进行复制和广播,将第一IGP报文传播至第一网络设备在IGP域中的每个邻居设备。第一网络设备的邻居设备接收到第一IGP报文后,同样会对第一IGP报文进行复制和广播,将第一IGP报文发送至本节点的邻居设备,依次类推,最终IGP域中的每个网络设备均会接收到第一IGP报文。
例如,第一IGP报文是第15类LSA的OSPF LSA报文,采用泛洪的方式,将第15类LSA通告至IGP域中的所有网络设备,以便IGP域中的所有网络设备参与完成区块链的记账任务。请参见附图7,BCGW111接收到一个记账任务后,生成携带交易数据的OSPF LSA报文,向路由器121发送OSPF LSA报文。之后,路由器121向相邻的路由器122和路由器123发送OSPFLSA报文。之后,路由器122向相邻的路由器123和路由器124发送OSPF LSA报文。之后,路由器123和路由器124分别向彼此的邻居发送OSPF LSA报文,最终IGP域中的所有网络设备均接收到了OSPF LSA报文,换句话说,BCGW111将区块链任务和待记账的数据洪泛到IGP域的所有网络设备上。
S306、第一网络设备根据第一IGP报文,获取共识机制的输入数据。
共识机制的输入数据是指区块链的共识算法的输入数据,即计算随机数(nonce)所需的数据。例如,共识机制的输入数据包括第一IGP报文中区块头内的数据,例如区块链根节点字段携带的哈希值和上个区块字段携带的上个区块哈希值。
在一些实施例中,第一网络设备识别第一IGP报文中的第一字段,根据第一字段的值,确定需要执行区块链任务,则从第一IGP报文中获取共识机制的输入数据,进而执行区块链任务。例如,第一网络设备识别第一IGP报文中的LS类型字段和nonce字段,确定LS类型字段携带有用于标识区块链任务的、新的LSA类型号,并且nonce字段没有值,则第一网络设备参与执行区块链任务。
在一些实施例中,共识机制的输入数据全部来自于第一IGP报文。在另一些实施例中,共识机制的输入数据部分来自于第一IGP报文,部分由第一网络设备从本地获取。
S307、第一网络设备根据输入数据,执行区块链任务。
如何根据输入数据执行区块链任务包括多种实现方式。在一些实施例中,第一网络设备根据输入数据进行哈希运算,得到哈希值;第一网络设备判断哈希值是否小于目标值(目标值例如是0);如果哈希值不小于目标值,第一网络设备修改随机数(例如对随机数加一),并重新进行哈希运算,直至哈希值小于目标值为止。
可选地,第一网络设备根据当前的CPU利用率判断是否执行区块链任务,具体参见以下情况一至情况二。
情况一、在执行区块链任务的过程中,第一网络设备检测CPU利用率,判断CPU利用率是否大于阈值。若第一网络设备的CPU利用率大于阈值,第一网络设备停止执行区块链任务。其中,阈值例如记为“cpu-limit”,阈值例如是50%。
通过这种方式,能够在网络设备负载较高的情况下及时停止区块链计算,以便将网络设备的算力留给转发任务,从而避免由于执行区块链任务而影响到转发任务的情况,保证了网络设备的转发性能。
情况二、第一网络设备暂停区块链任务后,继续检测CPU利用率。若第一网络设备的CPU利用率小于阈值,第一网络设备继续执行区块链任务。通过这种方式,能够在网络设备从忙碌变为空闲的情况下,及时地利用网络设备的空闲的算力进行区块链计算。
通过以上情况一和情况二,第一网络设备能够依据本设备当前的算力情况,灵活地选择是否参与区块链任务,在忙碌时优先使用算力执行转发任务,在空闲时使用算力执行区块链任务,从而将转发任务和区块链任务这两类任务有效地结合起来,充分提高网络设备的计算资源的利用率。
S308、第一网络设备生成第二IGP报文。
在一些实施例中,IGP域中的每个设备(如网络设备和网关设备)均会参与执行区块链任务。当IGP域中的某个设备基于共识算法计算出结果(即算出正确的随机数),该设备会将计算结果和交易数据一起打包,形成当前区块,将此区块封装至IGP报文中,在IGP域中广播携带区块的IGP报文,从而将本设备产生的区块传播至整个区块链网络。区块链网络中的每个设备接收到区块后,均会验证计算结果,如果验证成功且经过共识,每个设备会将该区块存储至区块链中。
由于IGP域中的任意设备均具有第一个计算出结果的可能性,本实施例会分别介绍第一网络设备第一个计算出结果的情况、第一网络设备之外的其他网络设备第一个计算出结果的情况、网关设备第一个计算出结果的情况。此外,为了区分描述不同网络设备生成的区块,将第一网络设备生成的区块称为第一区块,将第二网络设备生成的区块称为第二区块,将网关设备生成的区块称为第三区块。值的说明的是,术语“第一区块”、“第二区块”、“第三区块”中的“第一”、“第二”和“第三”等字样用于区分不同的区块,并不对区块在区块链上的排列位置构成限定。
在第一网络设备第一个计算出结果的情况下,第一网络设备执行区块链任务后,得到第一区块,根据第一区块生成第二IGP报文。其中,第二IGP报文包括第一区块,第一区块包括第一网络设备计算出的随机数和交易数据。第一网络设备算出的随机数通过第二IGP报文的区块头部分的nonce字段携带。交易数据通过第二IGP报文的区块主体部分携带。可选地,第二IGP报文还包括LSA头。可选地,第二IGP报文中的LSA头与第一IGP报文中的LSA头是相同的。
S309、第一网络设备在IGP域中广播第二IGP报文。
S310、IGP域中的第二网络设备接收第二IGP报文,从第二IGP报文中获得第一区块,对第一区块进行验证。若第一区块验证通过且经过共识,第二网络设备将第一区块存储至区块链上。
例如,第二网络设备识别第二IGP报文中的LS类型字段和nonce字段,确定LS类型字段携带有用于标识区块链任务的、新的LSA类型号,并且nonce字段有值,则第二网络设备确定第二IGP报文包含了其他节点发布的区块,则第二网络设备对nonce字段的值进行验证,如果验证nonce字段的值正确,则第二网络设备进行记账。
同理地,在第二网络设备第一个计算出结果的情况下,第二网络设备执行区块链任务后,得到第二区块,根据第二区块生成第三IGP报文。其中,第三IGP报文包括第二区块,第二区块包括第二网络设备计算出的随机数和交易数据。第二网络设备算出的随机数通过第三IGP报文的区块头部分的nonce字段携带。交易数据通过第三IGP报文的区块主体部分携带。第二网络设备在IGP域中广播第三IGP报文。第一网络设备从第二网络设备接收第三IGP报文;第一网络设备对第二区块进行验证;若第二区块验证通过且经过共识,第一网络设备将第二区块存储至区块链上。
S311、网关设备接收第二IGP报文,从第二IGP报文中获得第一区块,对第一区块进行验证。若第一区块验证通过且经过共识,网关设备将第一区块存储至区块链上。
此外,在第二网络设备第一个计算出结果的情况下,网关设备接收第三IGP报文,从第三IGP报文中获得第二区块,对第二区块进行验证。若第二区块验证通过且经过共识,网关设备将第二区块存储至区块链上。
可选地,网关设备不仅会将待存储的数据传播给网络设备,也会参与执行区块链任务。具体地,网关设备获取共识机制的输入数据;网关设备根据输入数据,执行区块链任务。
在网关设备第一个计算出结果的情况下,网关设备执行区块链任务后,得到第三区块,根据第三区块生成第四IGP报文。其中,第四IGP报文包括第三区块,第三区块包括网关设备计算出的随机数和交易数据。网关设备算出的随机数通过第四IGP报文的区块头部分的nonce字段携带。交易数据通过第四IGP报文的区块主体部分携带。网关设备在IGP域中广播第四IGP报文。IGP域中的网络设备(如第一网络设备或第二网络设备)接收第四IGP报文,从第四IGP报文中获得第三区块,对第三区块进行验证。若第三区块验证通过且经过共识,网络设备将第三区块存储至区块链上。
S312、网关设备发送记账结果。
具体地,网关设备可以向存储请求的发送端返回记账结果,例如向外部系统发送记账结果。其中,记账结果例如是保存有交易数据的区块链,即整个“账本”。
例如,请参见附图8,附图8是对全网达成共识并完成记账的示意图,附图8以路由器124第一个计算出结果为例进行说明。具体地,路由器124先完成共识算法的计算(猜出正确的随机数),会通过特殊的LSA报文向全网广播区块,其它节点验证无误后加入区块链,并停止自己的计算任务,相当于该IGP域全网设备达成共识完成一次记账。
在一些实施例中,以上描述的区块链任务以及区块的传输过程通过IGP进程实现。具体地,第一网络设备、第二网络设备和网关设备均预先创建IGP进程。例如,网关设备通过网关设备上运行的IGP进程发送第一IGP报文。第一网络设备通过第一网络设备上运行的IGP进程接收第一IGP报文,通过第一网络设备上运行的IGP进程发送第二IGP报文。第二网络设备通过第二网络设备上运行的IGP进程接收第一IGP报文,通过第二网络设备上运行的IGP进程发送第三IGP报文。
本实施例对广播IGP报文的动作与执行区块链任务的动作的先后顺序不做限定。在一些实施例中,S305与S306至S307顺序执行。例如,先执行S305,再执行S306至S307;先执行S306至S307,再执行S305。在另一些实施例中,S305与S306至S307并行执行,即,同时执行S305以及S306至S307。
本实施例提供了一种基于IGP构建区块链网络的方法,通过对IGP进行扩展,提供一种用于传播区块链任务的新的IGP报文,网络设备接收到这种新的IGP报文时,能够利用自身的算力参与执行区块链任务。一方面,由于充分挖掘了网络设备的算力以构建区块链网络,避免网络设备空闲的算力被浪费,因此提高了网络设备的计算资源的利用率;另一方面,能够缓解区块链技术由于算力不足而受到制约的问题,因此有助于区块链技术的发展。
以下通过方法400对方法300进行举例说明。在方法400,网关设备为BCGW。网络设备为Router。换句话说,方法400描述的方法流程关于BCGW和Router如何基于IGP实现区块链计算。应理解,方法400与方法300同理的步骤还请参见方法300,在方法400中不做赘述。
参见附图9,附图9为本申请实施例提供的一种基于IGP进行区块链计算的方法400的流程图。方法400中传播的特殊类型的IGP报文请参考附图5对应的介绍。
示例性地,方法400包括S401至S406。
S401、BCGW从外部系统导入记账请求,生成区块链任务,封装IGP报文,向Router广播特殊类型的IGP报文。
S402、Router接收特殊类型的IGP报文,向其他邻居Router广播该IGP报文。
S403、Router从IGP报文中获取区块链任务,调用本地计算资源处理区块链任务。
S404、首先完成区块链任务的Router将区块封装到IGP报文中,并在网络中广播该IGP报文,从而发布区块。
S405、Router收到包含区块的IGP报文,验证区块无误,说明其它Router已经抢先算出随机数,停止本地的区块链任务。
S406、BCGW收到包含区块的IGP报文,验证区块无误,停止本地的区块链任务,并向外部系统提交此次记账结果。
以上介绍了本申请实施例的方法300或方法400,以下介绍本申请实施例的网络设备,以下描述的网络设备具有上述方法300中第一网络设备或第二网络设备的任意功能,或具有方法400中Router的任意功能。以下描述的网关设备具有上述方法300或方法400中网关设备或第二网关设备的任意功能,或具有方法400中BCGW的任意功能。
附图10是本申请实施例提供的一种网络设备500的结构示意图,如附图10所示,网络设备500包括:接收单元501,用于执行S304;处理单元502,用于执行S306和S307。
可选地,网络设备500还包括:广播单元,用于执行S305或S309。
可选地,处理单元502,用于执行S308。
可选地,处理单元502,用于根据网络设备500的CPU利用率小于阈值,确定执行区块链任务。
可选地,接收单元501,还用于接收第二IGP报文或第三IGP报文;
可选地,处理单元502,用于对第一区块或第二区块进行验证;若第一区块验证通过且经过共识,将第一区块存储至区块链上,或者,若第二区块验证通过且经过共识,将第二区块存储至区块链上。
可选地,处理单元502,用于创建IGP进程。
可选地,处理单元502,用于若网络设备500的CPU利用率大于阈值,停止执行区块链任务。
应理解,网络设备500对应于上述方法实施例中的第一网络设备或第二网络设备,网络设备500中的各单元和上述其他操作和/或功能分别为了实现方法300或方法400中的第一网络设备或第二网络设备所实施的各种步骤和方法,具体细节可参见上述方法300或方法400,为了简洁,在此不再赘述。
应理解,网络设备500在处理报文时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将网络设备500的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网络设备500与上述方法300或方法400属于同一构思,其具体实现过程详见方法300或方法400,这里不再赘述。
附图11是本申请实施例提供的一种网关设备600的结构示意图,如附图11所示,网关设备600包括:处理单元601,用于执行S302;发送单元602,用于执行S303。
可选地,发送单元602,用于在IGP域中广播第一IGP报文,IGP域包括多个网络设备。
可选地,网关设备600的第一接口被配置为接收存储请求,网关设备600的第二接口被配置为接收执行区块链任务所需的共识算法,网关设备600的第三接口被配置为给区块链任务分配算力,网关设备600的第四接口被配置为处理IGP报文。
可选地,处理单元601,用于执行S306和S307。
可选地,网关设备600还包括:接收单元,用于执行S311;处理单元601,用于对区块进行验证;处理单元601,用于若区块验证通过且经过共识,将区块存储至区块链上。
应理解,网关设备600对应于上述方法实施例中的网关设备,网关设备600中的各单元和上述其他操作和/或功能分别为了实现方法300或方法400中的网关设备所实施的各种步骤和方法,具体细节可参见上述方法300或方法400,为了简洁,在此不再赘述。
应理解,网关设备600在处理报文时,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将网关设备600的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。另外,上述实施例提供的网关设备600与上述方法300或方法400属于同一构思,其具体实现过程详见方法300或方法400,这里不再赘述。
下面对网络设备的硬件结构进行介绍。
网络设备700对应于上述方法300的第一网络设备或第二网络设备;或,网络设备700对应于方法400中的Router,网络设备700中的各硬件、模块和上述其他操作和/或功能分别为了实现第一网络设备或第二网络设备、Router所实施的各种步骤和方法,关于网络设备700如何基于IGP构建区块链网络的详细流程,具体细节可参见上述方法300或方法400,为了简洁,在此不再赘述。其中,方法300或方法400的各步骤通过网络设备700处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
网络设备700对应于附图10示出的网络设备500,网络设备500中的每个单元采用网络设备700的软件实现。换句话说,网络设备500包括的单元为网络设备700的处理器读取存储器中存储的程序代码后生成的。
参见附图12,附图12示出了本申请一个示例性实施例提供的网络设备700的结构示意图,该网络设备700可以配置为第一网络设备或第二网络设备。网络设备700包括:主控板710和接口板730。
主控板也称为主处理单元(main processing unit,MPU)或路由处理卡(routeprocessor card),主控板710用于对网络设备700中各个组件的控制和管理,包括路由计算、设备管理、设备维护、协议处理功能。主控板710包括:中央处理器711和存储器712。
接口板730也称为线路接口单元卡(line processing unit,LPU)、线卡(linecard)或业务板。接口板730用于提供各种业务接口并实现数据包的转发。业务接口包括而不限于以太网接口、POS(Packet over SONET/SDH)接口等,以太网接口例如是灵活以太网业务接口(Flexible Ethernet Clients,FlexE Clients)。接口板730包括:中央处理器731、网络处理器732、转发表项存储器734和物理接口卡(physical interface card,PIC)733。
接口板730上的中央处理器731用于对接口板730进行控制管理并与主控板710上的中央处理器711进行通信。
网络处理器732用于实现报文的转发处理。网络处理器732的形态可以是转发芯片。具体而言,网络处理器732用于基于转发表项存储器734保存的转发表转发接收到的报文,如果报文的目的地址为网络设备700的地址,则将该报文上送至CPU(如中央处理器711)处理;如果报文的目的地址不是网络设备700的地址,则根据该目的地址从转发表中查找到该目的地址对应的下一跳和出接口,将该报文转发到该目的地址对应的出接口。其中,上行报文的处理包括:报文入接口的处理,转发表查找;下行报文的处理:转发表查找等等。
物理接口卡733用于实现物理层的对接功能,原始的流量由此进入接口板730,以及处理后的报文从该物理接口卡733发出。物理接口卡733也称为子卡,可安装在接口板730上,负责将光电信号转换为报文并对报文进行合法性检查后转发给网络处理器732处理。在一些实施例中,中央处理器也可执行网络处理器732的功能,比如基于通用CPU实现软件转发,从而物理接口卡733中不需要网络处理器732。
可选地,网络设备700包括多个接口板,例如网络设备700还包括接口板740,接口板740包括:中央处理器741、网络处理器742、转发表项存储器744和物理接口卡743。
可选地,网络设备700还包括交换网板720。交换网板720也可以称为交换网板单元(switch fabric unit,SFU)。在网络设备有多个接口板730的情况下,交换网板720用于完成各接口板之间的数据交换。例如,接口板730和接口板740之间可以通过交换网板720通信。
主控板710和接口板730耦合。例如。主控板710、接口板730和接口板740,以及交换网板720之间通过系统总线与系统背板相连实现互通。在一种可能的实现方式中,主控板710和接口板730之间建立进程间通信协议(inter-process communication,IPC)通道,主控板710和接口板730之间通过IPC通道进行通信。
在逻辑上,网络设备700包括控制面和转发面,控制面包括主控板710和中央处理器731,转发面包括执行转发的各个组件,比如转发表项存储器734、物理接口卡733和网络处理器732。控制面执行路由器、生成转发表、处理信令和协议报文、配置与维护设备的状态等功能,控制面将生成的转发表下发给转发面,在转发面,网络处理器732基于控制面下发的转发表对物理接口卡733收到的报文查表转发。控制面下发的转发表可以保存在转发表项存储器734中。在有些实施例中,控制面和转发面可以完全分离,不在同一设备上。
如果网络设备700被配置为第一网络设备,网络设备700用于执行上述S304至S309。
其中,网络设备700如何执行S304、S306和S307包括多种实现方式。在一些实施例中,物理接口卡733接收第一IGP报文,物理接口卡733将第一IGP报文上送至主控板710上的中央处理器711,中央处理器711根据第一IGP报文,获取共识机制的输入数据,根据输入数据,执行区块链任务。在另一些实施例中,物理接口卡733接收第一IGP报文,物理接口卡733将第一IGP报文上送至接口板730上的中央处理器731,中央处理器731根据第一IGP报文,获取共识机制的输入数据,根据输入数据,执行区块链任务。在另一些实施例中,物理接口卡733接收第一IGP报文,物理接口卡733将第一IGP报文上送至接口板730上的NPU(NPU在附图12中未示出),NPU根据第一IGP报文,获取共识机制的输入数据,根据输入数据,执行区块链任务。
其中,网络设备700如何执行第三IGP报文的处理过程包括多种实现方式。在一些实施例中,物理接口卡733接收第三IGP报文,物理接口卡733将第三IGP报文上送至主控板710上的中央处理器711,中央处理器711对第二区块进行验证;若第二区块验证通过且经过共识,中央处理器711将第二区块存储至区块链上。例如,通过存储器712存储区块链,将第二区块写入至存储器712上保存的区块链上。在一些实施例中,物理接口卡733接收第三IGP报文,物理接口卡733将第三IGP报文上送至接口板730上的中央处理器731,中央处理器731对第二区块进行验证;若第二区块验证通过且经过共识,中央处理器731将第二区块存储至区块链上。例如,通过转发表项存储器534存储区块链,将第二区块写入至转发表项存储器534上保存的区块链上。
其中,网络设备700如何执行S308和S309包括多种实现方式。在一些实施例中,网络处理器732生成第二IGP报文,根据出接口等信息,在完成链路层封装后,将第二IGP报文从物理接口卡733发送出去。
如果网络设备700被配置为第二网络设备,网络设备700用于执行上述S310。在一些实施例中,物理接口卡733接收第二IGP报文,物理接口卡733将第二IGP报文上送至主控板710上的中央处理器711,中央处理器711对第一区块进行验证;若第一区块验证通过且经过共识,中央处理器711将第一区块存储至区块链上。例如,通过存储器712存储区块链,将第一区块写入至存储器712上保存的区块链上。在一些实施例中,物理接口卡733接收第二IGP报文,物理接口卡733将第二IGP报文上送至接口板730上的中央处理器731,中央处理器731对第一区块进行验证;若第一区块验证通过且经过共识,中央处理器731将第一区块存储至区块链上。例如,通过转发表项存储器534存储区块链,将第一区块写入至转发表项存储器534上保存的区块链上。
应理解,本申请实施例中接口板740上的操作与接口板730的操作一致,为了简洁,不再赘述。应理解,本实施例的网络设备700可对应于上述各个方法实施例中的第一网络设备或第二网络设备,该网络设备700中的主控板710、接口板730和/或740可以实现上述各个方法实施例中的第一网络设备或第二网络设备所具有的功能和/或所实施的各种步骤,为了简洁,在此不再赘述。
应理解,网络设备500中的接收单元501相当于网络设备700中的物理接口卡733或物理接口卡743;网络设备500中的处理单元502可以相当于网络设备700中的中央处理器711、中央处理器731、网络处理器732、中央处理器741或网络处理器742。
值得说明的是,主控板可能有一块或多块,有多块的时候可以包括主用主控板和备用主控板。接口板可能有一块或多块,网络设备的数据处理能力越强,提供的接口板越多。接口板上的物理接口卡也可以有一块或多块。交换网板可能没有,也可能有一块或多块,有多块的时候可以共同实现负荷分担冗余备份。在集中式转发架构下,网络设备可以不需要交换网板,接口板承担整个系统的业务数据的处理功能。在分布式转发架构下,网络设备可以有至少一块交换网板,通过交换网板实现多块接口板之间的数据交换,提供大容量的数据交换和处理能力。所以,分布式架构的网络设备的数据接入和处理能力要大于集中式架构的设备。可选地,网络设备的形态也可以是只有一块板卡,即没有交换网板,接口板和主控板的功能集成在该一块板卡上,此时接口板上的中央处理器和主控板上的中央处理器在该一块板卡上可以合并为一个中央处理器,执行两者叠加后的功能,这种形态设备的数据交换和处理能力较低(例如,低端交换机或路由器等网络设备)。具体采用哪种架构,取决于具体的组网部署场景,此处不做任何限定。
下面对网关设备的硬件结构进行介绍。
网关设备800对应于上述方法300或方法400中的网关设备(BCGW),网关设备800中的各硬件、模块和上述其他操作和/或功能分别为了实现方法实施例中网关设备(BCGW)所实施的各种步骤和方法,关于网关设备800如何对样本文件进行检测的详细流程,具体细节可参见上述方法300或方法400,为了简洁,在此不再赘述。其中,方法300或方法400的各步骤通过网关设备800处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤,为避免重复,这里不再详细描述。
网关设备800对应于附图11中的网关设备600,网关设备600中的每个单元采用网关设备800的软件实现。换句话说,网关设备600包括的单元为网关设备800的处理器读取存储器中存储的程序代码后生成的。
参见附图13,附图13示出了本申请一个示例性实施例提供的网关设备800的结构示意图。例如,该网关设备800是主机、服务器或个人计算机等。该网关设备800可以由一般性的总线体系结构来实现。
网关设备800包括至少一个处理器801、通信总线802、存储器803以及至少一个通信接口804。
处理器801可以是一个通用中央处理器(central processing unit,CPU)、网络处理器(network processer,NP)、微处理器、或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
通信总线802用于在上述组件之间传送信息。通信总线802可以分为地址总线、数据总线、控制总线等。为便于表示,附图13中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器803可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其它类型的静态存储设备,也可以是随机存取存储器(random access memory,RAM)或者可存储信息和指令的其它类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only Memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其它光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器803可以是独立存在,并通过通信总线802与处理器801相连接。存储器803也可以和处理器801集成在一起。
通信接口804使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口804包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口,电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口,蜂窝网络通信接口或其组合等。
在具体实现中,作为一种实施例,处理器801可以包括一个或多个CPU,如附图13中所示的CPU0和CPU1。
在具体实现中,作为一种实施例,网关设备800可以包括多个处理器,如附图13中所示的处理器801和处理器805。这些处理器中的每一个可以是一个单核处理器(single-CPU),也可以是一个多核处理器(multi-CPU)。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。
在具体实现中,作为一种实施例,网关设备800还可以包括输出设备和输入设备。输出设备和处理器801通信,可以以多种方式来显示信息。例如,输出设备可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备和处理器801通信,可以以多种方式接收用户的输入。例如,输入设备可以是鼠标、键盘、触摸屏设备或传感设备等。
在一些实施例中,存储器803用于存储执行本申请方案的程序代码810,处理器801可以执行存储器803中存储的程序代码810。也即是,网关设备800可以通过处理器801以及存储器803中的程序代码810,来实现方法实施例提供的报文处理方法。
本申请实施例的网关设备800可对应于上述各个方法实施例中的网关设备,并且,该网关设备800中的处理器801、通信接口804等可以实现上述各个方法实施例中的网关设备所具有的功能和/或所实施的各种步骤和方法。为了简洁,在此不再赘述。
应理解,网关设备600中的发送单元602相当于网关设备800中的通信接口804;网关设备600中的处理单元601可以相当于网关设备800中的处理器801。
参见附图14,本申请实施例提供了一种网络系统900,系统900包括:网络设备901和网关设备902。可选的,网络设备901为如附图10所示的网络设备500或附图12所示的网络设备700,网关设备902为如附图11的网关设备600或附图13所示的网关设备800。
应理解,上述各种产品形态的网络设备和网关设备,分别具有上述方法实施例第一网络设备、第二网络设备或网关设备的任意功能,此处不再赘述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例中描述的各方法步骤和单元,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各实施例的步骤及组成。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域普通技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参见前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本申请实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例中方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。这些术语只是用于将一元素与另一元素区别分开。例如,在不脱离各种示例的范围的情况下,第一网络设备可以被称为第二网络设备,并且类似地,第二网络设备可以被称为第一网络设备。第一网络设备和第二网络设备都可以是网络设备,并且在某些情况下,可以是单独且不同的网络设备。
本申请中术语“至少一个”的含义是指一个或多个,本申请中术语“多个”的含义是指两个或两个以上,例如,多个网络设备是指两个或两个以上的网络设备。本文中术语“系统”和“网络”经常可互换使用。
还应理解,术语“如果”可被解释为意指“当...时”(“when”或“upon”)或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定...”或“如果检测到[所陈述的条件或事件]”可被解释为意指“在确定...时”或“响应于确定...”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
以上描述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机程序指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例中的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机程序指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如软盘、硬盘、磁带)、光介质(例如,数字视频光盘(digitalvideo disc,DVD)、或者半导体介质(例如固态硬盘)等。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,该程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上描述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (27)

1.一种报文处理方法,其特征在于,所述方法包括:
第一网络设备接收第一内部网关协议IGP报文,所述第一IGP报文包括第一字段,所述第一字段用于指示执行区块链任务,所述区块链任务是区块链网络的共识机制对应的计算任务,所述区块链网络包括所述第一网络设备;
所述第一网络设备根据所述第一IGP报文,获取所述共识机制的输入数据;
所述第一网络设备根据所述输入数据,执行所述区块链任务。
2.根据权利要求1所述的方法,其特征在于,
所述第一IGP报文包括链路状态广播LSA头,所述LSA头包括链路状态LS类型字段,所述第一字段包括所述LS类型字段;或者,
所述第一IGP报文包括链路状态报文协议数据单元LSP PDU类型字段,所述第一字段包括所述LSP PDU类型字段。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据所述第一网络设备的中央处理器CPU利用率小于阈值,确定执行所述区块链任务。
4.根据权利要求1或2所述的方法,其特征在于,所述第一网络设备接收第一内部网关协议IGP报文之后,所述方法还包括:
所述第一网络设备在IGP域中广播所述第一IGP报文,所述IGP域包括所述第一网络设备和第二网络设备。
5.根据权利要求1或2所述的方法,其特征在于,所述执行所述区块链任务之后,所述方法还包括:
所述第一网络设备生成第二IGP报文,所述第二IGP报文包括所述第一网络设备执行所述区块链任务得到的第一区块;
所述第一网络设备在IGP域中广播所述第二IGP报文。
6.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
所述第一网络设备从IGP域中的第二网络设备接收第三IGP报文,所述第三IGP报文包括所述第二网络设备执行所述区块链任务得到的第二区块;
所述第一网络设备对所述第二区块进行验证;
若所述第二区块验证通过且经过共识,所述第一网络设备将所述第二区块存储至区块链上。
7.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
若所述第一网络设备的CPU利用率大于阈值,所述第一网络设备停止执行所述区块链任务。
8.一种报文处理方法,其特征在于,所述方法包括:
网关设备响应于存储请求,生成第一内部网关协议IGP报文,所述第一IGP报文包括第一字段,所述第一字段用于指示执行区块链任务,所述区块链任务是区块链网络的共识机制对应的计算任务;
所述网关设备发送所述第一IGP报文。
9.根据权利要求8所述的方法,其特征在于,所述网关设备发送所述第一IGP报文,包括:
所述网关设备在IGP域中广播所述第一IGP报文,所述IGP域包括多个网络设备。
10.根据权利要求8或9所述的方法,其特征在于,所述网关设备的第一接口被配置为接收所述存储请求,所述网关设备的第二接口被配置为接收执行所述区块链任务所需的共识算法,所述网关设备的第三接口被配置为给所述区块链任务分配算力,所述网关设备的第四接口被配置为处理IGP报文。
11.根据权利要求8或9所述的方法,其特征在于,所述方法还包括:
所述网关设备获取所述共识机制的输入数据;
所述网关设备根据所述输入数据,执行所述区块链任务。
12.根据权利要求8或9所述的方法,其特征在于,所述网关设备发送所述第一IGP报文之后,所述方法还包括:
所述网关设备接收第二IGP报文,所述第二IGP报文包括网络设备执行所述区块链任务得到的区块;
所述网关设备对所述区块进行验证;
若所述区块验证通过且经过共识,所述网关设备将所述区块存储至区块链上。
13.根据权利要求8或9所述的方法,其特征在于,所述第一IGP报文包括链路状态广播LSA头,所述LSA头包括链路状态LS类型字段,所述第一字段包括所述LS类型字段;或者,
所述第一IGP报文包括链路状态报文协议数据单元LSP PDU类型字段,所述第一字段包括所述LSP PDU类型字段。
14.一种第一网络设备,其特征在于,包括:
接收单元,用于接收第一内部网关协议IGP报文,所述第一IGP报文包括第一字段,所述第一字段用于指示执行区块链任务,所述区块链任务是区块链网络的共识机制对应的计算任务,所述区块链网络包括所述第一网络设备;
处理单元,用于根据所述第一IGP报文,获取所述共识机制的输入数据;
所述处理单元,用于根据所述输入数据,执行所述区块链任务。
15.根据权利要求14所述的第一网络设备,其特征在于,所述第一IGP报文包括链路状态广播LSA头,所述LSA头包括链路状态LS类型字段,所述第一字段包括所述LS类型字段;或者,
所述第一IGP报文包括链路状态报文协议数据单元LSP PDU类型字段,所述第一字段包括所述LSP PDU类型字段。
16.根据权利要求14或15所述的第一网络设备,其特征在于,所述处理单元用于根据所述第一网络设备的中央处理器CPU利用率小于阈值,确定执行所述区块链任务。
17.根据权利要求14或15所述的第一网络设备,其特征在于,所述第一网络设备还包括:
广播单元,用于在IGP域中广播所述第一IGP报文,所述IGP域包括所述第一网络设备和第二网络设备。
18.根据权利要求14或15所述的第一网络设备,其特征在于,所述处理单元,用于生成第二IGP报文,所述第二IGP报文包括所述第一网络设备执行所述区块链任务得到的第一区块;
所述第一网络设备还包括:广播单元,用于在IGP域中广播所述第二IGP报文。
19.根据权利要求14或15所述的第一网络设备,其特征在于,
所述接收单元,还用于从IGP域中的第二网络设备接收第三IGP报文,所述第三IGP报文包括所述第二网络设备执行所述区块链任务得到的第二区块;
所述处理单元,用于对所述第二区块进行验证;
所述处理单元,用于若所述第二区块验证通过且经过共识,将所述第二区块存储至区块链上。
20.根据权利要求14所述的第一网络设备,其特征在于,所述处理单元,用于若所述第一网络设备的CPU利用率大于阈值,停止执行所述区块链任务。
21.一种网关设备,其特征在于,包括:
处理单元,用于响应于存储请求,生成第一内部网关协议IGP报文,所述第一IGP报文包括第一字段,所述第一字段用于指示执行区块链任务,所述区块链任务是区块链网络的共识机制对应的计算任务;
发送单元,用于发送所述第一IGP报文。
22.根据权利要求21所述的网关设备,其特征在于,所述发送单元,用于在IGP域中广播所述第一IGP报文,所述IGP域包括多个网络设备。
23.根据权利要求21或22所述的网关设备,其特征在于,所述网关设备的第一接口被配置为接收所述存储请求,所述网关设备的第二接口被配置为接收执行所述区块链任务所需的共识算法,所述网关设备的第三接口被配置为给所述区块链任务分配算力,所述网关设备的第四接口被配置为处理IGP报文。
24.根据权利要求21或22所述的网关设备,其特征在于,所述处理单元用于获取所述共识机制的输入数据;
所述处理单元,用于根据所述输入数据,执行所述区块链任务。
25.根据权利要求21或22所述的网关设备,其特征在于,所述网关设备还包括:
接收单元,用于接收第二IGP报文,所述第二IGP报文包括网络设备执行所述区块链任务得到的区块;
所述处理单元,用于对所述区块进行验证;
所述处理单元,用于若所述区块验证通过且经过共识,将所述区块存储至区块链上。
26.根据权利要求21或22所述的网关设备,其特征在于,所述第一IGP报文包括链路状态广播LSA头,所述LSA头包括链路状态LS类型字段,所述第一字段包括所述LS类型字段;或者,
所述第一IGP报文包括链路状态报文协议数据单元LSP PDU类型字段,所述第一字段包括所述LSP PDU类型字段。
27.一种网络系统,其特征在于,所述系统包括网络设备和网关设备,所述网络设备为权利要求14至20任一项的所述第一网络设备,所述网关设备为权利要求21至26任一项的所述网关设备。
CN202010496892.4A 2020-06-03 2020-06-03 报文处理方法、设备、系统及存储介质 Active CN113765956B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010496892.4A CN113765956B (zh) 2020-06-03 2020-06-03 报文处理方法、设备、系统及存储介质
PCT/CN2021/091881 WO2021244206A1 (zh) 2020-06-03 2021-05-06 报文处理方法、设备、系统及存储介质
EP21175907.1A EP3920478B1 (en) 2020-06-03 2021-05-26 Interior gateway protocol and blockchain
US17/336,439 US11616706B2 (en) 2020-06-03 2021-06-02 Packet processing method and device designed for blockchain tasks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010496892.4A CN113765956B (zh) 2020-06-03 2020-06-03 报文处理方法、设备、系统及存储介质

Publications (2)

Publication Number Publication Date
CN113765956A CN113765956A (zh) 2021-12-07
CN113765956B true CN113765956B (zh) 2024-05-24

Family

ID=76137952

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010496892.4A Active CN113765956B (zh) 2020-06-03 2020-06-03 报文处理方法、设备、系统及存储介质

Country Status (4)

Country Link
US (1) US11616706B2 (zh)
EP (1) EP3920478B1 (zh)
CN (1) CN113765956B (zh)
WO (1) WO2021244206A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113919846B (zh) * 2021-12-15 2022-03-08 腾讯科技(深圳)有限公司 区块链节点动态分组方法、装置、计算机设备和存储介质
CN115208956B (zh) * 2022-06-23 2023-06-02 北京链道科技有限公司 区块链网关的实现方法
CN116074390B (zh) * 2022-12-09 2024-10-18 重庆大学 一种新能源算力网络感知与路由的系统和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109698792A (zh) * 2018-12-27 2019-04-30 四川灵通电讯有限公司 路由器节点之间的通信方法及其切换方法
CN110266655A (zh) * 2019-05-30 2019-09-20 中国工商银行股份有限公司 一种基于区块链的跨链互联方法、设备以及系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7254111B2 (en) * 2001-10-05 2007-08-07 Samsung Electronics Co., Ltd. Routing coordination protocol for a massively parallel router architecture
US7600255B1 (en) * 2004-04-14 2009-10-06 Cisco Technology, Inc. Preventing network denial of service attacks using an accumulated proof-of-work approach
US8488491B2 (en) * 2009-11-12 2013-07-16 Cisco Technology, Inc. Compressed virtual routing and forwarding in a communications network
WO2013052893A1 (en) * 2011-10-07 2013-04-11 Huawei Technologies Co., Ltd. Simple topology transparent zoning in network communications
US20170236120A1 (en) * 2016-02-11 2017-08-17 Oracle International Corporation Accountability and Trust in Distributed Ledger Systems
US11223598B2 (en) * 2016-05-03 2022-01-11 Nokia Of America Corporation Internet security
CN107231299A (zh) * 2017-06-07 2017-10-03 众安信息技术服务有限公司 一种链路由及实现区块链跨链通信的系统
US11281644B2 (en) * 2017-07-28 2022-03-22 Hitachi, Ltd. Blockchain logging of data from multiple systems
US20190058709A1 (en) * 2017-08-16 2019-02-21 Telefonaktiebolaget Lm Ericsson (Publ) Tenant management method and system in a cloud computing environment
US10997125B2 (en) * 2017-11-29 2021-05-04 Technion Research & Development Foundation Limited Proof of lottery (PoL) blockchain
CN109165092B (zh) * 2018-07-10 2021-07-20 矩阵元技术(深圳)有限公司 一种基于有效算力贡献的共识方法、装置及系统
CN111082922B (zh) * 2018-10-18 2021-11-19 北京天能博信息科技有限公司 一种区块链的数据处理方法及相关设备
EP3878161B1 (en) * 2018-11-08 2023-05-31 Iagon As Intelligent, decentralized and autonomous marketplace for distributed computing and storage
US20200186458A1 (en) * 2018-12-06 2020-06-11 T-Mobile Usa, Inc. Autonomous system route validation via blockchain
US20200236031A1 (en) * 2019-01-23 2020-07-23 Hewlett Packard Enterprise Development Lp Blockchain Routing Protocols
US20200236032A1 (en) * 2019-01-23 2020-07-23 Hewlett Packard Enterprise Development Lp Blockchain Routing Protocols

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109698792A (zh) * 2018-12-27 2019-04-30 四川灵通电讯有限公司 路由器节点之间的通信方法及其切换方法
CN110266655A (zh) * 2019-05-30 2019-09-20 中国工商银行股份有限公司 一种基于区块链的跨链互联方法、设备以及系统

Also Published As

Publication number Publication date
EP3920478B1 (en) 2024-07-31
US11616706B2 (en) 2023-03-28
WO2021244206A1 (zh) 2021-12-09
US20210385140A1 (en) 2021-12-09
CN113765956A (zh) 2021-12-07
EP3920478A1 (en) 2021-12-08

Similar Documents

Publication Publication Date Title
CN113765956B (zh) 报文处理方法、设备、系统及存储介质
US8358662B2 (en) Creating and maintaining traffic engineered database for path computation element
CN114465943B (zh) 拓扑信息的发布方法、网络拓扑收集方法及设备
US20230231795A1 (en) Method for Synchronizing Topology Information in SFC Network, and Routing Network Element
CN112787939B (zh) 路径转发表更新方法及装置
US20230269164A1 (en) Method and apparatus for sending route calculation information, device, and storage medium
CN114650255B (zh) 报文处理方法及网络设备
CN108900422B (zh) 组播转发方法、装置及电子设备
Yuan et al. Disaggregated optical data center in a box network using parallel OCS topologies
CN114006854B (zh) 通信方法及网络设备
WO2021219049A1 (zh) 一种信息上报方法、信息处理方法、装置及设备
WO2022194193A1 (zh) 用于获取路径的方法和装置
CN114025025B (zh) SRv6 SID的发布方法及网络设备
WO2023169364A1 (zh) 路由生成方法、数据报文的转发方法及装置
CN114079670B (zh) 传输路由信息的方法、装置和通信系统
CN112769698B (zh) 一种路由实现方法和装置
WO2024109045A1 (zh) 路由更新方法、装置、设备及存储介质
CN114629834B (zh) 通信方法及装置
CN114422435A (zh) 接口地址的通告方法、网络设备可达性的校验方法及设备
Essah et al. Performance Comparison of OSPFV3 and EIGRP with IPv6 Network
EP4210290A1 (en) Packet transmission method and apparatus
CN116781618A (zh) 路由生成方法、数据报文的转发方法及装置
CN116319514A (zh) 一种数据处理方法和相关装置
Zhao et al. LSC 2: An extended link state protocol with centralized control
CN116980952A (zh) 跨分段网络的故障检测方法、通信系统及相关装置

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