Download Network Congestion

Survey
yes no Was this document useful for you?
   Thank you for your participation!

* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project

Document related concepts

CAN bus wikipedia , lookup

Multiprotocol Label Switching wikipedia , lookup

RapidIO wikipedia , lookup

Zero-configuration networking wikipedia , lookup

Piggybacking (Internet access) wikipedia , lookup

Distributed firewall wikipedia , lookup

Asynchronous Transfer Mode wikipedia , lookup

Internet protocol suite wikipedia , lookup

Computer network wikipedia , lookup

Wake-on-LAN wikipedia , lookup

Deep packet inspection wikipedia , lookup

Network tap wikipedia , lookup

List of wireless community networks by region wikipedia , lookup

Airborne Networking wikipedia , lookup

Net bias wikipedia , lookup

IEEE 1355 wikipedia , lookup

Cracking of wireless networks wikipedia , lookup

Quality of service wikipedia , lookup

Recursive InterNetwork Architecture (RINA) wikipedia , lookup

TCP congestion control wikipedia , lookup

Transcript
Congestion and Congestion
Control in PacketSwitched Networks
1
Introduction
Packet–switched networks get
congested!
 Congestion occurs when the number of
packets transmitted approaches
network capacity
 Objective of congestion control:

– keep the number of packets that are
entering/within the network below the
level at which performance drops off
dramatically
Network Congestion
2
Queuing Theory



Recall from prior module that a data
network is a network of queues
If arrival rate at any queue > transmission
rate from the node, and as average arrival
rate grows, then queue size grows without
bound and packet delay goes to infinity
Rule of Thumb Design Point:  = L/R < .8 *
Network Congestion
3
Input & Output Queues at a
Node
Ts = L/R
Ts = L/R
Nodal
Processing
Network Congestion
Ts = L/R
4
At Saturation Point
Two Possible Strategies at Node:
1. Discard any incoming packet if no
buffer space is available
2. Exercise flow control over neighbors
–
May cause congestion to propagate
throughout network
Network Congestion
5
Queue Interaction in Data
Network (delay propagation)
Network Congestion
6
Jackson’s Theorem - Application
in Packet Switched Networks
Internal load:
L
Packet Switched
Network
External load, offered to network:
N
N
 =   jk
j=1 k=2
where:
 = total workload in packets/sec
jk = workload between source j
and destination k
N = total number of (external)
sources and destinations
Network Congestion
 =  i
i=1
where:
 = total on all links in network
i = load on link i
L = total number of links
Note:
• Internal > offered load
• Average length for all paths:
E[number of links in path] = /
• Average number of items waiting
and being served in link i: ri = i Tri
• Average delay of packets sent
through the network is: Notice: As any
i increases,
1 L
Mi
T=  
total delay
i=1 Ri - Mi
increases.
where: M is average packet length and
Ri is the data rate on link i
7
Ideal Performance
I.e., infinite buffers, no variable
overhead for packet transmission or
congestion control
 Throughput increases with offered
load up to full capacity
 Packet delay increases with offered
load approaching infinity at full
capacity
 Power = throughput / delay, or a
measure of the balance between
throughput and delay

– Higher throughput results in higher delay
Network Congestion
8
Ideal Network Utilization
Load:
Ts = L/R
Power: relationship between
Normalized Throughput and Delay
Network Congestion
9
Practical Performance
I.e., finite buffers, non-zero packet
processing overhead
 With no congestion control,
increased load eventually causes
moderate congestion: throughput
increases at slower rate than load
 Further increased load causes
packet delays to increase and
eventually throughput to drop to
zero

Network Congestion
10
Effects of Congestion
What’s happening here?
•
•
•
•
buffers fill
packets discarded
sources re-transmit
routers generate more
traffic to update paths
• good packets resent
• delays propagate
Network Congestion
11
Common Congestion Control
Mechanisms
Network Congestion
12
Congestion Control

Backpressure

Policing

Choke packet

Implicit congestion signaling
– Request from destination to source to reduce
rate
– Useful only on a logical connection basis
– Requires hop-by-hop flow control mechanism
– Measuring and restricting packets as they
enter the network
– Specific message back to source
– E.g., ICMP Source Quench
– Source detects congestion from transmission
delays and lost packets and reduces flow
Network Congestion
13
Explicit congestion signaling
Direction
– Backward
– Forward
 Categories
– Binary
– Credit-based
– Rate-based

Network Congestion
14
Traffic Management in Congested
Network – Some Considerations

Fairness
– Various flows should “suffer” equally
– Last-in-first-discarded may not be fair

Quality of Service (QoS)
– Flows treated differently, based on need
– Voice, video: delay sensitive, loss insensitive
– File transfer, mail: delay insensitive, loss
sensitive
– Interactive computing: delay and loss sensitive

Reservations
– Policing: excess traffic discarded or handled
on best-effort basis
Network Congestion
15
Congestion Avoidance with
Explicit Signaling
Two general strategies considered:
 Hypothesis 1: Congestion always
occurs slowly, almost always at
egress nodes
– forward explicit congestion avoidance

Hypothesis 2: Congestion grows very
quickly in internal nodes and requires
quick action
– backward explicit congestion avoidance
Network Congestion
16
Congestion Control: BECN/FECN
Network Congestion
17
Explicit Signaling in Packets

Forward Explicit Congestion
Notification
– For traffic in same direction as
received frame
– This frame has encountered congestion

Backward Explicit Congestion
Notification
– For traffic in opposite direction of
received frame
– Frames transmitted may encounter
congestion
Network Congestion
18
Explicit Signaling Response

Network Response
– each router monitors its queuing
behavior and takes action (AQM)
– sets bits in packets to indicate
congestion
– some/all connections notified of
congestion

Sender (end-system) Response
– inspects packet for congestion indication
– reduces send rate if congestion
indicated
Network Congestion
19
Explicit Congestion Control
with TCP/IP (RFC 3168)

Routers monitor queue depth, using
Active Queue Management (AQM)
– typically via Random Early Detection (RED)
Routers signal congestion indication
by “marking” IP packets
 TCP end systems monitor congestion
indication in received packet headers
 TCP senders regulate send rate based
on signaling from routers

– recall: TCP window size
– why not UDP?
Network Congestion
20
Explicit Congestion Control
with TCP/IP (RFC 3168)
TCP
Host
TCP
Host
Network Congestion
21
Explicit Congestion Control
with TCP/IP

Initiating TCP host signals Explicit
congestion control capability during
connection setup
– ECE,CWR and SYN set
– known as ECN-Setup SYN packet

Target host acknowledges
connection with ECN
– ECE, SYN and ACK set
– called ECN-Setup SYN-ACK packet
Network Congestion
22
TCP segment structure
32 bits
URG: urgent data
(generally not used)
ACK: ACK #
valid
# 32-bit words
in header
PSH: push data now
(generally not used)
RST, SYN, FIN:
Connection mgmt.
(setup, teardown
commands)
Internet
checksum
(as in UDP)
Transport Layer
source port #
dest port #
sequence number
acknowledgement number
head not
UAP R S F
len used
checksum
counting
by bytes
of data
(not segments!)
receive window
URG data pointer
options (variable length)
# bytes
rcvr willing
to accept
application
data
(variable length)
23
TCP segment structure-RFC 3168
32 bits
source port #
sequence number
ECN-Echo Flag
(bit 8)
acknowledgement number
head
len
Congestion Window
Reduced Flag (bit-9)
dest port #
C E
WC UAP R SF
R E
checksum
receive window
URG data pointer
options (variable length)
application
data
(variable length)
Transport Layer
24
IPv4 datagram structure
IP protocol version
number
header length
(bytes)
service request (QoS)
max number
remaining hops
(decremented at
each router)
transport layer protocol
to deliver payload to
32 bits
ver hdr. type of
len service
total datagram
length (bytes)
length
fragment
16-bit identifier flgs
offset
upper
time to
header
layer
live
checksum
32 bit source IP address
32 bit destination IP address
options (if any)
data
(variable length,
typically a TCP
or UDP segment)
Network Layer
for
fragmentation/
reassembly
e.g. timestamp,
record route
taken, specify
list of routers
to visit.
25
IPv4 datagram structure – RFC 3168
32 bits
ECN-capable Transport
(bit-6)
Congestion Experienced
(bit-7)
hdr. DSCP CE C
ver len
TE
length
fragment
offset
upper
time to
header
layer
live
checksum
32 bit source IP address
16-bit identifier
flgs
32 bit destination IP address
options (if any)
data
(variable length,
typically a TCP
or UDP segment)
Network Layer
26