SlideShare a Scribd company logo
Week 2
Reliable transmission
Building a network
Agenda
• Reliable transmission
• Checksums
• Framing
• Finite State Machines
• Go-back-n
• Selective repeat
• Building a network
Agenda
• Reliable transmission
• Checksums
• Framing
• Finite State Machines
• Go-back-n
• Selective repeat
• Building a network
Checksums
• How to verify that a transmission has not
been affected by random errors
• Checksum
• CRC
Question
• Which of these two techniques provides
the best error detection capability ?
• CRC
• Internet checksum
Question
• Where should we place the
CRC/checksum ?
Payload
Header Trailer
Question
• Should the Checksum/CRC also protect
the header ?
Payload
Header Trailer
Agenda
• Reliable transmission
• Checksums
• Framing
• Go-back-n
• Selective repeat
• Building a network
Question
• How to combine bit stuffing and
checksums ?
• Apply stuffing first and then compute
checksum on the sender
• Compute checksum and then apply
stuffing
Payload
Header Trailer
Agenda
• Reliable transmission
• Checksums
• Framing
• Finite State Machines
• Go-back-n
• Selective repeat
• Building a network
Alternating bit : sender
Go-back-n
Agenda
• Reliable transmission
• Checksums
• Framing
• Go-back-n
• Selective repeat
• Building a network
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(e)
Data.req(a)
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
Sending window is full
0 1 2 3
0 1 2 3
D(1,b)
Data.ind(b)
Data.req(d)
D(3,d)
Data.ind(d)
D(2,c)
Data.ind(c)
Question
• You implement a go-back-n receiver using 3 bits
to encode the sequence number. You have
correctly received frame 7 and delivered its
content. You now receive a correct frame 0, how
do you react ?
• you ignore the frame and send ACK(7)
• you accept the frame, deliver it and send
ACK(7)
• you accept the frame, deliver it and send
ACK(0)
Question
• Go-back-n is used in a network where all
data frames are correctly received, but
every second acknowledgement is
corrupted. How many data frames will be
retransmitted by the sender if it sends 20
data frames ?
Question
• Go-back-n is used by a protocol that
encodes sequence numbers using 5 bits.
What is the largest possible sending
window (in frames) ?
Question
• Go-back-n is used in a satellite network
with a round-trip-time of 1 sec. What is
the minimum sending window (in frames)
to fully use a 1 Mbps link using 10.000
bits frames ?
Agenda
• Reliable transmission
• Checksums
• Framing
• Go-back-n
• Selective repeat
• Building a network
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
Frame stored
D(1,b)
Retransmission
timer expires
0 1 2 3
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
Question
• You implement a selective repeat receiver using
3 bits to encode the sequence number. You have
correctly received frame 6 and delivered its
content. You receive a correct frame 1, what do
you do ?
• you ignore the frame and send ACK(6)
• you accept the frame, store it in your buffer
and send ACK(6)
• you accept the frame, store it in your buffer
and send ACK(1)
Question
• You implement a selective repeat receiver using
3 bits to encode the sequence number. You have
correctly received frame 7 and delivered its
content. You receive a correct frame 3, what do
you do ?
• you ignore the frame and send ACK(7)
• you accept the frame, store it in your buffer
and send ACK(7)
• you accept the frame, store it in your buffer
and send ACK(3)
Take back lessons
• Usage of Checksums/CRCs
• Finite State Machines
• Cumulative acknowledgements
• Maximum window size with GBN/SR
• Bandwidth x delay product
Piggybacking
Student question
• lorsque l’on utilise le piggybacking, comment est-ce
que l’on détermine que l’on peut envoyer à la fois
l’ACK de ce qu’on a reçu et envoyer la frame avec la
séquence propre à l’hôte qui envoie cet ACK ? Ma
question porte sur le mécanisme inhérent au
piggybacking. Je pense que ça doit être plutôt rare
d’avoir à envoyer le message pile au bon moment
pour faire d’une pierre deux coups et envoyer l'ACK
et la frame. Du coup est-ce qu’il y a un mécanisme
derrière qui attend que l'on ait à envoyer une frame
dans un court laps de temps suivant la réception
d’une frame ou bien est-ce simplement une
concordance des évènements qui fait que l’on
détermine alors qu’on peut envoyer les deux à la fois.
How to transfert
information ?
• Divide it in small blocks called packets
which can be sent independently
ABCDEFGHIJKLMNOPQRSTUVWXYZ1234
ABCDEFGHIJKLM
NOPQRSTUVW
XYZ1234
Agenda
• Reliable transmission
• Building a network
• Virtual circuit organisation
• Datagram organisation
• Distance vector routing
• Link state routing
How to organise a
network ?
Source: wikipedia : https://en.wikipedia.org/wiki/Post_office and https://en.wikipedia.org/wiki/Telephone_exchange
Agenda
• Reliable transmission
• Building a network
• Virtual circuit organisation
• Datagram organisation
• Distance vector routing
• Link state routing
Virtual circuit
• Basic idea
• Create circuits through the network to
transfer data divided in packets
• Packets contain one (or more) labels
• Simpler forwarding table
• incoming label, nexthop, outgoing
label
Virtual circuit
B
A R1
R2
R3
C
3 -> 5, South East
2 -> 3, South East
1 -> 2, North East
5 -> 2, South
East
3 -> 1, South
East
Agenda
• Reliable transmission
• Building a network
• Virtual circuit organisation
• Datagram organisation
• Distance vector routing
• Link state routing
Datagram
organisation
• Principles
• Two types of devices
• Hosts
• Routers
• Packet
• Source and destination addresses
A network
B
A R1
R2
R3
• Contents of the forwarding table
• Destination, nexthop/outgoing if
A: West
B: East
A: North
B: North-East
A: North
B: South-East
A simple solution
Port-station table
• When a node boots, its forwarding table
is empty, is it possible to learn
automatically the forwarding table from
the data packets ?
• Tree-shaped networks only !
A simple network
B
A R1
R2
R3
A->B
A: West
A->B A->B
A: North
A->B
A: North-West
B->A
B->A
B->A
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
Source routing (2)
B
A R1
R2
R3
A: West
R2: South-West
R3: East
R1: North
R2: North-
East
B: South
R1: North-
West
R2: South-
West
A->B via R1,R3
A->B via R1,R3
A->B via R1,R3
B->A via R3,R2,R1
B->A via R3,R2,R1
B->A via R3,R2,R1
Can we do better ?
• Networks must be redundant to cope with
failures
• tree-shaped networks are not sufficient
• Source routing consummes header
space
Static routing
C
E
A B C
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
• Manually compute router forwarding
tables
Question
C
E
A B C
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
• Link A-B fails, which tables must be
updated ?
Agenda
• Reliable transmission
• Building a network
• Virtual circuit organisation
• Datagram organisation
• Distance vector routing
• Link state routing
Distance vector
routing
• Objectives of the routing protocol
• Automatically compute all forwarding
tables so that each node can reach any
node in the network
• Principle
• Each node regularly sends a summary
of its forwarding table to its neighbors
Distance vector
C
D E
Routing table
A : 0 [ Local ]
A B C
D E
Routing table
B : 0 [Local] Routing table
C : 0 [Local]
Routing table
E : 0 [Local]
Routing table
D : 0 [Local]
Cost=1
Cost=1
Cost=1
Cost=1
Cost=1
Cost=1
Distance vector
example (2)
C
D E
Routing table
A : 0 [ Local ]
A B C
D E
Routing table
B : 0 [Local]
A : 1 [West]
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
D E
Routing table
A : 0 [ Local ]
D : 1 [South]
A B C
D E
Routing table
B : 0 [Local]
A : 1 [West]
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
D E
Routing table
A : 0 [ Local ]
D : 1 [South]
A B C
D E
Routing table
B : 0 [Local]
A : 1 [West]
C : 1 [East]
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
E=0;D=1;A=2;C=1
Distance vector
example (5)
C
D E
Routing table
A : 0 [ Local ]
D : 1 [South]
A B C
D E
Routing table
B : 0 [Local]
A : 1 [West]
C : 1 [East]
E : 1 [South]
D : 2 [South]
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
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
B : 0 [Local]
A : 1 [West]
C : 1 [East]
E : 1 [South]
D : 2 [South]
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
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
B : 0 [Local]
A : 1 [West]
C : 1 [East]
E : 1 [South]
D : 2 [South]
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]
Agenda
• Reliable transmission
• 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 direct neighbors
• Each node regularly sends the list of
its direct neighbors to all nodes
Discovering
neighbours
• Manually
• Automatically
E
A B
E
B:HELLO
A:HELLO
E:HELLO
Link state packets
• How to reliably send LSPs to all nodes ?
C
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
Links
A-D : 1
D-E : 1
Links
A-B : 1
B-E : 1
B-C : 1
Links
A-D : 1
D-E : 1
LSP : E [D:1];[B:1];[C:1]
LSP : E [D:1];[B:1];[C:1] LSP : E [D:1];[B:1];[C:1]
Distributing LSPs
• Naive approach
• Forward received LSP to all neighbors
C
D E
Links
A-B : 1
A-D : 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]
LSP : E [D:1];[B:1];[C:1]
With this approach, LSPs will loop forever...
Flooding
C
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
Links
A-D : 1
D-E : 1
Links
A-B : 1
B-E : 1
B-C : 1
Links
A-D : 1
D-E : 1
LSP : E-0 [D:1];[B:1];[C:1]
LSP : E-0 [D:1];[B:1];[C:1] LSP : E-0 [D:1];[B:1];[C:1]
LSPs
LSPs
LSPs
E-0 [D:1];[B:1];[C:1]
LSPs
LSPs
New LSP, flood
!
New LSP, flood
!
New
LSP, flood !
Flooding
C
D E
Links
A-B : 1
A-D : 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-0 [D:1];[B:1];[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]
LSPs
E-0 [D:1];[B:1];[C:1]
LSPs
LSP : E-0 [D:1];[B:1];[C:1]
A already
knows E-0
C already
knows E-0
After flooding
• Each node knows full network topology
• computes shortest paths from graph
C
D E
A B C
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]
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
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
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
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

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
 
9 ipv6-routing
9 ipv6-routing9 ipv6-routing
9 ipv6-routing
Olivier Bonaventure
 
Part 6 : Internet applications
Part 6 : Internet applicationsPart 6 : Internet applications
Part 6 : Internet applications
Olivier Bonaventure
 
8 congestion-ipv6
8 congestion-ipv68 congestion-ipv6
8 congestion-ipv6
Olivier Bonaventure
 
Part 3 : building a network and supporting applications
Part 3 : building a network and supporting applicationsPart 3 : building a network and supporting applications
Part 3 : building a network and supporting applications
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
 
16 coms 525 tcpip - routing protocols -all
16    coms 525 tcpip - routing protocols -all16    coms 525 tcpip - routing protocols -all
16 coms 525 tcpip - routing protocols -all
Palanivel Kuppusamy
 
rip, ospf 13-14
rip, ospf 13-14rip, ospf 13-14
rip, ospf 13-14
ghulamAbbas228
 
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
 
IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?
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
 
Making our networking stack truly extensible
Making our networking stack truly extensible Making our networking stack truly extensible
Making our networking stack truly extensible
Olivier Bonaventure
 
Adhoc routing protocols
Adhoc routing protocolsAdhoc routing protocols
Adhoc routing protocols
Senthil Kanth
 
0-RTT TCP converters
0-RTT TCP converters0-RTT TCP converters
0-RTT TCP converters
Olivier Bonaventure
 
3 network-transport
3 network-transport3 network-transport
3 network-transport
Olivier Bonaventure
 
udp , tcp ,sctp
udp , tcp ,sctpudp , tcp ,sctp
udp , tcp ,sctp
AKSHIT KOHLI
 
Transport Layer Part 1
Transport Layer Part 1Transport Layer Part 1
Transport Layer Part 1Tutun Juhana
 
Layer3protocols
Layer3protocolsLayer3protocols
Layer3protocols
assinha
 
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
 
Routing
RoutingRouting

What's hot (20)

Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6Part 9 : Congestion control and IPv6
Part 9 : Congestion control and IPv6
 
9 ipv6-routing
9 ipv6-routing9 ipv6-routing
9 ipv6-routing
 
Part 6 : Internet applications
Part 6 : Internet applicationsPart 6 : Internet applications
Part 6 : Internet applications
 
8 congestion-ipv6
8 congestion-ipv68 congestion-ipv6
8 congestion-ipv6
 
Part 3 : building a network and supporting applications
Part 3 : building a network and supporting applicationsPart 3 : building a network and supporting applications
Part 3 : building a network and supporting applications
 
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
 
16 coms 525 tcpip - routing protocols -all
16    coms 525 tcpip - routing protocols -all16    coms 525 tcpip - routing protocols -all
16 coms 525 tcpip - routing protocols -all
 
rip, ospf 13-14
rip, ospf 13-14rip, ospf 13-14
rip, ospf 13-14
 
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
 
IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?IPv6 Segment Routing : an end-to-end solution ?
IPv6 Segment Routing : an end-to-end solution ?
 
Part 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGPPart 11 : Interdomain routing with BGP
Part 11 : Interdomain routing with BGP
 
Making our networking stack truly extensible
Making our networking stack truly extensible Making our networking stack truly extensible
Making our networking stack truly extensible
 
Adhoc routing protocols
Adhoc routing protocolsAdhoc routing protocols
Adhoc routing protocols
 
0-RTT TCP converters
0-RTT TCP converters0-RTT TCP converters
0-RTT TCP converters
 
3 network-transport
3 network-transport3 network-transport
3 network-transport
 
udp , tcp ,sctp
udp , tcp ,sctpudp , tcp ,sctp
udp , tcp ,sctp
 
Transport Layer Part 1
Transport Layer Part 1Transport Layer Part 1
Transport Layer Part 1
 
Layer3protocols
Layer3protocolsLayer3protocols
Layer3protocols
 
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
 
Routing
RoutingRouting
Routing
 

Similar to Part 2 : reliable transmission and building a network

Part6-network-routing.pptx
Part6-network-routing.pptxPart6-network-routing.pptx
Part6-network-routing.pptx
Olivier Bonaventure
 
4 transport-sharing
4 transport-sharing4 transport-sharing
4 transport-sharing
Olivier Bonaventure
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
Olivier Bonaventure
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
Olivier Bonaventure
 
Part7-routing.pptx
Part7-routing.pptxPart7-routing.pptx
Part7-routing.pptx
Olivier Bonaventure
 
5 sharing-app
5 sharing-app5 sharing-app
5 sharing-app
Olivier Bonaventure
 
IAP PPT-2.pptx
IAP PPT-2.pptxIAP PPT-2.pptx
IAP PPT-2.pptx
HirazNor
 
module10-rip (1).ppt
module10-rip (1).pptmodule10-rip (1).ppt
module10-rip (1).ppt
Rakesh Dhiman
 
Network layer
Network layerNetwork layer
Network layer
sbkbca
 
Powerpoint one
Powerpoint onePowerpoint one
Powerpoint onepqatester
 
Powerpoint one
Powerpoint onePowerpoint one
Powerpoint onepqatester
 
Network layer
Network layerNetwork layer
Network layer
TharuniDiddekunta
 
Dc ch07 : error control and data link control
Dc ch07 : error control and data link controlDc ch07 : error control and data link control
Dc ch07 : error control and data link control
Syaiful Ahdan
 
CS553_ST7_Ch06-DigitalDataComm.ppt
CS553_ST7_Ch06-DigitalDataComm.pptCS553_ST7_Ch06-DigitalDataComm.ppt
CS553_ST7_Ch06-DigitalDataComm.ppt
AnandaSaikia1
 
Routing algorithm network layer
Routing algorithm  network layerRouting algorithm  network layer
Routing algorithm network layer
sambhenilesh
 
Datagram Switching and Virtual Control Switching
Datagram Switching and Virtual Control SwitchingDatagram Switching and Virtual Control Switching
Datagram Switching and Virtual Control Switching
Mustak Ahmmed
 
Routing Protocols
Routing ProtocolsRouting Protocols
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
Olivier Bonaventure
 
Routing Presentation
Routing PresentationRouting Presentation
Routing Presentation
Mohsin Ali
 
NetworkAlgorithms.ppt
NetworkAlgorithms.pptNetworkAlgorithms.ppt
NetworkAlgorithms.ppt
21121A0594
 

Similar to Part 2 : reliable transmission and building a network (20)

Part6-network-routing.pptx
Part6-network-routing.pptxPart6-network-routing.pptx
Part6-network-routing.pptx
 
4 transport-sharing
4 transport-sharing4 transport-sharing
4 transport-sharing
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
 
Part3-reliable.pptx
Part3-reliable.pptxPart3-reliable.pptx
Part3-reliable.pptx
 
Part7-routing.pptx
Part7-routing.pptxPart7-routing.pptx
Part7-routing.pptx
 
5 sharing-app
5 sharing-app5 sharing-app
5 sharing-app
 
IAP PPT-2.pptx
IAP PPT-2.pptxIAP PPT-2.pptx
IAP PPT-2.pptx
 
module10-rip (1).ppt
module10-rip (1).pptmodule10-rip (1).ppt
module10-rip (1).ppt
 
Network layer
Network layerNetwork layer
Network layer
 
Powerpoint one
Powerpoint onePowerpoint one
Powerpoint one
 
Powerpoint one
Powerpoint onePowerpoint one
Powerpoint one
 
Network layer
Network layerNetwork layer
Network layer
 
Dc ch07 : error control and data link control
Dc ch07 : error control and data link controlDc ch07 : error control and data link control
Dc ch07 : error control and data link control
 
CS553_ST7_Ch06-DigitalDataComm.ppt
CS553_ST7_Ch06-DigitalDataComm.pptCS553_ST7_Ch06-DigitalDataComm.ppt
CS553_ST7_Ch06-DigitalDataComm.ppt
 
Routing algorithm network layer
Routing algorithm  network layerRouting algorithm  network layer
Routing algorithm network layer
 
Datagram Switching and Virtual Control Switching
Datagram Switching and Virtual Control SwitchingDatagram Switching and Virtual Control Switching
Datagram Switching and Virtual Control Switching
 
Routing Protocols
Routing ProtocolsRouting Protocols
Routing Protocols
 
Part9-congestion.pptx
Part9-congestion.pptxPart9-congestion.pptx
Part9-congestion.pptx
 
Routing Presentation
Routing PresentationRouting Presentation
Routing Presentation
 
NetworkAlgorithms.ppt
NetworkAlgorithms.pptNetworkAlgorithms.ppt
NetworkAlgorithms.ppt
 

More from 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
 
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
 
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 5 : Sharing resources, security principles and protocols
Part 5 : Sharing resources, security principles and protocolsPart 5 : Sharing resources, security principles and protocols
Part 5 : Sharing resources, security principles and protocols
Olivier Bonaventure
 
TCPLS presentation @ietf 109
TCPLS presentation @ietf 109TCPLS presentation @ietf 109
TCPLS presentation @ietf 109
Olivier Bonaventure
 

More from Olivier Bonaventure (13)

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
 
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
 
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 5 : Sharing resources, security principles and protocols
Part 5 : Sharing resources, security principles and protocolsPart 5 : Sharing resources, security principles and protocols
Part 5 : Sharing resources, security principles and protocols
 
TCPLS presentation @ietf 109
TCPLS presentation @ietf 109TCPLS presentation @ietf 109
TCPLS presentation @ietf 109
 

Recently uploaded

test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
Arif0071
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
cuobya
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
ufdana
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
Javier Lasa
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
Trending Blogers
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
3ipehhoa
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
zyfovom
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
cuobya
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
Danica Gill
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
cuobya
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
CIOWomenMagazine
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
vmemo1
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
Trish Parr
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
3ipehhoa
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Florence Consulting
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
3ipehhoa
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
eutxy
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
keoku
 

Recently uploaded (20)

test test test test testtest test testtest test testtest test testtest test ...
test test  test test testtest test testtest test testtest test testtest test ...test test  test test testtest test testtest test testtest test testtest test ...
test test test test testtest test testtest test testtest test testtest test ...
 
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
制作毕业证书(ANU毕业证)莫纳什大学毕业证成绩单官方原版办理
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
一比一原版(CSU毕业证)加利福尼亚州立大学毕业证成绩单专业办理
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdfJAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
JAVIER LASA-EXPERIENCIA digital 1986-2024.pdf
 
Explore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories SecretlyExplore-Insanony: Watch Instagram Stories Secretly
Explore-Insanony: Watch Instagram Stories Secretly
 
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
急速办(bedfordhire毕业证书)英国贝德福特大学毕业证成绩单原版一模一样
 
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
学位认证网(DU毕业证)迪肯大学毕业证成绩单一比一原版制作
 
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
假文凭国外(Adelaide毕业证)澳大利亚国立大学毕业证成绩单办理
 
7 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 20247 Best Cloud Hosting Services to Try Out in 2024
7 Best Cloud Hosting Services to Try Out in 2024
 
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
可查真实(Monash毕业证)西澳大学毕业证成绩单退学买
 
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
Internet of Things in Manufacturing: Revolutionizing Efficiency & Quality | C...
 
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
重新申请毕业证书(RMIT毕业证)皇家墨尔本理工大学毕业证成绩单精仿办理
 
Search Result Showing My Post is Now Buried
Search Result Showing My Post is Now BuriedSearch Result Showing My Post is Now Buried
Search Result Showing My Post is Now Buried
 
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
1比1复刻(bath毕业证书)英国巴斯大学毕业证学位证原版一模一样
 
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdfMeet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
Meet up Milano 14 _ Axpo Italia_ Migration from Mule3 (On-prem) to.pdf
 
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
原版仿制(uob毕业证书)英国伯明翰大学毕业证本科学历证书原版一模一样
 
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
一比一原版(LBS毕业证)伦敦商学院毕业证成绩单专业办理
 
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
一比一原版(SLU毕业证)圣路易斯大学毕业证成绩单专业办理
 

Part 2 : reliable transmission and building a network

  • 2. Agenda • Reliable transmission • Checksums • Framing • Finite State Machines • Go-back-n • Selective repeat • Building a network
  • 3. Agenda • Reliable transmission • Checksums • Framing • Finite State Machines • 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
  • 5. Question • Which of these two techniques provides the best error detection capability ? • CRC • Internet checksum
  • 6. Question • Where should we place the CRC/checksum ? Payload Header Trailer
  • 7. Question • Should the Checksum/CRC also protect the header ? Payload Header Trailer
  • 8. Agenda • Reliable transmission • Checksums • Framing • Go-back-n • Selective repeat • Building a network
  • 9. Question • How to combine bit stuffing and checksums ? • Apply stuffing first and then compute checksum on the sender • Compute checksum and then apply stuffing Payload Header Trailer
  • 10. Agenda • Reliable transmission • Checksums • Framing • Finite State Machines • Go-back-n • Selective repeat • Building a network
  • 13. Agenda • Reliable transmission • Checksums • Framing • Go-back-n • Selective repeat • Building a network
  • 14. 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(e) Data.req(a) 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 Sending window is full 0 1 2 3 0 1 2 3 D(1,b) Data.ind(b) Data.req(d) D(3,d) Data.ind(d) D(2,c) Data.ind(c)
  • 15. Question • You implement a go-back-n receiver using 3 bits to encode the sequence number. You have correctly received frame 7 and delivered its content. You now receive a correct frame 0, how do you react ? • you ignore the frame and send ACK(7) • you accept the frame, deliver it and send ACK(7) • you accept the frame, deliver it and send ACK(0)
  • 16. Question • Go-back-n is used in a network where all data frames are correctly received, but every second acknowledgement is corrupted. How many data frames will be retransmitted by the sender if it sends 20 data frames ?
  • 17. Question • Go-back-n is used by a protocol that encodes sequence numbers using 5 bits. What is the largest possible sending window (in frames) ?
  • 18. Question • Go-back-n is used in a satellite network with a round-trip-time of 1 sec. What is the minimum sending window (in frames) to fully use a 1 Mbps link using 10.000 bits frames ?
  • 19. Agenda • Reliable transmission • Checksums • Framing • Go-back-n • Selective repeat • Building a network
  • 20. 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 Frame stored D(1,b) Retransmission timer expires 0 1 2 3 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
  • 21. Question • You implement a selective repeat receiver using 3 bits to encode the sequence number. You have correctly received frame 6 and delivered its content. You receive a correct frame 1, what do you do ? • you ignore the frame and send ACK(6) • you accept the frame, store it in your buffer and send ACK(6) • you accept the frame, store it in your buffer and send ACK(1)
  • 22. Question • You implement a selective repeat receiver using 3 bits to encode the sequence number. You have correctly received frame 7 and delivered its content. You receive a correct frame 3, what do you do ? • you ignore the frame and send ACK(7) • you accept the frame, store it in your buffer and send ACK(7) • you accept the frame, store it in your buffer and send ACK(3)
  • 23. Take back lessons • Usage of Checksums/CRCs • Finite State Machines • Cumulative acknowledgements • Maximum window size with GBN/SR • Bandwidth x delay product
  • 24. Piggybacking Student question • lorsque l’on utilise le piggybacking, comment est-ce que l’on détermine que l’on peut envoyer à la fois l’ACK de ce qu’on a reçu et envoyer la frame avec la séquence propre à l’hôte qui envoie cet ACK ? Ma question porte sur le mécanisme inhérent au piggybacking. Je pense que ça doit être plutôt rare d’avoir à envoyer le message pile au bon moment pour faire d’une pierre deux coups et envoyer l'ACK et la frame. Du coup est-ce qu’il y a un mécanisme derrière qui attend que l'on ait à envoyer une frame dans un court laps de temps suivant la réception d’une frame ou bien est-ce simplement une concordance des évènements qui fait que l’on détermine alors qu’on peut envoyer les deux à la fois.
  • 25. How to transfert information ? • Divide it in small blocks called packets which can be sent independently ABCDEFGHIJKLMNOPQRSTUVWXYZ1234 ABCDEFGHIJKLM NOPQRSTUVW XYZ1234
  • 26. Agenda • Reliable transmission • Building a network • Virtual circuit organisation • Datagram organisation • Distance vector routing • Link state routing
  • 27. How to organise a network ? Source: wikipedia : https://en.wikipedia.org/wiki/Post_office and https://en.wikipedia.org/wiki/Telephone_exchange
  • 28. Agenda • Reliable transmission • Building a network • Virtual circuit organisation • Datagram organisation • Distance vector routing • Link state routing
  • 29. Virtual circuit • Basic idea • Create circuits through the network to transfer data divided in packets • Packets contain one (or more) labels • Simpler forwarding table • incoming label, nexthop, outgoing label
  • 30. Virtual circuit B A R1 R2 R3 C 3 -> 5, South East 2 -> 3, South East 1 -> 2, North East 5 -> 2, South East 3 -> 1, South East
  • 31. Agenda • Reliable transmission • Building a network • Virtual circuit organisation • Datagram organisation • Distance vector routing • Link state routing
  • 32. Datagram organisation • Principles • Two types of devices • Hosts • Routers • Packet • Source and destination addresses
  • 33. A network B A R1 R2 R3 • Contents of the forwarding table • Destination, nexthop/outgoing if A: West B: East A: North B: North-East A: North B: South-East
  • 34. A simple solution Port-station table • When a node boots, its forwarding table is empty, is it possible to learn automatically the forwarding table from the data packets ? • Tree-shaped networks only !
  • 35. A simple network B A R1 R2 R3 A->B A: West A->B A->B A: North A->B A: North-West B->A B->A B->A
  • 36. 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
  • 37. Source routing (2) B A R1 R2 R3 A: West R2: South-West R3: East R1: North R2: North- East B: South R1: North- West R2: South- West A->B via R1,R3 A->B via R1,R3 A->B via R1,R3 B->A via R3,R2,R1 B->A via R3,R2,R1 B->A via R3,R2,R1
  • 38. Can we do better ? • Networks must be redundant to cope with failures • tree-shaped networks are not sufficient • Source routing consummes header space
  • 39. Static routing C E A B C 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 • Manually compute router forwarding tables
  • 40. Question C E A B C 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 • Link A-B fails, which tables must be updated ?
  • 41. Agenda • Reliable transmission • Building a network • Virtual circuit organisation • Datagram organisation • Distance vector routing • Link state routing
  • 42. Distance vector routing • Objectives of the routing protocol • Automatically compute all forwarding tables so that each node can reach any node in the network • Principle • Each node regularly sends a summary of its forwarding table to its neighbors
  • 43. Distance vector C D E Routing table A : 0 [ Local ] A B C D E Routing table B : 0 [Local] Routing table C : 0 [Local] Routing table E : 0 [Local] Routing table D : 0 [Local] Cost=1 Cost=1 Cost=1 Cost=1 Cost=1 Cost=1
  • 44. Distance vector example (2) C D E Routing table A : 0 [ Local ] A B C D E Routing table B : 0 [Local] A : 1 [West] 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
  • 45. Distance vector example (3) C D E Routing table A : 0 [ Local ] D : 1 [South] A B C D E Routing table B : 0 [Local] A : 1 [West] 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
  • 46. Distance vector example (4) C D E Routing table A : 0 [ Local ] D : 1 [South] A B C D E Routing table B : 0 [Local] A : 1 [West] C : 1 [East] 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 E=0;D=1;A=2;C=1
  • 47. Distance vector example (5) C D E Routing table A : 0 [ Local ] D : 1 [South] A B C D E Routing table B : 0 [Local] A : 1 [West] C : 1 [East] E : 1 [South] D : 2 [South] 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
  • 48. Distance vector example (6) C 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 B : 0 [Local] A : 1 [West] C : 1 [East] E : 1 [South] D : 2 [South] 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
  • 49. Distance vector example (7) C 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 B : 0 [Local] A : 1 [West] C : 1 [East] E : 1 [South] D : 2 [South] 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]
  • 50. Agenda • Reliable transmission • Building a network • Datagram organisation • Virtual circuit organisation • Distance vector routing • Link state routing
  • 51. Link state routing • Objectives of the routing protocol • Compute all forwarding tables • Principle • Each node detects its direct neighbors • Each node regularly sends the list of its direct neighbors to all nodes
  • 53. Link state packets • How to reliably send LSPs to all nodes ? C 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 Links A-D : 1 D-E : 1 Links A-B : 1 B-E : 1 B-C : 1 Links A-D : 1 D-E : 1 LSP : E [D:1];[B:1];[C:1] LSP : E [D:1];[B:1];[C:1] LSP : E [D:1];[B:1];[C:1]
  • 54. Distributing LSPs • Naive approach • Forward received LSP to all neighbors C D E Links A-B : 1 A-D : 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] LSP : E [D:1];[B:1];[C:1] With this approach, LSPs will loop forever...
  • 55. Flooding C 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 Links A-D : 1 D-E : 1 Links A-B : 1 B-E : 1 B-C : 1 Links A-D : 1 D-E : 1 LSP : E-0 [D:1];[B:1];[C:1] LSP : E-0 [D:1];[B:1];[C:1] LSP : E-0 [D:1];[B:1];[C:1] LSPs LSPs LSPs E-0 [D:1];[B:1];[C:1] LSPs LSPs New LSP, flood ! New LSP, flood ! New LSP, flood !
  • 56. Flooding C D E Links A-B : 1 A-D : 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-0 [D:1];[B:1];[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] LSPs E-0 [D:1];[B:1];[C:1] LSPs LSP : E-0 [D:1];[B:1];[C:1] A already knows E-0 C already knows E-0
  • 57. After flooding • Each node knows full network topology • computes shortest paths from graph C D E A B C 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] 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 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 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 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]