WO2020168954A1 - 区块链节点连接建立方法、装置及设备 - Google Patents

区块链节点连接建立方法、装置及设备 Download PDF

Info

Publication number
WO2020168954A1
WO2020168954A1 PCT/CN2020/074848 CN2020074848W WO2020168954A1 WO 2020168954 A1 WO2020168954 A1 WO 2020168954A1 CN 2020074848 W CN2020074848 W CN 2020074848W WO 2020168954 A1 WO2020168954 A1 WO 2020168954A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
address information
router
message
autonomous domain
Prior art date
Application number
PCT/CN2020/074848
Other languages
English (en)
French (fr)
Inventor
杨飞
杨雪
刘冰洋
魏鑫鹏
任首首
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP20758912.8A priority Critical patent/EP3783868B1/en
Publication of WO2020168954A1 publication Critical patent/WO2020168954A1/zh
Priority to US17/099,382 priority patent/US20210075590A1/en

Links

Images

Classifications

    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0618Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
    • H04L9/0637Modes of operation, e.g. cipher block chaining [CBC], electronic codebook [ECB] or Galois/counter mode [GCM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/10Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
    • 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
    • H04L45/021Ensuring consistency of routing table updates, e.g. by using epoch numbers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/44Distributed routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • 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/3263Cryptographic 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 involving certificates, e.g. public key certificate [PKC] or attribute certificate [AC]; Public key infrastructure [PKI] arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/618Details of network addresses
    • H04L2101/622Layer-2 addresses, e.g. medium access control [MAC] addresses
    • 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

Definitions

  • This application relates to the field of communication technology, and in particular to a method, device and equipment for establishing a blockchain node connection.
  • a blockchain system can be constructed through a variety of technologies (such as Ethereum technology, etc.).
  • the blockchain system includes multiple blockchain nodes (hereinafter referred to as nodes), and the nodes may include a node list (NodeTable), and the node may add the nodes that have been recently contacted and reachable to the node list. After the node is started, the node can establish a connection with the nodes in the node list.
  • nodes may include a node list (NodeTable), and the node may add the nodes that have been recently contacted and reachable to the node list. After the node is started, the node can establish a connection with the nodes in the node list.
  • multiple attacking nodes can repeatedly send a connection request to a node, so that the node adds the attacking node to the node list, so that after the node is started, all outgoing connections of the node are Connecting to the attacking node makes the node surrounded by the attacking node, that is, the nodes that are connected to the node are all attacking nodes, so that the node is controlled by the attacking node, resulting in poor communication security.
  • the present application provides a method, device and equipment for establishing a blockchain node connection, which improves the security of blockchain communication.
  • an embodiment of the present application provides a method for establishing a blockchain node connection.
  • the method is applied to a blockchain system.
  • the method may include: a first node obtains address information of a second node from a first router, and according to The address information of the second node to establish a connection with the second node; among them, the first router and the first node are located in the first autonomous domain, the second node is located in the second autonomous domain, and the first and second autonomous domains are neighbor autonomy area.
  • the first node first obtains the address information of the second node in the second autonomous domain (the first autonomous domain and the second autonomous domain are neighbors), And establish a connection with the second node according to the address information of the second node. Since the first autonomous domain and the second autonomous domain are neighbors, the second node in the second autonomous domain is a non-attack node, so that the first node can be connected to at least one non-attack node, thereby avoiding establishing a connection with the first node The connected nodes are all attacking nodes, thereby preventing the first node from being controlled by the attacking node and improving the security of blockchain communication.
  • that the first node obtains the address information of the second node from the first router includes: the first node receives a first message from the first router, and the first message includes the address information of the second node.
  • a message is one of a border gateway protocol BGP message, a resource public key infrastructure to router interface protocol RTR message, or a custom interface message.
  • the existing BGP open message can be extended, so that the BGP open message can indicate whether the device sending the BGP open message has the ability to carry the address information of the node.
  • the BGP update message can carry the address information of the node, so that the first node in the first AS can obtain the address information of the second node in the second AS through the BGP update message, so that The first node may first establish a connection with the second node according to the address information of the second node. Only by extending the existing BGP message can the BGP message have the ability to carry address information, so that the security of blockchain communication can be improved with minor changes to the existing scheme.
  • the first node in the first AS can obtain the address information of the second node in the second AS through the RTR message (RTR content message), thereby making The first node may first establish a connection with the second node according to the address information of the second node.
  • the first node in the first AS can obtain the address information of the second node in the second AS through the custom interface message, so that the first node The node may first establish a connection with the second node according to the address information of the second node.
  • the first router after the first router obtains the address information of the second node, it can send the address information of the second node to the first node, so that the first node can obtain the address information of the second node in time.
  • the method before the first node receives the first message from the first router, the method further includes: the first node sends a request message to the first router, and the request message is used to request to obtain the neighbor autonomous domain of the first autonomous domain The address information of the node in.
  • the first node when the first node needs to use the address information of the second node, the first node obtains the address information of the second node from the first router through the request message, avoiding unnecessary information transmission by the first router, and then Avoid the waste of signaling.
  • the address information of the first node includes at least one of the identity of the first node, the IP address of the first node, the MAC address of the first node, or the blockchain account number of the first node;
  • the address information of the second node includes at least one of the identification of the second node, the IP address of the second node, the MAC address of the second node, or the blockchain account number of the second node.
  • the first node may also send the address information of the first node to the first router.
  • the first router can obtain the address information of the first node, and send the address information of the first node to the router in the neighbor autonomous domain of the first autonomous domain, so that the router in the neighbor autonomous domain of the first autonomous domain can Obtain the address information of the first node in time.
  • the sending, by the first node, the address information of the first node to the first router includes: sending a second message by the first node to the first router, and The second message includes the address information of the first node, and the second message is one of a BGP message, an RTR message, or a custom interface message.
  • the method before the first node establishes a connection with the second node according to the address information of the second node, the method includes: the first node adds the address information of the second node to the neighbor list of the first node;
  • the first node establishing a connection with the second node according to the address information of the second node includes: the first node establishing a connection with the second node according to the address information in the neighbor list.
  • the neighbor list includes the address information of the node in the neighbor autonomous domain of the first autonomous domain. Therefore, the first node can communicate with the node in the neighbor autonomous domain of the first autonomous domain according to the address information in the neighbor list.
  • the connection is established, and the node in the neighboring autonomous domain of the first autonomous domain is a non-attack node. Therefore, the connection between the first node and the non-attack node can be established, which improves the security of blockchain communication.
  • the method further includes: the first node establishes a connection with the third node, and obtains the first valid from the third node. Node list; the first node obtains the second legal node list from the second node; the first node determines the target legal node list in the first legal node list and the second legal node list, and performs node discovery according to the target legal node list.
  • the third node may be an endorsing node.
  • an embodiment of the present application provides a method for establishing a blockchain node connection, which is applied to a blockchain system.
  • the method includes: a first router obtains address information of a second node, and the second node is located in a second autonomous domain; The first router sends the address information of the second node to the first node, the first router and the first node are located in the first autonomous domain, and the first autonomous domain and the second autonomous domain are neighboring autonomous domains.
  • the first node first obtains the address information of the second node in the second autonomous domain (the first autonomous domain and the second autonomous domain are neighbors), And establish a connection with the second node according to the address information of the second node. Since the first autonomous domain and the second autonomous domain are neighbors, the second node in the second autonomous domain is a non-attack node, so that the first node can be connected to at least one non-attack node, thereby avoiding establishing a connection with the first node The connected nodes are all attacking nodes, thereby preventing the first node from being controlled by the attacking node and improving the security of blockchain communication.
  • the first router sending the address information of the second node to the first node includes: the first router sends a first message to the first node, and the first message includes the address information of the second node.
  • a message is one of a border gateway protocol BGP message, a resource public key infrastructure to router interface protocol RTR message, or a custom interface message.
  • the existing BGP open message can be extended, so that the BGP open message can indicate whether the device sending the BGP open message has the ability to carry the address information of the node.
  • the BGP update message can carry the address information of the node, so that the first node in the first AS can obtain the address information of the second node in the second AS through the BGP update message, so that The first node may first establish a connection with the second node according to the address information of the second node. Only by extending the existing BGP message can the BGP message have the ability to carry address information, so that the security of blockchain communication can be improved with minor changes to the existing scheme.
  • the first node in the first AS can obtain the address information of the second node in the second AS through the RTR message (RTR content message), thereby making The first node may first establish a connection with the second node according to the address information of the second node.
  • the first node in the first AS can obtain the address information of the second node in the second AS through the custom interface message, so that the first node The node may first establish a connection with the second node according to the address information of the second node.
  • the first router after the first router obtains the address information of the second node, it can send the address information of the second node to the first node, so that the first node can obtain the address information of the second node in time.
  • the method before the first router sends the first message to the first node, the method further includes: the first router receives a first request message sent by the first node, and the first request message is used to request to obtain the first autonomy The address information of the node in the neighboring autonomous domain of the domain.
  • the first message is sent to the first node only after the first router receives the first message sent by the first node, so as to prevent the first router from sending unnecessary information, thereby avoiding the waste of signaling.
  • acquiring the address information of the second node by the first router includes: the first router receives a first Border Gateway Protocol BGP message from the second router, and the first BGP message includes address information of the second node , The second router is located in the second autonomous domain.
  • the method before the first router sends the address information to the first node, the method further includes: an autonomous domain path length for the first router to obtain the address information, and the autonomous domain path length is used to indicate that the first router receives the address information When the address information passes through the number of autonomous domains; the first router determines that the length of the autonomous domain path of the address information is 1.
  • the first router determines that the path length of the autonomous domain of the address information is 1, it can ensure that the address information is the address information of the node in the neighboring autonomous domain of the first autonomous domain, and then it can be determined that the first node is based on the address information It is possible to establish a connection with a node in the neighboring autonomous domain of the first autonomous domain.
  • the first router receives a second message sent by the first node, the second message includes the address information of the first node, and the second message is a BGP message, resource public key infrastructure to router interface protocol RTR At least one of a message or a custom interface message.
  • the address information of the first node includes at least one of the identity of the first node, the IP address of the first node, the MAC address of the first node, or the blockchain account number of the first node;
  • the address information of the second node includes at least one of the identification of the second node, the IP address of the second node, the MAC address of the second node, or the blockchain account number of the second node.
  • the method before the first router receives the second message sent by the first node, the method further includes: sending a second request message by the first router to the first node, and The second request message is used to request to obtain the address information of the first node.
  • the method further includes: the first router sends a second BGP to the second router Message, the second BGP message includes address information of the first node.
  • an embodiment of the present application provides a method for establishing a blockchain node connection.
  • the method includes: a first node obtains address information of a second node, and adds the address information of the second node to the neighbor list of the first node In; After the first node starts, the first node establishes a connection with the second node according to the address information in the neighbor list.
  • the neighbor list includes the address information of the node in the neighbor autonomous domain of the first autonomous domain. Therefore, the first node can communicate with the node in the neighbor autonomous domain of the first autonomous domain according to the address information in the neighbor list.
  • the connection is established, and the node in the neighboring autonomous domain of the first autonomous domain is a non-attack node. Therefore, the connection between the first node and the non-attack node can be established, which improves the security of blockchain communication.
  • the first node may also obtain address information of other nodes in the neighbor autonomous domain of the first autonomous domain, and update the neighbor list according to the address information of other nodes.
  • the neighbor list can include the address information of multiple nodes in the neighbor autonomous domain of the first autonomous domain.
  • the first node after the first node establishes a connection with the second node based on the address information in the neighbor list, the first node can also perform node discovery based on the node information in the node list, and communicate with the discovered node establish connection.
  • the process for the first node to obtain the address information of the second node can refer to the first aspect, and details are not described herein again.
  • an embodiment of the present application provides a method for establishing a blockchain node connection.
  • the method includes: a first node obtains address information of a second node, and establishes a connection with the second node according to the address information of the second node.
  • a node establishes a connection with a third node, and obtains the first legal node list from the third node; the first node obtains the second legal node list from the second node; the first node is in the first legal node list and the second legal node list Determine the target legal node list in the, and perform node discovery according to the target legal node list.
  • the third node may be an endorsing node.
  • the process for the first node to obtain the address information of the second node can refer to the first aspect, and details are not described here.
  • an embodiment of the present application provides a block chain node connection establishment device, which is applied to a first node in a block chain system, and the device includes:
  • the receiving module is configured to obtain address information of a second node from a first router, the first router and the first node are located in a first autonomous domain, the second node is located in a second autonomous domain, and the first autonomous Domain and the second autonomous domain are neighbor autonomous domains;
  • the processing module is configured to establish a connection with the second node according to the address information of the second node.
  • the receiving module is specifically configured to receive a first message from the first router, the first message includes address information of the second node, and the first message is a boundary One of gateway protocol BGP messages, resource public key infrastructure to router interface protocol RTR messages, or custom interface messages.
  • the device further includes a sending module, wherein:
  • the sending module is configured to send a request message to the first router before the receiving module receives the first message from the first router, where the request message is used to request to obtain neighbors in the first autonomous domain Address information of nodes in the autonomous domain.
  • the address information of the first node includes the identifier of the first node, the IP address of the first node, the MAC address of the first node, or the address of the first node. At least one of the blockchain accounts;
  • the address information of the second node includes at least one of the identification of the second node, the IP address of the second node, the MAC address of the second node, or the blockchain account number of the second node .
  • the processing module before the processing module establishes a connection with the second node according to the address information of the second node, the processing module is further configured to convert the address of the second node Information is added to the neighbor list of the first node;
  • the processing module is specifically configured to establish a connection with the second node according to the address information in the neighbor list.
  • the processing module is further configured to:
  • the sending module is further configured to send the address information of the first node to the first router.
  • the sending module is specifically configured to send a second message to the first router, where the second message includes address information of the first node, and the second message is BGP One of message, RTR message, or custom interface message.
  • an embodiment of the present application provides a block chain node connection establishment device, which is applied to a first router in a block chain system, and the device includes:
  • a receiving module configured to obtain address information of a second node, where the second node is located in a second autonomous domain
  • a sending module configured to send address information of the second node to the first node, the first router and the first node are located in a first autonomous domain, and the first autonomous domain and the second autonomous domain The domain is a neighbor autonomous domain.
  • the sending module is specifically configured to send a first message to the first node, where the first message includes address information of the second node, and the first message is a boundary One of gateway protocol BGP messages, resource public key infrastructure to router interface protocol RTR messages, or custom interface messages.
  • the receiving module is further configured to receive a first request message sent by the first node before the sending module sends the first message to the first node.
  • a request message is used to request to obtain the address information of the node in the neighboring autonomous domain of the first autonomous domain.
  • the receiving module is specifically configured to receive a first Border Gateway Protocol BGP message from a second router, where the first BGP message includes address information of the second node, and the first The second router is located in the second autonomous domain.
  • the device further includes a processing module, wherein:
  • the processing module is configured to obtain the autonomous domain path length of the address information before the sending module sends the address information to the first node, and determine that the autonomous domain path length of the address information is 1,
  • the path length of the autonomous domain is used to indicate the number of autonomous domains through which the address information passes when the first router receives the address information.
  • the receiving module is further configured to receive a second message sent by the first node, where the second message includes address information of the first node, and the second message is At least one of BGP message, resource public key infrastructure to router interface protocol RTR message, or custom interface message.
  • the address information of the first node includes the identifier of the first node, the IP address of the first node, the MAC address of the first node, or the address of the first node. At least one of the blockchain accounts;
  • the address information of the second node includes at least one of the identification of the second node, the IP address of the second node, the MAC address of the second node, or the blockchain account number of the second node .
  • the sending module is further configured to send a second request message to the first node before the receiving module receives the second message sent by the first node.
  • the second request message is used to request to obtain the address information of the first node.
  • the sending module is further configured to, after the receiving module receives the address information of the first node sent by the first node, send a second BGP to the second router Message, the second BGP message includes address information of the first node.
  • an embodiment of the present application provides an apparatus for establishing a blockchain node connection, including a memory and a processor, and the processor executes program instructions in the memory to implement the method described in any one of the first aspect.
  • Block chain node connection establishment method
  • an embodiment of the present application provides an apparatus for establishing a blockchain node connection, including a memory and a processor, and the processor executes the program instructions in the memory to implement any one of the second aspect Block chain node connection establishment method.
  • embodiments of the present application provide a computer-readable storage medium, the storage medium is used to store a computer program, and when the computer program is executed by a computer or a processor, it is used to implement the blockchain described in the above aspects. Node connection establishment method.
  • the embodiments of the present application provide a computer program product containing instructions, which when run on a computer, cause the computer to execute the blockchain node connection establishment method described in the above aspects.
  • the first node first obtains the second AS (the first AS and the second AS are neighbors) And establish a connection with the second node according to the address information of the second node. Since the first AS and the second AS are neighbors, the second node in the second AS is a non-attack node, so that the first node can be connected to at least one non-attack node, thereby avoiding a node that establishes a connection with the first node They are all attacking nodes, which prevents the first node from being controlled by the attacking node and improves the security of blockchain communication.
  • Figure 1 is a system architecture diagram provided by an embodiment of the application
  • FIG. 2 is a schematic flowchart of a method for establishing a blockchain node connection provided by an embodiment of the application
  • FIG. 3 is a schematic diagram of the structure of a BGP update message provided by an embodiment of the application.
  • FIG. 4 is a schematic flowchart of another method for establishing a blockchain node connection provided by an embodiment of the application
  • FIG. 5 is a schematic diagram of message forwarding provided by an embodiment of the application.
  • FIG. 6 is a schematic structural diagram of a BGP open message provided by an embodiment of the application.
  • FIG. 7 is a schematic diagram of a node connection establishment process provided by an embodiment of the application.
  • FIG. 8 is a schematic flowchart of another method for establishing a blockchain node connection provided by an embodiment of the application.
  • FIG. 9 is a schematic structural diagram of a message provided by an embodiment of this application.
  • FIG. 10 is a schematic structural diagram of another message provided by an embodiment of this application.
  • FIG. 11 is a schematic structural diagram of another message provided by an embodiment of this application.
  • FIG. 12 is a schematic flowchart of yet another method for establishing a blockchain node connection provided by an embodiment of the application.
  • FIG. 13 is a schematic flowchart of yet another method for establishing a blockchain node connection provided by an embodiment of the application.
  • FIG. 14 is a schematic diagram of the node connection establishment process provided by this application.
  • FIG. 15 is a schematic flowchart of yet another method for establishing a blockchain node connection provided by an embodiment of the application.
  • FIG. 16 is a schematic structural diagram of a block chain node connection establishment device provided by an embodiment of the application.
  • FIG. 17 is a schematic structural diagram of another block chain node connection establishment device provided by an embodiment of the application.
  • FIG. 18 is a schematic structural diagram of another device for establishing a connection between blockchain nodes according to an embodiment of the application.
  • FIG. 19 is a schematic structural diagram of yet another block chain node connection establishment device provided by an embodiment of this application.
  • FIG. 20 is a schematic diagram of the hardware structure of a block chain node connection establishment device provided by this application.
  • FIG. 21 is a schematic diagram of the hardware structure of another device for establishing a block chain node connection provided by this application.
  • Figure 1 is a system architecture diagram provided by an embodiment of the application. Please refer to Figure 1. It includes multiple autonomous domains (Autonomous System, AS). Each AS is provided with at least one blockchain node (hereinafter referred to as node) and at least one Border router.
  • AS Autonomous System
  • the node involved in this application may be a server provided by an Internet Service Provider (ISP).
  • ISP Internet Service Provider
  • the border router is a router set at the edge of the AS, and the border router can communicate with border routers in other ASs.
  • Router G12 and router G13 in AS1 are border routers
  • router G22 and router G23 in AS2 are border routers
  • router G31 and router G32 in AS3 are border routers
  • G41 and G42 in AS4 are Border router.
  • An AS may also include a route reflector, and the route reflector can forward messages between nodes and border routers in the AS.
  • AS1 includes a route reflector G11
  • AS2 includes a route reflector G21. It should be noted that in an AS, a node can directly communicate with the border router, or it can communicate with the border router through a route reflector.
  • the neighbor relationship between different ASs can be configured.
  • the neighbor relationship between the ASs can be configured in advance, or the border routers in different ASs can also negotiate to configure the neighbor relationship between the ASs.
  • one or more neighboring ASs can be configured for an AS. If two ASs are configured as neighbors, the nodes in one AS and the nodes in the other AS are neighbors. For the nodes in any AS, the nodes in the neighboring AS of the AS can be considered non-attack nodes. For example, AS1 and AS2 are neighbors, then for the nodes in AS1, the nodes in AS2 are non-attack nodes.
  • the border routers in different ASs can be configured to realize the configuration of neighbor relationships in different ASs.
  • AS1 includes border router 1
  • AS2 includes border router 2
  • the first node first obtains the address information of the second node in the second AS (the first AS and the second AS are neighbors), and according to the second The address information of the node establishes a connection with the second node. Since the first AS and the second AS are neighbors, the second node in the second AS is a non-attack node, so that the first node can be connected to at least one non-attack node, thereby avoiding a node that establishes a connection with the first node They are all attacking nodes, which prevents the first node from being controlled by the attacking node and improves the security of blockchain communication.
  • the first router and the first node are provided in the first AS
  • the second router and the second node are provided in the second AS
  • the first AS and the second AS are Take a neighbor as an example.
  • FIG. 2 is a schematic flowchart of a method for establishing a blockchain node connection provided by an embodiment of the application. See Figure 2.
  • the method can include:
  • the first router obtains address information of the second node.
  • the second node is located in the second AS, and the second node is any started node in the second AS.
  • the first router may be a border router in the first AS.
  • the address information of the second node includes at least one of an identifier of the second node, an IP address of the second node, a MAC address of the second node, or a blockchain account number of the second node.
  • the identity of the second node may be an identity (Identification, ID) of the second node.
  • the address information of the second node may include the identity of the second node and the IP address of the second node, or the address information of the second node may include the identity of the second node , The IP address of the second node and the blockchain account number of the second node.
  • the first router may obtain the address information of the second node from the second router.
  • the second router may be a border router of the second AS.
  • the address of the first router can be added to the second router.
  • the second router can send the address of the second node to the first router according to the address of the first router. information.
  • the first router may receive a Border Gateway Protocol (BGP) message sent by the second router, where the BGP message includes the address information of the second node.
  • BGP Border Gateway Protocol
  • the existing BGP update message (update) can be extended, so that the BGP update message carries address information.
  • the first router may receive the BGP update message sent by the second router, and the BGP update message includes the address information of the second node.
  • FIG. 3 is a schematic diagram of the structure of a BGP update message provided by an embodiment of the application.
  • the BGP update message includes AS-Path, Origin, Multiprotocol Reachable Network Layer Reachable Information (MP_REACH_NLRI)/Multiprotocol Network Layer Reachable Information (Multiprotocol) Unreachable Network Layer Reachable Information, MP_UNREACH_NLRI) attributes, where MP_REACH_NLRI/MP_UNREACH_NLRI attributes include Address Family Identifier (AFI), Subsequent Address Family Identifier (SAFI), next length, reserved bits Autonomous Domain Information Network Layer Reachable Information (Autonomous System Information_Network Layer Reachable Information, ASINFO_NLRI), where ASINFO_NLRI is an attribute extended in existing BGP update messages for this application, and this extended attribute enables BGP messages to carry the information of nodes Address information.
  • MP_REACH_NLRI Multiprotocol Reachable Network Layer Reachable Information
  • MP_UNREACH_NLRI Multiprotocol Network Layer Reachable Information
  • the DII_BC_ACCOUNTINFO attribute is defined in the extended ASINFO_NLRI, and the DII_BC_ACCOUNTINFO attribute includes the address information of the node.
  • the address information of the node includes at least one of the identification of the node, the IP address of the node, the MAC address of the node, or the blockchain account number of the node.
  • the first router can obtain multiple nodes from multiple routers. Address information.
  • AS1 includes router 1 and node 1
  • AS2 includes router 2 and node 2
  • AS3 includes router 3 and node 3.
  • AS1 and AS2 are neighbors
  • AS1 and AS3 are neighbors
  • the address of router 1 is added to router 2 as the router address corresponding to the neighboring AS
  • the address of router 1 is also added to router 3 as the router address of the neighboring AS.
  • router 1 can obtain the address information of node 2 from router 2
  • router 2 can also obtain the address information of node 3 from router 3.
  • S202 The first router sends the address information of the second node to the first node.
  • the first router and the first node are both located in the first AS.
  • the first router may directly send the address information of the second node to the first node, or the first router may send the first node to the first node through other routers in the first AS. Address information of the second node.
  • the first router may cache the address information of the second node, and send the address information of the second node to the first node after the first node is started next time. Since the first node sends a message indicating the startup of the first node to the first router after startup, the first router may send the address information of the second node to the first node after receiving the message.
  • the first router may actively send the address information of the second node to the first node.
  • the first router may also send the address information of the second node to the first node after receiving the request message of the first node.
  • S203 The first node establishes a connection with the second node according to the address information of the second node.
  • the first node may send a connection establishment request to the second node according to the address information of the second node, so as to establish a connection with the second node.
  • the first node may also establish a connection with other nodes.
  • the first node may request to establish a connection with other nodes according to its stored node list (NodeTable), or the first node may also receive connection requests sent by other nodes to establish a connection with other nodes.
  • NodeTable stored node list
  • the first node first obtains the second in the second AS (the first AS and the second AS are neighbors) And establish a connection with the second node according to the address information of the second node. Since the first AS and the second AS are neighbors, the second node in the second AS is a non-attack node, so that the first node can be connected to at least one non-attack node, thereby avoiding a node that establishes a connection with the first node They are all attacking nodes, which prevents the first node from being controlled by the attacking node and improves the security of blockchain communication.
  • FIG. 4 is a schematic flowchart of another method for establishing a blockchain node connection provided by an embodiment of the application. Referring to Figure 4, the method may include:
  • the second router sends a first BGP update message to the first router.
  • the first BGP update message includes the address information of the second node.
  • the second node is currently in the started state.
  • the second router may actively send the first BGP update message to the first router after acquiring the address information of the second node.
  • the first BGP update message may include address information of multiple second nodes, or the second router may send multiple first BGP update messages to the first router, and each first BGP update message includes one The address information of the second node, in this way, enables the first router to obtain the address information of all the second nodes that are currently activated in the second AS.
  • the number of second routers may be one or more.
  • the multiple second routers may be located in different ASs, and the AS where each second router is located is a neighbor of the AS where the first router is located.
  • the first router is Router 1
  • the first router is located in AS1
  • the number of second routers is 2, namely Router 2 and Router 3
  • Router 2 is located in AS2
  • Router 3 is located in AS3
  • AS1 and AS2 are neighbors
  • AS1 and AS3 are also neighbors
  • router 2 can send the address information of the node in AS2 to router 1
  • router 3 can send the address information of the node in AS3 to router 1.
  • the first router caches the address information of the second node according to the first BGP update message.
  • the first router may obtain the address information of the second node in the first BGP update message, and cache the address information of the second node.
  • the first router may receive the first BGP update message sent by one or more second routers. If the first router receives the first BGP update message sent by multiple second routers, the first routers will respectively Cache the address information of the second node in each first BGP update message.
  • the first router may determine whether the second node is a node in a neighboring AS of the first AS according to the first BGP update message.
  • the first BGP update message includes the AS path
  • the first router may determine the AS path length according to the AS path.
  • the AS path length is used to indicate the number of autonomous domains that the first BGP update message passes through during transmission. If the AS path length is 1, it is determined that the second node is a node in the neighboring AS of the first AS. If the AS path length is greater than 1, it is determined that the second node is not a node in the neighboring AS of the first AS.
  • each time the BGP update message passes through an AS it will carry the identifier of the AS.
  • the first router may determine the path according to the number of AS identifiers included in the AS path in the first BGP update message. length.
  • the path length may be the number of AS identifiers included in the AS path.
  • Fig. 5 is a schematic diagram of message forwarding provided by an embodiment of the application. See Figure 5, including AS1, AS2, and AS3.
  • a node N1, a route reflector G11, and a router G12 are provided in AS1.
  • a node N2, a router G21, a route reflector G22, and a router G23 are arranged in AS2.
  • a node N3, a router G31, and a route reflector G32 are provided in AS3.
  • router G12 can first send a BGP update message to router G21, because The BGP update message is sent from AS1. Therefore, the AS path in the BGP update message includes the identifier of AS1, that is, the AS path is AS1. After router G21 receives the BGP update message, router G21 can determine that the path length is 1 according to the AS path (AS1).
  • the router G21 can send the BGP update message to the router G23 through the route reflector G22, and the router G23 sends the BGP update message to the router G31. Since the BGP update message at this time has passed AS2, the AS path of the BGP update message at this time also includes the identifier of AS2, that is, the AS path is: AS2, AS1, and the BGP update message is received at router G31 After that, the router G31 can determine that the path length is 2 according to the AS path (AS2, AS1).
  • the first router may directly send the address information of the second node to the node in the activated state in the first AS. If the first node in the first AS where the first router is located is not started, the first router may send the cached address information of the second node to the first node after the first node is started.
  • S404 The first node sends a first BGP Open (Open) message to the first router.
  • the first BGP open message includes indication information used to indicate that the first node has the ability to carry address information of the node.
  • the first BGP open message may also instruct the first node to start.
  • FIG. 6 is a schematic structural diagram of a BGP open message provided by an embodiment of the application.
  • the BGP open message includes AFI, reserved bits, and SAFI.
  • SAFI is an attribute extended in the existing BGP update message for this application.
  • the value of SAFI AsInfo can indicate that the device sending the BGP open message has The ability of the node's address information.
  • the first router sends a second BGP open message to the first node according to the first BGP open message.
  • the second BGP open message includes indication information used to indicate that the first router has the ability to carry the address information of the node.
  • the first node establishes an internal border gateway protocol (Internal Border Gateway Protocol, IBGP) connection with the first router according to the second BGP open message.
  • IBGP Internal Border Gateway Protocol
  • the first node when the first node has the ability to carry the address information of the node, and the first router also has the ability to carry the address information of the node, the first node establishes an IBGP connection with the first router.
  • the first node determines that the second BGP open message includes indication information for indicating that the first router has the ability to carry address information of the node
  • the first node establishes an IBGP connection with the first router.
  • the first node sends a second BGP update message to the first router.
  • the second BGP update message includes the address information of the first node.
  • S407 may be an optional step, that is, S407 may not be executed.
  • the first node may further send the second BGP update message to the first router after receiving the second request message sent by the first router.
  • the second request message is used to request to obtain the address information of the first node.
  • the first router sends a third BGP update message to the first node.
  • the third BGP update message includes the address information of the second node.
  • the first router may also send a third BGP update message to the first node after receiving the first request message sent by the first node.
  • the first request message is used to request to obtain the address information of the node in the neighbor AS (second AS) of the first AS.
  • S409 The first node establishes a connection with the second node according to the address information of the second node.
  • the first node may first add the address information of the second node to the neighbor list, and after the first node determines to obtain the neighbor list, it may first establish a connection with the corresponding node according to the address information in the neighbor list. Since the neighbor list includes the address information of the second node, the first node can establish a connection with the second node.
  • the first node may dynamically maintain the neighbor list, so that the second nodes in the neighbor list are all reachable (started state). For example, before a node in the neighbor list goes offline, the second node may send a offline notification to the first node through the second router and the first router, so that the first node deletes the address information of the node from the neighbor list. Or, every time the first node goes offline, the neighbor list is cleared. Or, when the first node does not receive a response after sending a connection request with one of the neighbor nodes, the first node determines that the node is in an inactive state, and deletes the address information of the node from the neighbor list. It should be noted that the above is only an example to illustrate the process of dynamic maintenance of the neighbor list by the first node, and this application does not specifically limit this.
  • the neighbor list of the first node may already include part of the address information in the third BGP update message.
  • the first node may no longer add the part of address information to the neighbor nodes to avoid The neighbor list includes duplicate address information.
  • the first router sends a fourth BGP update message to the second router.
  • the fourth BGP update message includes the address information of the first node.
  • the second router caches the address information of the first node.
  • the second router may send the address information of the first node to the second node.
  • S410-S411 may be optional steps, that is, S410-S411 may not be executed. In the actual application process, if S407 is executed, S410-S411 may also be executed, and if S407 is not executed, S410-S411 may not be executed.
  • the BGP open message can indicate whether the device sending the BGP open message has the ability to carry the address information of the node.
  • the BGP update message can carry the address information of the node, so that the first node in the first AS can obtain the address information of the second node in the second AS through the BGP update message, so that The first node may first establish a connection with the second node according to the address information of the second node.
  • the second node in the second AS is a non-attack node, so that the first node can be connected to at least one non-attack node, thereby avoiding a node that establishes a connection with the first node They are all attacking nodes, which prevents the first node from being controlled by the attacking node and improves the security of blockchain communication.
  • Fig. 7 is a schematic diagram of a node connection establishment process provided by an embodiment of the application.
  • AS1 there are node 1 and router 1, and AS2 is provided with node 2 and router 2. Among them, AS1 and AS2 are neighbors. Assume that node 1, node 2, router 1, and router 2 all have the ability to carry address information in BGP update messages.
  • Node 1 and node 2 are Ethereum nodes, and the Ethereum node is one of the blockchain nodes. Refer to Figure 7, Node 1 and Node 2 can communicate based on the Ethereum network protocol.
  • the Ethereum network protocol is the Developers Peer to Peer (DEVp2p) protocol.
  • the DEVp2p protocol includes Recursive Length Prefix extended (RLPx) Node Discovery Protocol, Ethereum Wire Protocol, DEVp2p Wire Protocol (DEVp2p Wire Protocol), User Datagram Protocol (User Diagram) Protocol, UDP) and Transmission Control (Transmission Control Protocol, TCP).
  • RLPx Node Discovery is used to find Ethereum nodes through the node discovery algorithm
  • DEVp2p Wire Protocol (DEVp2p Wire Protocol) is used to establish P2P connections between Ethereum nodes
  • the Ethereum Wire Protocol is used Synchronization of transaction block information of Ethereum nodes and participation in consensus, etc.
  • step 1 after node 1 is started, since both node 1 and router 1 have the ability to carry address information in BGP update messages, node 1 and router 1 can establish an IBGP connection.
  • router 1 can send to node 1 the address information of the node in the neighboring AS that it caches.
  • node 1 receives the address information of the node in the neighbor AS sent by router 1
  • node 1 adds the received address information to the neighbor list, and establishes a connection with the node in the neighbor AS according to the address information in the neighbor list.
  • node 1 can also establish a connection with a node in the node list (NodeTable).
  • the node list is a list of reachable nodes maintained in the node.
  • the node list may include the address information of the reachable node that communicated with the node recently.
  • node 1 sends the address information of node 1 to router 1.
  • node 1 may send a BGP update message 1 to router 1, and BGP update message 1 includes the address information of node 1.
  • router 1 sends the address information of node 1 to router 2.
  • router 1 can send a BGP update message 2 to router 2, and the BGP update message 2 carries the address information of node 1.
  • step 4 if AS1 is also neighbors with other ASs, router 1 also sends the address information of node 1 to routers in other neighboring ASs of AS1.
  • router 2 can cache the address information of node 1.
  • router 2 can send the address information of node 1 directly to node 2. For example, router 2 can send BGP update message 3 to node 2, and in BGP update message 3 Including node 1 address information. It should be noted that if AS2 also includes other activated nodes, after router 2 receives the address information of node 1, router 2 also sends the address information of node 1 to other activated nodes. If AS2 also includes other unstarted nodes, router 2 can send the address information of node 1 to this part of the nodes after other unstarted nodes are started.
  • step 7 after node 2 receives the address information of node 1, node 2 adds the address information of node 1 to the neighbor list. When the node 2 starts next time, it can establish a connection with the node in the neighbor AS according to the address information of the node in the neighbor list.
  • FIG. 8 is a schematic flowchart of yet another method for establishing a blockchain node connection provided by an embodiment of the application. See Figure 8. The method may include:
  • the first node After the first node is started, the first node sends a notification message to the first router.
  • the notification message is used to instruct the first node to start.
  • the notification message may be a Notify message.
  • the first node sends a first RTR request message to the first router.
  • the first resource public key infrastructure (Resource Public Key Infrastructure, RPKI) to router interface protocol (RPKI To Router, RTR) request message is used to request the address information of the node in the neighboring AS of the first AS.
  • RPKI Resource Public Key Infrastructure
  • RTR router interface protocol
  • the first RTR request message may be an implementation form of the first request message.
  • the first RTR request message may be an Account Query message.
  • the Account Query message may be as shown in Figure 9.
  • FIG. 9 is a schematic structural diagram of a message provided by an embodiment of the application.
  • the Account Query message can occupy 64 bits. Bits 0 to 7 are used to indicate the protocol version, bits 8 to 15 are used to indicate the PDU type, bits 16 to 31 are reserved bits, and bits 32 to 63 are used to indicate length.
  • the PDU type may indicate the function of the Account Query message, that is, indicate a request to obtain address information.
  • the first router sends a first RTR response message to the first node.
  • the first RTR response message may be an Account Response message, and the Account Response message may be as shown in FIG. 10, which will not be repeated here.
  • FIG. 10 is a schematic diagram of the structure of another message provided by an embodiment of this application.
  • the Account Response message can occupy 64 bits. Bits 0 to 7 are used to indicate the protocol version, bits 8 to 15 are used to indicate the PDU type, bits 16 to 31 are reserved bits, and bits 32 to 63 are used to indicate length.
  • the PDU type may indicate the function of the Account Query message, that is, respond to a request message for obtaining address information.
  • the first router sends a first RTR content message to the first node, where the first RTR content message includes address information of the second node.
  • the second node is a node in the neighbor AS of the first AS.
  • the address information of the second node is the address information of the node in the neighbor AS of the first AS cached by the first router.
  • the first RTR content message may be an account information (AccountInfo) message, and the account information message carries the address information of the node in its cached neighbor AS.
  • the Account Query message may be as shown in Figure 11.
  • FIG. 11 is a schematic structural diagram of another message provided by an embodiment of the application.
  • the number of bits occupied by the AccountInfo message is variable. Bits 0 to 7 are used to indicate the protocol version, bits 8 to 15 are used to indicate the PDU type, bits 16 to 31 are reserved bits, bits 32 to 63 are used to indicate the length, and other information bits are used to indicate the address information.
  • the PDU type may indicate the function of the AccountInfo message, that is, indicate that it is used to carry address information. It should be noted that FIG. 11 merely illustrates the content included in the address information by way of example, and does not limit the content included in the address information.
  • the first router may also send an end message (End of Data message) to the first node.
  • End of Data message End of Data message
  • S805 The first node establishes a connection with the second node according to the address information of the second node.
  • the first router sends a second RTR request message to the first node according to the notification message.
  • the second RTR request message is used to request to obtain the address information of the first node.
  • the second RTR request message may be an implementation form of the second request message.
  • the second RTR request message may be an account request (Account Query) message.
  • the Account Query message may be as shown in Figure 9, and will not be described here.
  • S807 The first node sends a second RTR response message to the first router according to the account request message.
  • the second RTR response message may be an account response (Account Response) message.
  • the Account Response message may be as shown in Figure 10, which will not be repeated here.
  • the first node sends a second RTR content message to the first router according to the account request message, where the second RTR content message includes address information of the first node.
  • the second RTR content message may be an account information (AccountInfo) message
  • Account Query message may be as shown in FIG. 11, which will not be repeated here.
  • the first node may also send an end message (End of Data message) to the first router.
  • End of Data message End of Data message
  • the first router sends a BGP update message to the second router, where the BGP update message includes address information of the first node.
  • the second router caches the address information of the first node.
  • the node in the second AS may request the second router to obtain the address information of the neighboring AS cached by the second router, and the node in the second AS may request the second For the process of the router requesting to obtain the address information of the neighboring AS cached by the second router, refer to S806-S807, which will not be repeated here.
  • the second router may also request the node in the second AS to obtain the address information of the node in the second AS.
  • the process refer to S802-S803, which will not be repeated here.
  • the first node in the first AS can obtain the address information of the second node in the second AS through the RTR message (RTR content message), and then The first node can first establish a connection with the second node according to the address information of the second node. Since the first AS and the second AS are neighbors, the second node in the second AS is a non-attack node, so that the first node can be connected to at least one non-attack node, thereby avoiding a node that establishes a connection with the first node They are all attacking nodes, which prevents the first node from being controlled by the attacking node and improves the security of blockchain communication.
  • FIG. 12 is a schematic flowchart of yet another method for establishing a blockchain node connection provided by an embodiment of the application. Referring to Figure 12, the method may include:
  • the first node After the first node is started, the first node sends a first information notification message to the first router.
  • the first information notification message includes address information of the first node.
  • the first information notification message is also used to instruct the first node to start.
  • the first information notification message may be a NotifyAccountInfo message.
  • the first information notification message may be a custom interface message.
  • the first information notification message may be a User Datagram Protocol (User Diagram Protocol, UDP) message.
  • UDP User Datagram Protocol
  • the first router sends a first information response message to the first node.
  • the first information response message may be an AccountNotifyAccountAck message.
  • the first information response message may be a custom interface message.
  • the first information response message may be a UDP message.
  • the first router sends a second information notification message to the first node.
  • the second information notification message includes address information of the second node, and the second node is a node in the neighbor AS of the first AS.
  • the address information of the second node is the address information of the node in the neighbor AS of the first AS cached by the first router.
  • the second information notification message may be a NotifyAccountInfo message.
  • the second information notification message may be a custom interface message.
  • the second information notification message may be a UDP message.
  • the first node sends a second information response message to the first router.
  • the second information response message may be an AccountNotifyAccountAck message.
  • the second information response message may be a custom interface message.
  • the second information response message may be a UDP message.
  • the first node establishes a connection with the second node according to the address information of the second node.
  • the first router sends a BGP update message to the second router, where the BGP update message includes address information of the first node.
  • the second router caches the address information of the first node.
  • the second router may also send the address information of the first node to the nodes in the second AS, and the second router sends the first node to the nodes in the second AS.
  • the process of node address information please refer to S1203-S1204, which will not be repeated here.
  • the first node in the first AS can obtain the address information of the second node in the second AS through the custom interface message, so that the first node
  • the connection with the second node may be established first according to the address information of the second node. Since the first AS and the second AS are neighbors, the second node in the second AS is a non-attack node, so that the first node can be connected to at least one non-attack node, thereby avoiding a node that establishes a connection with the first node They are all attacking nodes, which prevents the first node from being controlled by the attacking node and improves the security of blockchain communication.
  • FIG. 13 is a schematic flowchart of yet another method for establishing a blockchain node connection provided by an embodiment of the application. Referring to Figure 13, the method may include:
  • the first router sends the cached address information of the node in the neighbor AS of the first AS to the first node.
  • the first node updates the neighbor list according to the received address information of the node in the neighbor AS of the first AS.
  • the first node may add the received address information of the node in the neighbor AS of the first AS (hereinafter referred to as the neighbor node) to the neighbor list; or, the first node may add the received address information of the neighbor node Address information in the neighbor list that is not included in the neighbor list is added to the neighbor list.
  • the neighbor node may add the received address information of the neighbor node Address information in the neighbor list that is not included in the neighbor list is added to the neighbor list.
  • the first node establishes a connection with a node in the neighbor AS of the first AS according to the address information in the updated neighbor list.
  • the first node may send a connection request to the neighbor node according to the address information in the updated neighbor list, and after receiving the connection response sent by the neighbor node, establish a connection with the neighbor node.
  • the first node is at most A neighbor node establishes a connection
  • maxpeers is the maximum number of connections established by the first node.
  • maxpeers can be 25.
  • the first node performs node discovery according to the node information in the node list, and establishes a connection with the discovered node.
  • the first node may generate a random node ID, obtain the XOR distance between the node ID of each node in the node list and the random node ID, and establish a connection with the X nodes with the closest XOR distance.
  • the exclusive OR distance of the two nodes may be the number of 1s included after the node IDs of the two nodes are XORed.
  • the first node may obtain the blockchain information from the node that established the connection, and the blockchain information includes the chain length and Difficulty information. If the chain length obtained by the first node is different, or the difficulty information is different, the first node can determine the chain with the longest chain length and the most difficult chain as the real chain, and maintain the connection with the real chain.
  • the first node can establish a connection with at least one node in the neighbor AS of the first AS. Since the node in the neighbor AS of the first AS is a non-attack node, the first node can communicate with At least one non-attack node is connected, so as to prevent the nodes that establish a connection with the first node from being attack nodes, thereby preventing the first node from being controlled by the attacking node, and improving the security of blockchain communication.
  • FIG. 13 will be described in detail with reference to FIG. 14 through specific embodiments.
  • Fig. 14 is a schematic diagram of a node connection establishment process provided by this application. As shown in Figure 14, AS1 and AS2 are neighbors, and AS1 and AS3 are neighbors.
  • the node N1 After the node N1 starts, the node N1 obtains the address information of the nodes in AS2 and AS3 cached by the router G11 from the router G11, and updates the neighbor list according to the obtained node address information. It is assumed that the updated neighbor list includes AS2 The address information (IP2) of node N2 and the address information (N3) of node N3 in AS3.
  • IP2 address information
  • N3 address information
  • Node N1 first establishes a connection with the neighbor node according to the address information of the node in the neighbor list, that is, node N1 establishes a connection with node N2 according to the address (IP2) of node N2, and node N1 establishes connection with node N3 according to the address (IP3) of node N3 connection.
  • the node N1 can also discover other nodes through the node discovery algorithm, and establish connections with other nodes. Since the node N2 and the node N3 are non-attack nodes, the node N1 can be connected to at least one non-attack node, thereby avoiding that the nodes connected to the node N1 are all attacking nodes, thereby preventing the node N1 from being controlled by the attacking node. Improve the security of blockchain communication.
  • FIG. 15 is a schematic flowchart of yet another method for establishing a blockchain node connection provided by an embodiment of the application. Referring to Figure 15, the method can include:
  • the first node establishes a connection with the third node.
  • the third node may be an endorsement node.
  • the third node may send the first block chain information to the first node, and the first block chain information includes the chain length and difficulty of the chain where the third node is located information.
  • the third node sends the first legal node list to the first node.
  • the first legal node list includes information of multiple nodes.
  • the information of the node may include one or more of the node's blockchain account, the node's identity, and the node's IP address.
  • the first node establishes a connection with the second node.
  • the second node is a node in the neighbor AS of the first AS.
  • the second node may send second blockchain information to the first node, and the first blockchain information includes the chain length and difficulty of the chain where the second node is located information.
  • the second node sends a second legal node list to the first node.
  • the first node determines the target legal node list in the first legal node list and the second legal node list.
  • the first node may determine the real chain according to the first block chain information and the second block chain information, and include the first legal node list and the second legal node list, including the nodes in the real chain
  • the legal node list is determined as the target legal node list.
  • the first node performs node discovery according to the target legal node list.
  • the first node can establish a connection with at least one node in the neighbor AS of the first AS. Since the node in the neighbor AS of the first AS is a non-attack node, the first node can communicate with At least one non-attack node is connected, thereby avoiding that the nodes that establish a connection with the first node are all attacking nodes, thereby preventing the first node from being controlled by the attacking node. Further, the first node can obtain legal nodes from the endorsing node and neighbor nodes respectively List, and determine the target legal node list in the obtained legal node list, and perform node discovery according to the target legal node list, thereby avoiding security problems caused by endorsing nodes to do evil.
  • FIG. 16 is a schematic structural diagram of an apparatus for establishing a blockchain node connection provided by an embodiment of the application.
  • the block chain node connection establishment device 10 may be applied to the first node in a block chain system, and the block chain node connection establishment device 10 may include:
  • the receiving module 11 is configured to obtain address information of a second node from a first router, the first router and the first node are located in a first autonomous domain, the second node is located in a second autonomous domain, and the first The autonomous domain and the second autonomous domain are neighbor autonomous domains;
  • the processing module 12 is configured to establish a connection with the second node according to the address information of the second node.
  • the receiving module 11 may perform steps related to the receiving action of the first node in the foregoing method embodiment.
  • the receiving module 11 may perform S202 in the embodiment of FIG. 2 and S405 and S408 in the embodiment of FIG. 4, S803, S804, etc. in the embodiment of Fig. 8, S1202, S1203, etc. in the embodiment of Fig. 12, S1302 in the embodiment of Fig. 13, and S1503 and S1505 in the embodiment of Fig. 15.
  • the processing module 12 may execute steps related to the processing actions of the first node in the foregoing method embodiment.
  • the processing module 12 may execute S203 in the embodiment of FIG. 2, S409 in the embodiment of FIG. 4, and FIG. S805 in the embodiment, S1205 in the embodiment in FIG. 12, S1303-S1305 in the embodiment in FIG. 13, and S1506-S1507 in the embodiment in FIG.
  • block chain node connection establishment device 10 shown in the embodiment of the present application can execute the technical solution shown in the foregoing method embodiment, and its implementation principles and beneficial effects are similar, and will not be repeated this time.
  • the receiving module 11 is specifically configured to receive a first message from the first router, where the first message includes address information of the second node, and the first message is One of border gateway protocol BGP messages, resource public key infrastructure to router interface protocol RTR messages, or custom interface messages.
  • FIG. 17 is a schematic structural diagram of another block chain node connection establishment device provided by an embodiment of the application.
  • the device 10 for establishing a block chain node connection further includes a sending module 13, wherein,
  • the sending module 13 is configured to send a request message to the first router before the receiving module 11 receives the first message from the first router, and the request message is used to request to obtain the first autonomous domain The address information of the node in the neighbor autonomous domain.
  • the sending module 13 may perform steps related to the sending action of the first node in the foregoing method embodiment.
  • the processing module 12 may perform S202 in the embodiment of FIG. 2 and S404 and S407 in the embodiment of FIG. 4, S801-S802 and S807-S808 in the embodiment of FIG. 8 and S1201 and S1204 in the embodiment of FIG. 12.
  • the address information of the first node includes the identifier of the first node, the IP address of the first node, the MAC address of the first node, or the address of the first node. At least one of the blockchain accounts;
  • the address information of the second node includes at least one of the identification of the second node, the IP address of the second node, the MAC address of the second node, or the blockchain account number of the second node .
  • the processing module 12 before the processing module 12 establishes a connection with the second node according to the address information of the second node, the processing module 12 is further configured to: The address information of is added to the neighbor list of the first node;
  • the processing module 12 is specifically configured to establish a connection with the second node according to the address information in the neighbor list.
  • the processing module 12 is further configured to:
  • block chain node connection establishment device 10 shown in the embodiment of the present application can execute the technical solution shown in the foregoing method embodiment, and its implementation principles and beneficial effects are similar, and will not be repeated this time.
  • FIG. 18 is a schematic structural diagram of another device for establishing a connection between blockchain nodes according to an embodiment of the application.
  • the block chain node connection establishment device 20 can be applied to the first router in the block chain system, and the block chain node connection establishment device 20 can include:
  • the receiving module 21 is configured to obtain address information of a second node, where the second node is located in a second autonomous domain;
  • the sending module 22 is configured to send the address information of the second node to the first node, the first router and the first node are located in a first autonomous domain, and the first autonomous domain and the second The autonomous domain is the neighbor autonomous domain.
  • the receiving module 21 may perform steps related to the receiving action of the first router in the foregoing method embodiment.
  • the receiving module 21 may perform S201 in the embodiment of FIG. 2 and S401, S404 and S404 in the embodiment of FIG. S407, S801-S802, S807-S808 in the embodiment of FIG. 8, and S1201 and S1204 in the embodiment of FIG.
  • the sending module 22 may execute steps related to the sending action of the first router in the foregoing method embodiment.
  • the sending module 22 may execute S202 in the embodiment of FIG. 2 and S405, S408 and S408 in the embodiment of FIG. S410, S803-S804, S806, and S809 in the embodiment of FIG. 8, and S1202-S1203 and S1206 in the embodiment of FIG. 12.
  • block chain node connection establishment device 20 shown in the embodiment of the present application can execute the technical solution shown in the foregoing method embodiment, and its implementation principles and beneficial effects are similar, and will not be repeated this time.
  • the sending module 22 is specifically configured to send a first message to the first node, where the first message includes address information of the second node, and the first message is One of border gateway protocol BGP messages, resource public key infrastructure to router interface protocol RTR messages, or custom interface messages.
  • the receiving module 21 is further configured to receive a first request message sent by the first node before the sending module sends the first message to the first node.
  • the first request message is used to request to obtain the address information of the node in the neighboring autonomous domain of the first autonomous domain.
  • the receiving module 21 is specifically configured to receive a first Border Gateway Protocol BGP message from a second router, where the first BGP message includes address information of the second node, and The second router is located in the second autonomous domain.
  • FIG. 19 is a schematic structural diagram of another device for establishing a connection between blockchain nodes provided by an embodiment of the application.
  • the block chain node connection establishment device 20 may further include a processing module 23, wherein,
  • the processing module 23 is configured to obtain the autonomous domain path length of the address information before the sending module 22 sends the address information to the first node, and determine that the autonomous domain path length of the address information is 1.
  • the path length of the autonomous domain is used to indicate the number of autonomous domains through which the address information passes when the first router receives the address information.
  • the receiving module 21 is further configured to receive a second message sent by the first node, the second message including address information of the first node, and the second message It is at least one of BGP message, resource public key infrastructure to router interface protocol RTR message, or custom interface message.
  • the address information of the first node includes the identifier of the first node, the IP address of the first node, the MAC address of the first node, or the address of the first node. At least one of the blockchain accounts;
  • the address information of the second node includes at least one of the identification of the second node, the IP address of the second node, the MAC address of the second node, or the blockchain account number of the second node .
  • block chain node connection establishment device 20 shown in the embodiment of the present application can execute the technical solution shown in the foregoing method embodiment, and its implementation principles and beneficial effects are similar, and will not be repeated this time.
  • processing module in the device for establishing a blockchain node connection may be implemented as a processor, the receiving module may be implemented as a receiver, and the sending module may be implemented as a transmitter.
  • FIG. 20 is a schematic diagram of the hardware structure of a device for establishing a block chain node connection provided by this application.
  • the block chain node connection establishment device 30 includes: a memory 31, a processor 32, a receiver 33, and a transmitter 34.
  • the memory 31 communicates with the processor 32; for example, the memory 31, the processor 32.
  • the receiver 33 and the transmitter 34 may communicate via a communication bus 35, the memory 31 is used to store a computer program, and the processor 32 executes the computer program to implement the above-mentioned method for establishing a blockchain node connection.
  • the processor 32 shown in the present application may implement the functions of the processing module 12 in the embodiments of FIGS. 16-17
  • the receiver 33 may implement the function of the receiving module 11 in the embodiments of FIGS. 16-17
  • the transmitter 34 can implement the function of the sending module 13 in the embodiment of FIG. 16-17, and details are not described herein again.
  • FIG. 21 is a schematic diagram of the hardware structure of another device for establishing a block chain node connection provided by this application.
  • the device 40 for establishing a blockchain node connection includes: a memory 41, a processor 42, a receiver 43, and a transmitter 44, wherein the memory 41 communicates with the processor 42; for example, the memory 41, the processor 42.
  • the receiver 43 and the transmitter 44 can communicate through a communication bus 45, the memory 41 is used to store a computer program, and the processor 42 executes the computer program to implement the above-mentioned method for establishing a blockchain node connection.
  • the processor 42 shown in the present application can implement the functions of the processing module 23 in the embodiments of Figs. 18-19, and the receiver 43 can implement the functions of the receiving module 21 in the embodiments of Figs. 18-19.
  • the transmitter 44 can implement the function of the sending module 22 in the embodiment of FIG. 18-19, which is not repeated here.
  • the foregoing processor may be a central processing unit (Central Processing Unit, CPU), or other general-purpose processors, digital signal processors (Digital Signal Processors, DSPs), application specific integrated circuits (ASICs) )Wait.
  • the general-purpose processor may be a microprocessor or the processor may also be any conventional processor or the like.
  • the present application provides a storage medium, the storage medium is used to store a computer program, and the computer program is used to implement the blockchain node connection establishment method described in the foregoing embodiment.
  • All or part of the steps in the foregoing method embodiments can be implemented by a program instructing relevant hardware.
  • the aforementioned program can be stored in a readable memory.
  • the program executes the steps that include the foregoing method embodiments; and the foregoing memory (storage medium) includes: read-only memory (English: read-only memory, abbreviation: ROM), RAM, flash memory, hard disk, Solid state drives, magnetic tapes (English: magnetic tape), floppy disks (English: floppy disk), optical discs (English: optical disc) and any combination thereof.
  • These computer program instructions can be provided to the processing unit of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing equipment to generate a machine, so that the instructions executed by the processing unit of the computer or other programmable data processing equipment are generated for use It is a device that realizes the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be stored in a computer-readable memory that can guide a computer or other programmable data processing equipment to work in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture including the instruction device.
  • the device implements the functions specified in one process or multiple processes in the flowchart and/or one block or multiple blocks in the block diagram.
  • These computer program instructions can also be loaded on a computer or other programmable data processing equipment, so that a series of operation steps are executed on the computer or other programmable equipment to produce computer-implemented processing, so as to execute on the computer or other programmable equipment.
  • the instructions provide steps for implementing functions specified in a flow or multiple flows in the flowchart and/or a block or multiple blocks in the block diagram.
  • the term “including” and its variations may refer to non-limiting inclusion; the term “or” and its variations may refer to “and/or”.
  • the terms “first”, “second”, etc. in the present application are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence.
  • “plurality” means two or more.
  • “And/or” describes the association relationship of the associated objects, indicating that there can be three types of relationships, for example, A and/or B, which can mean: A alone exists, A and B exist at the same time, and B exists alone.
  • the character “/” generally indicates that the associated objects are in an "or” relationship.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • General Engineering & Computer Science (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

实施例提供一种区块链节点连接建立方法、装置及设备,应用于区块链***,该方法包括:第一节点从第一路由器获取第二节点的地址信息,第一路由器和第一节点位于第一自治域,第二节点位于第二自治域,第一自治域和第二自治域为邻居自治域;第一节点根据第二节点的地址信息,与第二节点建立连接。提高了区块链通信的安全性。

Description

区块链节点连接建立方法、装置及设备
本申请要求于2019年02月20日提交中国专利局、申请号为2019101260028、申请名称为“区块链节点连接建立方法、装置及设备”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及通信技术领域,尤其涉及一种区块链节点连接建立方法、装置及设备。
背景技术
目前,可以通过多种技术(例如以太坊技术等)构建区块链***。
区块链***中包括多个区块链节点(下文简称节点),在节点中可以包括节点列表(NodeTable),节点可以将最近与其联系且可达的节点添加至该节点列表。在该节点启动之后,节点可以与该节点列表中的节点建立连接。然而,在实际应用过程中,多个攻击节点可以多次重复的向一个节点发送连接请求,以使节点将该攻击节点添加至节点列表中,使得在节点启动之后,该节点的所有出连接均与攻击节点连接,使得节点被攻击节点包围,即,与节点建立连接的节点均为攻击节点,使得该节点被攻击节点控制,导致通信的安全性较差。
发明内容
本申请提供一种区块链节点连接建立方法、装置及设备,提高了区块链通信的安全性。
第一方面,本申请实施例提供一种区块链节点连接建立方法,该方法应用于区块链***,该方法可以包括:第一节点从第一路由器获取第二节点的地址信息,并根据第二节点的地址信息,与第二节点建立连接;其中,第一路由器和第一节点位于第一自治域,第二节点位于第二自治域,第一自治域和第二自治域为邻居自治域。
在上述过程中,在第一自治域中的第一节点启动之后,该第一节点先获取第二自治域(第一自治域和第二自治域为邻居)中的第二节点的地址信息,并根据第二节点的地址信息与第二节点建立连接。由于第一自治域和第二自治域为邻居,因此,第二自治域中的第二节点为非攻击节点,使得第一节点可以与至少一个非攻击节点连接,进而可以避免与第一节点建立连接的节点均为攻击节点,进而避免第一节点被攻击节点控制,提高了区块链通信的安全性。
在一种可能的实施方式中,第一节点从第一路由器获取第二节点的地址信息,包括:第一节点从第一路由器接收第一消息,第一消息包括第二节点的地址信息,第一消息为边界网关协议BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的其中一种。
当第一消息为BGP消息时,可以对现有的BGP打开消息进行扩展,使得BGP打开消息可以指示发送BGP打开消息的设备是否具有携带节点的地址信息的能力。通过扩展现有的BGP更新消息,使得BGP更新消息可以携带节点的地址信息,进而使得第一AS中的 第一节点可以通过BGP更新消息获取第二AS中的第二节点的地址信息,进而使得第一节点可以先根据第二节点的地址信息与第二节点建立连接。只需对现有的BGP消息进行扩展即可使得BGP消息具有携带地址信息的能力,使得在对已有方案进行较小的改动下即可提高区块链通信的安全性。
当第一消息为RTR消息时,通过定义新的RTR消息,可以使得第一AS中的第一节点可以通过RTR消息(RTR内容消息)获取第二AS中的第二节点的地址信息,进而使得第一节点可以先根据第二节点的地址信息与第二节点建立连接。
当第一消息为自定义接口消息时,通过自定义接口消息,可以使得第一AS中的第一节点可以通过自定义接口消息获取第二AS中的第二节点的地址信息,进而使得第一节点可以先根据第二节点的地址信息与第二节点建立连接。
在上述过程中,在第一路由器获取得到第二节点的地址信息之后即可向第一节点发送第二节点的地址信息,使得第一节点可以及时获取得到第二节点的地址信息。
在一种可能的实施方式中,第一节点从第一路由器接收第一消息之前,还包括:第一节点向第一路由器发送请求消息,请求消息用于请求获取第一自治域的邻居自治域中的节点的地址信息。
在上述过程中,在第一节点需要使用第二节点的地址信息时,第一节点才通过请求消息从第一路由器获取第二节点的地址信息,避免第一路由器进行不必要的信息发送,进而避免信令的浪费。
在一种可能的实施方式中,第一节点的地址信息包括第一节点的标识、第一节点的IP地址、第一节点的MAC地址或第一节点的区块链账号中的至少一种;第二节点的地址信息包括第二节点的标识、第二节点的IP地址、第二节点的MAC地址或第二节点的区块链账号中的至少一种。
在一种可能的实施方式中,所述第一节点还可以向所述第一路由器发送所述第一节点的地址信息。这样,可以使得第一路由器获取得到第一节点的地址信息,并向第一自治域的邻居自治域中的路由器发送第一节点的地址信息,使得第一自治域的邻居自治域中的路由器可以及时获取第一节点的地址信息。
在一种可能的实施方式中,所述第一节点向所述第一路由器发送所述第一节点的地址信息,包括:所述第一节点向所述第一路由器发送第二消息,所述第二消息包括所述第一节点的地址信息,所述第二消息为BGP消息、RTR消息或自定义接口消息中的其中一种。
在一种可能的实施方式中,第一节点根据第二节点的地址信息,与第二节点建立连接之前,包括:第一节点将第二节点的地址信息添加至第一节点的邻居列表中;
相应的,第一节点根据第二节点的地址信息,与第二节点建立连接,包括:第一节点根据邻居列表中的地址信息,与第二节点建立连接。
在上述过程中,邻居列表中包括第一自治域的邻居自治域中的节点的地址信息,因此,第一节点根据邻居列表中的地址信息,可以与第一自治域的邻居自治域中的节点建立连接,第一自治域的邻居自治域中的节点为非攻击节点,因此,可以使得第一节点与非攻击节点建立连接,提高了区块链通信的安全性。
在一种可能的实施方式中,第一节点根据第二节点的地址信息,与第二节点建立连接之后,还包括:第一节点与第三节点建立连接,并从第三节点获取第一合法节点列表;第 一节点从第二节点获取第二合法节点列表;第一节点在第一合法节点列表和第二合法节点列表中确定目标合法节点列表,并根据目标合法节点列表进行节点发现。
在上述过程中,第三节点可以为背书节点,通过上述过程可以避免由于背书节点作恶导致第一节点被攻击的问题。
第二方面,本申请实施例提供一种区块链节点连接建立方法,应用于区块链***,该方法包括:第一路由器获取第二节点的地址信息,第二节点位于第二自治域;第一路由器向第一节点发送第二节点的地址信息,第一路由器和第一节点位于第一自治域,第一自治域和第二自治域为邻居自治域。
在上述过程中,在第一自治域中的第一节点启动之后,该第一节点先获取第二自治域(第一自治域和第二自治域为邻居)中的第二节点的地址信息,并根据第二节点的地址信息与第二节点建立连接。由于第一自治域和第二自治域为邻居,因此,第二自治域中的第二节点为非攻击节点,使得第一节点可以与至少一个非攻击节点连接,进而可以避免与第一节点建立连接的节点均为攻击节点,进而避免第一节点被攻击节点控制,提高了区块链通信的安全性。
在一种可能的实施方式中,第一路由器向第一节点发送第二节点的地址信息,包括:第一路由器向第一节点发送第一消息,第一消息包括第二节点的地址信息,第一消息为边界网关协议BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的其中一种。
当第一消息为BGP消息时,可以对现有的BGP打开消息进行扩展,使得BGP打开消息可以指示发送BGP打开消息的设备是否具有携带节点的地址信息的能力。通过扩展现有的BGP更新消息,使得BGP更新消息可以携带节点的地址信息,进而使得第一AS中的第一节点可以通过BGP更新消息获取第二AS中的第二节点的地址信息,进而使得第一节点可以先根据第二节点的地址信息与第二节点建立连接。只需对现有的BGP消息进行扩展即可使得BGP消息具有携带地址信息的能力,使得在对已有方案进行较小的改动下即可提高区块链通信的安全性。
当第一消息为RTR消息时,通过定义新的RTR消息,可以使得第一AS中的第一节点可以通过RTR消息(RTR内容消息)获取第二AS中的第二节点的地址信息,进而使得第一节点可以先根据第二节点的地址信息与第二节点建立连接。
当第一消息为自定义接口消息时,通过自定义接口消息,可以使得第一AS中的第一节点可以通过自定义接口消息获取第二AS中的第二节点的地址信息,进而使得第一节点可以先根据第二节点的地址信息与第二节点建立连接。
在上述过程中,在第一路由器获取得到第二节点的地址信息之后即可向第一节点发送第二节点的地址信息,使得第一节点可以及时获取得到第二节点的地址信息。
在一种可能的实施方式中,第一路由器向第一节点发送第一消息之前,还包括:第一路由器接收第一节点发送的第一请求消息,第一请求消息用于请求获取第一自治域的邻居自治域中的节点的地址信息。
在上述过程中,在第一路由器接收到第一节点发送的第一消息之后才向第一节点发送第一消息,避免第一路由器进行不必要的信息发送,进而避免信令的浪费。
在一种可能的实施方式中,第一路由器获取第二节点的地址信息,包括:第一路由器 从第二路由器接收第一边界网关协议BGP消息,第一BGP消息中包括第二节点的地址信息,第二路由器位于第二自治域。
在一种可能的实施方式中,第一路由器向第一节点发送地址信息之前,还包括:第一路由器获取地址信息的自治域路径长度,自治域路径长度用于指示第一路由器接收到地址信息时,地址信息经过的自治域的个数;第一路由器确定地址信息的自治域路径长度为1。
在上述过程中,在第一路由器确定地址信息的自治域路径长度为1时,可以确保地址信息为第一自治域的邻居自治域中的节点的地址信息,进而可以确定第一节点根据地址信息可以与第一自治域的邻居自治域中的节点建立连接。
在一种可能的实施方式中,第一路由器接收第一节点发送的第二消息,第二消息包括第一节点的地址信息,第二消息为BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的至少一种。
在一种可能的实施方式中,第一节点的地址信息包括第一节点的标识、第一节点的IP地址、第一节点的MAC地址或第一节点的区块链账号中的至少一种;第二节点的地址信息包括第二节点的标识、第二节点的IP地址、第二节点的MAC地址或第二节点的区块链账号中的至少一种。
在一种可能的实施方式中,所述第一路由器接收所述第一节点发送的第二消息之前,还包括:所述第一路由器向所述第一节点发送第二请求消息,所述第二请求消息用于请求获取所述第一节点的地址信息。
在一种可能的实施方式中,所述第一路由器接收所述第一节点发送的所述第一节点的地址信息之后,还包括:所述第一路由器向所述第二路由器发送第二BGP消息,所述第二BGP消息包括所述第一节点的地址信息。
第三方面,本申请实施例提供一种区块链节点连接建立方法,该方法包括:第一节点获取第二节点的地址信息,并将第二节点的地址信息添加至第一节点的邻居列表中;在第一节点启动之后,第一节点根据邻居列表中的地址信息,与第二节点建立连接。
在上述过程中,邻居列表中包括第一自治域的邻居自治域中的节点的地址信息,因此,第一节点根据邻居列表中的地址信息,可以与第一自治域的邻居自治域中的节点建立连接,第一自治域的邻居自治域中的节点为非攻击节点,因此,可以使得第一节点与非攻击节点建立连接,提高了区块链通信的安全性。
在一种可能的实施方式中,第一节点还可以获取第一自治域的邻居自治域中其它节点的地址信息,并根据其它节点的地址信息更新邻居列表。这样,可以使得邻居列表中可以包括第一自治域的邻居自治域中的多个节点的地址信息。
在一种可能的实施方式中,在第一节点根据邻居列表中的地址信息,与第二节点建立连接之后,第一节点还可以根据节点列表中的节点信息进行节点发现,并与发现的节点建立连接。
需要说明的是,在第三方面中,第一节点获取第二节点的地址信息的过程可以参见第一方面,此处不再进行赘述。
第四方面,本申请实施例提供一种区块链节点连接建立方法,该方法包括:第一节点获取第二节点的地址信息,并根据第二节点的地址信息与第二节点建立连接,第一节点与第三节点建立连接,并从第三节点获取第一合法节点列表;第一节点从第二节点获取第二 合法节点列表;第一节点在第一合法节点列表和第二合法节点列表中确定目标合法节点列表,并根据目标合法节点列表进行节点发现。
在上述过程中,第三节点可以为背书节点,通过上述过程可以避免由于背书节点作恶导致第一节点被攻击的问题。
需要说明的是,在第四方面中,第一节点获取第二节点的地址信息的过程可以参见第一方面,此处不再进行赘述。
第五方面,本申请实施例提供一种区块链节点连接建立装置,应用于区块链***中的第一节点,所述装置包括:
接收模块,用于从第一路由器获取第二节点的地址信息,所述第一路由器和所述第一节点位于第一自治域,所述第二节点位于第二自治域,所述第一自治域和所述第二自治域为邻居自治域;
处理模块,用于根据所述第二节点的地址信息,与所述第二节点建立连接。
在一种可能的实施方式中,所述接收模块具体用于,从所述第一路由器接收第一消息,所述第一消息包括所述第二节点的地址信息,所述第一消息为边界网关协议BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的其中一种。
在一种可能的实施方式中,所述装置还包括发送模块,其中,
所述发送模块用于,在所述接收模块从所述第一路由器接收第一消息之前,向所述第一路由器发送请求消息,所述请求消息用于请求获取所述第一自治域的邻居自治域中的节点的地址信息。
在一种可能的实施方式中,所述第一节点的地址信息包括所述第一节点的标识、所述第一节点的IP地址、所述第一节点的MAC地址或所述第一节点的区块链账号中的至少一种;
所述第二节点的地址信息包括所述第二节点的标识、所述第二节点的IP地址、所述第二节点的MAC地址或所述第二节点的区块链账号中的至少一种。
在一种可能的实施方式中,在所述处理模块根据所述第二节点的地址信息,与所述第二节点建立连接之前,所述处理模块还用于,将所述第二节点的地址信息添加至所述第一节点的邻居列表中;
所述处理模块具体用于,根据所述邻居列表中的地址信息,与所述第二节点建立连接。
在一种可能的实施方式中,在所述处理模块根据所述第二节点的地址信息,与所述第二节点建立连接之后,所述处理模块还用于:
与第三节点建立连接,并从所述第三节点获取第一合法节点列表;
从所述第二节点获取第二合法节点列表;
在所述第一合法节点列表和所述第二合法节点列表中确定目标合法节点列表,并根据所述目标合法节点列表进行节点发现。
在一种可能的实施方式中,所述发送模块还用于,向所述第一路由器发送所述第一节点的地址信息。
在一种可能的实施方式中,所述发送模块具体用于,向所述第一路由器发送第二消息,所述第二消息包括所述第一节点的地址信息,所述第二消息为BGP消息、RTR消息或自定义接口消息中的其中一种。
第六方面,本申请实施例提供一种区块链节点连接建立装置,应用于区块链***中的第一路由器,所述装置包括:
接收模块,用于获取第二节点的地址信息,所述第二节点位于第二自治域;
发送模块,用于向所述第一节点发送所述第二节点的地址信息,所述第一路由器和所述第一节点位于第一自治域,所述第一自治域和所述第二自治域为邻居自治域。
在一种可能的实施方式中,所述发送模块具体用于,向所述第一节点发送第一消息,所述第一消息包括所述第二节点的地址信息,所述第一消息为边界网关协议BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的其中一种。
在一种可能的实施方式中,所述接收模块还用于,在所述发送模块向所述第一节点发送第一消息之前,接收所述第一节点发送的第一请求消息,所述第一请求消息用于请求获取所述第一自治域的邻居自治域中的节点的地址信息。
在一种可能的实施方式中,所述接收模块具体用于,从第二路由器接收第一边界网关协议BGP消息,所述第一BGP消息中包括所述第二节点的地址信息,所述第二路由器位于所述第二自治域。
在一种可能的实施方式中,所述装置还包括处理模块,其中,
所述处理模块用于,在所述发送模块向所述第一节点发送所述地址信息之前,获取所述地址信息的自治域路径长度,并确定所述地址信息的自治域路径长度为1,所述自治域路径长度用于指示所述第一路由器接收到所述地址信息时,所述地址信息经过的自治域的个数。
在一种可能的实施方式中,所述接收模块还用于,接收所述第一节点发送的第二消息,所述第二消息包括所述第一节点的地址信息,所述第二消息为BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的至少一种。
在一种可能的实施方式中,所述第一节点的地址信息包括所述第一节点的标识、所述第一节点的IP地址、所述第一节点的MAC地址或所述第一节点的区块链账号中的至少一种;
所述第二节点的地址信息包括所述第二节点的标识、所述第二节点的IP地址、所述第二节点的MAC地址或所述第二节点的区块链账号中的至少一种。
在一种可能的实施方式中,所述发送模块还用于,在所述接收模块接收所述第一节点发送的第二消息之前,向所述第一节点发送第二请求消息,所述第二请求消息用于请求获取所述第一节点的地址信息。
在一种可能的实施方式中,所述发送模块还用于,在所述接收模块接收所述第一节点发送的所述第一节点的地址信息之后,向所述第二路由器发送第二BGP消息,所述第二BGP消息包括所述第一节点的地址信息。
第七方面,本申请实施例提供一种区块链节点连接建立装置,包括存储器和处理器,所述处理器执行所述存储器中的程序指令,用于实现第一方面任一项所述的区块链节点连接建立方法。
第八方面,本申请实施例提供一种区块链节点连接建立装置,包括存储器和处理器,所述处理器执行所述存储器中的程序指令,用于实现第二方面任一项所述的区块链节点连接建立方法。
第九方面,本申请实施例提供一种计算机可读存储介质,所述存储介质用于存储计算机程序,所述计算机程序被计算机或处理器执行时用于实现上述各方面所述的区块链节点连接建立方法。
第十方面,本申请实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面所述的区块链节点连接建立方法。
本申请实施例提供的区块链节点连接建立方法、装置及设备,在第一AS中的第一节点启动之后,该第一节点先获取第二AS(第一AS和第二AS为邻居)中的第二节点的地址信息,并根据第二节点的地址信息与第二节点建立连接。由于第一AS和第二AS为邻居,因此,第二AS中的第二节点为非攻击节点,使得第一节点可以与至少一个非攻击节点连接,进而可以避免与第一节点建立连接的节点均为攻击节点,进而避免第一节点被攻击节点控制,提高了区块链通信的安全性。
附图说明
图1为本申请实施例提供的***架构图;
图2为本申请实施例提供的一种区块链节点连接建立方法的流程示意图;
图3为本申请实施例提供的BGP更新消息的结构示意图;
图4为本申请实施例提供的另一种区块链节点连接建立方法的流程示意图;
图5为本申请实施例提供的消息转发示意图;
图6为本申请实施例提供的BGP打开消息的结构示意图;
图7为本申请实施例提供的节点连接建立过程示意图;
图8为本申请实施例提供的又一种区块链节点连接建立方法的流程示意图;
图9为本申请实施例提供的一种消息的结构示意图;
图10为本申请实施例提供的另一种消息的结构示意图;
图11为本申请实施例提供的另一种消息的结构示意图;
图12为本申请实施例提供的再一种区块链节点连接建立方法的流程示意图;
图13为本申请实施例提供的再一种区块链节点连接建立方法的流程示意图;
图14为本申请提供的节点连接建立过程示意图;
图15为本申请实施例提供的再一种区块链节点连接建立方法的流程示意图;
图16为本申请实施例提供的一种区块链节点连接建立装置的结构示意图;
图17为本申请实施例提供的另一种区块链节点连接建立装置的结构示意图;
图18为本申请实施例提供的又一种区块链节点连接建立装置的结构示意图;
图19为本申请实施例提供的再一种区块链节点连接建立装置的结构示意图;
图20为本申请提供的一种区块链节点连接建立装置的硬件结构示意图;
图21为本申请提供的另一种区块链节点连接建立装置的硬件结构示意图。
具体实施方式
图1为本申请实施例提供的***架构图,请参见图1,包括多个自治域(Autonomous System,AS),每个AS中设置有至少一个区块链节点(下文简称节点)和至少一个边界路由器。
可选的,本申请涉及的节点可以为因特网业务提供商(Internet Service Provider,ISP)所提供的服务器。
可选的,边界路由器为设置在AS边缘的路由器,边界路由器可以与其它AS中的边界路由器通信。例如,请参见图1,AS1中的路由器G12和路由器G13为边界路由器,AS2中的路由器G22和路由器G23为边界路由器,AS3中的路由器G31和路由器G32为边界路由器,AS4中的G41和G42为边界路由器。一个AS中还可以包括路由反射器,路由反射器可以转发该AS中的节点与边界路由器之间的消息,例如,AS1中包括路由反射器G11,AS2中包括路由反射器G21。需要说明的是,在一个AS中,节点可以直接与边界路由器通信,也可以通过路由反射器与边界路由器通信。
可以配置不同的AS之间的邻居关系,可选的,可以预先配置AS之间的邻居关系,或者,不同AS中的边界路由器也可以进行协商以配置AS之间的邻居关系。可选的,可以为一个AS配置一个或多个邻居AS。若两个AS被配置为邻居,则一个AS中的节点与另一个AS中的节点为邻居。对于任意一个AS中的节点,可以认为该AS的邻居AS中的节点为非攻击节点,例如,AS1和AS2为邻居,则对于AS1中的节点来说,AS2中的节点均为非攻击节点。
可选的,可以对不同AS中的边界路由器进行配置,以实现配置不同AS的邻居关系。可以在一个AS的边界路由器中添加另一个AS中的边界路由器的地址,且将该地址设置为邻居AS对应的路由器地址。例如,假设AS1中包括边界路由器1,AS2中包括边界路由器2,可以在边界路由器1中添加边界路由器2的地址,并将边界路由器2的地址设置为AS1的邻居AS对应的路由器地址,同时,还可以在边界路由器2中添加边界路由器1的地址,并将边界路由器1的地址设置为AS2的邻居AS对应的路由器地址。
在本申请中,在第一AS中的第一节点启动之后,该第一节点先获取第二AS(第一AS和第二AS为邻居)中的第二节点的地址信息,并根据第二节点的地址信息与第二节点建立连接。由于第一AS和第二AS为邻居,因此,第二AS中的第二节点为非攻击节点,使得第一节点可以与至少一个非攻击节点连接,进而可以避免与第一节点建立连接的节点均为攻击节点,进而避免第一节点被攻击节点控制,提高了区块链通信的安全性。
下面,通过具体实施例对本申请所示的技术方案进行详细说明。需要说明的是,下面几个实施例可以相互结合,对于相同或相似的内容,在不同的实施例中不再进行重复说明。
需要说明的是,在本申请实施例中,以第一AS中设置有第一路由器和第一节点,第二AS中设置有第二路由器和第二节点,且第一AS和第二AS为邻居为例进行说明。
图2为本申请实施例提供的一种区块链节点连接建立方法的流程示意图。请参见图2,该方法可以包括:
S201、第一路由器获取第二节点的地址信息。
其中,第二节点位于第二AS,第二节点为第二AS中的任意一个已启动的节点。
可选的,第一路由器可以为第一AS中的边界路由器。
可选的,第二节点的地址信息包括第二节点的标识、第二节点的IP地址、第二节点的MAC地址或第二节点的区块链账号中的至少一种。
第二节点的标识可以为第二节点的身份标识(Identification,ID)。
例如,当区块链基于以太坊技术实现时,则第二节点的地址信息可以包括第二节点的 标识和第二节点的IP地址,或者,第二节点的地址信息可以包括第二节点的标识、第二节点的IP地址和第二节点的区块链账号。
可选的,第一路由器可以从第二路由器中获取第二节点的地址信息。第二路由器可以为第二AS的边界路由器。例如,可以在第二路由器中添加第一路由器的地址,在第二路由器获取得到第二节点的地址信息之后,第二路由器可以根据第一路由器的地址,向第一路由器发送第二节点的地址信息。
可选的,第一路由器可以接收第二路由器发送的边界网关协议(Border Gateway Protocol,BGP)消息,BGP消息中包括第二节点的地址信息。
可选的,可以对现有的BGP更新消息(update)进行扩展,以使BGP更新消息中携带地址信息。
例如,第一路由器可以接收第二路由器发送的BGP更新消息,BGP更新消息中包括第二节点的地址信息。
下面,结合图3,对本申请所示的BGP更新消息的结构进行说明。
图3为本申请实施例提供的BGP更新消息的结构示意图。请参见图3,BGP更新消息中包括AS路径(AS-Path)、起源(Origin)、多协议网络层可达信息(Multiprotocol Reachable Network Layer Reachable Information,MP_REACH_NLRI)/多协议网络层不可达信息(Multiprotocol Unreachable Network Layer Reachable Information,MP_UNREACH_NLRI)属性,其中,MP_REACH_NLRI/MP_UNREACH_NLRI属性中包括地址族标识(Address Family Identifier,AFI)、子地址族标识(Subsequent Address Family Identifier,SAFI)、下一条长度、预留位和自治域信息网络层可达信息(Autonomous System Information_Network Layer Reachable Information,ASINFO_NLRI),其中,ASINFO_NLRI为本申请在现有的BGP更新消息中扩展的属性,通过扩展的该属性使得BGP消息中可以携带节点的地址信息。在扩展的ASINFO_NLRI中定义了DII_BC_ACCOUNTINFO属性,DII_BC_ACCOUNTINFO属性中包括节点的地址信息。可选的,节点的地址信息包括节点的标识、节点的IP地址、节点的MAC地址或节点的区块链账号中的至少一种。
需要说明的是,当第一AS与多个AS为邻居,且在该多个邻居AS的边界路由器中均添加了第一路由器的地址,则第一路由器可以从多个路由器中获取多个节点的地址信息。
例如,假设AS1中包括路由器1和节点1,AS2中包括路由器2和节点2,AS3中包括路由器3和节点3。假设AS1与AS2为邻居,AS1与AS3为邻居,在路由器2中添加了路由器1的地址作为邻居AS对应的路由器地址,在路由器3中也添加了路由器1的地址作为邻居AS对应的路由器地址。则路由器1可以从路由器2中获取节点2的地址信息,路由器2还可以从路由器3中获取节点3的地址信息。
S202、第一路由器向第一节点发送第二节点的地址信息。
第一路由器和第一节点均位于第一AS,第一路由器可以直接向第一节点发送第二节点的地址信息,或者,第一路由器可以通过第一AS中的其它路由器向第一节点发送第二节点的地址信息。
可选的,第一路由器获取到第二节点的地址信息之后,可以缓存第二节点的地址信息,在第一节点下次启动之后,再向第一节点发送第二节点的地址信息。由于第一节点在启动之后向第一路由器发送用于指示第一节点启动的消息,因此,第一路由器可以在接收到该 消息之后再向第一节点发送第二节点的地址信息。
可选的,第一路由器可以主动向第一节点发送第二节点的地址信息。第一路由器也可以在接收到第一节点的请求消息之后,再向第一节点发送第二节点的地址信息。
S203、第一节点根据第二节点的地址信息,与第二节点建立连接。
可选的,第一节点可以根据第二节点的地址信息,向第二节点发送连接建立请求,以实现与第二节点建立连接。
可选的,在S203之后,第一节点还可以与其它节点建立连接。例如,第一节点可以根据其存储的节点列表(NodeTable)请求与其它节点建立连接,或者,第一节点还可以接收其它节点发送的连接请求,以实现与其它节点建立连接。
本申请实施例提供的区块链节点连接建立方法,在第一AS中的第一节点启动之后,该第一节点先获取第二AS(第一AS和第二AS为邻居)中的第二节点的地址信息,并根据第二节点的地址信息与第二节点建立连接。由于第一AS和第二AS为邻居,因此,第二AS中的第二节点为非攻击节点,使得第一节点可以与至少一个非攻击节点连接,进而可以避免与第一节点建立连接的节点均为攻击节点,进而避免第一节点被攻击节点控制,提高了区块链通信的安全性。
在上述任意一个实施例的基础上,下面,结合图4-图6所示的实施例对上述方法实施例所示的方法进行详细说明。
图4为本申请实施例提供的另一种区块链节点连接建立方法的流程示意图。请参见图4,该方法可以包括:
S401、第二路由器向第一路由器发送第一BGP更新消息。
其中,第一BGP更新消息中包括第二节点的地址信息。
可选的,第二节点当前为已启动状态。
可选的,第二路由器可以在获取到第二节点的地址信息之后,主动向第一路由器发送第一BGP更新消息。
可选的,第一BGP更新消息中可以包括多个第二节点的地址信息,或者,第二路由器可以向第一路由器发送多个第一BGP更新消息,每个第一BGP更新消息中包括一个第二节点的地址信息,这样,可以使得第一路由器获取第二AS中当前已启动的所有第二节点的地址信息。
可选的,第二路由器的个数可以为一个或者多个。当第二路由器的个数为多个时,该多个第二路由器可以位于不同的AS中,且每个第二路由器所在的AS均与第一路由器所在的AS为邻居。
例如,假设第一路由器为路由器1,且第一路由器位于AS1;第二路由器的个数为2个,分别为路由器2和路由器3,路由器2位于AS2,路由器3位于AS3,AS1与AS2为邻居,AS1和AS3也是邻居,则路由器2可以向路由器1发送AS2中的节点的地址信息,路由器3可以向路由器1发送AS3中的节点的地址信息。
需要说明的是,第一BGP更新消息的结构可以参见图3,此处不再进行赘述。
S402、第一路由器根据第一BGP更新消息,缓存第二节点的地址信息。
可选的,第一路由器可以在第一BGP更新消息中获取第二节点的地址信息,并缓存第二节点的地址信息。
需要说明的是,第一路由器可能接收到一个或多个第二路由器发送的第一BGP更新消息,若第一路由器接收到多个第二路由器发送的第一BGP更新消息,则第一路由器分别缓存每个第一BGP更新消息中的第二节点的地址信息。
可选的,在第一路由器接收到第一BGP更新消息之后,第一路由器可以根据第一BGP更新消息判断第二节点是否为第一AS的邻居AS中的节点。
可选的,第一BGP更新消息中包括AS路径,第一路由器可以根据AS路径确定AS路径长度。AS路径长度用于指示第一BGP更新消息在传输的过程中经过的自治域的个数。若AS路径长度为1,则确定第二节点为第一AS的邻居AS中的节点,若AS路径长度大于1,则确定第二节点不是第一AS的邻居AS中的节点。
可选的,在BGP更新消息每经过一个AS时,则会携带该AS的标识,相应的,第一路由器可以根据第一BGP更新消息中的AS路径中包括的AS的标识的个数确定路径长度。路径长度可以为AS路径中包括的AS的标识的个数。
下面,结合图5,对路径长度进行说明。
图5为本申请实施例提供的消息转发示意图。请参见图5,包括AS1、AS2和AS3。AS1中设置有节点N1、路由反射器G11和路由器G12。AS2中设置有节点N2、路由器G21、路由反射器G22和路由器G23。AS3中设置有节点N3、路由器G31和路由反射器G32。
假设AS1中的路由器需要通过AS2中的路由器与AS3中的路由器进行通信,则当AS1中的路由器需要向AS3中的路由器发送BGP更新消息时,路由器G12可以先向路由器G21发送BGP更新消息,由于该BGP更新消息从AS1中发出,因此,该BGP更新消息中的AS路径中包括AS1的标识,即,AS路径为:AS1。在路由器G21接收到该BGP更新消息之后,路由器G21根据AS路径(AS1)可以确定路径长度为1。
路由器G21可以通过路由反射器G22向路由器G23发送该BGP更新消息,路由器G23向路由器G31发送BGP更新消息。由于此时的BGP更新消息已经经过了AS2,因此,此时的BGP更新消息的AS路径中还包括了AS2的标识,即,AS路径为:AS2,AS1,在路由器G31接收到该BGP更新消息之后,路由器G31根据AS路径(AS2,AS1)可以确定路径长度为2。
需要说明的是,若第一路由器所在的第一AS中存在节点为已启动状态,则第一路由器可以直接向第一AS中已启动状态的节点发送第二节点的地址信息。若第一路由器所在的第一AS中存在第一节点为未启动状态,则第一路由器可以在第一节点启动之后,再向第一节点发送缓存的第二节点的地址信息。
下面,通过S403-S411,对第一路由器向第一节点发送第二节点的地址信息的过程进行说明。
S403、第一节点启动。
S404、第一节点向第一路由器发送第一BGP打开(Open)消息。
其中,第一BGP打开消息中包括用于指示第一节点具有携带节点的地址信息的能力的指示信息。
可选的,第一BGP打开消息还可以指示第一节点启动。
下面,结合图6,对本申请所示的BGP打开消息的结构进行说明。
图6为本申请实施例提供的BGP打开消息的结构示意图。请参见图6,BGP打开消息中包括AFI、预留位和SAFI,其中,SAFI为本申请在现有的BGP更新消息中扩展的属性,SAFI的值AsInfo可以指示发送BGP打开消息的设备具有携带节点的地址信息的能力。
S405、第一路由器根据第一BGP打开消息向第一节点发送第二BGP打开消息。
其中,第二BGP打开消息中包括用于指示第一路由器具有携带节点的地址信息的能力的指示信息。
S406、第一节点根据第二BGP打开消息与第一路由器建立内部边界网关协议(Internal Border Gateway Protocol,IBGP)连接。
可选的,在第一节点具有携带节点的地址信息的能力,且第一路由器也具有携带节点的地址信息的能力时,第一节点与第一路由器建立IBGP连接。
例如,第一节点在判断第二BGP打开消息中包括用于指示第一路由器具有携带节点的地址信息的能力的指示信息时,第一节点与第一路由器建立IBGP连接。
S407、第一节点向第一路由器发送第二BGP更新消息。
其中,第二BGP更新消息中包括第一节点的地址信息。
需要说明的是,第一BGP更新消息的结构可以参见图3,此处不再进行赘述。
可选的,S407可以为可选的步骤,即,还可以不执行S407。
可选的,在S407中,第一节点还可以在接收到第一路由器发送的第二请求消息之后,再向第一路由器发送第二BGP更新消息。其中,第二请求消息用于请求获取第一节点的地址信息。
S408、第一路由器向第一节点发送第三BGP更新消息。
其中,第三BGP更新消息中包括第二节点的地址信息。
需要说明的是,第三BGP更新消息的结构可以参见图3,此处不再进行赘述。
需要说明的是,在S408中,第一路由器还可以在接收到第一节点发送的第一请求消息之后,再向第一节点发送第三BGP更新消息。其中,第一请求消息用于请求获取所述第一AS的邻居AS(第二AS)中的节点的地址信息。
S409、第一节点根据第二节点的地址信息,与第二节点建立连接。
可选的,第一节点可以先将第二节点的地址信息添加至邻居列表中,在第一节点确定得到邻居列表之后,可以先根据邻居列表中的地址信息与对应的节点建立连接。由于邻居列表中包括第二节点的地址信息,因此,第一节点可以与第二节点建立连接。
可选的,第一节点可以对邻居列表进行动态维护,以使邻居列表中的第二节点均为可达的(已启动状态)。例如,在邻居列表中的一个节点下线之前,第二节点可以通过第二路由器、第一路由器向第一节点发送下线通知,以使第一节点在邻居列表中删除该节点的地址信息。或者,在第一节点每次下线之后,清空邻居列表。或者,在第一节点与邻居节点中的一个节点发送连接请求之后未收到响应时,则第一节点确定该节点为未启动状态,则在邻居列表中删除该节点的地址信息。需要说明的是,上述只是以示例的形式示意第一节点对邻居列表的动态维护过程,本申请对此不作具体限定。
可选的,第一节点的邻居列表中可能已经包括了第三BGP更新消息中的部分地址信息,在该种情况下,第一节点可以不再向邻居节点中添加该部分地址信息,以避免邻居列表中包括重复的地址信息。
S410、第一路由器向第二路由器发送第四BGP更新消息。
其中,第四BGP更新消息中包括第一节点的地址信息。
需要说明的是,第四BGP更新消息的结构可以参见图3,此处不再进行赘述。
S411、第二路由器缓存第一节点的地址信息。
可选的,在第二路由器缓存第一节点的地址信息之后,在第二AS中的第二节点启动之后,第二路由器可以向第二节点发送第一节点的地址信息。
需要说明的是,第二路由器向第二节点发送第一节点的信息的过程,可以参见第一路由器向第一节点发送第二节点的地址信息的过程,此处不再进行赘述。
需要说明的是,S410-S411可以为可选的步骤,即,还可以不执行S410-S411。在实际应用过程中,若S407执行,则S410-S411也可以执行,若S407未执行,则S410-S411也可以不执行。
在图4所示的实施例中,通过扩展现有的BGP打开消息,可以使得BGP打开消息可以指示发送BGP打开消息的设备是否具有携带节点的地址信息的能力。通过扩展现有的BGP更新消息,使得BGP更新消息可以携带节点的地址信息,进而使得第一AS中的第一节点可以通过BGP更新消息获取第二AS中的第二节点的地址信息,进而使得第一节点可以先根据第二节点的地址信息与第二节点建立连接。由于第一AS和第二AS为邻居,因此,第二AS中的第二节点为非攻击节点,使得第一节点可以与至少一个非攻击节点连接,进而可以避免与第一节点建立连接的节点均为攻击节点,进而避免第一节点被攻击节点控制,提高了区块链通信的安全性。
下面,结合图7,通过具体示例,对图4实施例所示的方法进行详细说明。
图7为本申请实施例提供的节点连接建立过程示意图。请参见图1,在AS1中设置有节点1和路由器1,AS2中设置有节点2和路由器2,其中,AS1和AS2为邻居。假设节点1、节点2、路由器1和路由器2均具有在BGP更新消息中携带地址信息的能力。
节点1和节点2为以太坊节点,以太坊节点为区块链节点中的一种。请参见图7,节点1和节点2可以基于以太坊网络协议进行通信。
以太坊网络协议为开发点到点(Developers Peer to Peer,DEVp2p)协议。DEVp2p协议中包括递归长度前缀扩展(Recursive Length Prefix extended,RLPx)节点发现(Node Discover)协议、以太坊有线协议(Ethereum Wire Protocol)、DEVp2p有线协议(DEVp2p Wire Protocol)、用户数据报协议(User Diagram Protocol,UDP)和传输控制(Transmission Control Protocol,TCP)。RLPx节点发现(RLPxNode Discover)用于通过节点发现算法进行以太坊节点查找;DEVp2p有线协议(DEVp2p Wire Protocol)用于建立以太坊节点之间的P2P连接;以太坊有线协议(Ethereum Wire Protocol)用于以太坊节点的交易区块信息同步以及参与共识等。
请参见图7,在步骤1中,在节点1启动之后,由于节点1和路由器1均具有在BGP更新消息中携带地址信息的能力,因此,节点1和路由器1可以建立IBGP连接。
在步骤2中,在节点1和路由器1的IBGP连接建立完成之后,路由器1可以向节点1发送其缓存的邻居AS中节点的地址信息。在节点1接收到路由器1发送的邻居AS中节点的地址信息之后,节点1将接收到的地址信息添加至邻居列表,并根据邻居列表中的地址信息与邻居AS中的节点建立连接。在节点1与邻居AS中的节点建立连接之后,节点1 还可以与节点列表(NodeTable)中的节点建立连接。其中,节点列表为节点中维护的一个可达节点列表,例如,节点列表中可以包括最近与节点通信的可达的节点的地址信息。
在步骤3中,节点1向路由器1发送节点1的地址信息。例如,节点1可以向路由器1发送BGP更新消息1,BGP更新消息1中包括节点1的地址信息。
在步骤4中,路由器1向路由器2发送节点1的地址信息,例如,路由器1可以向路由器2发送BGP更新消息2,并在BGP更新消息2中携带节点1的地址信息。在步骤4中,若AS1还与其它AS为邻居,则路由器1还向AS1的其他邻居AS中的路由器发送节点1的地址信息。
在步骤5中,路由器2可以缓存节点1的地址信息。
在步骤6中,假设AS2中的节点2为已启动状态,则路由器2可以直接向节点2发送节点1的地址信息,例如,路由器2可以向节点2发送BGP更新消息3,BGP更新消息3中包括节点1的地址信息。需要说明的是,若AS2中还包括其它已启动的节点,则路由器2在接收到节点1的地址信息之后,路由器2还向其它已启动的节点发送节点1的地址信息。若AS2中还包括其它未启动的节点,则路由器2可以在其它未启动的节点启动之后,再向该部分节点发送节点1的地址信息。
在步骤7中,在节点2接收到节点1的地址信息之后,节点2将节点1的地址信息添加至邻居列表。在节点2下次启动时,可以根据邻居列表中的节点的地址信息与邻居AS中的节点建立连接。
图8为本申请实施例提供的又一种区块链节点连接建立方法的流程示意图。请参见图8,该方法可以包括:
S801、在第一节点启动之后,第一节点向第一路由器发送通知消息。
其中,通知消息用于指示第一节点启动。
可选的,通知消息可以为Notify消息。
S802、第一节点向第一路由器发送第一RTR请求消息。
其中,第一资源公钥基础设施(Resource Public Key Infrastructure,RPKI)到路由器接口协议(RPKI To Router,RTR)请求消息用于请求第一AS的邻居AS中的节点的地址信息。
可选的,第一RTR请求消息可以为第一请求消息的一种实现形式。
例如,第一RTR请求消息可以为Account Query消息。Account Query消息可以如图9所示。
图9为本申请实施例提供的一种消息的结构示意图。请参见图9,Account Query消息可以占用64位。第0至7位用于指示协议版本,第8至15位用于指示PDU类型,第16至第31位为预留位,第32至63位用于指示长度。其中,PDU类型可以指示该Account Query消息的功能,即,指示请求获取地址信息。
S803、第一路由器向第一节点发送第一RTR响应消息。
可选的,第一RTR响应消息可以为Account Response消息,Account Response消息可以如图10所示,此处不再进行赘述。
图10为本申请实施例提供的另一种消息的结构示意图。请参见图10,Account Response消息可以占用64位。第0至7位用于指示协议版本,第8至15位用于指示PDU类型, 第16至第31位为预留位,第32至63位用于指示长度。其中,PDU类型可以指示该Account Query消息的功能,即,对获取地址信息的请求消息进行响应。
S804、第一路由器向第一节点发送第一RTR内容消息,第一RTR内容消息包括第二节点的地址信息。
其中,第二节点为第一AS的邻居AS中的节点。第二节点的地址信息为第一路由器缓存的第一AS的邻居AS中的节点的地址信息。
可选的,第一RTR内容消息可以为账户信息(AccountInfo)消息,并在账户信息消息中携带其缓存的邻居AS中的节点的地址信息。Account Query消息可以如图11所示。
图11为本申请实施例提供的另一种消息的结构示意图。请参见图11,AccountInfo消息占用的位数可变。第0至7位用于指示协议版本,第8至15位用于指示PDU类型,第16至第31位为预留位,第32至63位用于指示长度,其它信息位用于指示地址信息。其中,PDU类型可以指示该AccountInfo消息的功能,即,指示用于承载地址信息。需要说明的是,图11只是以示例的形式示意地址信息中包括的内容,并非对地址信息中包括的内容进行的限定。
可选的,在第一路由器向第一节点发送完成第一RTR内容消息之后,第一路由器还可以向第一节点发送结束消息(End of Data消息)。
S805、第一节点根据第二节点的地址信息,与第二节点建立连接。
需要说明的是,S804的执行过程可以参见S409,此处不再进行赘述。
S806、第一路由器根据通知消息向第一节点发送第二RTR请求消息。
其中,第二RTR请求消息用于请求获取第一节点的地址信息。
可选的,第二RTR请求消息可以为第二请求消息的一种实现形式。
可选的,第二RTR请求消息可以为账户请求(Account Query)消息。Account Query消息可以如图9所示,此处不再进行赘述。
S807、第一节点根据账户请求消息向第一路由器发送第二RTR响应消息。
可选的,第二RTR响应消息可以为账户响应(Account Response)消息。Account Response消息可以如图10所示,此处不再进行赘述。
S808、第一节点根据账户请求消息向第一路由器发送第二RTR内容消息,第二RTR内容消息中包括第一节点的地址信息。
可选的,第二RTR内容消息可以为账户信息(AccountInfo)消息,Account Query消息可以如图11所示,此处不再进行赘述。
可选的,在第一节点向第一路由器发送完成第二RTR响应消息和第二RTR内容消息之后,第一节点还可以向第一路由器发送结束消息(End of Data消息)。
需要说明的是,本申请不限定S802-S804与S806-S808之间的先后执行顺序,且
S809、第一路由器向第二路由器发送BGP更新消息,BGP更新消息中包括第一节点的地址信息。
需要说明的是,BGP更新消息的结构可以参见图3,此处不再进行赘述。
S810、第二路由器缓存第一节点的地址信息。
可选的,在第二路由器缓存第一节点的地址信息之后,第二AS中的节点可以向第二路由器请求获取第二路由器缓存的邻居AS的地址信息,第二AS中的节点向第二路由器 请求获取第二路由器缓存的邻居AS的地址信息的过程可以参见S806-S807,此处不再进行赘述。
可选的,第二路由器还可以向第二AS中的节点请求获取第二AS中的节点的地址信息,其过程可以参见S802-S803,此处不再进行赘述。
在图8所示的实施例中,通过定义新的RTR消息,可以使得第一AS中的第一节点可以通过RTR消息(RTR内容消息)获取第二AS中的第二节点的地址信息,进而使得第一节点可以先根据第二节点的地址信息与第二节点建立连接。由于第一AS和第二AS为邻居,因此,第二AS中的第二节点为非攻击节点,使得第一节点可以与至少一个非攻击节点连接,进而可以避免与第一节点建立连接的节点均为攻击节点,进而避免第一节点被攻击节点控制,提高了区块链通信的安全性。
图12为本申请实施例提供的再一种区块链节点连接建立方法的流程示意图。请参见图12,该方法可以包括:
S1201、在第一节点启动之后,第一节点向第一路由器发送第一信息通知消息。
其中,第一信息通知消息中包括第一节点的地址信息。
其中,第一信息通知消息还用于指示第一节点启动。
可选的,第一信息通知消息可以为NotifyAccountInfo消息。
可选的,第一信息通知消息可以为自定义接口消息。例如,第一信息通知消息可以为用户数据报协议(User Diagram Protocol,UDP)消息。
S1202、第一路由器向第一节点发送第一信息响应消息。
可选的,第一信息响应消息可以为Account NotifyAccountAck消息。
可选的,第一信息响应消息可以为自定义接口消息。例如,第一信息响应消息可以为UDP消息。
S1203、第一路由器向第一节点发送第二信息通知消息。
其中,第二信息通知消息中包括第二节点的地址信息,第二节点为第一AS的邻居AS中的节点。第二节点的地址信息为第一路由器缓存的第一AS的邻居AS中的节点的地址信息。
可选的,第二信息通知消息可以为NotifyAccountInfo消息。
可选的,第二信息通知消息可以为自定义接口消息。例如,第二信息通知消息可以为UDP消息。
S1204、第一节点向第一路由器发送第二信息响应消息。
可选的,第二信息响应消息可以为Account NotifyAccountAck消息。
可选的,第二信息响应消息可以为自定义接口消息。例如,第二信息响应消息可以为UDP消息。
S1205、第一节点根据第二节点的地址信息,与第二节点建立连接。
需要说明的是,S1405的执行过程可以参见S409,此处不再进行赘述。
S1206、第一路由器向第二路由器发送BGP更新消息,BGP更新消息中包括第一节点的地址信息。
需要说明的是,BGP更新消息的结构可以参见图3,此处不再进行赘述。
S1207、第二路由器缓存第一节点的地址信息。
可选的,在第二路由器缓存第一节点的地址信息之后,第二路由器还可以向第二AS中的节点发送第一节点的地址信息,第二路由器向第二AS中的节点发送第一节点的地址信息的过程,可以参见S1203-S1204,此处不再进行赘述。
在图12所示的实施例中,通过自定义接口消息,可以使得第一AS中的第一节点可以通过自定义接口消息获取第二AS中的第二节点的地址信息,进而使得第一节点可以先根据第二节点的地址信息与第二节点建立连接。由于第一AS和第二AS为邻居,因此,第二AS中的第二节点为非攻击节点,使得第一节点可以与至少一个非攻击节点连接,进而可以避免与第一节点建立连接的节点均为攻击节点,进而避免第一节点被攻击节点控制,提高了区块链通信的安全性。
下面,结合图13-图15所示的实施例,对区块链节点连接建立方法进行说明。
图13为本申请实施例提供的再一种区块链节点连接建立方法的流程示意图。请参见图13,该方法可以包括:
S1301、第一节点启动。
S1302、第一路由器向第一节点发送其缓存的第一AS的邻居AS中的节点的地址信息。
需要说明的是,S1302的执行过程可以参见上述任意方法实施例,此处不再进行赘述。
S1303、第一节点根据接收到的第一AS的邻居AS中的节点的地址信息,更新邻居列表。
可选的,第一节点可以将接收到的第一AS的邻居AS中的节点(下文简称邻居节点)的地址信息添加至邻居列表;或者,第一节点可以将接收到的邻居节点的地址信息中、未包括在邻居列表中的地址信息添加至邻居列表。
S1304、第一节点根据更新后的邻居列表中的地址信息,与第一AS的邻居AS中的节点建立连接。
可选的,第一节点可以根据更新后的邻居列表中的地址信息,向邻居节点发送连接请求,在接收到邻居节点发送的连接响应之后,与邻居节点建立连接。
可选的,第一节点最多与
Figure PCTCN2020074848-appb-000001
个邻居节点建立出连接,maxpeers为第一节点建立的最多连接数量。例如,maxpeers可以为25。
S1305、第一节点根据节点列表中的节点信息进行节点发现,并与发现的节点建立连接。
可选的,第一节点可以生成一个随机节点ID,并获取节点列表中每个节点的节点ID与该随机节点ID的异或距离,并与异或距离最近的X个节点建立连接。
可选的,假设在S1304中,第一节点与Y个邻居节点建立连接,则X+Y小于或等于
Figure PCTCN2020074848-appb-000002
其中,两个节点的异或距离可以为将两个节点的节点ID进行异或运算之后包含的1的个数。
可选的,在第一节点与至少一个邻居节点建立连接以及与发现的节点建立连接之后,第一节点可以与建立连接的节点处获取得到区块链信息,区块链信息中包括链长和难度信息。若第一节点获取得到的链长不同,或者难度信息不同,则第一节点可以将链长最长且 难度最大的链确定为真实的链,并与真实的链保持连接。
在图13所示的实施例中,第一节点可以与第一AS的邻居AS中的至少一个节点建立连接,由于第一AS的邻居AS中的节点为非攻击节点,使得第一节点可以与至少一个非攻击节点连接,进而可以避免与第一节点建立连接的节点均为攻击节点,进而避免第一节点被攻击节点控制,提高了区块链通信的安全性。
下面,结合图14,通过具体实施例,对图13所示的实施例进行详细说明。
图14为本申请提供的节点连接建立过程示意图。请参见图14,AS1与AS2为邻居,AS1与AS3为邻居。
在节点N1启动之后,节点N1从路由器G11中获取路由器G11缓存的AS2和AS3中的节点的地址信息,并根据获取得到节点的地址信息更新邻居列表,假设更新后的邻居列表中包括AS2中的节点N2的地址信息(IP2)和AS3中的节点N3的地址信息(N3)。
节点N1先根据邻居列表中的节点的地址信息与邻居节点建立连接,即,节点N1根据节点N2的地址(IP2)与节点N2建立连接,节点N1根据节点N3的地址(IP3)与节点N3建立连接。
节点N1还可以通过节点发现算法发现其他的节点,并与其它节点建立连接。由于节点N2和节点N3为非攻击节点,因此,可以使得节点N1可以与至少一个非攻击节点连接,进而可以避免与节点N1建立连接的节点均为攻击节点,进而避免节点N1被攻击节点控制,提高了区块链通信的安全性。
图15为本申请实施例提供的再一种区块链节点连接建立方法的流程示意图。请参见图15,该方法可以包括:
S1501、第一节点启动。
S1502、第一节点与第三节点建立连接。
可选的,第三节点可以为背书节点。
可选的,在第一节点与第三节点建立连接之后,第三节点可以向第一节点发送第一区块链信息,第一区块链信息中包括第三节点所在链的链长和难度信息。
S1503、第三节点向第一节点发送第一合法节点列表。
其中,第一合法节点列表中包括多个节点的信息。
例如,节点的信息可以包括节点的区块链账号、节点的标识和节点的IP地址等信息中的一项或多项。
S1504、第一节点与第二节点建立连接。
其中,第二节点为第一AS的邻居AS中的节点。
需要说明的是,S1504的执行过程可以参见S1302-S1304,此处不再进行赘述。
可选的,在第一节点与第二节点建立连接之后,第二节点可以向第一节点发送第二区块链信息,第一区块链信息中包括第二节点所在链的链长和难度信息。
S1505、第二节点向第一节点发送第二合法节点列表。
S1506、第一节点在第一合法节点列表和第二合法节点列表中确定目标合法节点列表。
可选的,第一节点可以根据第一区块链信息和第二区块链信息确定真实的链,并将第一合法节点列表和第二合法节点列表中、包括真实的链中的节点的合法节点列表确定为目 标合法节点列表。
S1507、第一节点根据目标合法节点列表进行节点发现。
需要说明的是,S1507的执行过程可以参见S1305,此处不再进行赘述。
在图15所示的实施例中,第一节点可以与第一AS的邻居AS中的至少一个节点建立连接,由于第一AS的邻居AS中的节点为非攻击节点,使得第一节点可以与至少一个非攻击节点连接,进而可以避免与第一节点建立连接的节点均为攻击节点,进而避免第一节点被攻击节点控制,进一步的,第一节点可以从背书节点和邻居节点分别获取合法节点列表,并在获取到的合法节点列表中确定目标合法节点列表,并根据目标合法节点列表进行节点发现,进而可以避免背书节点作恶而引起的安全性问题。
图16为本申请实施例提供的一种区块链节点连接建立装置的结构示意图。该区块链节点连接建立装置10可以应用于区块链***中的第一节点,该区块链节点连接建立装置10可以所述装置包括:
接收模块11,用于从第一路由器获取第二节点的地址信息,所述第一路由器和所述第一节点位于第一自治域,所述第二节点位于第二自治域,所述第一自治域和所述第二自治域为邻居自治域;
处理模块12,用于根据所述第二节点的地址信息,与所述第二节点建立连接。
可选的,接收模块11可以执行上述方法实施例中与第一节点的接收动作相关的步骤,例如,接收模块11可以执行图2实施例中的S202,图4实施例中的S405和S408,图8实施例中的S803、S804等,图12实施例中的S1202、S1203等,图13实施例中的S1302,图15实施例中的S1503和S1505。
可选的,处理模块12可以执行上述方法实施例中与第一节点的处理动作相关的步骤,例如,处理模块12可以执行图2实施例中的S203,图4实施例中的S409,图8实施例中的S805,图12实施例中的S1205,图13实施例中的S1303-S1305,图15实施例中的S1506-S1507。
需要说明的是,本申请实施例所示的区块链节点连接建立装置10可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
在一种可能的实施方式中,所述接收模块11具体用于,从所述第一路由器接收第一消息,所述第一消息包括所述第二节点的地址信息,所述第一消息为边界网关协议BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的其中一种。
图17为本申请实施例提供的另一种区块链节点连接建立装置的结构示意图。在图16所示实施例的基础上,请参见图17,区块链节点连接建立装置10还包括发送模块13,其中,
所述发送模块13用于,在所述接收模块11从所述第一路由器接收第一消息之前,向所述第一路由器发送请求消息,所述请求消息用于请求获取所述第一自治域的邻居自治域中的节点的地址信息。
可选的,发送模块13可以执行上述方法实施例中与第一节点的发送动作相关的步骤,例如,处理模块12可以执行图2实施例中的S202,图4实施例中的S404和S407,图8实施例中的S801-S802、S807-S808,图12实施例中的S1201、S1204。
在一种可能的实施方式中,所述第一节点的地址信息包括所述第一节点的标识、所述 第一节点的IP地址、所述第一节点的MAC地址或所述第一节点的区块链账号中的至少一种;
所述第二节点的地址信息包括所述第二节点的标识、所述第二节点的IP地址、所述第二节点的MAC地址或所述第二节点的区块链账号中的至少一种。
在一种可能的实施方式中,在所述处理模块12根据所述第二节点的地址信息,与所述第二节点建立连接之前,所述处理模块12还用于,将所述第二节点的地址信息添加至所述第一节点的邻居列表中;
所述处理模块12具体用于,根据所述邻居列表中的地址信息,与所述第二节点建立连接。
在一种可能的实施方式中,在所述处理模块12根据所述第二节点的地址信息,与所述第二节点建立连接之后,所述处理模块12还用于:
与第三节点建立连接,并从所述第三节点获取第一合法节点列表;
从所述第二节点获取第二合法节点列表;
在所述第一合法节点列表和所述第二合法节点列表中确定目标合法节点列表,并根据所述目标合法节点列表进行节点发现。
需要说明的是,本申请实施例所示的区块链节点连接建立装置10可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
图18为本申请实施例提供的又一种区块链节点连接建立装置的结构示意图。该区块链节点连接建立装置20可以应用于区块链***中的第一路由器,该区块链节点连接建立装置20可以包括:
接收模块21,用于获取第二节点的地址信息,所述第二节点位于第二自治域;
发送模块22,用于向所述第一节点发送所述第二节点的地址信息,所述第一路由器和所述第一节点位于第一自治域,所述第一自治域和所述第二自治域为邻居自治域。
可选的,接收模块21可以执行上述方法实施例中与第一路由器的接收动作相关的步骤,例如,接收模块21可以执行图2实施例中的S201,图4实施例中的S401、S404和S407,图8实施例中的S801-S802、S807-S808,图12实施例中的S1201和S1204。
可选的,发送模块22可以执行上述方法实施例中与第一路由器的发送动作相关的步骤,例如,发送模块22可以执行图2实施例中的S202,图4实施例中的S405、S408和S410,图8实施例中的S803-S804、S806、S809,图12实施例中的S1202-S1203和S1206。
需要说明的是,本申请实施例所示的区块链节点连接建立装置20可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
在一种可能的实施方式中,所述发送模块22具体用于,向所述第一节点发送第一消息,所述第一消息包括所述第二节点的地址信息,所述第一消息为边界网关协议BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的其中一种。
在一种可能的实施方式中,所述接收模块21还用于,在所述发送模块向所述第一节点发送第一消息之前,接收所述第一节点发送的第一请求消息,所述第一请求消息用于请求获取所述第一自治域的邻居自治域中的节点的地址信息。
在一种可能的实施方式中,所述接收模块21具体用于,从第二路由器接收第一边界网关协议BGP消息,所述第一BGP消息中包括所述第二节点的地址信息,所述第二路由 器位于所述第二自治域。
图19为本申请实施例提供的再一种区块链节点连接建立装置的结构示意图。在图18所示实施例的基础上,请参见图19,区块链节点连接建立装置20还可以包括处理模块23,其中,
所述处理模块23用于,在所述发送模块22向所述第一节点发送所述地址信息之前,获取所述地址信息的自治域路径长度,并确定所述地址信息的自治域路径长度为1,所述自治域路径长度用于指示所述第一路由器接收到所述地址信息时,所述地址信息经过的自治域的个数。
在一种可能的实施方式中,所述接收模块21还用于,接收所述第一节点发送的第二消息,所述第二消息包括所述第一节点的地址信息,所述第二消息为BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的至少一种。
在一种可能的实施方式中,所述第一节点的地址信息包括所述第一节点的标识、所述第一节点的IP地址、所述第一节点的MAC地址或所述第一节点的区块链账号中的至少一种;
所述第二节点的地址信息包括所述第二节点的标识、所述第二节点的IP地址、所述第二节点的MAC地址或所述第二节点的区块链账号中的至少一种。
需要说明的是,本申请实施例所示的区块链节点连接建立装置20可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此次不再进行赘述。
应理解,上述区块链节点连接建立装置中的处理模块可以被实现为处理器,接收模块可以被实现为接收器,发送模块可以被实现为发送器。
图20为本申请提供的一种区块链节点连接建立装置的硬件结构示意图。请参见图20,该区块链节点连接建立装置30包括:存储器31、处理器32、接收器33和发送器34,其中,存储器31和处理器32通信;示例性的,存储器31、处理器32、接收器33和发送器34可以通过通信总线35通信,所述存储器31用于存储计算机程序,所述处理器32执行所述计算机程序实现上述区块链节点连接建立方法。
可选的,本申请所示的处理器32可以实现图16-图17实施例中的处理模块12的功能,接收器33可以实现图16-图17实施例中接收模块11的功能,发送器34可以实现图16-图17实施例中发送模块13的功能,此处不再进行赘述。
图21为本申请提供的另一种区块链节点连接建立装置的硬件结构示意图。请参见图21,该区块链节点连接建立装置40包括:存储器41、处理器42、接收器43和发送器44,其中,存储器41和处理器42通信;示例性的,存储器41、处理器42、接收器43和发送器44可以通过通信总线45通信,所述存储器41用于存储计算机程序,所述处理器42执行所述计算机程序实现上述区块链节点连接建立方法。
可选的,本申请所示的处理器42可以实现图18-图19实施例中的处理模块23的功能,接收器43可以实现图18-图19实施例中接收模块21的功能,发送器44可以实现图18-图19实施例中发送模块22的功能,此处不再进行赘述。
可选的,上述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处 理器也可以是任何常规的处理器等。结合本申请所公开的区块链节点连接建立方法实施例中的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本申请提供一种存储介质,所述存储介质用于存储计算机程序,所述计算机程序用于实现上述实施例所述的区块链节点连接建立方法。
实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一可读取存储器中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储器(存储介质)包括:只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetic tape)、软盘(英文:floppy disk)、光盘(英文:optical disc)及其任意组合。
本申请实施例是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理单元以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理单元执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
在本申请中,术语“包括”及其变形可以指非限制性的包括;术语“或”及其变形可以指“和/或”。本本申请中术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。本申请中,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。

Claims (22)

  1. 一种区块链节点连接建立方法,其特征在于,应用于区块链***,所述方法包括:
    第一节点从第一路由器获取第二节点的地址信息,所述第一路由器和所述第一节点位于第一自治域,所述第二节点位于第二自治域,所述第一自治域和所述第二自治域为邻居自治域;
    所述第一节点根据所述第二节点的地址信息,与所述第二节点建立连接。
  2. 根据权利要求1所述的方法,其特征在于,所述第一节点从第一路由器获取所述第二节点的地址信息,包括:
    所述第一节点从所述第一路由器接收第一消息,所述第一消息包括所述第二节点的地址信息,所述第一消息为边界网关协议BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的其中一种。
  3. 根据权利要求1或2所述的方法,其特征在于,
    所述第二节点的地址信息包括所述第二节点的标识、所述第二节点的IP地址、所述第二节点的MAC地址或所述第二节点的区块链账号中的至少一种。
  4. 根据权利要求1-3任一项所述的方法,其特征在于,所述第一节点根据所述第二节点的地址信息,与所述第二节点建立连接之前,包括:
    所述第一节点将所述第二节点的地址信息添加至所述第一节点的邻居列表中;
    所述第一节点根据所述第二节点的地址信息,与所述第二节点建立连接,包括:
    所述第一节点根据所述邻居列表中的地址信息,与所述第二节点建立连接。
  5. 根据权利要求1-3任一项所述的方法,其特征在于,所述第一节点根据所述第二节点的地址信息,与所述第二节点建立连接之后,还包括:
    所述第一节点与第三节点建立连接,并从所述第三节点获取第一合法节点列表;
    所述第一节点从所述第二节点获取第二合法节点列表;
    所述第一节点在所述第一合法节点列表和所述第二合法节点列表中确定目标合法节点列表,并根据所述目标合法节点列表进行节点发现。
  6. 一种区块链节点连接建立方法,其特征在于,应用于区块链***,所述方法包括:
    第一路由器获取第二节点的地址信息,所述第二节点位于第二自治域;
    所述第一路由器向第一节点发送所述第二节点的地址信息,所述第一路由器和所述第一节点位于第一自治域,所述第一自治域和所述第二自治域为邻居自治域。
  7. 根据权利要求6所述的方法,其特征在于,所述第一路由器向所述第一节点发送所述第二节点的地址信息,包括:
    所述第一路由器向所述第一节点发送第一消息,所述第一消息包括所述第二节点的地址信息,所述第一消息为边界网关协议BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的其中一种。
  8. 根据权利要求6或7所述的方法,其特征在于,所述第一路由器获取第二节点的地址信息,包括:
    所述第一路由器从第二路由器接收第一边界网关协议BGP消息,所述第一BGP消息中包括所述第二节点的地址信息,所述第二路由器位于所述第二自治域。
  9. 根据权利要求6-8任一项所述的方法,其特征在于,所述第一路由器向所述第一节点发送所述地址信息之前,还包括:
    所述第一路由器获取所述地址信息的自治域路径长度,所述自治域路径长度用于指示所述第一路由器接收到所述地址信息时,所述地址信息经过的自治域的个数;
    所述第一路由器确定所述地址信息的自治域路径长度为1。
  10. 根据权利要求8所述的方法,其特征在于,所述方法还包括:
    所述第一路由器接收所述第一节点发送的第二消息,所述第二消息包括所述第一节点的地址信息,所述第二消息为BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的至少一种。
  11. 根据权利要求6-10任一项所述的方法,其特征在于,
    所述第二节点的地址信息包括所述第二节点的标识、所述第二节点的IP地址、所述第二节点的MAC地址或所述第二节点的区块链账号中的至少一种。
  12. 一种区块链节点连接建立装置,其特征在于,应用于区块链***中的第一节点,所述装置包括:
    接收模块,用于从第一路由器获取第二节点的地址信息,所述第一路由器和所述第一节点位于第一自治域,所述第二节点位于第二自治域,所述第一自治域和所述第二自治域为邻居自治域;
    处理模块,用于根据所述第二节点的地址信息,与所述第二节点建立连接。
  13. 根据权利要求12所述的装置,其特征在于,
    所述接收模块具体用于,从所述第一路由器接收第一消息,所述第一消息包括所述第二节点的地址信息,所述第一消息为边界网关协议BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的其中一种。
  14. 根据权利要求12或13所述的装置,其特征在于,
    所述第二节点的地址信息包括所述第二节点的标识、所述第二节点的IP地址、所述第二节点的MAC地址或所述第二节点的区块链账号中的至少一种。
  15. 根据权利要求12-14任一项所述的装置,其特征在于,
    在所述处理模块根据所述第二节点的地址信息,与所述第二节点建立连接之前,所述处理模块还用于,将所述第二节点的地址信息添加至所述第一节点的邻居列表中;
    所述处理模块具体用于,根据所述邻居列表中的地址信息,与所述第二节点建立连接。
  16. 根据权利要求12-14任一项所述的装置,其特征在于,在所述处理模块根据所述第二节点的地址信息,与所述第二节点建立连接之后,所述处理模块还用于:
    与第三节点建立连接,并从所述第三节点获取第一合法节点列表;
    从所述第二节点获取第二合法节点列表;
    在所述第一合法节点列表和所述第二合法节点列表中确定目标合法节点列表,并根据所述目标合法节点列表进行节点发现。
  17. 一种区块链节点连接建立装置,其特征在于,应用于区块链***中的第一路由器,所述装置包括:
    接收模块,用于获取第二节点的地址信息,所述第二节点位于第二自治域;
    发送模块,用于向第一节点发送所述第二节点的地址信息,所述第一路由器和所述第 一节点位于第一自治域,所述第一自治域和所述第二自治域为邻居自治域。
  18. 根据权利要求17所述的装置,其特征在于,
    所述发送模块具体用于,向所述第一节点发送第一消息,所述第一消息包括所述第二节点的地址信息,所述第一消息为边界网关协议BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的其中一种。
  19. 根据权利要求17或18所述的装置,其特征在于,
    所述接收模块具体用于,从第二路由器接收第一边界网关协议BGP消息,所述第一BGP消息中包括所述第二节点的地址信息,所述第二路由器位于所述第二自治域。
  20. 根据权利要求17-19任一项所述的装置,其特征在于,所述装置还包括处理模块,其中,
    所述处理模块用于,在所述发送模块向所述第一节点发送所述地址信息之前,获取所述地址信息的自治域路径长度,并确定所述地址信息的自治域路径长度为1,所述自治域路径长度用于指示所述第一路由器接收到所述地址信息时,所述地址信息经过的自治域的个数。
  21. 根据权利要求19所述的装置,其特征在于,
    所述接收模块还用于,接收所述第一节点发送的第二消息,所述第二消息包括所述第一节点的地址信息,所述第二消息为BGP消息、资源公钥基础设施到路由器接口协议RTR消息或自定义接口消息中的至少一种。
  22. 根据权利要求17-21任一项所述的装置,其特征在于,
    所述第二节点的地址信息包括所述第二节点的标识、所述第二节点的IP地址、所述第二节点的MAC地址或所述第二节点的区块链账号中的至少一种。
PCT/CN2020/074848 2019-02-20 2020-02-12 区块链节点连接建立方法、装置及设备 WO2020168954A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP20758912.8A EP3783868B1 (en) 2019-02-20 2020-02-12 Method, apparatus, and device for establishing connection between blockchain nodes
US17/099,382 US20210075590A1 (en) 2019-02-20 2020-11-16 Method and apparatus for establishing blockchain node connection, and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201910126002.8 2019-02-20
CN201910126002.8A CN111598564B (zh) 2019-02-20 2019-02-20 区块链节点连接建立方法、装置及设备

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US17/099,382 Continuation US20210075590A1 (en) 2019-02-20 2020-11-16 Method and apparatus for establishing blockchain node connection, and device

Publications (1)

Publication Number Publication Date
WO2020168954A1 true WO2020168954A1 (zh) 2020-08-27

Family

ID=72144783

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2020/074848 WO2020168954A1 (zh) 2019-02-20 2020-02-12 区块链节点连接建立方法、装置及设备

Country Status (4)

Country Link
US (1) US20210075590A1 (zh)
EP (1) EP3783868B1 (zh)
CN (1) CN111598564B (zh)
WO (1) WO2020168954A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112804299B (zh) * 2020-12-30 2023-02-28 成都知道创宇信息技术有限公司 节点测绘方法、装置、测绘设备及可读存储介质
CN112765203B (zh) * 2021-02-04 2023-06-30 北京邮电大学 一种互联网码号资源管理方法及装置
CN113438308B (zh) * 2021-06-23 2022-12-23 上海简苏网络科技有限公司 一种基于区块链的高效通信方法及***
CN113783901B (zh) * 2021-11-15 2022-02-08 湖南宸瀚信息科技有限责任公司 一种基于区块链的多通信节点协同抗攻击网络***
CN113992434B (zh) * 2021-12-24 2022-04-01 杭州趣链科技有限公司 通信方法、***、电子设备及可读存储介质
CN115567541B (zh) * 2022-12-01 2023-03-10 杭州蚂蚁酷爱科技有限公司 区块链网络、节点集合的维护方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005034569A2 (en) * 2003-09-30 2005-04-14 Intel Corporation Using an extended border gateway protocol for routing across optical-burst-switched networks
CN101102325A (zh) * 2006-11-09 2008-01-09 华为技术有限公司 通告自治***边界连接信息的方法和装置
CN102347903A (zh) * 2011-10-13 2012-02-08 北京星网锐捷网络技术有限公司 一种数据报文转发方法、装置及***
CN104811380A (zh) * 2014-01-26 2015-07-29 华为技术有限公司 一种发送引流路由信息的方法及清洗设备
CN108989220A (zh) * 2018-09-05 2018-12-11 中国联合网络通信集团有限公司 路由方法和路由***

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2056558A1 (en) * 2007-10-31 2009-05-06 Panasonic Corporation Server discovery in a neighbour network of an IP node
US8964732B2 (en) * 2011-03-25 2015-02-24 Futurewei Technologies, Inc. System and method for topology transparent zoning in network communications
US20130304927A1 (en) * 2012-05-14 2013-11-14 King Abdulaziz City For Science And Technology Network address translation-based method of bypassing internet access denial
JP6951329B2 (ja) * 2015-10-14 2021-10-20 ケンブリッジ ブロックチェーン,エルエルシー デジタルアイデンティティを管理するためのシステム及び方法
US11223598B2 (en) * 2016-05-03 2022-01-11 Nokia Of America Corporation Internet security
CN107370675B (zh) * 2016-05-13 2021-02-23 华为技术有限公司 路由散播的方法和节点
US20180041396A1 (en) * 2016-08-04 2018-02-08 Futurewei Technologies, Inc. System and method for topology discovery in data center networks
US11032197B2 (en) * 2016-09-15 2021-06-08 Cisco Technology, Inc. Reroute detection in segment routing data plane
US10630743B2 (en) * 2016-09-23 2020-04-21 Cisco Technology, Inc. Unicast media replication fabric using bit indexed explicit replication
CN106341421B (zh) * 2016-10-31 2019-04-02 杭州云象网络技术有限公司 一种基于区块链技术的数据交换方法
CN106789920A (zh) * 2016-11-25 2017-05-31 深圳前海微众银行股份有限公司 区块链的节点连接方法及装置
CN108574628B (zh) * 2017-03-13 2022-09-27 中兴通讯股份有限公司 域级拓扑的建立方法及装置、***
CN108323232B (zh) * 2017-05-16 2020-01-24 北京大学深圳研究生院 一种多层级区块链***之间索引与链拓扑结构的维护方法
WO2018224954A1 (en) * 2017-06-07 2018-12-13 nChain Holdings Limited Computer-Implemented System and Method for Managing Transactions Over a Blockchain Network
CN107592293A (zh) * 2017-07-26 2018-01-16 阿里巴巴集团控股有限公司 区块链节点间通讯方法、数字证书管理方法、装置和电子设备
KR102417067B1 (ko) * 2017-12-08 2022-07-05 한국전자통신연구원 블록 체인 네트워크의 노드에서 수행되는 블록 생성 방법 및 장치
US20220075892A1 (en) * 2018-01-22 2022-03-10 Baton Systems, Inc. Partitioning data across shared permissioned database storage for multiparty data reconciliation
US10298585B1 (en) * 2018-01-26 2019-05-21 Accenture Global Solutions Limited Blockchain interoperability
US20190251199A1 (en) * 2018-02-14 2019-08-15 Ivan Klianev Transactions Across Blockchain Networks
CN108494830A (zh) * 2018-02-27 2018-09-04 浙江辉宏地理信息有限公司 一种采用区块链的物联网
WO2019227052A1 (en) * 2018-05-24 2019-11-28 Walmart Apollo, Llc System and methods for multi-variant tracking
US10644990B2 (en) * 2018-05-29 2020-05-05 Charter Communications Operating, Llc Border gateway protocol (BGP) security measures along autonomous system (AS) paths
CN108768856A (zh) * 2018-05-31 2018-11-06 新华三技术有限公司 一种路由处理方法和装置
CN109033143B (zh) * 2018-06-11 2021-06-29 中国科学院广州能源研究所 基于区块链的分布式、分域电网数据处理***及其方法
US11375404B2 (en) * 2018-07-16 2022-06-28 Revokind, Inc. Decentralized infrastructure methods and systems
US20200028775A1 (en) * 2018-07-19 2020-01-23 Moac Blockchain Tech Inc Apparatus and Method for Decentralized Anonymous Communication
CN108966311B (zh) * 2018-07-19 2021-01-26 广东工业大学 一种路由器、终端及网络共享方法、网络记录方法
CN108848111B (zh) * 2018-08-06 2021-09-10 杭州云象网络技术有限公司 一种基于区块链技术的去中心化虚拟专用网络组建方法
US10893022B1 (en) * 2018-12-20 2021-01-12 Equinix, Inc. Routing protocol security using a distributed ledger
US11398896B2 (en) * 2019-01-11 2022-07-26 Johnson Controls Tyco IP Holdings LLP Building device with blockchain based verification of building device files

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005034569A2 (en) * 2003-09-30 2005-04-14 Intel Corporation Using an extended border gateway protocol for routing across optical-burst-switched networks
CN101102325A (zh) * 2006-11-09 2008-01-09 华为技术有限公司 通告自治***边界连接信息的方法和装置
CN102347903A (zh) * 2011-10-13 2012-02-08 北京星网锐捷网络技术有限公司 一种数据报文转发方法、装置及***
CN104811380A (zh) * 2014-01-26 2015-07-29 华为技术有限公司 一种发送引流路由信息的方法及清洗设备
CN108989220A (zh) * 2018-09-05 2018-12-11 中国联合网络通信集团有限公司 路由方法和路由***

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3783868A4

Also Published As

Publication number Publication date
US20210075590A1 (en) 2021-03-11
EP3783868A1 (en) 2021-02-24
EP3783868A4 (en) 2021-06-16
CN111598564A (zh) 2020-08-28
EP3783868B1 (en) 2022-08-24
CN111598564B (zh) 2023-11-21

Similar Documents

Publication Publication Date Title
WO2020168954A1 (zh) 区块链节点连接建立方法、装置及设备
JP4786882B2 (ja) ピアツーピア名前解決ワイヤプロトコルで使用するデータ構造を格納したコンピュータ可読媒体
US7859992B2 (en) Router redundancy in data communication networks
US8897311B2 (en) Dynamic discovery mechanisms via inter-domain routing protocol
US20060233181A1 (en) Method and apparatus for accelerating border gateway protocol convergence
US7675912B1 (en) Method and apparatus for border gateway protocol (BGP) auto discovery
WO2017128656A1 (zh) 虚拟专用网络vpn业务优化方法和设备
RU2521092C2 (ru) Синхронизация ldp и igp для широковещательных сетей
JP2012520623A (ja) ピアツーピアオーバーレイネットワークをマージする方法および装置
US9143431B2 (en) Hiding a service node in a network from a network routing topology
WO2017063378A1 (zh) 一种路由处理方法、设备及***
US20080313350A1 (en) Method and system of cache discovery in a peer-to-peer environment
US10979340B2 (en) Link state addition and deletion based on reception of a single message in link state vector routing
WO2012103731A1 (zh) 路由器邻居建立方法和设备
CN112003822B (zh) 路由起源授权的质量检测方法和装置
US20130151445A1 (en) Method and System for Survival of Data Plane Through a Total Control Plane Failure
WO2017193733A1 (zh) 路由散播的方法和节点
US12009984B2 (en) Targeted neighbor discovery for border gateway protocol
WO2020063392A1 (zh) 一种确定路由泄露的方法、设备和***
US7702765B1 (en) Techniques for automatically creating an iBGP mesh
US20100027555A1 (en) Method for processing link state advertisement and routing device
JP2020188478A (ja) Sfcネットワークにおけるトポロジー情報を同期させるための方法、およびルーティングネットワーク要素
Radoslavov et al. The multicast address-set claim (MASC) protocol
WO2014183657A1 (zh) 一种确定下一跳、发布路由信息的方法和装置
US8873549B2 (en) Managing L2VPN connectivity after a fiber node split

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20758912

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020758912

Country of ref document: EP

Effective date: 20201116

NENP Non-entry into the national phase

Ref country code: DE