DE112021000731T5 - Procedure for building a trustworthy software-defined network based on blockchain - Google Patents

Procedure for building a trustworthy software-defined network based on blockchain Download PDF

Info

Publication number
DE112021000731T5
DE112021000731T5 DE112021000731.9T DE112021000731T DE112021000731T5 DE 112021000731 T5 DE112021000731 T5 DE 112021000731T5 DE 112021000731 T DE112021000731 T DE 112021000731T DE 112021000731 T5 DE112021000731 T5 DE 112021000731T5
Authority
DE
Germany
Prior art keywords
blockchain
control
layer
data
data layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
DE112021000731.9T
Other languages
German (de)
Inventor
Minghui XU
Chenxu Wang
Dongxiao Yu
Xiuzhen Cheng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong University
Original Assignee
Shandong University
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 Shandong University filed Critical Shandong University
Publication of DE112021000731T5 publication Critical patent/DE112021000731T5/en
Pending legal-status Critical Current

Links

Images

Classifications

    • G06Q50/40
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/28Restricting access to network management systems or functions, e.g. using authorisation function to access network configuration
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • 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/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/76Routing in software-defined topologies, e.g. routing between virtual machines
    • 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

Abstract

Die vorliegende Erfindung stellt ein Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain bereit, das eine Northbridge-Schnittstelle und eine Southbridge-Schnittstelle umfasst, wobei die Northbridge-Schnittstelle für die Verbindung der Anwendungsschicht und der Steuerschicht verantwortlich ist, die Southbridge-Schnittstelle wird verwendet, um die Steuerschicht und die Datenschicht zu verbinden; wobei die Steuerschicht hauptsächlich für die Netzwerksteuerung, die protokollbezogene Verarbeitung und Berechnung verantwortlich ist und Blockchain-bezogene Funktionen bereitstellt, am Blockchain-Konsensprozess teilnimmt und für die Speicherung von Blockchain-Daten verantwortlich ist; wobei die Datenschicht eine Datenweiterleitungsebene ist und Datenpakete gemäß einer Flusstabelle weiterleitet. Der Vorteil besteht darin, dass die vorliegende Erfindung die Eigenschaft der Trennung von „Steuerschicht-Datenschicht“ des softwaredefinierten Netzwerks beibehält; wobei der Kernbeitrag der vorliegenden Erfindung darin besteht, dass die Blockchain in die Steuerschicht eingeführt wird und eng mit dem Steuergerät integriert ist, um gemeinsam die softwaredefinierte Netzwerkarchitektur aufrechtzuerhalten und eine sichere und glaubwürdige Betriebsumgebung bereitzustellen.The present invention provides a method for building a trusted blockchain-based software-defined network comprising a northbridge interface and a southbridge interface, where the northbridge interface is responsible for connecting the application layer and the control layer, the southbridge interface used to connect the control layer and the data layer; where the control layer is mainly responsible for network control, protocol-related processing and computation and provides blockchain-related functions, participates in the blockchain consensus process and is responsible for storing blockchain data; wherein the data layer is a data forwarding layer and forwards data packets according to a flow table. The advantage is that the present invention maintains the "control layer-data layer" separation property of the software-defined network; the key contribution of the present invention is that the blockchain is introduced into the control layer and tightly integrated with the controller to jointly maintain the software-defined network architecture and provide a secure and credible operating environment.

Description

Technisches Gebiettechnical field

Die vorliegende Anmeldung gehört zum Bereich des Aufbaus von Computernetzwerken, insbesondere betrifft ein Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain.The present application belongs to the field of building computer networks, in particular relates to a method for building a trustworthy software-defined network based on blockchain.

Stand der TechnikState of the art

Softwaredefiniertes Netzwerk (SDN): eine genaue Definition für softwaredefinierte Netzwerke gibt es derzeit nicht, SDN kann als Netzwerkarchitektur mit mehreren Implementierungen verstanden werden, wie beispielsweise OpenFlow. Die SDN-Technologie ermöglicht es der Anwendungssoftware, sich an der Steuerung und Verwaltung des Netzwerks zu beteiligen, um die Anforderungen von Diensten der oberen Schicht zu erfüllen, wobei Netzwerkbetrieb und -wartung durch die automatisierte Bereitstellung von Diensten vereinfacht werden. Um die oben genannten Funktionen zu erfüllen, erfüllt SDN im Allgemeinen drei Eigenschaften: Steuerungs- und Datentrennung, offene Programmierschnittstelle, zentrale Steuerung. Die Sicherheit der SDN-Technologie stellt seit jeher eines der wichtigsten Probleme von SDN-Anwendungen dar. Beispielsweise beeinträchtigen anormaler Datenverkehr und Steuergerät-Fehler den Betrieb von SDN. Daher ist es ein wichtiges Thema, die Sicherheit von SDN zu gewährleisten.

  • • Blockchain ist eine zusammengesetzte Technologie, die umfassend mit kryptografischen Methoden, Computernetzwerken und verteilten Speichertechnologien implementiert wird. Es kann eine vertrauenswürdige Computer- oder Transaktionsumgebung bereitstellen oder erstellen, wobei Daten und Operationen an Daten nicht böswillig betätigt oder manipuliert werden können. Das Blockchain-System kann die Rückverfolgbarkeit, Unfälschbarkeit und Unmanipulation von Daten garantieren, auf diese Weise können neue Anwendungen wie Blockchain-Fälschungsschutz, Zertifikatsspeicherung, Rückverfolgung und digitale Assets realisiert werden. Die drei Kernkomponenten des Blockchain-Systems sind die verteilte Netzwerkarchitektur, der Konsensalgorithmus und die verteilte Rechnungsbuch-Struktur. Die verteilte Netzwerkarchitektur ist eine dezentralisierte topologische Struktur aus Knoten, die die architektonische Grundlage für den Betrieb des Blockchain-Systems bildet; wobei die Aktualisierung der Blockchain durch den Konsensalgorithmus angetrieben wird, der die globale Konsistenz des Rechnungsbuchs sicherstellt; wobei das Design der verteilten Rechnungsbuch-Struktur Kryptografie nutzt, um Daten sicher in der Blockchain zu speichern.
Software-defined network (SDN): There is currently no precise definition for software-defined networks. SDN can be understood as a network architecture with multiple implementations, such as OpenFlow. SDN technology enables application software to participate in the control and management of the network to meet the needs of upper-layer services, simplifying network operations and maintenance through automated service provisioning. In general, to fulfill the above functions, SDN fulfills three characteristics: control and data separation, open programming interface, centralized control. The security of SDN technology has always been one of the most important issues of SDN applications. For example, anomalous traffic and controller failures affect the operation of SDN. Therefore, ensuring the security of SDN is an important issue.
  • • Blockchain is a composite technology implemented extensively using cryptographic methods, computer networks and distributed storage technologies. It can provide or create a trusted computing or transactional environment where data and operations on data cannot be maliciously operated or tampered with. The blockchain system can guarantee the traceability, unfalsifiability and unmanipulation of data, in this way new applications such as blockchain anti-counterfeiting, certificate storage, traceability and digital assets can be realized. The three core components of the blockchain system are the distributed network architecture, the consensus algorithm, and the distributed ledger structure. The distributed network architecture is a decentralized topological structure of nodes that forms the architectural basis for the operation of the blockchain system; where the updating of the blockchain is driven by the consensus algorithm that ensures the global consistency of the book of accounts; where the design of the distributed ledger structure uses cryptography to securely store data on the blockchain.

Offenbarung der ErfindungDisclosure of Invention

Basierend auf den oben genannten Problemen stellt die vorliegende Anmeldung ein Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain bereit, wobei es bereitgestellt werden kann, dass die „Steuerschicht-Datenschicht“ getrennt erfolgt, die Blockchain in die Steuerschicht eingeführt und eng mit dem Steuergerät integriert wird, und es kann eine sichere und zuverlässige Betriebsumgebung bereitgestellt werden. Ihre technische Lösung besteht darin, dass
Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain, dadurch gekennzeichnet, dass es eine Northbridge-Schnittstelle und eine Southbridge-Schnittstelle umfasst, wobei die Northbridge-Schnittstelle für die Verbindung der Anwendungsschicht und der Steuerschicht verantwortlich ist, die Southbridge-Schnittstelle wird verwendet, um die Steuerschicht und die Datenschicht zu verbinden;
wobei die Steuerschicht hauptsächlich für die Netzwerksteuerung, die protokollbezogene Verarbeitung und Berechnung verantwortlich ist und Blockchain-bezogene Funktionen bereitstellt, am Blockchain-Konsensprozess teilnimmt und für die Speicherung von Blockchain-Daten verantwortlich ist;
wobei die Datenschicht eine Datenweiterleitungsebene ist und Datenpakete gemäß einer Flusstabelle weiterleitet.
Based on the above problems, the present application provides a method for building a trustworthy software-defined network based on blockchain, whereby it can be provided that the "control layer-data layer" is separated, the blockchain introduced into the control layer and closely with the Controller is integrated, and it can be provided a safe and reliable operating environment. Their technical solution is that
A method for building a trustworthy software-defined network based on blockchain, characterized in that it comprises a northbridge interface and a southbridge interface, where the northbridge interface is responsible for connecting the application layer and the control layer, the southbridge interface is used to connect the control layer and the data layer;
where the control layer is mainly responsible for network control, protocol-related processing and computation and provides blockchain-related functions, participates in the blockchain consensus process and is responsible for storing blockchain data;
wherein the data layer is a data forwarding layer and forwards data packets according to a flow table.

In einer Weiterbildung ist es vorgesehen, dass die Datenschicht ein grundlegendes Weiterleitungsnetzwerk ist, das aus Switches, Routern und Leitungen besteht und für die Weiterleitung von Datenpaketen verantwortlich ist, die im Datenweiterleitungsprozess benötigte Flusstabelle wird von der Steuerschicht generiert und geliefert.A further development provides that the data layer is a basic forwarding network consisting of switches, routers and lines and is responsible for forwarding data packets. The flow table required in the data forwarding process is generated and supplied by the control layer.

Ferner weist die Datenschicht einen Cluster von Steuerknoten zu, um Sicherheit basierend auf Multi-Knoten-Entscheidungen bereitzustellen; wobei die Datenschicht zwei Arten von Informationen an die Steuerschicht senden kann: Flusstabellen-Anforderungsinformation, und Steuerknotenzuweisung-Anforderungsinformation, wobei, wenn die Datenschicht Daten weiterleiten muss, aber der entsprechende Flusstabelleneintrag fehlt, die Datenschicht Flusstabellen-Anforderungsinformation an das Steuergerät sendet; wobei, wenn die Datenschicht einen byzantinischen Knoten erkennt, die Datenschicht eine Steuerknotenzuweisung-Anforderungsinformation an das Steuergerät sendet, das anfordert, den byzantinischen Knoten zu entfernen und einen neuen Steuerknoten zuzuweisen.Further, the data layer allocates a cluster of control nodes to provide security based on multi-node decisions; wherein the data layer can send two kinds of information to the control layer: flow table request information, and control node allocation request information, wherein when the data layer needs to forward data but the corresponding flow table entry is missing, the data layer sends flow table request information to the controller; wherein when the data layer detects a byzantine node, the data layer sends control node allocation request information to the controller requesting to remove the byzantine node and allocate a new control node.

Ferner ist die Steuerschicht ein Netzwerk, das aus mehreren Steuerknoten besteht, jeder Steuerknoten verfügt über bestimmte Rechen- und Speicherressourcen und ist für den Betrieb eines Steuergeräts und eines Blockchain-Systems verantwortlich, wobei das Steuergerät für die Verbindung mit der Datenschicht über die Southbridge-Schnittstelle verantwortlich ist, um die Anforderungsinformationen aus der Datenschicht zu verarbeiten und das Anforderungsergebnis zu berechnen.Further, the control layer is a network consisting of multiple control nodes, each control node has certain computing and storage resources and is responsible for operating a controller and a blockchain system, with the controller connecting to the data layer through the southbridge interface is responsible to process the request information from the data layer and calculate the request result.

Ferner wird jedem Datenschichtgerät ein Cluster von Steuerknoten zugewiesen, und die Anforderungsinformationen des Datenschichtgeräts werden gemeinsam durch das Cluster von Steuerknoten verarbeitet und entschieden; wobei das von jedem Knoten betriebene Blockchain-System für die Aufzeichnung des gesamten Prozesses der Informationsverarbeitung verantwortlich ist; wobei das Blockchain-System die Flusstabellen-Anforderungsinformation oder Steuerknotenzuweisung-Anforderungsinformation überprüfen kann, wobei Anforderungsnachrichten, Berechnungsergebnisse, Zeitstempel und andere Informationen in Transaktionen gepackt werden, und die Transaktionen werden an das gesamte Netzwerk gesendet; wobei, erst wenn die Transaktion erfolgreich in den Block verpackt und auf der Blockchain aufgezeichnet ist, die Anforderungsnachricht erfolgreich verarbeitet wird, und das der Anforderungsnachricht entsprechende Verarbeitungsergebnis kann auf der Blockchain abgefragt werden.Further, each data layer device is assigned a cluster of control nodes, and the request information of the data layer device is processed and decided collectively by the cluster of control nodes; where the blockchain system operated by each node is responsible for recording the entire process of information processing; wherein the blockchain system can check the flow table request information or control node allocation request information, with request messages, calculation results, time stamp and other information being packed into transactions, and the transactions are sent to the entire network; wherein, only when the transaction is successfully packed into the block and recorded on the blockchain, the request message is successfully processed, and the processing result corresponding to the request message can be queried on the blockchain.

Ferner umfasst der Netzwerkbetriebsprozess
Initialisierung: durch das Berechnungsergebnis der linearen Planung wird jedem Switch ein Cluster von Steuerknoten zugewiesen; wobei jeder Steuerknoten die Blockchain-Datenbank initialisiert, um im nachfolgenden Prozess eine Echtzeit-Synchronisation der Blockchain sicherzustellen;
erster Schritt: um die korrekten Flusstabelleninformationen zu erhalten, sendet die Datenschicht eine Anforderungsnachricht an ihrem Cluster von Steuerknoten;
zweiter Schritt: nach Erhalt der Anforderungsnachricht klassifiziert der Steuerknoten die Anforderungsnachrichten;
dritter Schritt: die Blockchain ist für den Konsens über Transaktionen durch Konsensprotokolle verantwortlich;
vierter Schritt: der Leader-Knoten sendet das Konsensergebnis an das gesamte Netzwerk, um einen neu generierten Block zu bestätigen;
fünfter Schritt: alle Knoten, die den neuen Block empfangen, extrahieren die Flusstabelleninformationen oder Steuerknoten-Umverteilungsschema und senden sie an den entsprechenden Switch oder Router;
sechster Schritt: wenn der Switch/Router mindestens f+1 konsistente Antwortnachrichten empfängt, ist die Anforderung erfolgreich, und f ist die maximale Anzahl byzantinischer Knoten, die toleriert werden kann;
siebter Schritt: das Datenschichtgerät wird gemäß der gelieferten Flusstabellennachricht konfiguriert, oder das Datenschichtgerät und das Steuergerät werden gemäß dem Steuergerät-Umverteilungsnachricht neu verbunden.
Further includes the network operation process
Initialization: by the calculation result of the linear planning, each switch is assigned a cluster of control nodes; each control node initializes the blockchain database to ensure real-time synchronization of the blockchain in the subsequent process;
first step: to get the correct flow table information, the data layer sends a request message to its cluster of control nodes;
second step: after receiving the request message, the control node classifies the request messages;
third step: the blockchain is responsible for consensus on transactions through consensus protocols;
fourth step: the leader node sends the consensus result to the whole network to confirm a newly generated block;
fifth step: all nodes receiving the new block extract the flow table information or control node redistribution scheme and send it to the corresponding switch or router;
sixth step: if the switch/router receives at least f+1 consistent response messages, the request is successful and f is the maximum number of Byzantine nodes that can be tolerated;
seventh step: the data layer device is configured according to the supplied flow table message, or the data layer device and the controller are reconnected according to the controller redistribution message.

Ferner kann die entsprechende Nachricht als Beweis verpackt und zusammen mit den Steuerknotenzuweisung-Anforderungsinformation an den Cluster von Steuerknoten gesendet werden, wenn ein fehlerhafter oder bösartiger Steuergerät-Knoten durch die Rückgabeinformationen des Clusters von Steuerknoten gefunden wird, und nach dem ersten bis fünften Schritt können fehlerhafte oder böswillige Knoten erfolgreich aus der Gruppe entfernt werden, und neue Steuerknoten können durch lineare Planung wieder hinzugefügt werden.Further, if a faulty or malicious controller node is found through the return information of the cluster of control nodes, the corresponding message can be packed as evidence and sent to the cluster of control nodes together with the control node allocation request information, and after the first to fifth steps, faulty ones can be sent or malicious nodes can be successfully removed from the group, and new control nodes can be added back through linear scheduling.

Ferner erhält der Steuerknoten die Flusstabelleninformationen in der Kette, indem er auf die Blockchain zugreift, und die Flusstabelleninformationen werden direkt zurückgegeben, wenn die Anforderungsnachricht und ihr Verarbeitungsergebnis in die Kette hochgeladen wurden; wobei der Steuerknoten weiter wartet, wenn sich die Anforderungsnachricht nicht auf der Kette befindet, aber in den Pufferbereich eingetreten ist, um auf die Kette zu warten; wobei der Steuerknoten das der Anforderungsnachricht entsprechende Anforderungsergebnis berechnet, eine Transaktion einleitet und eine Sendung an den zugehörigen Cluster von Steuerknoten erfolgt, wenn die Anforderungsnachricht nicht verarbeitet wird.Further, the control node obtains the flow table information on the chain by accessing the blockchain, and the flow table information is returned directly when the request message and its processing result have been uploaded to the chain; wherein if the request message is not on the chain but has entered the buffer area to wait on the chain, the control node continues to wait; wherein the control node calculates the request result corresponding to the request message, initiates a transaction, and broadcasts to the associated cluster of control nodes if the request message is not processed.

Ferner kann während der Initialisierung sich die Zuordnung eines Clusters von Steuerknoten zu jedem Switch oder Router überschneiden, d. h. ein Steuerknoten befindet sich gleichzeitig in einem anderen Cluster.Furthermore, during initialization, the assignment of a cluster of control nodes to each switch or router may overlap, i. H. a control node is in another cluster at the same time.

Vorteilhaften Wirkungenbeneficial effects

  1. 1) Die vorliegende Erfindung beibehält die Eigenschaft der Trennung von „Steuerschicht-Datenschicht“ des softwaredefinierten Netzwerks; wobei der Kernbeitrag der vorliegenden Erfindung darin besteht, dass die Blockchain in die Steuerschicht eingeführt wird und eng mit dem Steuergerät integriert ist, um gemeinsam die softwaredefinierte Netzwerkarchitektur aufrechtzuerhalten und eine sichere und glaubwürdige Betriebsumgebung bereitzustellen.1) The present invention maintains the "control layer-data layer" separation property of the software-defined network; the key contribution of the present invention is that the blockchain is introduced into the control layer and tightly integrated with the controller to jointly maintain the software-defined network architecture and provide a secure and credible operating environment.
  2. 2) Es unterstützt den Sicherheitsschutz der Steuerschicht und der Datenschicht des softwaredefinierten Netzwerks und verwendet die Blockchain, um Vorgänge auf beiden Ebenen aufzuzeichnen, um sicherzustellen, dass Vorgänge nicht manipuliert werden können, nachverfolgbar, sicher und zuverlässig sind, und eine vollständig vertrauenswürdige Umgebung für SDN zu bieten. 2) It supports the security protection of the control layer and the data layer of the software-defined network, and uses the blockchain to record operations at both layers to ensure that Vor tamperproof, traceable, secure and reliable, and provide a fully trusted environment for SDN.

Figurenlistecharacter list

  • 1 ist ein Architekturdiagramm für Blockchain-basiertes vertrauenswürdiges softwaredefiniertes Netzwerk; 1 is an architecture diagram for blockchain-based trusted software-defined network;
  • 2 ist ein Flussdiagramm des Netzwerkbetriebs. 2 is a flowchart of network operations.

Ausführliche AusführungsformenDetailed Embodiments

Die vorliegende Erfindung wird nachstehend unter Bezugnahme auf die Ausführungsbeispiele und die beigefügten Zeichnungen ausführlicher beschrieben, aber die Ausführungsformen der vorliegenden Erfindung sind nicht darauf beschränkt.The present invention will be described below in more detail with reference to the embodiments and the accompanying drawings, but the embodiments of the present invention are not limited thereto.

Wie in 1 gezeigt, umfasst das von der vorliegenden Erfindung vorgeschlagene Blockchain-basierte vertrauenswürdige softwaredefinierte Netzwerk hauptsächlich drei Schichten: eine Datenschicht, eine Steuerschicht und eine Anwendungsschicht. Unter ihnen ist die Northbridge-Schnittstelle für die Verbindung der Anwendungsschicht und der Steuerschicht verantwortlich, die Southbridge-Schnittstelle wird verwendet, um die Steuerschicht und die Datenschicht zu verbinden. Die Steuerschicht ist hauptsächlich für die Netzwerksteuerung, die protokollbezogene Verarbeitung und Berechnung verantwortlich und stellt Blockchain-bezogene Funktionen bereit, nimmt am Blockchain-Konsensprozess teil und ist für die Speicherung von Blockchain-Daten verantwortlich, wobei die Datenschicht eine Datenweiterleitungsebene ist und Datenpakete gemäß einer Flusstabelle weiterleitet. Die vorliegende Erfindung beibehält die Eigenschaft der Trennung von „Steuerschicht-Datenschicht“ des softwaredefinierten Netzwerks; wobei der Kernbeitrag der vorliegenden Erfindung darin besteht, dass die Blockchain in die Steuerschicht eingeführt wird und eng mit dem Steuergerät integriert ist, um gemeinsam die softwaredefinierte Netzwerkarchitektur aufrechtzuerhalten und eine sichere und glaubwürdige Betriebsumgebung bereitzustellen.As in 1 As shown, the blockchain-based trusted software-defined network proposed by the present invention mainly comprises three layers: a data layer, a control layer, and an application layer. Among them, the northbridge interface is responsible for connecting the application layer and the control layer, the southbridge interface is used to connect the control layer and the data layer. The control layer is mainly responsible for network control, protocol-related processing and computation, and provides blockchain-related functions, participates in the blockchain consensus process, and is responsible for storing blockchain data, with the data layer being a data forwarding layer and data packets according to a flow table forwards. The present invention maintains the "control layer-data layer" separation property of the software-defined network; the key contribution of the present invention is that the blockchain is introduced into the control layer and tightly integrated with the controller to jointly maintain the software-defined network architecture and provide a secure and credible operating environment.

Datenschichtdata layer

Die Datenschicht ist ein grundlegendes Weiterleitungsnetzwerk, das aus Switches, Routern und Leitungen besteht und für die Weiterleitung von Datenpaketen verantwortlich ist. Das Datenschichtgerät umfasst Switches und Router. Die im Datenweiterleitungsprozess benötigte Flusstabelle wird von der Steuerschicht generiert und geliefert. Der Datenschichtknoten hat möglicherweise keine Entscheidungsfunktion und ist nur für die Datenweiterleitung gemäß der von der Steuerschicht ausgegebenen Flusstabelle und das Melden von Netzwerkstatusinformationen verantwortlich. Die vorliegende Erfindung ordnet jedem Datenschichtgerät (Router oder Switch) ein Cluster von Steuerknoten (d.h. mehrere Steuerknoten) zu, um Sicherheit basierend auf einer Mehrknotenentscheidung bereitzustellen. Die Datenschicht kann zwei Haupttypen von Informationen an die Steuerschicht senden: Flusstabellen-Anforderungsinformation, und Steuerknotenzuweisung-Anforderungsinformation. Wenn die Datenschicht Daten weiterleiten muss, aber der entsprechende Flusstabelleneintrag fehlt, sendet die Datenschicht Flusstabellen-Anforderungsinformation an das Steuergerät; wobei, wenn die Datenschicht einen byzantinischen Knoten (einen Knoten, der böswilliges Verhalten ausführen kann) erkennt, die Datenschicht eine Steuerknotenzuweisung-Anforderungsinformation an das Steuergerät sendet, das anfordert, den byzantinischen Knoten zu entfernen und einen neuen Steuerknoten zuzuweisen.The data layer is a basic forwarding network made up of switches, routers and wires that is responsible for forwarding packets of data. The data tier device includes switches and routers. The flow table needed in the data forwarding process is generated and supplied by the control layer. The data layer node may have no decision-making function and is only responsible for data forwarding according to the flow table issued by the control layer and reporting network status information. The present invention associates each data layer device (router or switch) with a cluster of control nodes (i.e., multiple control nodes) to provide security based on a multi-node decision. The data layer can send two main types of information to the control layer: flow table request information, and control node assignment request information. If the data layer needs to forward data but the corresponding flow table entry is missing, the data layer sends flow table request information to the controller; wherein when the data layer detects a byzantine node (a node capable of performing malicious behavior), the data layer sends control node allocation request information to the controller requesting to remove the byzantine node and allocate a new control node.

Steuerschichtcontrol layer

Die Steuerschicht ist das Kontrollzentrum des gesamten Netzwerks, verantwortlich für den Aufbau der Netzwerktopologie und passt sich entsprechend den Zustandsänderungen des Netzwerks an, wobei das Netzwerk im besten Zustand gehalten wird, indem der Vermittlungspfad und das Routing geändert werden. Spezifisch stellt die Steuerschicht ein Netzwerk aus mehreren Steuerknoten dar. Jeder Steuerknoten verfügt über bestimmte Rechen- und Speicherressourcen und ist für den Betrieb eines Steuergeräts und eines Blockchain-Systems verantwortlich. Das Steuergerät ist für die Verbindung mit der Datenschicht über die Southbridge-Schnittstelle verantwortlich, um die Anforderungsinformationen aus der Datenschicht zu verarbeiten und das Anforderungsergebnis zu berechnen. Jedem Datenschichtgerät wird ein Cluster von Steuerknoten zugewiesen, und die Anforderungsinformationen des Datenschichtgeräts werden gemeinsam durch das Cluster von Steuerknoten verarbeitet und entschieden. Das von jedem Knoten betriebene Blockchain-System ist für die Aufzeichnung des gesamten Prozesses der Informationsverarbeitung verantwortlich. Das Blockchain-System kann die Flusstabellen-Anforderungsinformation oder Steuerknotenzuweisung-Anforderungsinformation überprüfen, wobei Anforderungsnachrichten, Berechnungsergebnisse, Zeitstempel und andere Informationen in Transaktionen gepackt werden, und die Transaktionen werden an das gesamte Netzwerk gesendet. Erst wenn die Transaktion erfolgreich in den Block verpackt und auf der Blockchain aufgezeichnet ist, wird die Anforderungsnachricht erfolgreich verarbeitet, und das der Anforderungsnachricht entsprechende Verarbeitungsergebnis kann auf der Blockchain abgefragt werden.The control layer is the control center of the entire network, responsible for building the network topology and adapting itself according to the network state changes, keeping the network in the best state by changing the switching path and routing. Specifically, the control layer represents a network of multiple control nodes. Each control node has specific computing and storage resources and is responsible for operating a control device and a blockchain system. The controller is responsible for connecting to the data layer through the southbridge interface to process the request information from the data layer and calculate the request result. Each data-tier device is assigned a cluster of control nodes, and the data-tier device's request information is processed and arbitrated collectively by the cluster of control nodes. The blockchain system operated by each node is responsible for recording the entire process of information processing. The blockchain system can check the flow table request information or control node allocation request information, packing request messages, calculation results, time stamps and other information into transactions, and the transactions are sent to the entire network. Only when the transaction is successfully packed into the block and recorded on the blockchain is the request message successfully processed and the processing result corresponding to the request message can be queried on the blockchain.

Anwendungsschichtapplication layer

Die Anwendungsschicht des softwaredefinierten Netzwerks besteht in der Regel aus mehreren SDN-Anwendungen, eine SDN-Anwendung ist ein Anwendungsprogramm, der direkt mit Benutzern interagiert. Sie kann über die North-Schnittstelle mit dem SDN-Steuergerät interagieren, wobei das angeforderte Netzwerkverhalten auf programmierbare Weise an das Steuergerät übermittelt werden muss. SDN-Anwendungen sind so konzipiert, dass Entwickler von Netzwerkdiensten nicht auf bestimmte Netzwerke beschränkt sind. Es muss nur die Implementierung der Anwendung auf die Granularität zerlegt werden, die das Steuergerät ausführen kann, und die Anforderung an das SDN-Steuergerät gesendet werden, um die Anwendungsfunktion zu realisieren.The application layer of the software-defined network usually consists of several SDN applications, an SDN application is an application program that interacts directly with users. It can interact with the SDN controller through the North interface, requiring the requested network behavior to be communicated to the controller in a programmable manner. SDN applications are designed so that network service developers are not limited to specific networks. It just needs to decompose the implementation of the application to the granularity that the controller can execute and send the request to the SDN controller to realize the application function.

Der Netzwerkbetriebsprozess, wie in Figur 2 dargestellt,The network operation process, as shown in Figure 2,

Initialisierung: durch das Berechnungsergebnis der linearen Planung wird jedem Switch oder Router ein Cluster von Steuerknoten zugewiesen (eine Überlappung kann erfolgen, d.h. ein Steuerknoten befindet sich gleichzeitig in verschiedenen Clusters); wobei jeder Steuerknoten die Blockchain-Datenbank initialisiert, um im nachfolgenden Prozess eine Echtzeit-Synchronisation der Blockchain sicherzustellen.Initialization: by the calculation result of the linear planning, each switch or router is assigned a cluster of control nodes (overlapping can occur, i.e. a control node is in different clusters at the same time); each control node initializes the blockchain database to ensure real-time synchronization of the blockchain in the subsequent process.

Erster Schritt: um die korrekten Flusstabelleninformationen zu erhalten, sendet die Datenschicht eine Anforderungsnachricht an ihrem Cluster von Steuerknoten.First step: to get the correct flow table information, the data layer sends a request message to its cluster of control nodes.

Zweiter Schritt: nach Erhalt der Anforderungsnachricht klassifiziert und verarbeitet der Steuerknoten die Anforderungsnachrichten. Der Steuerknoten erhält die Flusstabelleninformationen in der Kette, indem er auf die Blockchain zugreift, und die Flusstabelleninformationen werden direkt zurückgegeben, wenn die Anforderungsnachricht und ihr Verarbeitungsergebnis in die Kette hochgeladen wurden; wobei der Steuerknoten weiter wartet, wenn sich die Anforderungsnachricht nicht auf der Kette befindet, aber in den Pufferbereich eingetreten ist, um auf die Kette zu warten; wobei der Steuerknoten das der Anforderungsnachricht entsprechende Anforderungsergebnis berechnet, eine Transaktion (einschließlich der Anforderungsnachricht, des Berechnungsergebnisses, des Zeitstempels und dergleichen) einleitet und eine Sendung an den zugehörigen Cluster von Steuerknoten erfolgt, wenn die Anforderungsnachricht nicht verarbeitet wird.Second step: after receiving the request message, the control node classifies and processes the request messages. The control node obtains the flow table information on the chain by accessing the blockchain, and the flow table information is returned directly when the request message and its processing result have been uploaded to the chain; wherein if the request message is not on the chain but has entered the buffer area to wait on the chain, the control node continues to wait; wherein the control node calculates the request result corresponding to the request message, initiates a transaction (including the request message, the calculation result, the timestamp and the like), and broadcasts to the associated cluster of control nodes when the request message is not processed.

Dritter Schritt: die Blockchain ist für den Konsens über Transaktionen durch Konsensprotokolle verantwortlich.Third step: the blockchain is responsible for consensus on transactions through consensus protocols.

Vierter Schritt: der Leader-Knoten sendet das Konsensergebnis an das gesamte Netzwerk, um einen neu generierten Block zu bestätigen.Fourth step: the leader node broadcasts the consensus result to the whole network to confirm a newly generated block.

Fünfter Schritt: alle Knoten, die den neuen Block empfangen, extrahieren die Flusstabelleninformationen (oder Steuerknoten-Umverteilungsschema) und senden sie an den entsprechenden Switch oder Router.Fifth step: all nodes receiving the new block extract the flow table information (or control node redistribution scheme) and send it to the corresponding switch or router.

Sechster Schritt: wenn der Switch oder Router mindestens f+1 (f ist die maximale Anzahl von byzantinischen Knoten, die toleriert werden können, nicht mehr als ein Drittel der Knoten im gesamten Netzwerk) konsistente Antwortnachrichten empfängt, bedeutet dies, dass die Anforderung erfolgreich ist. Die entsprechende Nachricht kann als Beweis verpackt und zusammen mit den Steuerknotenzuweisung-Anforderungsinformation an den Steuerknoten-Cluster gesendet werden, wenn ein fehlerhafter oder bösartiger Steuergerät-Knoten durch die Rückgabeinformationen des Clusters von Steuerknoten gefunden wird, und nach den gleichen Schritten 1-5 können fehlerhafte oder böswillige Knoten erfolgreich aus der Gruppe entfernt werden, und neue Steuerknoten können durch lineare Planung wieder hinzugefügt werden.Sixth step: if the switch or router receives at least f+1 (f is the maximum number of Byzantine nodes that can be tolerated, no more than a third of the nodes in the entire network) consistent response messages, it means the request is successful . The corresponding message can be packaged as evidence and sent to the control node cluster along with the control node assignment request information when a faulty or malicious controller node is found through the return information of the cluster of control nodes, and following the same steps 1-5, faulty ones can be or malicious nodes can be successfully removed from the group, and new control nodes can be added back through linear scheduling.

siebter Schritt: das Datenschichtgerät wird gemäß der gelieferten Flusstabellennachricht konfiguriert, oder das Datenschichtgerät und das Steuergerät werden gemäß dem Steuergerät-Umverteilungsnachricht neu verbunden.seventh step: the data layer device is configured according to the supplied flow table message, or the data layer device and the controller are reconnected according to the controller redistribution message.

Die oben erwähnten Ausführungsbeispiele sind bevorzugte Ausführungsformen der vorliegenden Erfindung, aber die Ausführungsformen der vorliegenden Erfindung sind nicht durch die oben erwähnten Ausführungsbeispiele beschränkt, und alle anderen Änderungen, Modifikationen, Substitutionen, Kombinationen und Vereinfachungen, die nicht vom Geist und Prinzip der vorliegenden Erfindung abweichen, sind alle äquivalente Ersatzmodi und im Schutzumfang der vorliegenden Erfindung enthalten.The above-mentioned embodiments are preferred embodiments of the present invention, but the embodiments of the present invention are not limited by the above-mentioned embodiments, and all other changes, modifications, substitutions, combinations and simplifications that do not depart from the spirit and principle of the present invention, are all equivalent alternate modes and are included within the scope of the present invention.

Claims (9)

Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain, dadurch gekennzeichnet, dass es eine Northbridge-Schnittstelle und eine Southbridge-Schnittstelle umfasst, wobei die Northbridge-Schnittstelle für die Verbindung der Anwendungsschicht und der Steuerschicht verantwortlich ist, wobei die Southbridge-Schnittstelle verwendet wird, um die Steuerschicht und die Datenschicht zu verbinden; wobei die Steuerschicht hauptsächlich für die Netzwerksteuerung, die protokollbezogene Verarbeitung und Berechnung verantwortlich ist und Blockchain-bezogene Funktionen bereitstellt, am Blockchain-Konsensprozess teilnimmt und für die Speicherung von Blockchain-Daten verantwortlich ist; wobei die Datenschicht eine Datenweiterleitungsebene ist und Datenpakete gemäß einer Flusstabelle weiterleitet.A method for building a trustworthy software-defined network based on blockchain, characterized in that it comprises a northbridge interface and a southbridge interface, where the northbridge interface is responsible for connecting the application layer and the control layer, using the southbridge interface used to connect the control layer and the data layer; where the control layer mainly for network control, protocol-related processing and computation and provides blockchain-related functions, participates in the blockchain consensus process, and is responsible for the storage of blockchain data; wherein the data layer is a data forwarding layer and forwards data packets according to a flow table. Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain nach Anspruch 1, dadurch gekennzeichnet, dass die Datenschicht ein grundlegendes Weiterleitungsnetzwerk ist, das aus Switches, Routern und Leitungen besteht und für die Weiterleitung von Datenpaketen verantwortlich ist, wobei die im Datenweiterleitungsprozess benötigte Flusstabelle von der Steuerschicht generiert und geliefert wird.Method for building a trustworthy software-defined network based on blockchain claim 1 , characterized in that the data layer is a basic forwarding network consisting of switches, routers and lines and responsible for forwarding data packets, the flow table needed in the data forwarding process being generated and supplied by the control layer. Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain nach Anspruch 1, dadurch gekennzeichnet, dass die Datenschicht einen Cluster von Steuerknoten zuweist, um Sicherheit basierend auf Multi-Knoten-Entscheidungen bereitzustellen; wobei die Datenschicht zwei Arten von Informationen an die Steuerschicht senden kann: Flusstabellen-Anforderungsinformation, und Steuerknotenzuweisung-Anforderungsinformation, wobei, wenn die Datenschicht Daten weiterleiten muss, aber der entsprechende Flusstabelleneintrag fehlt, die Datenschicht Flusstabellen-Anforderungsinformation an das Steuergerät sendet; wobei, wenn die Datenschicht einen byzantinischen Knoten erkennt, die Datenschicht eine Steuerknotenzuweisung-Anforderungsinformation an das Steuergerät sendet, das anfordert, den byzantinischen Knoten zu entfernen und einen neuen Steuerknoten zuzuweisen.Method for building a trustworthy software-defined network based on blockchain claim 1 , characterized in that the data layer allocates a cluster of control nodes to provide security based on multi-node decisions; wherein the data layer can send two kinds of information to the control layer: flow table request information, and control node allocation request information, wherein when the data layer needs to forward data but the corresponding flow table entry is missing, the data layer sends flow table request information to the controller; wherein when the data layer detects a byzantine node, the data layer sends control node allocation request information to the controller requesting to remove the byzantine node and allocate a new control node. Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain nach Anspruch 1, dadurch gekennzeichnet, dass die Steuerschicht ein Netzwerk ist, das aus mehreren Steuerknoten besteht, wobei jeder Steuerknoten über bestimmte Rechen- und Speicherressourcen verfügt und für den Betrieb eines Steuergeräts und eines Blockchain-Systems verantwortlich ist; wobei das Steuergerät für die Verbindung mit der Datenschicht über die Southbridge-Schnittstelle verantwortlich ist, um die Anforderungsinformationen aus der Datenschicht zu verarbeiten und das Anforderungsergebnis zu berechnen.Method for building a trustworthy software-defined network based on blockchain claim 1 , characterized in that the control layer is a network consisting of a plurality of control nodes, each control node having certain computing and storage resources at its disposal and being responsible for the operation of a control device and a blockchain system; wherein the controller is responsible for connecting to the data layer via the southbridge interface to process the request information from the data layer and calculate the request result. Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain nach Anspruch 2, dadurch gekennzeichnet, dass jedem Datenschichtgerät ein Cluster von Steuerknoten zugewiesen wird, wobei die Anforderungsinformationen des Datenschichtgeräts gemeinsam durch das Cluster von Steuerknoten verarbeitet und entschieden werden; wobei das von jedem Knoten betriebene Blockchain-System für die Aufzeichnung des gesamten Prozesses der Informationsverarbeitung verantwortlich ist; wobei das Blockchain-System die Flusstabellen-Anforderungsinformation oder Steuerknotenzuweisung-Anforderungsinformation überprüfen kann, wobei Anforderungsnachrichten, Berechnungsergebnisse, Zeitstempel und andere Informationen in Transaktionen gepackt werden, wobei die Transaktionen an das gesamte Netzwerk gesendet werden; wobei die Anforderungsnachricht erfolgreich verarbeitet wird, erst wenn die Transaktion erfolgreich in den Block verpackt und auf der Blockchain aufgezeichnet ist, wobei das der Anforderungsnachricht entsprechende Verarbeitungsergebnis auf der Blockchain abgefragt werden kann.Method for building a trustworthy software-defined network based on blockchain claim 2 , characterized in that each data layer device is assigned a cluster of control nodes, the request information of the data layer device being jointly processed and decided by the cluster of control nodes; where the blockchain system operated by each node is responsible for recording the entire process of information processing; wherein the blockchain system can check the flow table request information or control node assignment request information, wherein request messages, calculation results, time stamp and other information are packed into transactions, the transactions are broadcast to the entire network; wherein the request message is successfully processed only when the transaction is successfully packed into the block and recorded on the blockchain, wherein the processing result corresponding to the request message can be queried on the blockchain. Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain nach einem der Ansprüche 1 bis 5, dadurch gekennzeichnet, dass der Netzwerkbetriebsprozess umfasst Initialisierung: durch das Berechnungsergebnis der linearen Planung wird jedem Switch ein Cluster von Steuerknoten zugewiesen; wobei jeder Steuerknoten die Blockchain-Datenbank initialisiert, um im nachfolgenden Prozess eine Echtzeit-Synchronisation der Blockchain sicherzustellen; erster Schritt: um die korrekten Flusstabelleninformationen zu erhalten, sendet die Datenschicht eine Anforderungsnachricht an ihrem Cluster von Steuerknoten; zweiter Schritt: nach Erhalt der Anforderungsnachricht klassifiziert der Steuerknoten die Anforderungsnachrichten; dritter Schritt: die Blockchain ist für den Konsens über Transaktionen durch Konsensprotokolle verantwortlich; vierter Schritt: der Leader-Knoten sendet das Konsensergebnis an das gesamte Netzwerk, um einen neu generierten Block zu bestätigen; fünfter Schritt: alle Knoten, die den neuen Block empfangen, extrahieren die Flusstabelleninformationen oder Steuerknoten-Umverteilungsschema und senden sie an den entsprechenden Switch oder Router; sechster Schritt: wenn der Switch oder Router mindestens f+1 konsistente Antwortnachrichten empfängt, ist die Anforderung erfolgreich, und f ist die maximale Anzahl byzantinischer Knoten, die toleriert werden kann; siebter Schritt: das Datenschichtgerät wird gemäß der gelieferten Flusstabellennachricht konfiguriert, oder das Datenschichtgerät und das Steuergerät werden gemäß dem Steuergerät-Umverteilungsnachricht neu verbunden.Method for building a trustworthy software-defined network based on blockchain according to one of the Claims 1 until 5 , characterized in that the network operation process comprises initialization: a cluster of control nodes is assigned to each switch by the calculation result of the linear planning; each control node initializes the blockchain database to ensure real-time synchronization of the blockchain in the subsequent process; first step: to get the correct flow table information, the data layer sends a request message to its cluster of control nodes; second step: after receiving the request message, the control node classifies the request messages; third step: the blockchain is responsible for consensus on transactions through consensus protocols; fourth step: the leader node sends the consensus result to the whole network to confirm a newly generated block; fifth step: all nodes receiving the new block extract the flow table information or control node redistribution scheme and send it to the corresponding switch or router; sixth step: if the switch or router receives at least f+1 consistent response messages, the request is successful and f is the maximum number of Byzantine nodes that can be tolerated; seventh step: the data layer device is configured according to the supplied flow table message, or the data layer device and the controller are reconnected according to the controller redistribution message. Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain nach Anspruch 6, dadurch gekennzeichnet, dass die entsprechende Nachricht als Beweis verpackt und zusammen mit den Steuerknotenzuweisung-Anforderungsinformation an den Steuerknoten-Cluster gesendet werden kann, wenn ein fehlerhafter oder bösartiger Steuergerät-Knoten durch die Rückgabeinformationen des Clusters von Steuerknoten gefunden wird, wobei nach dem ersten bis fünften Schritt fehlerhafte oder böswillige Knoten erfolgreich aus der Gruppe entfernt werden können, und wobei neue Steuerknoten durch lineare Planung wieder hinzugefügt werden können.Method for building a trustworthy software-defined network based on blockchain claim 6 , characterized in that the corresponding message can be packaged as evidence and sent to the control node cluster together with the control node allocation request information if a faulty or malicious control device node is found by the return information of the cluster of control nodes, after the first to fifth step, faulty or malicious nodes can be successfully removed from the group, and new control nodes can be added back through linear scheduling. Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain nach Anspruch 6, dadurch gekennzeichnet, dass der Steuerknoten die Flusstabelleninformationen in der Kette erhält, indem der Steuerknoten auf die Blockchain zugreift, wenn die Anforderungsnachricht und ihr Verarbeitungsergebnis in die Kette hochgeladen wurden, wobei die Flusstabelleninformationen direkt zurückgegeben werden; wobei der Steuerknoten weiter wartet, wenn sich die Anforderungsnachricht nicht auf der Kette befindet, aber in den Pufferbereich eingetreten ist, um auf die Kette zu warten; wobei der Steuerknoten das der Anforderungsnachricht entsprechende Anforderungsergebnis berechnet, eine Transaktion einleitet und eine Sendung an den zugehörigen Cluster von Steuerknoten erfolgt, wenn die Anforderungsnachricht nicht verarbeitet wird.Method for building a trustworthy software-defined network based on blockchain claim 6 , characterized in that the control node obtains the flow table information in the chain by the control node accessing the blockchain when the request message and its processing result have been uploaded to the chain, directly returning the flow table information; wherein if the request message is not on the chain but has entered the buffer area to wait on the chain, the control node continues to wait; wherein the control node calculates the request result corresponding to the request message, initiates a transaction, and broadcasts to the associated cluster of control nodes if the request message is not processed. Verfahren zum Aufbau eines vertrauenswürdigen softwaredefinierten Netzwerks auf Basis von Blockchain nach Anspruch 6, dadurch gekennzeichnet, dass während der Initialisierung sich die Zuordnung eines Clusters von Steuerknoten zu jedem Switch oder Router überschneiden kann, d. h. ein Steuerknoten befindet sich gleichzeitig in einem anderen Cluster.Method for building a trustworthy software-defined network based on blockchain claim 6 , characterized in that during the initialization the assignment of a cluster of control nodes to each switch or router can overlap, ie a control node is located in another cluster at the same time.
DE112021000731.9T 2021-05-24 2021-07-08 Procedure for building a trustworthy software-defined network based on blockchain Pending DE112021000731T5 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN202110562111.1A CN113301149A (en) 2021-05-24 2021-05-24 Trusted software defined network construction method based on block chain
CN202110562111.1 2021-05-24
PCT/CN2021/105204 WO2022246974A1 (en) 2021-05-24 2021-07-08 Method for constructing blockchain-based trusted software defined network

Publications (1)

Publication Number Publication Date
DE112021000731T5 true DE112021000731T5 (en) 2023-01-26

Family

ID=77324117

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112021000731.9T Pending DE112021000731T5 (en) 2021-05-24 2021-07-08 Procedure for building a trustworthy software-defined network based on blockchain

Country Status (3)

Country Link
CN (1) CN113301149A (en)
DE (1) DE112021000731T5 (en)
WO (1) WO2022246974A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117240900B (en) * 2023-11-10 2024-04-12 广东省电信规划设计院有限公司 Block chain node discovery and networking method and device based on software defined network

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107222478B (en) * 2017-05-27 2019-09-17 暨南大学 Software defined network control layer security mechanism construction method based on block chain
CN109246176B (en) * 2018-07-03 2020-05-01 北京邮电大学 Multi-controller synchronization method and device based on block chain in software defined network
RU2724181C1 (en) * 2018-11-07 2020-06-22 Алибаба Груп Холдинг Лимитед Simplification of consensus in blockchain based on principle of practical fail-safety based on byzantine agreement and synchronization of nodes
US20220030031A1 (en) * 2018-11-26 2022-01-27 The University Of Akron 3s-chain: smart, secure, and software-defined networking (sdn)-powered blockchain-powered networking and monitoring system
CN110035081A (en) * 2019-04-11 2019-07-19 中国电子科技集团公司电子科学研究院 A kind of publish/subscribe architectural framework based on block chain
CN110113328B (en) * 2019-04-28 2021-01-15 武汉理工大学 Software defined opportunistic network DDoS defense method based on block chain
CN112235252B (en) * 2020-09-21 2023-02-07 西安电子科技大学 Block chain-based security identification method, security identification system and storage medium

Also Published As

Publication number Publication date
CN113301149A (en) 2021-08-24
WO2022246974A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
DE102004052270B4 (en) Processing device management system
DE4430993C1 (en) Adaptive path search among network nodes maintaining topological data
DE112020001459T5 (en) Consistent route announcements between redundant controllers in the global network access point
DE60301717T2 (en) Method and apparatus for content-oriented forwarding of packets in the network with data storage devices
DE112016006867T5 (en) Peer-to-peer network and nodes of a peer-to-peer network
EP3017570B1 (en) Control device, network node and method for the exchange of data over a network
WO2020249345A1 (en) Method for providing control applications, and configuration controller
DE102016219854A1 (en) Computer system and method for dynamically customizing a software-defined network
DE60225766T2 (en) Fault-tolerant system for routing in inter-autonomous systems
DE112021000731T5 (en) Procedure for building a trustworthy software-defined network based on blockchain
EP3501140A1 (en) Method for operating an industrial automation system communication network comprising a plurality of communication devices, and control unit
WO2023274678A1 (en) Managing keys for secure communication between communication subscribers via a separate communication channel
EP3628078B1 (en) Method for operating a communication network comprising multiple communication devices of an industrial automation system and control unit
CN110213359A (en) A kind of car networking networking data delivery system and method based on D2D
DE112019001214T5 (en) Generation of path failure message to forwarding element
EP1151591B1 (en) Data access and management system and data access and management method for a computer system
DE60303745T2 (en) Multi-layered method for managing multicast subscribers
DE102011080676A1 (en) Configuration of a communication network
EP1440544B1 (en) Method for communicating real-time data traffic in a collision-recognition based communication network, corresponding storage medium and communication network
DE102022108272A1 (en) SELECTIVE FORMING AND MAINTENANCE OF TUNNELS WITHIN A MESH TOPOLOGY
EP1619849B1 (en) Method for synchronising a distributed system
DE10206001A1 (en) Procedure for controlling the installation of program code on network elements
EP3813315A1 (en) Method for diagnosing data traffic, method for determining a configuration, cluster, computer program and computer-readable medium
EP3462673A1 (en) Method for operating a communication network of an industrial automation system and control device
LU101163B1 (en) Methods and apparatus for load allocation and monitoring for a resource that is critical to the security of supply in a network

Legal Events

Date Code Title Description
R012 Request for examination validly filed