Alternating Bit Protocol - PowerPoint PPT Presentation

About This Presentation
Title:

Alternating Bit Protocol

Description:

Alternating Bit Protocol m[0],0 m[0],0 m[1],1 m[2],0 R S ack, 0 ABP is a link layer protocol. Works on FIFO channels only. Guarantees reliable message delivery with a ... – PowerPoint PPT presentation

Number of Views:71
Avg rating:3.0/5.0
Slides: 15
Provided by: uiowaEdu
Category:

less

Transcript and Presenter's Notes

Title: Alternating Bit Protocol


1
Alternating Bit Protocol
m0,0
m0,0
m1,1
m2,0
R
S
ack, 0
ABP is a link layer protocol. Works on FIFO
channels only. Guarantees reliable message
delivery with a 1-bit sequence number (this is
the traditional version with window size 1).
Study how this works.
2
Alternating Bit Protocol
program ABP program for process S define
sent, b 0 or 1 next integer initially
next 0, sent 1, b 0, and channels are
empty do sent ?b ? send (mnext, b)
next next1 sent b ? (ack, j) is
received ? if j b ? b 1-b
? j ? b ? skip fi timeout (R,S) ?
send (mnext-1, b) od program for process
R define j 0 or 1 initially j
0 do (m , b) is received ? if j b ?
accept the message send (ack, j) j 1 - j
? j ? b ? send (ack, 1-j) fi od
S
m2,0
m1,1
a,0
m0,0
m0,0
R
3
How TCP works
Supports end-to-end logical connection between
any two computers on the Internet. Basic idea is
the same as those of sliding window protocols.
But TCP uses bounded sequence numbers!
It is safe to re-use a sequence number when it is
unique. With a high probability, a random 32 or
64-bit number is unique. Also, current sequence
numbers are flushed out of the system after a
time 2d, where d is the round trip delay.
4
How TCP works
5
How TCP works
  • Three-way handshake. Sequence numbers are unique
    w.h.p.
  • Why is the knowledge of roundtrip delay
    important?
  • What if the window is too small / too large?
  • What if the timeout period is too small /
    toolarge?
  • Adaptive retransmission receiver can throttle
    sender
  • and control the window size to save its buffer
    space.

6
Distributed Consensus
  • Reaching agreement is a fundamental problem in
    distributed
  • computing. Some examples are
  • Leader election / Mutual Exclusion
  • Commit or Abort in distributed transactions
  • Reaching agreement about which process has failed
  • Clock phase synchronization
  • Air traffic control system all aircrafts must
    have the same view

If there is no failure, then reaching consensus
is trivial. All-to-all broadcast Followed by a
applying a choice function Consensus in
presence of failures can however be complex.
7
Problem Specification
output
input
v
u0
p0
v
u1
p1
u2
p2
v
u3
p3
v
Here, v must be equal to the value at some input
line. Also, all outputs must be identical.
8
Problem Specification
  • Termination. Every non-faulty process must
    eventually decide.
  • Agreement. The final decision of every
    non-faulty process
  • must be identical.
  • Validity. If every non-faulty process begins
    with the same
  • initial value v, then their final decision
    must be v.

9
Asynchronous Consensus
  • Seven members of a busy household decided to hire
    a cook, since they do not have time to prepare
    their own food. Each member separately
    interviewed every applicant for the cooks
    position. Depending on how it went, each member
    voted "yes" (means hire) or "no" (means don't
    hire).
  • These members will now have to communicate with
    one another to reach a uniform final decision
    about whether the applicant will be hired. The
    process will be repeated with the next applicant,
    until someone is hired.
  • Consider various modes of communication

10
Asynchronous Consensus
  • Theorem.
  • In a purely asynchronous distributed system,
  • the consensus problem is impossible to solve
  • if even a single process crashes
  • Famous result due to Fischer, Lynch, Patterson
  • (commonly known as FLP 85)

11
Proof
  • Bivalent and Univalent states
  • A decision state is bivalent, if starting from
    that state, there exist
  • two distinct executions leading to two distinct
    decision values 0 or 1.
  • Otherwise it is univalent.
  • A univalent state may be either 0-valent or
    1-valent.

12
Proof
  • Lemma.
  • No execution can lead from a 0-valent to a
    1-valent
  • state or vice versa.
  • Proof.
  • Follows from the definition of 0-valent and
    1-valent states.

13
Proof
  • Lemma. Every consensus protocol must have a
    bivalent initial state.
  • Proof by contradiction. Suppose not. Then
    consider the following scenario
  • s0 0 0 0 0 0 0 0 0 0 0-valent)
  • 0 0 0 0 0 0 0 0 1 sj is 0-valent
  • 0 0 0 0 0 0 0 1 1 sj1 is 1-valent
  • (differ in jth position)
  • sn-1 1 1 1 1 1 1 1 1 1 1-valent

What if process (j1) crashes at the first step?
14
Proof
The adversary tries to prevent The system from
reaching consensus
  • Lemma.
  • In a consensus protocol, starting from any
    initial bivalent state, there must exist a
    reachable bivalent state T, such that every
    action taken by some process p in state T leads
    to either a 0-valent or a 1-valent state.

Actions 0 and 1 from T must be taken by the same
process p. Why?
Write a Comment
User Comments (0)
About PowerShow.com