Data Link Layer Protocols
Data Link Layer Protocols
Peer-to-Peer Protocols
and Data Link Layer
PART I: Peer-to-Peer Protocols
Peer-to-Peer Protocols and Service Models
ARQ Protocols and Reliable Data Transfer
Flow Control
Timing Recovery
TCP Reliable Stream Service & Flow Control
1
Chapter 5
Peer-to-Peer Protocols
and Data Link Layer
PART II: Data Link Controls
Framing
Point-to-Point Protocol
High-Level Data Link Control
*Link Sharing Using Statistical Multiplexing
2
Chapter Overview
Peer-to-Peer protocols: many protocols involve the
interaction between two peers
Service Models are discussed & examples given
Detailed discussion of ARQ provides example of
development of peer-to-peer protocols
Flow control, TCP reliable stream, and timing recovery
Data Link Layer
Framing
PPP & HDLC protocols
*Statistical multiplexing for link sharing
3
Chapter 5
Peer-to-Peer Protocols
and Data Link Layer
Peer-to-Peer Protocols and
Service Models
4
Peer-to-Peer Protocols
Peer-to-Peer processes
execute layer-n protocol
to provide service to
n + 1 peer process n + 1 peer process layer-(n+1)
8
Message Size and Structure
What message size and structure will a
service model accept?
Different services impose restrictions on size &
structure of data it will transfer
Single bit? Block of bytes? Byte stream?
Ex: Transfer of voice mail = 1 long message
Ex: Transfer of voice call = byte stream
10
13
Multiplexing
Multiplexing enables multiple layer-(n+1)
users to share a layer-n service
A multiplexing tag is required to identify
specific users at the destination
Examples: UDP, IP
14
Privacy, Integrity, & Authentication
Privacy: ensuring that information transferred
cannot be read by others
Integrity: ensuring that information is not
altered during transfer
Authentication: verifying that sender and/or
receiver are who they claim to be
Security protocols provide these services and
are discussed in Chapter 11
Examples: IPSec, SSL
15
End-to-End vs. Hop-by-Hop
A service feature can be provided by implementing a
protocol
end-to-end across the network
across every hop in the network
Example:
Perform error control at every hop in the network or only
between the source and destination?
Perform flow control between every hop in the network or
only between source & destination?
We next consider the tradeoffs between the two
approaches
16
Error control in Data Link Layer
Packets Packets
(a) Data Link operates
Data link Data link
over wire-like,
layer Frames layer directly-connected
A B systems
Physical Physical
layer layer
Frames can be
corrupted or lost, but
arrive in order
(b)
Data link performs
3
error-checking &
12 3 21 12 21
Medium retransmission
2 Ensures error-free
A B 1
packet transfer
1 Physical layer entity between two systems
2 Data link layer entity
17
Messages Messages
18
Network
Segments can experience long delays, can be lost, or
arrive out-of-order because packets can follow different
paths across network
End-to-end error control protocol more difficult
C
1 2 3 2 1
End System
α End System
β
4 3 21 12 3 2 1 1 2 3 2 1 1 2 3 4
Medium
2
A B 1
Network
Simple
End-to-end
ACK/NAK
inside the
network
More scalable
1 2 3 4 5 if complexity at
20
Data Data Data Data the edge
Chapter 5
Peer-to-Peer Protocols
and Data Link Layer
ARQ Protocols and Reliable
Data Transfer
21
Automatic Repeat Request (ARQ)
Purpose: to ensure a sequence of information
packets is delivered in order and without errors or
duplications despite transmission errors & losses
We will look at:
Stop-and-Wait ARQ
Go-Back N ARQ
Selective Repeat ARQ
Basic elements of ARQ:
Error-detecting code with high error coverage
ACKs (positive acknowledgments)
NAKs (negative acknowlegments)
Timeout mechanism
22
Stop-and-Wait ARQ
Transmit a frame, wait for ACK
Error-free
Packet
packet
Information frame
Transmitter Receiver
Timer set after (Process A) (Process B)
each frame
transmission Control frame
Header
CRC
Information Header
packet CRC
23
In cases (a) & (b) the transmitting station A acts the same way
But in case (b) the receiving station B accepts frame 1 twice
Question: How is the receiver to know the second frame is also frame 1?
Answer: Add frame sequence number in header
24
Slast is sequence number of most recent transmitted frame
Sequence Numbers
(c) Premature Time-out
Time-out
Time
A Frame
0 Frame Frame Frame
ACK 0 1 2
ACK
B
25
1-Bit Sequence Numbering
Suffices
0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
Slast Rnext
Timer
27
Applications of Stop-and-Wait
ARQ
IBM Binary Synchronous Communications
protocol (Bisync): character-oriented data
link control
Xmodem: modem file transfer protocol
Trivial File Transfer Protocol (RFC 1350):
simple protocol for file transfer over UDP
28
Stop-and-Wait Efficiency
Last frame bit ACK
First frame bit enters channel arrives
enters channel Channel idle while transmitter
waits for ACK
A t
B t
B
frame
tprop tproc tack tprop
tf time
Transmission efficiency:
Effect of
n f no no
1 frame overhead
Reff t0 nf
0 .
R R na 2(t prop t proc ) R
1
nf nf
Effect of
Effect of
Delay-Bandwidth Product
31
ACK frame
Example: Impact of Delay-
Bandwidth Product
nf=1250 bytes = 10000 bits, na=no=25 bytes = 200 bits
2xDelayxBW 1 ms 10 ms 100 ms 1 sec
Efficiency
200 km 2000 km 20000 km 200000 km
1 Mbps 103 104 105 106
88% 49% 9% 1%
1 Gbps 106 107 108 109
1% 0.1% 0.01% 0.001%
n f no
no
t0 1
Reff 1 Pf nf
SW (1 Pf )
R R na 2(t prop t proc ) R
1
nf nf
Effect of
frame loss
33
Example: Impact Bit Error Rate
nf=1250 bytes = 10000 bits, na=no=25 bytes = 200 bits
Find efficiency for random bit errors with p=0, 10-6, 10-5, 10-4
n f p
1 Pf (1 p) e
nf
for large n f and small p
35
Go-Back-N ARQ
Go-Back-4: 4 frames are outstanding; so go back 4
fr fr fr fr fr fr fr fr fr fr fr fr fr fr Time
0 1 2 3 4 5 6 3 4 5 6 7 8 9
A
B
A A A out of sequence A A A A A A
C C C frames C C C C C C
K K K K K K K K K
1 2 3 4 5 6 7 8 9
Rnext 0 1 2 3 3 4 5 6 7 8 9
B
Receiver is A
looking for C
K
Rnext=0
1
B A A
A A A A
Receiver is Out-of- C C C C C C
looking for sequence K K K K K K 37
Rnext=0 frames 1 2 3 4 5 6
Go-Back-N with Timeout
Problem with Go-Back-N as presented:
If frame is lost and source does not have frame to
send, then window will not be exhausted and
recovery will not commence
Use a timeout with each frame
When timeout expires, resend all outstanding
frames
38
Go-Back-N Transmitter & Receiver
Transmitter Receiver
Send Window
... Receive Window
Frames
transmitted S
last Srecent Slast+Ws-1
and ACKed
Frames
Buffers Rnext
received
oldest un-
Timer Slast
ACKed frame
Timer Slast+1 Receiver will only accept
... a frame that is error-free and
that has sequence number Rnext
Timer
Srecent most recent
transmission
When such frame arrives Rnext is
... incremented by one, so the
Slast+Ws-1 max Seq # receive window slides forward by
allowed one
39
Sliding Window Operation
Transmitter
Frames
transmitted S 0
and ACKed
last Srecent Slast+Ws-1 2m – 1 1
2
Transmitter waits for error-free
ACK frame with sequence
number Slast +1 Slast
send
When such ACK frame arrives,
Slast is incremented by one, and
window i
the send window slides forward i + Ws – 1 i+1
by one
40
Maximum Allowable Window Size is Ws = 2m-1
M = 22 = 4, Go-Back - 4: Transmitter goes back 4
fr fr fr fr fr fr fr fr Time
A 0 1 2 3 0 1 2 3
A A A A
B C C C C Receiver has Rnext= 0, but it does not
K K K K know whether its ACK for frame 0 was
1 2 3 0
received, so it does not know whether
Rnext 0 1 2 3 0 this is the old frame 0 or a new frame 0
A A A
B C C C
K K K Receiver has Rnext= 3 , so it
1 2 3
rejects the old frame 0 41
Rnext 0 1 2 3
ACK Piggybacking in Bidirectional GBN
SArecent RA next
Transmitter Receiver
Receiver Transmitter
SBrecent RB next
RA next RB next
“A” Send Window “B” Send Window
... ...
43
Required Timeout & Window Size
Tout
Tproc
Tprop Tf Tf Tprop
1 ms 1000 bits 1
10 ms 10,000 bits 2
Ws t f Ws t f
tGBN t f (1 Pf ) Pf {t f } t f Pf and
1 Pf 1 Pf
n f no no
1
tGBN nf
GBN (1 Pf )
R 1 (Ws 1) Pf
46
Delay-bandwidth product determines Ws
Example: Impact Bit Error Rate on
GBN
nf=1250 bytes = 10000 bits, na=no=25 bytes = 200 bits
Compare S&W with GBN efficiency for random bit errors with
p = 0, 10-6, 10-5, 10-4 and R = 1 Mbps & 100 ms
1 Mbps x 100 ms = 100000 bits = 10 frames → Use Ws = 11
Efficiency 0 10-6 10-5 10-4
48
Selective Repeat ARQ
fr fr fr fr fr fr fr fr fr fr fr fr fr fr Time
0 1 2 3 4 5 6 2 7 8 9 10 11 12
A
B
A A N A A A A A A A A A
C C A C C C C C C C C C
K K K K K K K K K K K K
1 2 2 2 2 2 7 8 9 1 1 1
0 1 2
49
Selective Repeat ARQ
Transmitter Receiver
Frames Frames
transmitted S received Rnext Rnext + Wr-1
last Srecent Slast+ Ws-1
and ACKed
Buffers Buffers
Timer Slast Rnext+ 1
Timer Slast+ 1 Rnext+ 2
...
Timer
Srecent ...
Rnext+ Wr- 1 max Seq #
... accepted
Slast+ Ws - 1 50
Send & Receive Windows
Transmitter Receiver
0 0
2m-1 1 2m-1 1
2 2
Rnext
Slast
send receive j
window i window
i
i + Ws – 1 i+1
j + Wr – 1
Moves k forward when ACK Moves forward by 1 or more
arrives with Rnext = Slast + k when frame arrives with
k = 1, …, Ws Seq. # = Rnext 51
What size Ws and Wr allowed?
Example: M=22=4, Ws=3, Wr=3
Frame 0 resent
Send
{0,1,2} {1,2} {2} {.}
Window
fr0 fr1 fr2 fr0
A Time
B ACK1 ACK2
Receive
{0,1} {1,2} {2,3}
Window
Old frame 0 rejected because it
falls outside the receive window
53
Why Ws + Wr = 2m works
Transmitter sends frames 0 to Receiver window starts at {0, …, Wr}
Ws-1; send window empty
Window slides forward to
All arrive at receiver {Ws,…,Ws+Wr-1}
All ACKs lost
Receiver rejects frame 0 because it
Transmitter resends frame 0 is outside receive window
0 0
2m-1 1 2m-1 1
Slast Ws +Wr-1 2
2
receive Rnext Ws
send window
window Ws-1
54
Applications of Selective Repeat
ARQ
TCP (Transmission Control Protocol):
transport layer protocol uses variation of
selective repeat to provide reliable stream
service
Service Specific Connection Oriented
Protocol: error control for signaling
messages in ATM networks
55
Efficiency of Selective Repeat
Assume Pf frame loss probability, then number of
transmissions required to deliver a frame is:
tf / (1-Pf)
n f no
t f /(1 Pf ) no
SR (1 )(1 Pf )
R nf
56
Example: Impact Bit Error Rate on
Selective Repeat
nf=1250 bytes = 10000 bits, na=no=25 bytes = 200 bits
Compare S&W, GBN & SR efficiency for random bit errors with
p=0, 10-6, 10-5, 10-4 and R= 1 Mbps & 100 ms
- LOG(p)
p Stop and Wait
10
Delay-Bandwidth product = 10, 100 59
Chapter 5
Peer-to-Peer Protocols
and Data Link Layer
Flow Control
60
Flow Control
buffer fill
Information frame
Transmitter
Receiver
Control frame
on off on off
B Time
2Tprop
B
Time
Sliding Window ARQ method with Ws equal to buffer available
Transmitter can never send more than Ws frames
ACKs that slide window forward can be viewed as permits to transmit
more
Can also pace ACKs as shown above
Return permits (ACKs) at end of cycle regulates transmission rate
Problems using sliding window for both error & flow control
Choice of window size
Interplay between transmission rate & retransmissions
TCP separates error & flow control
63
Chapter 5
Peer-to-Peer Protocols
and Data Link Layer
Timing Recovery
64
Timing Recovery for Synchronous
Services
Synchronous source Network output
sends periodic not periodic
information blocks
Network
Packet Arrivals
Tmax
• Delay first packet by maximum network delay
• All other packets arrive with less delay
• Playout packet uniformly thereafter 66
Arrival times
Time
Playout clock must
Send
be synchronized to times Receiver too
transmitter clock Playout slow;
times buffer fills and
overflows
Tplayout time
Many late
packets
67
Counter
M M
fs Network fr
71
TCP Reliable Stream Service
TCP transfers byte
Application Layer stream in order, without Application Layer reads
writes bytes into send bytes from receive buffer
buffer through socket
errors or duplications
through socket
Write 45 bytes
Write 15 bytes Read 40 bytes
Application layer Write 20 bytes Read 40 bytes
Transport layer
Segments
Transmitter Receiver
Send buffer Receive buffer
ACKs
72
TCP ARQ Method
• TCP uses Selective Repeat ARQ
• Transfers byte stream without preserving boundaries
• Operates over best effort service of IP
• Packets can arrive with errors or be lost
• Packets can arrive out-of-order
• Packets can arrive after very long delays
• Duplicate segments must be detected & discarded
• Must protect against segments from previous connections
• Sequence Numbers
• Seq. # is number of first byte in segment payload
• Very long Seq. #s (32 bits) to deal with long delays
• Initial sequence numbers negotiated during connection setup
(to deal with very old duplicates)
• Accept segments within a receive window 73
Transmitter Receiver
Three-way
Handshake
Data Transfer
Graceful
Close
76
1st Handshake: Client-Server
Connection Request
77
2nd Handshake: ACK from Server
ACK Seq. # =
Init. Seq. # + 1
79
3rd Handshake: ACK from Client
ACK Seq. # =
Init. Seq. # + 1
12 bytes of payload
Push set
12 bytes of payload
carries telnet option
negotiation
82
Graceful Close: Client-to-Server
Connection
83
Graceful Close: Client-to-Server
Connection
ACK Seq. # =
Previous Seq. # + 1
Server ACKs request; client-
to-server connection closed
84
Flow Control
TCP receiver controls rate at which sender transmits to prevent
buffer overflow
TCP receiver advertises a window size specifying number of
bytes that can be accommodated by receiver
WA = WR – (Rnew – Rlast +1)
TCP sender obliged to keep # outstanding bytes below WA
(Srecent - Slast) ≤ WA –1
t0
t1
t2
t3
t4
86
TCP Retransmission Timeout
TCP retransmits a segment after timeout period
Timeout too short: excessive number of retransmissions
Timeout too long: recovery too slow
Timeout depends on RTT: time from when segment is sent to
when ACK is received
Round trip time (RTT) in Internet is highly variable
Routes vary and can change in mid-connection
Traffic fluctuates
TCP uses adaptive estimation of RTT
Measure RTT each time ACK received: tn
tRTT(new) = a tRTT(old) + (1 – a) tn
a 7/8 typical
87
RTT Variability
Estimate variance s2 of RTT variation
Estimate for timeout:
tout = tRTT + k sRTT
If RTT highly variable, timeout increase accordingly
If RTT nearly constant, timeout close to RTT estimate
88
Chapter 5
Peer-to-Peer Protocols
and Data Link Layer
PART II: Data Link Controls
Framing
Point-to-Point Protocol
High-Level Data Link Control
Link Sharing Using Statistical Multiplexing
89
Data Link Protocols
Packets Packets Data Links Services
Framing
Data link Data link Error control
layer Frames layer
A Flow control
Physical Physical B
Multiplexing
layer layer
Link Maintenance
Security: Authentication &
Encryption
Examples
Directly connected, wire-like
PPP
Losses & errors, but no out-of-
HDLC
sequence frames
Ethernet LAN
Applications: Direct Links;
LANs; Connections across IEEE 802.11 (Wi Fi) LAN
WANs 90
Chapter 5
Peer-to-Peer Protocols
and Data Link Layer
Framing
91
Framing
transmitted received Mapping stream of
frames frames physical layer bits into
frames
Mapping frames into
Framing bit stream
Frame boundaries can
be determined using:
Character Counts
0110110111
0111110101
Control Characters
Flags
CRC Checks
92
Character-Oriented Framing
Data to be sent
A DLE B ETX DLE STX E
After stuffing and framing
DLE STX A DLE DLE B ETX DLE DLE STX E DLE ETX
0110111111111100
After stuffing and framing
0111111001101111101111100001111110
01111110000111011111011111011001111110
After destuffing and deframing
*000111011111-11111-110* 95
PPP Frame
Flag Address Control Protocol Flag
Information CRC
01111110 1111111 00000011 01111110
integer # of bytes
All stations are to Unnumbered Specifies what kind of packet is contained in the
accept the frame frame payload, e.g., LCP, NCP, IP, OSI CLNP, IPX
Data to be sent
41 7D 42 7E 50 70 46
7E 41 7D 5D 42 7D 5E 50 70 46 7E
After stuffing and framing 97
Generic Framing Procedure
GFP payload area
2 2 2 2 0-60
PLI cHEC Type tHEC GEH GFP payload
100
PPP: Point-to-Point Protocol
Data link protocol for point-to-point lines in Internet
Router-router; dial-up to router
1. Provides Framing and Error Detection
Character-oriented HDLC-like frame structure
2. Link Control Protocol
Bringing up, testing, bringing down lines; negotiating
options
Authentication: key capability in ISP access
3. A family of Network Control Protocols specific to
different network layer protocols
IP, OSI network layer, IPX (Novell), Appletalk
101
PPP Applications
PPP used in many point-to-point applications
Telephone Modem Links 30 kbps
Packet over SONET 600 Mbps to 10 Gbps
IP→PPP→SONET
1 or 2 variable 2 or 4
Flag Address Control Protocol Information Flag
FCS
01111110 1111111 00000011 01111110
CRC 16 or
All stations are to
CRC 32
accept the frame
HDLC
Unnumbered frame
104
PPP Phases
1. Carrier Home PC to Internet Service
Dead Provider
7. Carrier detected
1. PC calls router via modem
dropped 2. PC and router exchange LCP
packets to negotiate PPP
Failed parameters
Terminate Establish
3. Check on identities
2. Options 4. NCP packets exchanged to
6. Done negotiated configure the network layer, e.g.
TCP/IP ( requires IP address
Failed assignment)
5. Open Authenticate 5. Data transport, e.g. send/receive
IP packets
6. NCP used to tear down the
3. Authentication network layer connection (free up
4. NCP IP address); LCP used to shut
completed down data link layer connection
configuration Network
7. Modem hangs up
105
PPP Authentication
Password Authentication Protocol
Initiator must send ID & password
Authenticator replies with authentication success/fail
After several attempts, LCP closes link
Transmitted unencrypted, susceptible to eavesdropping
Challenge-Handshake Authentication Protocol
(CHAP)
Initiator & authenticator share a secret key
Authenticator sends a challenge (random # & ID)
Initiator computes cryptographic checksum of random # &
ID using the shared secret key
Authenticator also calculates cryptocgraphic checksum &
compares to response
Authenticator can reissue challenge during session
106
Example: PPP connection setup
in dialup modem to ISP
LCP
Setup
PAP
IP NCP
setup
107
Chapter 5
Peer-to-Peer Protocols
and Data Link Layer
High-Level Data Link Control
108
High-Level Data Link Control
(HDLC)
Bit-oriented data link control
Derived from IBM Synchronous Data Link
Control (SDLC)
Related to Link Access Procedure Balanced
(LAPB)
LAPD in ISDN
LAPM in cellular telephone signaling
109
NLPDU Network
Network
layer layer
“Packet”
DLPDU
Data link
Data link
layer
layer
“Frame”
Physical Physical
layer layer
110
HDLC Data Transfer Modes
Normal Response Mode
Used in polling multidrop lines
Commands
Primary
Responses
111
Mode is selected during connection establishment
HDLC Frame Format
112
Control Field Format
Information Frame
1 2-4 5 6-8
0 N(S) P/F N(R)
Supervisory Frame
1 0 S S P/F N(R)
Unnumbered Frame
1 1 M M P/F M M M
116
Unnumbered Frames
Setting of Modes:
SABM: Set Asynchronous Balanced Mode
UA: acknowledges acceptance of mode setting commands
DISC: terminates logical link connectio
Information Transfer between stations
UI: Unnumbered information
Recovery used when normal error/flow control fails
FRMR: frame with correct FCS but impossible semantics
RSET: indicates sending station is resetting sequence
numbers
XID: exchange station id and characteristics
117
Connection Establishment &
Release
Unnumbered frames used to establish and release
data link connection
In HDLC
Set Asynchronous Balanced Mode (SABM)
Disconnect (DISC)
Unnumbered Acknowledgment (UA)
SABM UA
Data UA
transfer DISC
118
Example: HDLC using NRM
(polling)Address of secondary
Primary A Secondaries B, C
A polls B B, RR, 0, P N(S) N(R)
B, I, 0, 0
N(R) B sends 3 info
X B, I, 1, 0
frames
B, I, 2, 0,F
A rejects fr1 B, SREJ, 1
A polls C C, RR, 0, P
C, RR, 0, F C nothing to
send
A polls B, B, SREJ, 1,P
requests
selective B, I, 1, 0 B resends fr1
retrans. fr1 B, I, 3, 0 Then fr 3 & 4
B, I, 4, 0, F
A send info fr0 B, I, 0, 5
to B, ACKs up to 4
119
Time
Frame Exchange using
Asynchronous Balanced Mode
Combined Station A Combined Station B
B, I, 0, 0 A, I, 0, 0
B, I, 1, 0 A, I, 1, 1 A ACKs fr0
X
B sends 5
frames B, I, 2, 1 A, I, 2, 1
B, I, 3, 2 A rejects
B, REJ, 1
fr1
B, I, 4, 3
A, I, 3, 1
B goes B, I, 1, 3
back to 1
B, I, 2, 4 B, RR, 2 A ACKs fr1
B, I, 3, 4
B, RR, 3 A ACKs fr2
120
Flow Control
Flow control is required to prevent transmitter from
overrunning receiver buffers
Receiver can control flow by delaying
acknowledgement messages
Receiver can also use supervisory frames to
explicitly control transmitter
Receive Not Ready (RNR) & Receive Ready (RR)
I3 I4 I5 RNR5 RR6 I6
121
Chapter 5
Peer-to-Peer Protocols
and Data Link Layer
Link Sharing Using Statistical
Multiplexing
122
Statistical Multiplexing
Multiplexing concentrates bursty traffic onto a shared line
Greater efficiency and lower cost
B Buffer
Output line
C
123
Input lines
Tradeoff Delay for Efficiency
(a) Dedicated lines A1 A2
B1 B2
C1 C2
Dedicated lines involve not waiting for other users, but lines
are used inefficiently when user traffic is bursty
Shared lines concentrate packets into shared line; packets
buffered (delayed) when line is not immediately available 124
Multiplexers inherent in Packet
Switches
1 1
2 2
N N
Performance Measures:
Delay Distribution; Packet Loss Probability; Line Utilization
126
Delay = Waiting + Service Times
P1 P2 P3 P4 P5
Packet completes
transmission
Service
Packet begins
time
transmission
Waiting
Packet arrives
time
at queue P1 P2 P3 P4
P5
Packets arrive and wait for service
Waiting Time: from arrival instant to beginning of service
Service Time: time to transmit packet
Delay: total time in system = waiting time + service time
127
Fluctuations in Packets in the
System
B1 B2
C1 C2
(c) N(t)
Number of
packets in the
system 128
Packet Lengths & Service Times
R bits per second transmission rate
L = # bits in a packet
X = L/R = time to transmit (“service”) a packet
Packet lengths are usually variable
Distribution of lengths → Dist. of service times
Common models:
Constant packet length (all the same)
Exponential distribution
Internet Measured Distributions fairly constant
See next chart
129
Measure Internet Packet
Distribution
Dominated by TCP
traffic (85%)
~40% packets are
minimum-sized 40 byte
packets for TCP ACKs
~15% packets are
maximum-sized
Ethernet 1500 frames
~15% packets are 552
& 576 byte packets for
TCP implementations
that do not use path
MTU discovery
Mean=413 bytes
Stand Dev=509 bytes
Source: caida.org
130
M/M/1/K Queueing Model
Exponential service
K – 1 buffer
Poisson Arrivals time with rate
rate
At most K customers allowed in system
( t ) k t
P k arrivals in t seconds e
k!
132
Exponential Distribution
-t/E[X] - t
P[ X > t ] = e =e for t > 0 .
1-e-t
e-t
t t
0 0
133
M/M/1/K Performance Results
(From Appendix A)
Probability of Overflow:
(1 r ) r K
Ploss
1 r K 1
9
8
7
Maximum 10
6
5
packets allowed in
4
3
system
2
1
Minimum delay is 1
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 2.2 2.4 2.6 2.8 3
service time
1
0.9
load
Maximum delay is
probability
0.8
10 service times
lossprobability
0.7
0.6
0.5
0.4
At 70% load delay
loss
0.3
0.2
& loss begin
0.1
0
increasing
0 0.3 0.6 0.9 1.2 1.5 1.8 2.1 2.4 2.7 3
load What if we add
more buffers?135
M/M/1 Queue
Infinite buffer Exponential service
Poisson Arrivals time with rate
rate
Unlimited number of customers
allowed in system
delay 8
7
avg. delay
6
average
5
normalized
4
normalized
M/M/1
3
constant
2
service time
1 M/D/1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 0.99
load
1 r 1 1 r 1 1
E[TM ]
for M/M/1 model.
1 r 1 r 1 r
r 1 r 1 1
E[TD ] 1 for M/D/1 system.
2(1 r ) 2(1 r )
137
Effect of Scale
C = 100,000 bps C = 10,000,000 bps
Exp. Dist. with Avg. Packet Exp. Dist. with Avg. Packet
Length: 10,000 bits Length: 10,000 bits
Service Time: X=0.1 second Service Time: X=0.001
second
Arrival Rate: 7.5 pkts/sec Arrival Rate: 750 pkts/sec
0.5 L=1200
0.4
L=800
0.3
L=400
0.2
0.1
L=200
0
0 8000 16000 24000 32000 40000 48000 56000 64000 140
Goodput (bits/second)
Burst Multiplexing / Speech
Interpolation
Many Fewer
Voice Trunks
Calls
0.1
0.01
Typical 48
requirement
0.001
24 32 40
# connections
n k
n
k m 1
(k m) p (1 p) n k
k n n!
speech loss where .
142
np k k! ( n k )!
Effect of Scale
Larger flows lead to better performance
Multiplexing Gain = # speakers / # trunks
Trunks required for 1% speech loss
Multiplexing
Speakers Trunks Utilization
Gain
24 13 1.85 0.74
32 16 2.00 0.80
40 20 2.00 0.80
48 23 2.09 0.83
143
Packet Speech Multiplexing
A2 A1
Many voice A3
terminals
generating B3 B2 B1
voice packets Buffer B3 C3 A2 D2 C2 B1 C1 D1 A1
C3 C2 C1
D3 D2 D1 Buffer overflow
B2
1 2 3
Sent t
1 2 3
Received t
145
Chapter 5
Peer-to-Peer Protocols
and Data Link Layer
ARQ Efficiency Calculations
146
Stop & Wait Performance
1 successful transmission i – 1 unsuccessful transmissions
E [t t o t a l ] t 0 (i 1)t o ut P[nt i ]
i 1
t 0 (i 1)t o ut (1 Pf )i 1 Pf
i 1
t o u t Pf 1
t 0 t 0 .
1 Pf 1 Pf
Efficiency:
n f no no
1
E[ttotal ] nf
SW (1 Pf ) (1 Pf ) 0 .
R na 2(t prop t proc ) R
1
nf nf
147
Go-Back-N Performance
1 successful transmission i – 1 unsuccessful transmissions
E[ttotal ] t f (i 1)Ws t f P[nt i ]
i 1
t f Ws t f (i 1)(1 Pf )i 1 Pf
i 1
Ws t f Pf 1 (Ws 1) Pf
tf tf .
1 Pf 1 Pf
Efficiency:
n f no no
1
E[ttotal ] nf
GBN (1 Pf ) .
R 1 (Ws 1) Pf
148