Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

One of the Ways How to Make RIB Distributed

156 Aufrufe

Veröffentlicht am

One of the Ways How to Make RIB Distributed

Veröffentlicht in: Internet
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

One of the Ways How to Make RIB Distributed

  1. 1. Kamil Jeřábek & Vladimír Veselý 2019 One of the Ways How to Make RIB Distributed
  2. 2. RAFT ▪ What is RAFT? ▪ Consensus algorithm ▪ Solves fundamental problem in fault-tolerant distributed system ▪ Multiple servers agree on value One of the Ways How to Make RIB Distributed
  3. 3. RAFT ▪ Why we chose RAFT? ▪ Understable version of Paxos ▪ Easy to implement ▪ The same fault-tolerance and performance guarantees ▪ Suitable for RINA environment and RPC communication ▪ Already used in databases like InfluxDB One of the Ways How to Make RIB Distributed
  4. 4. RAFT RPCs ▪ RequestVotes ▪ Send by Candidates during Leader election to gather votes ▪ AppendEntries ▪ Sent by Leader for log replication ▪ Also sent by Leader as an HeartBeat to reset timers One of the Ways How to Make RIB Distributed
  5. 5. Leader Election ▪ Based on the timer expiration ▪ Presumption that all nodes are equal One of the Ways How to Make RIB Distributed Follower Timeout: 300ms Follower Timeout: 200ms Follower Timeout: 150ms
  6. 6. Leader Election ▪ Based on the timer expiration ▪ Presumption that every nodes are equal One of the Ways How to Make RIB Distributed Follower Timeout: 300ms Follower Timeout: 200ms Candidate Timeout: 150ms Vote for itself Request vote Request vote
  7. 7. Leader Election ▪ Based on the timer expiration ▪ Presumption that every nodes are equal One of the Ways How to Make RIB Distributed Follower Timeout: 300ms Follower Timeout: 200ms Candidate Timeout: 150ms Grant votes Grant votes Majority votes
  8. 8. Leader Election ▪ Based on the timer expiration ▪ Presumption that every nodes are equal One of the Ways How to Make RIB Distributed Follower Timeout: 300ms Follower Timeout: 200ms Leader Timeout: 150ms
  9. 9. Log Replication ▪ Each client request is stored in the Leader’s log ▪ Leader replicate new log entries to the Followers ▪ Command ▪ Sent by the client to be executed ▪ Index ▪ Position identifier in the log ▪ Term Number ▪ Identification of the time of the command One of the Ways How to Make RIB Distributed
  10. 10. Client Request One of the Ways How to Make RIB Distributed Follower Timeout: 300ms Follower Timeout: 200ms Leader Timeout: 150ms Client Request Response
  11. 11. RAFT RINA Approach ▪ Not possible to use current RAFT implementation ▪ RINA RPC commands as RAFT client commands ▪ RAFT Leader shared during Enrollment phase ▪ RIB ▪ RPC commands stored in RAFT log One of the Ways How to Make RIB Distributed
  12. 12. RAFT module ▪ Current state of the Application Process ▪ RAFT provided as compound module within RIBDaemon ▪ Management of objects in RIB ▪ Replication and updates primarily using Management AE One of the Ways How to Make RIB Distributed
  13. 13. Demonstration Topology ▪ Topology of 5 nodes ▪ 4 nodes RAFT synced ▪ 1 client node One of the Ways How to Make RIB Distributed
  14. 14. Questions? Questions? One of the Ways How to Make RIB Distributed

×