SlideShare a Scribd company logo
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

Ad hoc on demand distance
Ad hoc on demand distanceAd hoc on demand distance
Ad hoc on demand distance
Jimit Rupani
 
Routing
RoutingRouting
DSDV VS AODV
DSDV VS AODV DSDV VS AODV
DSDV VS AODV
Senthil Kanth
 
udp , tcp ,sctp
udp , tcp ,sctpudp , tcp ,sctp
udp , tcp ,sctp
AKSHIT KOHLI
 
Can ppt
Can pptCan ppt
Can ppt
Alka Yadav
 
Routing
RoutingRouting
Routing
Rachna Sharma
 
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
Andy Juan Sarango Veliz
 
Tcp
TcpTcp
Chapter 5 : Link Layer
Chapter 5 : Link LayerChapter 5 : Link Layer
Chapter 5 : Link Layer
Amin Omi
 
Computer networks unit iv
Computer networks    unit ivComputer networks    unit iv
Computer networks unit iv
JAIGANESH SEKAR
 
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
Andy Juan Sarango Veliz
 
Routing algorithm network layer
Routing algorithm  network layerRouting algorithm  network layer
Routing algorithm network layer
sambhenilesh
 
Week16 lec1
Week16 lec1Week16 lec1
Week16 lec1
syedhaiderraza
 
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
HamzahMohammed4
 
Week14 lec2
Week14 lec2Week14 lec2
Week14 lec2
syedhaiderraza
 
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
MD.ANISUR RAHMAN
 
Week13 lec2
Week13 lec2Week13 lec2
Week13 lec2
syedhaiderraza
 
Week15 lec1
Week15 lec1Week15 lec1
Week15 lec1
syedhaiderraza
 
Tcp udp
Tcp udpTcp udp
Tcp udp
Programmer
 
I pv6
I pv6I pv6

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

4 transport-sharing
4 transport-sharing4 transport-sharing
4 transport-sharing
Olivier Bonaventure
 
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
 
7 tcp-congestion
7 tcp-congestion7 tcp-congestion
7 tcp-congestion
Olivier Bonaventure
 
Socket网络编程
Socket网络编程Socket网络编程
Socket网络编程
qhm123
 
Course on TCP Dynamic Performance
Course on TCP Dynamic PerformanceCourse on TCP Dynamic Performance
Course on TCP Dynamic Performance
Javier Arauz
 
5 sharing-app
5 sharing-app5 sharing-app
5 sharing-app
Olivier Bonaventure
 
Lecture 5
Lecture 5Lecture 5
Lecture 5
ntpc08
 
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
ambitlicksolutions
 
8 congestion-ipv6
8 congestion-ipv68 congestion-ipv6
8 congestion-ipv6
Olivier Bonaventure
 
TCP Model
TCP ModelTCP Model
TCP Model
manojkum22
 
Flow & Error Control
Flow & Error ControlFlow & Error Control
Flow & Error Control
tameemyousaf
 
9 ipv6-routing
9 ipv6-routing9 ipv6-routing
9 ipv6-routing
Olivier Bonaventure
 
6 app-tcp
6 app-tcp6 app-tcp
10 routing-bgp
10 routing-bgp10 routing-bgp
10 routing-bgp
Olivier Bonaventure
 

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

Part6-network-routing.pptx
Part6-network-routing.pptxPart6-network-routing.pptx
Part6-network-routing.pptx
Olivier Bonaventure
 
Part7-routing.pptx
Part7-routing.pptxPart7-routing.pptx
Part7-routing.pptx
Olivier Bonaventure
 
routing algorithm
routing algorithmrouting algorithm
routing algorithm
AnusuaBasu
 
IAP presentation-1.pptx
IAP presentation-1.pptxIAP presentation-1.pptx
IAP presentation-1.pptx
HirazNor
 
IAP PPT-2.pptx
IAP PPT-2.pptxIAP PPT-2.pptx
IAP PPT-2.pptx
HirazNor
 
Distance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing AlgorithmDistance Vector & Link state Routing Algorithm
Distance Vector & Link state Routing Algorithm
MOHIT AGARWAL
 
module10-rip (1).ppt
module10-rip (1).pptmodule10-rip (1).ppt
module10-rip (1).ppt
Rakesh Dhiman
 
Routing Protocols.pptx
Routing Protocols.pptxRouting Protocols.pptx
Routing Protocols.pptx
HirazNor
 
Lecture set 5
Lecture set 5Lecture set 5
Lecture set 5
Gopi Saiteja
 
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
Olivier Bonaventure
 
Routing algorithm
Routing algorithmRouting algorithm
Routing algorithm
TechStudent1
 
Powerpoint one
Powerpoint onePowerpoint one
Powerpoint one
pqatester
 
Powerpoint one
Powerpoint onePowerpoint one
Powerpoint one
pqatester
 
Fulll Adder
Fulll AdderFulll Adder
Fulll Adder
Muhammad Yasir
 
Combinational circuits r011
Combinational circuits   r011Combinational circuits   r011
Combinational circuits r011
arunachalamr16
 
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
HirazNor
 
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
East West University
 
Big spatial2014 mapreduceweights
Big spatial2014 mapreduceweightsBig spatial2014 mapreduceweights
Big spatial2014 mapreduceweights
Arizona State University
 
Networks
NetworksNetworks
Networks
Abhik Seal
 

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

Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
Olivier Bonaventure
 
Part10-router.pptx
Part10-router.pptxPart10-router.pptx
Part10-router.pptx
Olivier Bonaventure
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
Olivier Bonaventure
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
Olivier Bonaventure
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
Olivier Bonaventure
 
Part11-lan.pptx
Part11-lan.pptxPart11-lan.pptx
Part11-lan.pptx
Olivier Bonaventure
 
Part5-tcp-improvements.pptx
Part5-tcp-improvements.pptxPart5-tcp-improvements.pptx
Part5-tcp-improvements.pptx
Olivier Bonaventure
 
Part8-ibgp.pptx
Part8-ibgp.pptxPart8-ibgp.pptx
Part8-ibgp.pptx
Olivier Bonaventure
 
Part4-reliable-tcp.pptx
Part4-reliable-tcp.pptxPart4-reliable-tcp.pptx
Part4-reliable-tcp.pptx
Olivier Bonaventure
 
Part1-Intro-Apps.pptx
Part1-Intro-Apps.pptxPart1-Intro-Apps.pptx
Part1-Intro-Apps.pptx
Olivier Bonaventure
 
Part2-Apps-Security.pptx
Part2-Apps-Security.pptxPart2-Apps-Security.pptx
Part2-Apps-Security.pptx
Olivier Bonaventure
 
Part4-reliable-tcp.pptx
Part4-reliable-tcp.pptxPart4-reliable-tcp.pptx
Part4-reliable-tcp.pptx
Olivier Bonaventure
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
Olivier Bonaventure
 
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
Olivier Bonaventure
 
Part 12 : Local Area Networks
Part 12 : Local Area Networks Part 12 : Local Area Networks
Part 12 : Local Area Networks
Olivier Bonaventure
 
Part 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGPPart 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGP
Olivier Bonaventure
 
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
Olivier Bonaventure
 
Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6
Olivier Bonaventure
 
Part 8 : TCP and Congestion control
Part 8 : TCP and Congestion controlPart 8 : TCP and Congestion control
Part 8 : TCP and Congestion control
Olivier Bonaventure
 
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
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 Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
ijseajournal
 
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
sydezfe
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
sachin chaurasia
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
Paris Salesforce Developer Group
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
PreethaV16
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
uqyfuc
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
mahaffeycheryld
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
Dwarkadas J Sanghvi College of Engineering
 
Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...
Prakhyath Rai
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Sinan KOZAK
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
ijaia
 
Height and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdfHeight and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdf
q30122000
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
CVCSOfficial
 
Accident detection system project report.pdf
Accident detection system project report.pdfAccident detection system project report.pdf
Accident detection system project report.pdf
Kamal Acharya
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
VANDANAMOHANGOUDA
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
aryanpankaj78
 
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
upoux
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
Divyanshu
 
AI-Based Home Security System : Home security
AI-Based Home Security System : Home securityAI-Based Home Security System : Home security
AI-Based Home Security System : Home security
AIRCC Publishing Corporation
 
2. protection of river banks and bed erosion protection works.ppt
2. protection of river banks and bed erosion protection works.ppt2. protection of river banks and bed erosion protection works.ppt
2. protection of river banks and bed erosion protection works.ppt
abdatawakjira
 

Recently uploaded (20)

Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...Call For Paper -3rd International Conference on Artificial Intelligence Advan...
Call For Paper -3rd International Conference on Artificial Intelligence Advan...
 
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
一比一原版(uoft毕业证书)加拿大多伦多大学毕业证如何办理
 
Mechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineeringMechatronics material . Mechanical engineering
Mechatronics material . Mechanical engineering
 
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
AI + Data Community Tour - Build the Next Generation of Apps with the Einstei...
 
Object Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOADObject Oriented Analysis and Design - OOAD
Object Oriented Analysis and Design - OOAD
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Generative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdfGenerative AI Use cases applications solutions and implementation.pdf
Generative AI Use cases applications solutions and implementation.pdf
 
Introduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.pptIntroduction to Computer Networks & OSI MODEL.ppt
Introduction to Computer Networks & OSI MODEL.ppt
 
Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...Software Engineering and Project Management - Software Testing + Agile Method...
Software Engineering and Project Management - Software Testing + Agile Method...
 
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024
 
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODELDEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
DEEP LEARNING FOR SMART GRID INTRUSION DETECTION: A HYBRID CNN-LSTM-BASED MODEL
 
Height and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdfHeight and depth gauge linear metrology.pdf
Height and depth gauge linear metrology.pdf
 
TIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptxTIME TABLE MANAGEMENT SYSTEM testing.pptx
TIME TABLE MANAGEMENT SYSTEM testing.pptx
 
Accident detection system project report.pdf
Accident detection system project report.pdfAccident detection system project report.pdf
Accident detection system project report.pdf
 
ITSM Integration with MuleSoft.pptx
ITSM  Integration with MuleSoft.pptxITSM  Integration with MuleSoft.pptx
ITSM Integration with MuleSoft.pptx
 
Digital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptxDigital Twins Computer Networking Paper Presentation.pptx
Digital Twins Computer Networking Paper Presentation.pptx
 
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
一比一原版(osu毕业证书)美国俄勒冈州立大学毕业证如何办理
 
Null Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAMNull Bangalore | Pentesters Approach to AWS IAM
Null Bangalore | Pentesters Approach to AWS IAM
 
AI-Based Home Security System : Home security
AI-Based Home Security System : Home securityAI-Based Home Security System : Home security
AI-Based Home Security System : Home security
 
2. protection of river banks and bed erosion protection works.ppt
2. protection of river banks and bed erosion protection works.ppt2. protection of river banks and bed erosion protection works.ppt
2. protection of river banks and bed erosion protection works.ppt
 

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]