SlideShare a Scribd company logo
1 of 47
Week 2 
Reliable transmission 
Building a network
Agenda 
• Reliable transmission 
• Checksums and hash functions 
• Framing 
• Go-back-n 
• Selective repeat 
• Building a network
Agenda 
• Reliable transmission 
• Checksums and hash functions 
• Framing 
• Go-back-n 
• Selective repeat 
• Building a network
Checksums 
• How to verify that a transmission has not 
been affected by random errors 
• Checksum 
• CRC 
• Should the Checksum/CRC also cover the 
header ?
Hash functions 
• What is the role of hash functions like MD5 
or SHA-1 ? 
• Do they play the same role as CRCs and 
checksums ?
Agenda 
• Reliable transmission 
• Checksums and hash functions 
• Framing 
• Go-back-n 
• Selective repeat 
• Building a network
Bit stuffing 
• How to combine bit stuffing and checksums 
? 
• Stuffing first and then compute checksum 
or 
• Compute checksum and then stuffing
Character stuffing 
• What are the advantages/drawbacks of 
character stuffing compared to bit stuffing ?
Agenda 
• Reliable transmission 
• Checksums and hash functions 
• Framing 
• Go-back-n 
• Selective repeat 
• Building a network
Go-back-n 
• What are the key principles behind go-back- 
n ? 
• How does it deal with losses/errors ? 
• How does it deal with losses of 
acknowledgements ? 
• How to set the retransmission timer ?
Go-back-n : example 
A B 
0 1 2 3 
0 1 2 3 
0 1 2 3 
0 1 2 3 
0 1 2 3 
Data.req(a) 
Data.req(e) 
Data.ind(a) 
D(0,a) 
Data.req(c) 
D(2,c) 
C(OK,0) 
C(OK,0) 
Sending window 
Data.req(b) 
D(1,b) 
Lost 
Not expected seq num, 
discarded 
Retransmission 
timer expires 
0 1 2 3 
0 1 2 3 
Sending window is full 
D(1,b) 
Data.ind(b) 
Data.req(d) 
D(3,d) 
Data.ind(d) 
D(2,c) 
Data.ind(c)
Maximum window 
• What is the maximum window size that 
can be used with go-back-n ? 
• Sequence numbers are encoded in N bits
Agenda 
• Reliable transmission 
• Checksums and hash functions 
• Framing 
• Go-back-n 
• Selective repeat 
• Building a network
Selective repeat 
• What are the key principles behind 
selective repeat ? 
• How does it deal with losses/errors ? 
• How does it deal with losses of 
acknowledgements ? 
• How to inform about losses ? 
• How to set the retransmission timer ?
Selective repeat 
A B 
0 1 2 3 
0 1 2 3 
0 1 2 3 
0 1 2 3 
Data.ind(b) 
Data.req(a) 
Data.ind(a) 
D(0,a) 
0 1 2 3 
Data.req(c) 
D(2,c) 
C(OK,0) 
C(OK,0) 
Sending window 
Data.req(b) 
D(1,b) 
Lost segment 
Segment stored 
D(1,b) 
Retransmission 
0 1 2 3 timer expires 
0 1 2 3 
0 1 2 3 
0 1 2 3 
0 1 2 3 
Data.ind(c) 
Data.req(d) 
D(3,d) 
Data.ind(d) 
0 1 2 3 
0 1 2 3 
C(OK,2) 
C(OK,3) 
Rec. window 
0 1 2 3 
0 1 2 3
Maximum window 
• What is the maximum window size that 
can be used with selective repeat ? 
• Sequence numbers are encoded in N bits
Performance with 
losses • What is the minimum window size required 
to achieve high throughput 
• When there are no losses ? 
• When a few frames are errored/lost ? 
• Go-back-n 
• Selective repeat
Take back lessons 
• Usage of Checksums/CRCs 
• Cumulative acknowledgements 
• Maximum window size with gbn/sr 
• Bandwidth x delay product
• Reliable tranAsmigsseionnda 
• Building a network 
• Datagram organisation 
• Virtual circuit organisation 
• Distance vector routing 
• Link state routing
Datagram organisation 
• Principles 
• Nodes 
• Hosts 
• Routers 
• Packet
Forwarding table 
• Contents of the forwarding table 
• Destination, nexthop/outgoing if 
• How to compute the forwarding table ?
Port-station table 
• When a node boots, its forwarding table is 
empty, is it possible to learn automatically 
the forwarding table from the packets ? 
• Tree-shaped networks only !
A network 
B 
A R1 
R2 
R3
Source routing 
• Basic idea 
• Each node has a unique address 
• Each node knows its direct neighbours 
• How ? 
• Each packet contains the list of the 
addresses of intermediate nodes
A network 
B 
A R1 
R2 
R3 
How can A discover the paths towards B ?
• Reliable tranAsmigsseionnda 
• Building a network 
• Datagram organisation 
• Virtual circuit organisation 
• Distance vector routing 
• Link state routing
Virtual circuit 
• Basic idea 
• Create circuits through the network to 
transfer data divided in packets 
• Packet contains one label 
• Simpler forwarding table 
• incoming label, nexthop, outgoing label
Virtual circuit 
B 
A R1 
R2 
R3 
Create one virtual circuit from A to B 
C
• Reliable tranAsmigsseionnda 
• Building a network 
• Datagram organisation 
• Virtual circuit organisation 
• Distance vector routing 
• Link state routing
Computing forwarding 
tables 
• How to compute the forwarding tables for 
all nodes in a network ? 
C 
A B C 
E 
D E
Computing forwarding 
tables 
• 
• A B C 
C 
E 
D E 
Routing table 
A : Local 
D : South 
B : East 
C : East [via B] 
E: East [via B] 
Routing table 
A : West 
B : Local 
C : East 
D : South [via E] 
E : South 
Routing table 
A : West [via B] 
B : West 
C : Local 
D : West [via B] 
E : South West 
Routing table 
A : North 
B : North [via A] 
C : East [via E] 
D : Local 
E : East 
Routing table 
A : North [via B] 
B : North 
C : North-East 
D : West 
E : Local 
Cost=1 
Cost=1 Cost=1 
Cost=1 
Cost=1 
Cost=1
Distance vector routing 
• Objectives of the routing protocol 
• Compute forwarding tables so that all 
nodes can reach all nodes in the network 
• Principle 
• Each node regularly sends a summary of 
its forwarding table to its neighbours
Distance vector 
Routing table 
B : 0 [Local] Routing table 
C 
D E 
Routing table 
A : 0 [ Local ] 
A B C 
D E 
C : 0 [Local] 
Routing table 
E : 0 [Local] 
Routing table 
D : 0 [Local]
Distance vector 
example (2) 
C 
Routing table 
B : 0 [Local] 
A : 1 [West] 
D E 
Routing table 
A : 0 [ Local ] 
A B C 
D E 
Routing table 
C : 0 [Local] 
Routing table 
E : 0 [Local] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
D=0 ; A=1 
D=0 ; A=1
Distance vector 
example (3) 
C 
Routing table 
B : 0 [Local] 
A : 1 [West] 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
A B C 
D E 
Routing table 
C : 0 [Local] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
C=0 
C=0
Distance vector 
example (4) 
C 
Routing table 
B : 0 [Local] 
A : 1 [West] 
C : 1 [East] 
E=0;D=1;A=2;C=1 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
A B C 
D E 
Routing table 
C : 0 [Local] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E=0;D=1;A=2;C=1 
E=0;D=1;A=2;C=1
Distance vector 
example (5) 
C 
Routing table 
B : 0 [Local] 
A : 1 [West] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A : 3 [South-West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
B=0;A=1;C=1;D=2;E=1 
B=0;A=1;C=1;D=2;E=1
Distance vector 
example (6) 
C 
Routing table 
B : 0 [Local] 
A : 1 [West] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : 1 [East] 
C : 2 [East] 
E : 2 [East] 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A : 2 [West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
A=0;B=1;C=2;D=1;E=2
Distance vector 
example (7) 
C 
Routing table 
B : 0 [Local] 
A : 1 [West] 
C : 1 [East] 
E : 1 [South] 
D : 2 [South] 
D E 
Routing table 
A : 0 [ Local ] 
D : 1 [South] 
B : 1 [East] 
C : 2 [East] 
E : 2 [East] 
A B C 
D E 
Routing table 
C : 0 [Local] 
E : 1 [South-West] 
D : 2 [South-West] 
A : 2 [West] 
B : 1 [West] 
Routing table 
E : 0 [Local] 
D : 1 [West] 
A : 2 [West] 
C : 1 [North-East] 
B : 1 [North] 
Routing table 
D : 0 [Local] 
A : 1 [North] 
E : 1 [East] 
C : 2 [East] 
B : 2 [North]
• Reliable tranAsmigsseionnda 
• Building a network 
• Datagram organisation 
• Virtual circuit organisation 
• Distance vector routing 
• Link state routing
Link state routing 
• Objectives of the routing protocol 
• Compute all forwarding tables 
• Principle 
• Each node detects its neighbours 
• Each node regularly sends list of its 
neighbours to all nodes
Discovering neighbours 
• Manually 
• Automatically 
E 
A:HELLO 
A B 
E 
B:HELLO 
E:HELLO
Link state packets 
C 
Links 
A-B : 1 
B-E : 1 
B-C : 1 
A B C 
LSP : E [D:1];[B:1];[C:1] LSP : E [D:1];[B:1];[C:1] 
D E 
Links 
A-B : 1 
A-D : 1 
D E 
Links 
B-C : 1 
C-E : 1 
Links 
E-D : 1 
E-B : 1 
E-C : 1 
Links 
A-D : 1 
D-E : 1 
LSP : E [D:1];[B:1];[C:1] 
• How to reliably send LSPs to all nodes ?
Flooding 
• Naive approach 
• Send received LSP to all neighbours 
C 
D E 
Links 
A-B : 1 
A-D : 1 
LSP : E [D:1];[B:1];[C:1] 
A B C 
D E 
Links 
B-C : 1 
C-E : 1 
B-E : 1 
D-E : 1 
Links 
E-D : 1 
E-B : 1 
E-C : 1 
Links 
A-B : 1 
B-E : 1 
B-C : 1 
E-D : 1 
E-C : 1 
Links 
A-D : 1 
D-E : 1 
B-E : 1 
E-C : 1 
LSP : E [D:1];[B:1];[C:1] 
LSP : E [D:1];[B:1];[C:1]
Flooding 
LSPs LSPs 
C 
LSP : E-0 [D:1];[B:1];[C:1] LSP : E-0 [D:1];[B:1];[C:1] 
D E 
Links 
A-B : 1 
A-D : 1 
A B C 
D E 
Links 
B-C : 1 
C-E : 1 
Links 
E-D : 1 
E-B : 1 
E-C : 1 
LSPs 
Links 
A-D : 1 
D-E : 1 
Links 
A-B : 1 
B-E : 1 
B-C : 1 
LSP : E-0 [D:1];[B:1];[C:1] 
LSPs 
LSPs 
E-0 [D:1];[B:1];[C:1]
Flooding 
E-0 [D:1];[B:1];[C:1] 
C 
D E 
Links 
A-B : 1 
A-D : 1 
LSPs 
LSP : E-0 [D:1];[B:1];[C:1] 
A B C 
D E 
Links 
B-C : 1 
C-E : 1 
B-E : 1 
D-E : 1 
Links 
E-D : 1 
E-B : 1 
E-C : 1 
Links 
A-B : 1 
B-E : 1 
B-C : 1 
E-D : 1 
E-C : 1 
LSPs 
Links 
A-D : 1 
D-E : 1 
B-E : 1 
E-C : 1 
LSP : E-0 [D:1];[B:1];[C:1] 
LSPs 
E-0 [D:1];[B:1];[C:1] 
LSPs 
E-0 [D:1];[B:1];[C:1] 
LSPs 
E-0 [D:1];[B:1];[C:1] 
LSP : E-0 [D:1];[B:1];[C:1]
After flooding 
• Each node knows full network topology 
C 
Links 
A-B, B-A : 1 
B-E, E-B : 1 
B-C, C-B : 1 
E-D, D-E : 1 
E-C, C-E : 1 
A-D, D-A : 1 
LSPs 
E-0 [D:1];[B:1];[C:1] 
A-0 [D:1];[B:1] 
B-0 [A:1] [C:1] [E:1] 
C-0 [B:1] [E:1] 
D-0 [A:1] [E:1] 
Links 
A-B, B-A : 1 
B-E, E-B : 1 
B-C, C-B : 1 
E-D, D-E : 1 
E-C, C-E : 1 
A-D, D-A : 1 
A B C 
D E 
D E 
Links 
A-B, B-A : 1 
B-E, E-B : 1 
B-C, C-B : 1 
E-D, D-E : 1 
E-C, C-E : 1 
A-D, D-A : 1 
LSPs 
E-0 [D:1];[B:1];[C:1] 
A-0 [D:1];[B:1] 
B-0 [A:1] [C:1] [E:1] 
C-0 [B:1] [E:1] 
D-0 [A:1] [E:1] 
LSPs 
E-0 [D:1];[B:1];[C:1] 
A-0 [D:1];[B:1] 
B-0 [A:1] [C:1] [E:1] 
C-0 [B:1] [E:1] 
D-0 [A:1] [E:1] 
Links 
A-B, B-A : 1 
B-E, E-B : 1 
B-C, C-B : 1 
E-D, D-E : 1 
E-C, C-E : 1 
A-D, D-A : 1 
Links 
A-B, B-A : 1 
B-E, E-B : 1 
B-C, C-B : 1 
E-D, D-E : 1 
E-C, C-E : 1 
A-D, D-A : 1 
LSPs 
E-0 [D:1];[B:1];[C:1] 
A-0 [D:1];[B:1] 
B-0 [A:1] [C:1] [E:1] 
C-0 [B:1] [E:1] 
D-0 [A:1] [E:1] 
LSPs 
E-0 [D:1];[B:1];[C:1] 
A-0 [D:1];[B:1] 
B-0 [A:1] [C:1] [E:1] 
C-0 [B:1] [E:1] 
D-0 [A:1] [E:1]

More Related Content

What's hot

What's hot (20)

Ad hoc on demand distance
Ad hoc on demand distanceAd hoc on demand distance
Ad hoc on demand distance
 
Routing
RoutingRouting
Routing
 
DSDV VS AODV
DSDV VS AODV DSDV VS AODV
DSDV VS AODV
 
udp , tcp ,sctp
udp , tcp ,sctpudp , tcp ,sctp
udp , tcp ,sctp
 
Can ppt
Can pptCan ppt
Can ppt
 
Routing
RoutingRouting
Routing
 
Chapter 3 - Computer Networking a top-down Approach 7th
Chapter 3 - Computer Networking a top-down Approach 7thChapter 3 - Computer Networking a top-down Approach 7th
Chapter 3 - Computer Networking a top-down Approach 7th
 
Tcp
TcpTcp
Tcp
 
Chapter 5 : Link Layer
Chapter 5 : Link LayerChapter 5 : Link Layer
Chapter 5 : Link Layer
 
Computer networks unit iv
Computer networks    unit ivComputer networks    unit iv
Computer networks unit iv
 
Chapter 4 - Computer Networking a top-down Approach 7th
Chapter 4 - Computer Networking a top-down Approach 7thChapter 4 - Computer Networking a top-down Approach 7th
Chapter 4 - Computer Networking a top-down Approach 7th
 
Routing algorithm network layer
Routing algorithm  network layerRouting algorithm  network layer
Routing algorithm network layer
 
Week16 lec1
Week16 lec1Week16 lec1
Week16 lec1
 
Network layer ip address assignment and routing
Network layer ip address assignment and routingNetwork layer ip address assignment and routing
Network layer ip address assignment and routing
 
Week14 lec2
Week14 lec2Week14 lec2
Week14 lec2
 
A day in the life of a Web Request
A day in the life of a Web RequestA day in the life of a Web Request
A day in the life of a Web Request
 
Week13 lec2
Week13 lec2Week13 lec2
Week13 lec2
 
Week15 lec1
Week15 lec1Week15 lec1
Week15 lec1
 
Tcp udp
Tcp udpTcp udp
Tcp udp
 
I pv6
I pv6I pv6
I pv6
 

Viewers also liked

CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked GamesCS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
Wei Tsang Ooi
 
Socket网络编程
Socket网络编程Socket网络编程
Socket网络编程
qhm123
 
Flow & Error Control
Flow & Error ControlFlow & Error Control
Flow & Error Control
tameemyousaf
 

Viewers also liked (14)

4 transport-sharing
4 transport-sharing4 transport-sharing
4 transport-sharing
 
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked GamesCS4344 09/10 Lecture 10: Transport Protocol for Networked Games
CS4344 09/10 Lecture 10: Transport Protocol for Networked Games
 
7 tcp-congestion
7 tcp-congestion7 tcp-congestion
7 tcp-congestion
 
Socket网络编程
Socket网络编程Socket网络编程
Socket网络编程
 
Course on TCP Dynamic Performance
Course on TCP Dynamic PerformanceCourse on TCP Dynamic Performance
Course on TCP Dynamic Performance
 
5 sharing-app
5 sharing-app5 sharing-app
5 sharing-app
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
 
TCP with delayed ack for wireless networks
TCP with delayed ack for wireless networksTCP with delayed ack for wireless networks
TCP with delayed ack for wireless networks
 
8 congestion-ipv6
8 congestion-ipv68 congestion-ipv6
8 congestion-ipv6
 
TCP Model
TCP ModelTCP Model
TCP Model
 
Flow & Error Control
Flow & Error ControlFlow & Error Control
Flow & Error Control
 
9 ipv6-routing
9 ipv6-routing9 ipv6-routing
9 ipv6-routing
 
6 app-tcp
6 app-tcp6 app-tcp
6 app-tcp
 
10 routing-bgp
10 routing-bgp10 routing-bgp
10 routing-bgp
 

Similar to 2 reliability-network

IAP presentation-1.pptx
IAP presentation-1.pptxIAP presentation-1.pptx
IAP presentation-1.pptx
HirazNor
 
Powerpoint one
Powerpoint onePowerpoint one
Powerpoint one
pqatester
 
Powerpoint one
Powerpoint onePowerpoint one
Powerpoint one
pqatester
 

Similar to 2 reliability-network (20)

Part6-network-routing.pptx
Part6-network-routing.pptxPart6-network-routing.pptx
Part6-network-routing.pptx
 
Part7-routing.pptx
Part7-routing.pptxPart7-routing.pptx
Part7-routing.pptx
 
routing algorithm
routing algorithmrouting algorithm
routing algorithm
 
IAP presentation-1.pptx
IAP presentation-1.pptxIAP presentation-1.pptx
IAP presentation-1.pptx
 
IAP PPT-2.pptx
IAP PPT-2.pptxIAP PPT-2.pptx
IAP PPT-2.pptx
 
Distance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing AlgorithmDistance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing Algorithm
 
module10-rip (1).ppt
module10-rip (1).pptmodule10-rip (1).ppt
module10-rip (1).ppt
 
Routing Protocols.pptx
Routing Protocols.pptxRouting Protocols.pptx
Routing Protocols.pptx
 
Lecture set 5
Lecture set 5Lecture set 5
Lecture set 5
 
Part 4 : reliable transport and sharing resources
Part 4 : reliable transport and sharing resourcesPart 4 : reliable transport and sharing resources
Part 4 : reliable transport and sharing resources
 
Routing algorithm
Routing algorithmRouting algorithm
Routing algorithm
 
Powerpoint one
Powerpoint onePowerpoint one
Powerpoint one
 
Powerpoint one
Powerpoint onePowerpoint one
Powerpoint one
 
Fulll Adder
Fulll AdderFulll Adder
Fulll Adder
 
Combinational circuits r011
Combinational circuits   r011Combinational circuits   r011
Combinational circuits r011
 
Join algorithm in MapReduce
Join algorithm in MapReduceJoin algorithm in MapReduce
Join algorithm in MapReduce
 
IAP PPT-1.pptx
IAP PPT-1.pptxIAP PPT-1.pptx
IAP PPT-1.pptx
 
Comparative Analysis of Distance Vector Routing & Link State Protocols
Comparative Analysis of Distance Vector Routing & Link State ProtocolsComparative Analysis of Distance Vector Routing & Link State Protocols
Comparative Analysis of Distance Vector Routing & Link State Protocols
 
Big spatial2014 mapreduceweights
Big spatial2014 mapreduceweightsBig spatial2014 mapreduceweights
Big spatial2014 mapreduceweights
 
Networks
NetworksNetworks
Networks
 

More from Olivier Bonaventure

More from Olivier Bonaventure (20)

Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
 
Part10-router.pptx
Part10-router.pptxPart10-router.pptx
Part10-router.pptx
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
 
Part11-lan.pptx
Part11-lan.pptxPart11-lan.pptx
Part11-lan.pptx
 
Part5-tcp-improvements.pptx
Part5-tcp-improvements.pptxPart5-tcp-improvements.pptx
Part5-tcp-improvements.pptx
 
Part8-ibgp.pptx
Part8-ibgp.pptxPart8-ibgp.pptx
Part8-ibgp.pptx
 
Part4-reliable-tcp.pptx
Part4-reliable-tcp.pptxPart4-reliable-tcp.pptx
Part4-reliable-tcp.pptx
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
 
Part4-reliable-tcp.pptx
Part4-reliable-tcp.pptxPart4-reliable-tcp.pptx
Part4-reliable-tcp.pptx
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
 
A personal journey towards more reproducible networking research
A personal journey towards more reproducible networking researchA personal journey towards more reproducible networking research
A personal journey towards more reproducible networking research
 
Part 12 : Local Area Networks
Part 12 : Local Area Networks Part 12 : Local Area Networks
Part 12 : Local Area Networks
 
Part 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGPPart 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGP
 
Part 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGPPart 10 : Routing in IP networks and interdomain routing with BGP
Part 10 : Routing in IP networks and interdomain routing with BGP
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6
 
Part 8 : TCP and Congestion control
Part 8 : TCP and Congestion controlPart 8 : TCP and Congestion control
Part 8 : TCP and Congestion control
 
Part 7 : HTTP/2, UDP and TCP
Part 7 : HTTP/2, UDP and TCPPart 7 : HTTP/2, UDP and TCP
Part 7 : HTTP/2, UDP and TCP
 

Recently uploaded

Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Christo Ananth
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
dollysharma2066
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
ankushspencer015
 

Recently uploaded (20)

Thermal Engineering Unit - I & II . ppt
Thermal Engineering  Unit - I & II . pptThermal Engineering  Unit - I & II . ppt
Thermal Engineering Unit - I & II . ppt
 
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptxBSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
BSides Seattle 2024 - Stopping Ethan Hunt From Taking Your Data.pptx
 
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
The Most Attractive Pune Call Girls Budhwar Peth 8250192130 Will You Miss Thi...
 
Online banking management system project.pdf
Online banking management system project.pdfOnline banking management system project.pdf
Online banking management system project.pdf
 
NFPA 5000 2024 standard .
NFPA 5000 2024 standard                                  .NFPA 5000 2024 standard                                  .
NFPA 5000 2024 standard .
 
UNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its PerformanceUNIT - IV - Air Compressors and its Performance
UNIT - IV - Air Compressors and its Performance
 
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
(INDIRA) Call Girl Aurangabad Call Now 8617697112 Aurangabad Escorts 24x7
 
Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024Water Industry Process Automation & Control Monthly - April 2024
Water Industry Process Automation & Control Monthly - April 2024
 
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICSUNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
UNIT-IFLUID PROPERTIES & FLOW CHARACTERISTICS
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
UNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular ConduitsUNIT-II FMM-Flow Through Circular Conduits
UNIT-II FMM-Flow Through Circular Conduits
 
Extrusion Processes and Their Limitations
Extrusion Processes and Their LimitationsExtrusion Processes and Their Limitations
Extrusion Processes and Their Limitations
 
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Mahipalpur Delhi Contact Us 8377877756
 
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar  ≼🔝 Delhi door step de...
Call Now ≽ 9953056974 ≼🔝 Call Girls In New Ashok Nagar ≼🔝 Delhi door step de...
 
data_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdfdata_management_and _data_science_cheat_sheet.pdf
data_management_and _data_science_cheat_sheet.pdf
 
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Ankleshwar 7001035870 Whatsapp Number, 24/07 Booking
 
AKTU Computer Networks notes --- Unit 3.pdf
AKTU Computer Networks notes ---  Unit 3.pdfAKTU Computer Networks notes ---  Unit 3.pdf
AKTU Computer Networks notes --- Unit 3.pdf
 
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
VIP Model Call Girls Kothrud ( Pune ) Call ON 8005736733 Starting From 5K to ...
 
Unit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdfUnit 1 - Soil Classification and Compaction.pdf
Unit 1 - Soil Classification and Compaction.pdf
 
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELLPVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
PVC VS. FIBERGLASS (FRP) GRAVITY SEWER - UNI BELL
 

2 reliability-network

  • 1. Week 2 Reliable transmission Building a network
  • 2. Agenda • Reliable transmission • Checksums and hash functions • Framing • Go-back-n • Selective repeat • Building a network
  • 3. Agenda • Reliable transmission • Checksums and hash functions • Framing • Go-back-n • Selective repeat • Building a network
  • 4. Checksums • How to verify that a transmission has not been affected by random errors • Checksum • CRC • Should the Checksum/CRC also cover the header ?
  • 5. Hash functions • What is the role of hash functions like MD5 or SHA-1 ? • Do they play the same role as CRCs and checksums ?
  • 6. Agenda • Reliable transmission • Checksums and hash functions • Framing • Go-back-n • Selective repeat • Building a network
  • 7. Bit stuffing • How to combine bit stuffing and checksums ? • Stuffing first and then compute checksum or • Compute checksum and then stuffing
  • 8. Character stuffing • What are the advantages/drawbacks of character stuffing compared to bit stuffing ?
  • 9. Agenda • Reliable transmission • Checksums and hash functions • Framing • Go-back-n • Selective repeat • Building a network
  • 10. Go-back-n • What are the key principles behind go-back- n ? • How does it deal with losses/errors ? • How does it deal with losses of acknowledgements ? • How to set the retransmission timer ?
  • 11. Go-back-n : example A B 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 Data.req(a) Data.req(e) Data.ind(a) D(0,a) Data.req(c) D(2,c) C(OK,0) C(OK,0) Sending window Data.req(b) D(1,b) Lost Not expected seq num, discarded Retransmission timer expires 0 1 2 3 0 1 2 3 Sending window is full D(1,b) Data.ind(b) Data.req(d) D(3,d) Data.ind(d) D(2,c) Data.ind(c)
  • 12. Maximum window • What is the maximum window size that can be used with go-back-n ? • Sequence numbers are encoded in N bits
  • 13. Agenda • Reliable transmission • Checksums and hash functions • Framing • Go-back-n • Selective repeat • Building a network
  • 14. Selective repeat • What are the key principles behind selective repeat ? • How does it deal with losses/errors ? • How does it deal with losses of acknowledgements ? • How to inform about losses ? • How to set the retransmission timer ?
  • 15. Selective repeat A B 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 Data.ind(b) Data.req(a) Data.ind(a) D(0,a) 0 1 2 3 Data.req(c) D(2,c) C(OK,0) C(OK,0) Sending window Data.req(b) D(1,b) Lost segment Segment stored D(1,b) Retransmission 0 1 2 3 timer expires 0 1 2 3 0 1 2 3 0 1 2 3 0 1 2 3 Data.ind(c) Data.req(d) D(3,d) Data.ind(d) 0 1 2 3 0 1 2 3 C(OK,2) C(OK,3) Rec. window 0 1 2 3 0 1 2 3
  • 16. Maximum window • What is the maximum window size that can be used with selective repeat ? • Sequence numbers are encoded in N bits
  • 17. Performance with losses • What is the minimum window size required to achieve high throughput • When there are no losses ? • When a few frames are errored/lost ? • Go-back-n • Selective repeat
  • 18. Take back lessons • Usage of Checksums/CRCs • Cumulative acknowledgements • Maximum window size with gbn/sr • Bandwidth x delay product
  • 19. • Reliable tranAsmigsseionnda • Building a network • Datagram organisation • Virtual circuit organisation • Distance vector routing • Link state routing
  • 20. Datagram organisation • Principles • Nodes • Hosts • Routers • Packet
  • 21. Forwarding table • Contents of the forwarding table • Destination, nexthop/outgoing if • How to compute the forwarding table ?
  • 22. Port-station table • When a node boots, its forwarding table is empty, is it possible to learn automatically the forwarding table from the packets ? • Tree-shaped networks only !
  • 23. A network B A R1 R2 R3
  • 24. Source routing • Basic idea • Each node has a unique address • Each node knows its direct neighbours • How ? • Each packet contains the list of the addresses of intermediate nodes
  • 25. A network B A R1 R2 R3 How can A discover the paths towards B ?
  • 26. • Reliable tranAsmigsseionnda • Building a network • Datagram organisation • Virtual circuit organisation • Distance vector routing • Link state routing
  • 27. Virtual circuit • Basic idea • Create circuits through the network to transfer data divided in packets • Packet contains one label • Simpler forwarding table • incoming label, nexthop, outgoing label
  • 28. Virtual circuit B A R1 R2 R3 Create one virtual circuit from A to B C
  • 29. • Reliable tranAsmigsseionnda • Building a network • Datagram organisation • Virtual circuit organisation • Distance vector routing • Link state routing
  • 30. Computing forwarding tables • How to compute the forwarding tables for all nodes in a network ? C A B C E D E
  • 31. Computing forwarding tables • • A B C C E D E Routing table A : Local D : South B : East C : East [via B] E: East [via B] Routing table A : West B : Local C : East D : South [via E] E : South Routing table A : West [via B] B : West C : Local D : West [via B] E : South West Routing table A : North B : North [via A] C : East [via E] D : Local E : East Routing table A : North [via B] B : North C : North-East D : West E : Local Cost=1 Cost=1 Cost=1 Cost=1 Cost=1 Cost=1
  • 32. Distance vector routing • Objectives of the routing protocol • Compute forwarding tables so that all nodes can reach all nodes in the network • Principle • Each node regularly sends a summary of its forwarding table to its neighbours
  • 33. Distance vector Routing table B : 0 [Local] Routing table C D E Routing table A : 0 [ Local ] A B C D E C : 0 [Local] Routing table E : 0 [Local] Routing table D : 0 [Local]
  • 34. Distance vector example (2) C Routing table B : 0 [Local] A : 1 [West] D E Routing table A : 0 [ Local ] A B C D E Routing table C : 0 [Local] Routing table E : 0 [Local] Routing table D : 0 [Local] A : 1 [North] D=0 ; A=1 D=0 ; A=1
  • 35. Distance vector example (3) C Routing table B : 0 [Local] A : 1 [West] D E Routing table A : 0 [ Local ] D : 1 [South] A B C D E Routing table C : 0 [Local] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] Routing table D : 0 [Local] A : 1 [North] C=0 C=0
  • 36. Distance vector example (4) C Routing table B : 0 [Local] A : 1 [West] C : 1 [East] E=0;D=1;A=2;C=1 D E Routing table A : 0 [ Local ] D : 1 [South] A B C D E Routing table C : 0 [Local] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] Routing table D : 0 [Local] A : 1 [North] E=0;D=1;A=2;C=1 E=0;D=1;A=2;C=1
  • 37. Distance vector example (5) C Routing table B : 0 [Local] A : 1 [West] C : 1 [East] E : 1 [South] D : 2 [South] D E Routing table A : 0 [ Local ] D : 1 [South] A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A : 3 [South-West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] B=0;A=1;C=1;D=2;E=1 B=0;A=1;C=1;D=2;E=1
  • 38. Distance vector example (6) C Routing table B : 0 [Local] A : 1 [West] C : 1 [East] E : 1 [South] D : 2 [South] D E Routing table A : 0 [ Local ] D : 1 [South] B : 1 [East] C : 2 [East] E : 2 [East] A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A : 2 [West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] A=0;B=1;C=2;D=1;E=2
  • 39. Distance vector example (7) C Routing table B : 0 [Local] A : 1 [West] C : 1 [East] E : 1 [South] D : 2 [South] D E Routing table A : 0 [ Local ] D : 1 [South] B : 1 [East] C : 2 [East] E : 2 [East] A B C D E Routing table C : 0 [Local] E : 1 [South-West] D : 2 [South-West] A : 2 [West] B : 1 [West] Routing table E : 0 [Local] D : 1 [West] A : 2 [West] C : 1 [North-East] B : 1 [North] Routing table D : 0 [Local] A : 1 [North] E : 1 [East] C : 2 [East] B : 2 [North]
  • 40. • Reliable tranAsmigsseionnda • Building a network • Datagram organisation • Virtual circuit organisation • Distance vector routing • Link state routing
  • 41. Link state routing • Objectives of the routing protocol • Compute all forwarding tables • Principle • Each node detects its neighbours • Each node regularly sends list of its neighbours to all nodes
  • 42. Discovering neighbours • Manually • Automatically E A:HELLO A B E B:HELLO E:HELLO
  • 43. Link state packets C Links A-B : 1 B-E : 1 B-C : 1 A B C LSP : E [D:1];[B:1];[C:1] LSP : E [D:1];[B:1];[C:1] D E Links A-B : 1 A-D : 1 D E Links B-C : 1 C-E : 1 Links E-D : 1 E-B : 1 E-C : 1 Links A-D : 1 D-E : 1 LSP : E [D:1];[B:1];[C:1] • How to reliably send LSPs to all nodes ?
  • 44. Flooding • Naive approach • Send received LSP to all neighbours C D E Links A-B : 1 A-D : 1 LSP : E [D:1];[B:1];[C:1] A B C D E Links B-C : 1 C-E : 1 B-E : 1 D-E : 1 Links E-D : 1 E-B : 1 E-C : 1 Links A-B : 1 B-E : 1 B-C : 1 E-D : 1 E-C : 1 Links A-D : 1 D-E : 1 B-E : 1 E-C : 1 LSP : E [D:1];[B:1];[C:1] LSP : E [D:1];[B:1];[C:1]
  • 45. Flooding LSPs LSPs C LSP : E-0 [D:1];[B:1];[C:1] LSP : E-0 [D:1];[B:1];[C:1] D E Links A-B : 1 A-D : 1 A B C D E Links B-C : 1 C-E : 1 Links E-D : 1 E-B : 1 E-C : 1 LSPs Links A-D : 1 D-E : 1 Links A-B : 1 B-E : 1 B-C : 1 LSP : E-0 [D:1];[B:1];[C:1] LSPs LSPs E-0 [D:1];[B:1];[C:1]
  • 46. Flooding E-0 [D:1];[B:1];[C:1] C D E Links A-B : 1 A-D : 1 LSPs LSP : E-0 [D:1];[B:1];[C:1] A B C D E Links B-C : 1 C-E : 1 B-E : 1 D-E : 1 Links E-D : 1 E-B : 1 E-C : 1 Links A-B : 1 B-E : 1 B-C : 1 E-D : 1 E-C : 1 LSPs Links A-D : 1 D-E : 1 B-E : 1 E-C : 1 LSP : E-0 [D:1];[B:1];[C:1] LSPs E-0 [D:1];[B:1];[C:1] LSPs E-0 [D:1];[B:1];[C:1] LSPs E-0 [D:1];[B:1];[C:1] LSP : E-0 [D:1];[B:1];[C:1]
  • 47. After flooding • Each node knows full network topology C Links A-B, B-A : 1 B-E, E-B : 1 B-C, C-B : 1 E-D, D-E : 1 E-C, C-E : 1 A-D, D-A : 1 LSPs E-0 [D:1];[B:1];[C:1] A-0 [D:1];[B:1] B-0 [A:1] [C:1] [E:1] C-0 [B:1] [E:1] D-0 [A:1] [E:1] Links A-B, B-A : 1 B-E, E-B : 1 B-C, C-B : 1 E-D, D-E : 1 E-C, C-E : 1 A-D, D-A : 1 A B C D E D E Links A-B, B-A : 1 B-E, E-B : 1 B-C, C-B : 1 E-D, D-E : 1 E-C, C-E : 1 A-D, D-A : 1 LSPs E-0 [D:1];[B:1];[C:1] A-0 [D:1];[B:1] B-0 [A:1] [C:1] [E:1] C-0 [B:1] [E:1] D-0 [A:1] [E:1] LSPs E-0 [D:1];[B:1];[C:1] A-0 [D:1];[B:1] B-0 [A:1] [C:1] [E:1] C-0 [B:1] [E:1] D-0 [A:1] [E:1] Links A-B, B-A : 1 B-E, E-B : 1 B-C, C-B : 1 E-D, D-E : 1 E-C, C-E : 1 A-D, D-A : 1 Links A-B, B-A : 1 B-E, E-B : 1 B-C, C-B : 1 E-D, D-E : 1 E-C, C-E : 1 A-D, D-A : 1 LSPs E-0 [D:1];[B:1];[C:1] A-0 [D:1];[B:1] B-0 [A:1] [C:1] [E:1] C-0 [B:1] [E:1] D-0 [A:1] [E:1] LSPs E-0 [D:1];[B:1];[C:1] A-0 [D:1];[B:1] B-0 [A:1] [C:1] [E:1] C-0 [B:1] [E:1] D-0 [A:1] [E:1]