Index

Note: Page numbers followed by “f” refer to figures.

A

ACK, 7, 7, 7, 12, 12, 12, 13, 13, 13
compression, 111
duplicate ACKs, 12, 15, 39–42, 42–45
with Zero Receive Window, 109, 114–115
Ack’d Sequence Number (ASN), 11, 11
Active Increase (AI), 235, 235–236
Active Queue Management (AQM), 18–20, 65, 92, 136
stability analysis of TCP with, 75–88
Active Queue Management (AQM) algorithm, 212, 243
against bufferbloat, 125–129
selection of, using software defined networks, 249–250
minimization of Flow Completion Time (FCT), 249
power maximization, 249
throughput maximization, 249
Adaptive Bit Rate algorithm (ABR), 180, 181–187
AIMD-based, 189
buffer size-based, 191
Buffer Based Rate Selection (BBRS) algorithm, 192–193
threshold based buffer algorithm, 191–192
control loops, 181–183, 182f
control theory–based, 193–196
description of, 187–196
FESTIVE algorithm, 190
interaction between TCP and, 199–201
smoothed throughput-based, 190
TCP throughput-based, 188
throughput-based, 188
Adaptive Load Balancing (ALB), 228
Adaptive Random Early Detection (ARED), 125–127, 251
Adaptive streaming techniques, 177f
scalable encoding solutions, 177
stream switching solutions, 177
transcoding-based solutions, 176
Additive increase/multiplicative decrease (AIMD) algorithms, 4, 5–7, 6, 6–7, 111–112, 151, 218–219, 246
AIMD-based algorithm, 189
TCP Reno and, 16–18
Additive increase/multiplicative decrease (AIMD) congestion control
generalized, 51
throughput for, 49–51
Adobe HTTP Dynamic Streaming (HDS), 181
Advanced Peer to Peer Network (APPN), 10
Aggregation routers (ARs), 207
Aggregation switches (ASs), 207
Amazon EC2, 229
Analytic modeling of congestion control, 25
derivation of Q=min(1,3/E(W)), 60–62
fluid flow model, 45–52
differentiating buffer overflows from link errors, 51–52
general procedure for computing average throughput, 48–49
throughput for general additive increase/multiplicative decrease congestion control, 49–51
multiple parallel TCP connections, 55–60
heterogeneous case, 57–60
homogeneous case, 56–57
square-root formula, 53–54
stochastic model, 52–53
TCP throughput analysis, 28–45
throughput as a function of buffer size, 32–38
throughput as a function of link error rate, 38–45
throughput as a function of window size, 28–31
Apple HTTP Live Streaming (HLS), 181
Application Specific IP Address (AA), 209
Artificial intelligence (AI) algorithms, 243
Asynchronous Transfer Mode (ATM), 9–10, 10
Automatic Retransmissions (ARQ), 104, 104, 116, 116–117
Hybrid ARQ, 116
link-level, 118–123
Autoregressive integrated moving average (ARIMA), 195–196
Autoregressive moving average (ARMA), 195–196
Available bandwidth estimates (ABEs), 109
and TCP Westwood, 110–113
TCP with, 115–116
Available Bit Rate (ABR) traffic management scheme, 9–10
Average window, 136
Averaging principle (AP), 66, 88–92, 89f, 90f

B

Bandwidth predictors, 195–196
Bandwidth sharing between TCP with HTTP Adaptive Streaming, 200–201
Bandwidth shuffling, 165–166
Barrier function, 68, 92–93, 93
Binary Increase Congestion control (BIC), 142, 143–149
additive increase, 144–145
binary search increase, 144
max probing, 145–149
Bisection bandwidth, 207–208
Bode plots, 77–78
Broadband wireless networks, congestion control in, 101
algorithms to improve performance over lossy links, 109–116
available bandwidth estimation and TCP Westwood, 110–113
Loss Discrimination Algorithm (LDA), 113–114
TCP with Available Bandwidth Estimates, 115–116
TCP with Loss Discrimination Algorithms, 115–116
Zero Receive Window (ZRW) ACKs, 114–115
cellular wireless systems, bufferbloat problem in, 123–131
Active Queue Management (AQM) techniques, 125–129
Adaptive Random Early Detection (ARED), 125–127
controlled delay AQM, 127–129
end-to-end approaches against bufferbloat, 129–131
TCP LEDBAT, 130–131
design rules, 131–132
link-level error correction and recovery, 116–123
TCP performance with link-level Automatic Retransmissions, 118–123
TCP performance with link-level Forward Error Correction, 116–118
split-connection TCP, 106–109
wireless access architecture and issues, 104–106
Buffer Based Rate Selection algorithm (BBRS), 192–193
Buffer loading, 175–177
Buffer occupancy value, 170
Buffer size, 38, 51, 54–55
-based Adaptive Bit Rate algorithms, 191
throughput as a function of, 32–38
Bufferbloat, 105, 123
Bufferbloat problem, in cellular wireless systems, 123–131
Active Queue Management techniques, 125–129
end-to-end approaches, 129–131

C

CBR video transmission over TCP, 178–180
Cellular wireless systems
architecture, 105f
bufferbloat problem in, 123–131
Active Queue Management techniques, 125–129
Adaptive Random Early Detection, 125–127
controlled delay, 127–129
end-to-end approaches, 129–131
TCP LEDBAT, 130–131
Compound Transmission Control Protocol (CTCP), 20, 22–23, 135, 136, 139, 155–163
Congestion avoidance algorithm, 3, 13–14
Congestion collapse, 3, 3, 3f, 9
Control Point (CP) algorithm, 233
Control theory–based Adaptive Bit Rate algorithms, 193–196
Controlled Delay (CoDel) algorithm, 127–129
Convergence, 5
Convex optimization theory, 98–99
Core routers (CRs), 207
CUBIC algorithm, 129, 135, 142, 149–155

D

D3 algorithm, 221–222
Data center architecture and traffic patterns, 207–212
configuration complexity, 208
Fat Tree architecture, 209–210, 210f
tree-type interconnection architecture, 207, 207f
VL2 inter-connection network, 208–209, 208f
Data Center Bridging (DCB), 231
Data Center Congestion Control Protocol (DCTCP), 20, 171
Data center job computation, 212
Data center networks (DCNs), 1, 1, 10, 23, 205, 231
data center architecture and traffic patterns, 207–212
traffic generation model and implications, 210–212
data center transmission control protocol (DCTCP), 212–218
HULL modification, 217–218
deadline-aware congestion control algorithms, 218–222
D3 algorithm, 221–222
Deadline Aware Datacenter TCP (D2TCP), 218–220
Incast problem in, 227–228
load balancing over multiple path TCP, 222–227
Data Center TCP (DCTCP), 85, 206, 212–218
AQM algorithms, 212
delay-based protocols, 212
HULL modification, 217–218
Deadline Aware Data Center TCP (D2TCP), 206, 218–220
Deadline-aware congestion control algorithms, 218–222
Delay-based congestion control, 20–21
Delay-based protocols, 212
DeTail protocol, 206, 228
Deterministic approximation, 47, 47, 48, 48–49, 50, 51
Directory System (DS), 209
Discrete Cosine Transform (DCT), 175
Dual-Homed Fat Tree (DHFT), 227
Dynamic Adaptive Streaming over HTTP (DASH), 174

E

EDF scheduler, 221, 221
Efficiency criterion, 4
Efficiency line, 5f, 6, 6, 6, 6–7
End-to-end algorithms, 129–131
End-to-end congestion control, 10
End-to-end rate-based flow control (EERC) algorithm, 9–10
Equal Cost Multi-Path (ECMP), 208, 232
Ethernet networks, 231
Quantum Congestion Notification (QCN) algorithm
description, 233–236
objectives of, 232
stability analysis, 236–241
switched Ethernet and Internet Protocol networks, differences between, 232
Explicit Congestion Notification (ECN), 11, 19, 20

F

Facebook, 205
Fair Queuing, 250, 250
Fairness, 4–5, 6
Fairness line, 5f, 6, 6
Fast Recovery (FR), 15, 17f, 235
Fast Retransmit, 15, 16f
Fast transmission control protocol (FAST TCP), 163–164
Fat Tree inter-connection network, 209–210, 210, 210f
Feedback control system, 95, 95f
FESTIVE algorithm, 190
Fiber Channel (FC), 231
Fiber Channel over Ethernet (FCoE) standard, 231
Flow Completion Time (FCT)
minimization of, 249
Flow control, 4, 9, 12
for video applications, See Video applications, flow control for
Fluid approximation, 32f, 33, 33
Fluid flow model, 65, 65, 65
for congestion control, 45–52
computing average throughput, general procedure for, 48–49
differentiating buffer overflows from link errors, 51–52
throughput for general additive increase/multiplicative decrease congestion control, 49–51
linearization of, 94
Forward Error Correction (FEC), 104, 105
link-level FEC, 116–118
TCP performance with, 118–123
Fractional ARIMA (FARIMA), 195–196
Freeze TCP protocol, 115

G

Gain crossover point, 96, 96
Gateway GPRS Support Node (GGSN), 104–105
Generalized additive increase/multiplicative decrease (GAIMD) algorithms, 51, 73–74, 74
Generalized TCP-friendly algorithms, 73–75
Gilbert loss model, 118
Google, 205
Google Congestion Control (GCC) algorithm, 243–244, 251–255
receiver side rate computation, 253–255
arrival time model and filter, 253–254
remote rate control, 255
sender side rate computation, 252–253

H

High-speed networks, 135
compound transmission control protocol (CTCP), 155–163
design issues, 136–139
FAST TCP, 163–164
high-speed transmission control protocol (HSTCP), 140–142
stability of, 170–171
Rate Control Protocol (RCP), 169–170
TCP binary increase congestion (TCP BIC), 142, 143–149
additive increase, 144–145
binary search increase, 144
max probing, 145–149
TCP CUBIC, 142, 149–155
XCP protocol, 164–168
description, 164–166
stability analysis, 166–168
High-speed transmission control protocol (HSTCP), 140–142, 217
AIMD increase–decrease parameters for, 141
Response Function vs Packet Drop Rate, 140
stability of, 170–171
Hop-by-hop congestion control, 10
HTTP Adaptive Streaming (HAS), 174, 174, 178, 178, 180–181
bandwidth sharing, 200–201
HTTP requests and bit rate adaptation in, 182f
HTTP/TCP for video delivery, 180
HULL (High bandwidth Ultra Low Latency) algorithm, 217–218
Hybrid Automatic Retransmissions (HARQ), 116
Hyper-Active Increase (HAI), 236

I

IEEE 802.1Qau QCN algorithm, 20, 92
PI controller, 88
Implications for congestion control algorithms, 92
Implicit vs explicit indication of network congestion, 11
Incast problem, 206, 227–228
Integral controllers, 86
Inter-connection Network, 207
Internet Engineering Task Force (IETF), 173, 243–244, 252
Internet Protocol (IP) networks, 205, 231

J

Jain fairness index, 4–5

K

Kalman filtering, 256
Karush-Kuhn-Tucker theorem, 98–99

L

Lagrangian multiplier, 65
Lagrangian optimization theory, 65
Laplace transform space, 168
Leaf Spine design, 210
Link error rate, 39, 51–52, 105
throughput as a function of, 38–45
Link errors
recovered by duplicate ACKs, 39–42
recovered by duplicate ACKs and timeouts, 42–45
Link-level error correction and recovery, 116–123
TCP performance
with link-level Automatic Retransmissions and Forward Error Correction, 118–123
with link-level Forward Error Correction, 116–118
Live-video streaming, 173
Location Specific IP Address (LA), 209
Loss Discrimination Algorithm (LDA), 109, 113–114, 115–116
Low Extra Delay Background Transport (LEDBAT), 20, 129, 130–131, 252
LTE networks, 103, 104, 104–105

M

Machine Learning (ML) and congestion control, 244–247
control actions, 245
network state observations, 245
utility function, 244–245
Map-reduce type data model, 210–211, 211, 211f
Max-min fairness, 73
Mean value analysis (MVA), 39
Medium Access Control (MAC), 103
Microsoft HTTP Smooth Streaming (HSS), 181
Model predictive control (MPC), 194, 194, 196, 196
Moving Picture Experts Group (MPEG) standard, 175
M-TCP protocol, 114–115
Multi-path TCP (MPTCP), 206, 223, 223, 223–224, 227
Multiple parallel TCP connections, 55–60
heterogeneous case, 57–60
homogeneous case, 56–57
Multiplicative increase/additive decrease (MIAD), 6, 6–7
Multiplicative increase/multiplicative decrease (MIMD) controls, 6–7

N

Netflix, 173, 181
Network feedback techniques, 18–20
active queue management, 18–20
passive queue management, 18
Network Operating System (NOS), 248–249
Next Sequence Number (NSN), 11, 12, 15
Nonlinear increase–decrease algorithms, 7
NTB algorithm, 188, 189f
Nyquist criterion, 7, 22, 168
Nyquist plot, 77–78, 78f, 96f
Nyquist stability, 66, 77–78, 79, 81, 82, 93, 95–96

O

Optimal operating point, 5, 5f, 6, 6–7
Optimization theory, 66–73
duality method, 68–69
utility function for TCP Reno, 71–73
Orthogonal frequency-division multiplexing (OFDMA), 104–105

P

Packet Data Serving Node (PDSN), 104–105
Packet gateway (PGW), 104–105
Packet networks, video delivery and, 175–180
CBR video transmission over TCP, 178–180
PANDA algorithm, 198
Partially observable Markov decision processes (POMDPs), 244
Passive queue management, 18
Penalty, 68
Penultimate subcycle, 60, 60–61, 61, 61
pFabric congestion control algorithm, 206, 229
Phantom Queue (PQ), 217–218, 218f
Phase crossover point, 96
Potential delay fairness, 73
Power maximization, 249
Preemptive Distributed Quick Flow (PDQ) algorithm, 206, 221, 221, 222
Primal optimal solution, 68
Problem of congestion control, 3–4
Processor Sharing (PS), 229
Progressive Download (PD), 174
Progressive Download with Byte Ranges (PD-BR), 174
Proportional controllers, 71, 84–85
comparison with RED controllers, 85, 85f
Proportional fairness, 73
Proportional-integral (PI) controllers, 75–76, 86–88, 86f, 231–232
comparison with RED controllers, 87, 87f

Q

Quality of service (QoS), 173
Quantum Congestion Notification (QCN) algorithm, 231, 231–232
description, 233–236
Control Point (CP) algorithm, 233
rate decrease, 234
rate increase, 234
Reaction Point (RP) algorithm, 234–236
objectives, 232
stability analysis, 236–241
Queuing delay, 129–130

R

Random Early Detection (RED), 125
Adaptive RED (ARED), 125–127
algorithm, 3–4, 18–19, 19, 19, 19f, 20, 20, 20
controllers, 65, 80–84, 231–232
comparison with proportional controllers, 85, 85f
transfer function for, 96–98
Random Early Detection routers, 136
Rate Adaptive Protocol (RAP), 177–178
Rate control protocol (RCP), 136, 169–170, 170
vs XCP, 169
Rate-based congestion control, 9–10
Reaction Point (RP) algorithm, 234–236
Rate Decrease, 234
Rate Increase, 234–236
Active Increase (AI) phase, 235
Fast Recovery (FR) phase, 235
Real Time Control Protocol (RTCP), 173, 243–244
Real Time Protocol (RTP), 173
Real Time Streaming Protocol (RTSP), 173
Real Time Transport protocol (RTP), 243–244, 251
Reed-Solomon coding, 117
REMB packets, 252
Remy Congestion Control (RemyCC), 244–247
control actions, 245
network state observations, 245
utility function, 244–245
Response Function, 136
BIC, 149, 150f
CTCP, 162, 162f
CUBIC, 149–155
HSTCP, 140, 140–141
vs Packet Drop Rate, 138, 140
TCP Reno vs HSTCP, 140, 140f
Retransmission timeout (RTO), 12, 12
Root locus plots, 77–78
Round trip time (RTT), 12
RTCP Receiver Report (RR), 252, 252

S

Sawtooth model, 214, 217
Scalable encoding solutions, 177
Self-clocking property, 8–9, 8f
Sequence number (SN), 11, 11, 11, 15
Slow Start algorithm, 13
Smoothed throughput based algorithm, 190
Snoop, 132
Software defined networks (SDN), 248–251, 248f
to adapt Random Early Detection parameters, 250–251
and selection of AQM algorithms, 249–250
Split-connection TCP, 106–109
Square-root formula, 27, 47, 53–54, 53
for TCP throughput, 135
Stability of congestion control system, 75–88
proportional controllers, 84–85
proportional-integral controllers, 86–88
random early detection controllers, 80–84
Static random-access memory (SRAM), 205
Stochastic model for congestion control, 52–53
Storage Area Networks (SANs), 1, 10, 23, 231
Stream switching solutions, 177
Strong duality theorem, 99
Switched Ethernet and IP networks, differences between, 232

T

Tail-drop feedback, 18, 18
Threshold Based Buffer (TBB) algorithm, 187, 191–192, 192
Throughput
-based Adaptive Bit Rate algorithms, 188
as a function of buffer size, 32–38
as a function of link error rate, 38–45
as a function of window size, 28–31
maximization, 249
Time Sliding Window (TSW) estimator, 112
Timer operation and timeouts, 12–13
Top of Rack (ToR) switch, 207, 208–209
Transcoding-based solutions, 176
Transmission Control Protocol (TCP), 1, 28–45, 103–104, 103, 205–206, 231
and Adaptive Bit Rate, interaction between, 199–201
with Available Bandwidth Estimates and Loss Discrimination Algorithms, 115–116
buffers, requirement of, 205
Compound TCP (CTCP), 155–163
CUBIC, 142, 149–155
different modes, 151–152
Data Center TCP, 212–218
FAST TCP, 163–164
HSTCP Response Function, 140–142
H-TCP, 171
HTTP Adaptive Streaming and, bandwidth sharing between, 200–201
LEDBAT, 130–131
M-TCP, 114–115
Multipath TCP (MPTCP), 206, 223, 223, 223–224, 227
link-level error correction and recovery, 116–123
performance problems for, in wireless networks, 105–106, 105, 105, 105, 106, 106
Response Function vs Packet Drop Rate, 138, 140
Scalable TCP, 171
split connection, 106–109
stability analysis of, with AQM, 75–88
suggestions to improve the performance of, 109–110, 109, 109, 109
TCP Africa, 139
TCP BIC, 142, 143–149
additive increase, 144–145
binary search increase, 144
Fast Convergence, 145
max probing, 145–149
TCP Eifel, 132
TCP Friendly Congestion Control, 173–174, 177–178
TCP Friendly Rate Control (TFRC) algorithm, 9–10, 252, 252
TCP Illinois, 135
TCP Jersey, 112, 114
TCP Reno, 127, 138–139, 139, 156, 156, 159–160
TCP Tahoe algorithm, 2, 3–4
TCP Vegas, 20–21, 113, 113–114, 163, 212
TCP Westwood, 110, 110
throughput analysis, 112–113
throughput as a function of buffer size, 32–38
throughput as a function of link error rate, 38–45
link errors recovered by duplicate ACKs, 39–42
link errors recovered by duplicate ACKs and timeouts, 42–45
throughput as a function of window size, 28–31
throughput-based algorithm, 188
throughput measurements, problems with, 197–198
TIBET algorithm, 112
window growth function for, 151f
Yeah TCP, 135
Transmission Control Protocol (TCP) Reno, 16, 127, 129, 129–130
and AIMD, 16–18
description of, 11–18
utility function for, 71–73
window operations, 11–12
window size decrements
Fast Retransmit and Fast Recovery, 15
timer operation and timeouts, 12–13
window size increments, 13–14
congestion avoidance, 13–14
slow start, 13
Transmit Sequence Number (TSN), 11
Transmit window operation, 8f
Turbo Coding, 116

U

Utility function, 65, 244–245
general class of, 99
for TCP Reno, 71–73

V

Valiant Load Balancing (VLB), 209
Variable Bit Rate (VBR), 175, 175–177
Video applications, flow control for, 173
Adaptive Bit Rate (ABR) algorithm, 181–187
buffer size-based, 191
description of, 187–196
throughput-based, 188
HTTP adaptive streaming, 180–181
TCP and ABR, interaction between, 199–201
bandwidth sharing, 200–201
TCP throughput measurements, problem with, 197–198
video delivery over packet networks, 175–180
CBR video transmission over TCP, 178–180
Video on demand (VoD), 173
Virtual Local Area Networks (VLANs), 207, 208
Virtual Machines (VMs), 229
Virtual Out Queue (VOQ), 217–218
VL2 inter-connection network, 208–209, 208f

W

Web Real-Time Communication (WebRTC), 243–244
Weighted minimal potential delay fair, 99
Weighted proportionally fair, 99
Wide area network (WAN), 106–107
WiFi networks, 103, 104–105
WiMAX, 116, 116
Window increment–decrement rules, 73–74, 149, 223, 224, 225–226
Window size
decrements, 12–13, 15
increments, 13–14
rate of change in, 72, 72
throughput as a function of, 28–31, 31f
variation of, in steady state for TCP Reno, 32f
Window-based congestion control, 7–9, 10
Wireless access architecture and issues, 104–106

X

XCP protocol, 164–168
description, 164–166
operation of EC, 165
operation of FC, 165
vs RCP, 169
stability analysis, 166–168

Y

YouTube, 173, 174

Z

Zero Receive Window (ZRW), 104
ACKs with, 109, 114–115
Zero Window Probes (ZWPs), 114, 114–115
..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.133.150.142