Internet Congestion - PowerPoint PPT Presentation

1 / 55
About This Presentation
Title:

Internet Congestion

Description:

Congestion in the Internet is becoming an ever-increasing problem today. Even though the technology ... Example: flow spec language by Partridge (1992) ... – PowerPoint PPT presentation

Number of Views:123
Avg rating:3.0/5.0
Slides: 56
Provided by: kevinc3
Category:

less

Transcript and Presenter's Notes

Title: Internet Congestion


1
Internet Congestion
2
Internet Congestion
Congestion in a packet-switching network is a
state in which performance degrades due to the
saturation of network resources such as
communication links, processor cycles, and memory
buffers. Congestion in the Internet is becoming
an ever-increasing problem today. Even though the
technology surrounding the Internet has improved
significantly, it seems that file transfer times
continue to increase, with no real solution in
sight. So then, it is important to understand
firstly how congestion occurs and how it is
measured, and subsequently, what mechanisms are
in place to control this congestion. It is
argued that three main factors--incompatibility
of the newer applications with the Internet's
architecture, massification of the Internet, and
privatisation and concomitant commercialisation
of the Internet - are responsible for an inherent
change in the Internet's dynamics
3
Internet Traffic
Internet Traffic is essentially the load on the
network, or the amount of packets of data
traversing the network. When the Internet was
first developed, it was never visualised as being
a public service, so the increase in network
traffic was no real cause for concern. However,
Internet Traffic has grown at an alarming rate,
When seen over the decade of the 1990s, traffic
appears to be doubling about once each year.
Odlyzko00 Indeed, the growth rate of Internet
Traffic has posed sever problems for measuring
this traffic, which is essential to the
understanding of Internet Congestion. A common
complaint about traffic measurement studies is
that they do not sustain relevance in this
environment where traffic, technology, and
topology change faster than we can measure them.
S o then, future proposals on Internet
Congestion can only estimate the actual load on
the network at any particular time. In fact, no
single organization is truly measuring global
Internet behaviour, because the global Internet
is simply not instrumented to allow such
measurement Internet traffic in general is said
to be Bursty, that is, that bursts of traffic
rather than a steady flow are transmitted.
4
Fairness
The most serious effects of congestion are seen
in the form of Congestion Collapse. This is a
condition, which occurs when a sudden load on the
net can cause the round-trip time to rise faster
than the sending hosts measurements of round-trip
time can be updated. Under these conditions the
network can come to a complete stand still.
Congestion collapse occurs when an increase in
the network load results in a decrease in the
work done by the network. Due to this increase
in network traffic and the pressure it puts on
the available bandwidth, the fairness of the
Internet is also at risk. Fairness means that no
user is penalised compared to others that share
the same bottleneck links. This type of
fairness has long been a measurement of a
congestion control mechanisms worth to the
Internet, as a public service all users should be
treated equally. Unfairness in the Internet
happens when congestion control techniques are
not implemented, such as the AIMD method of
control, which will be discussed later in this
paper. Flows that do not back-off when faced
with congestion can greedily utilise all of the
available bandwidth, leaving other flows fighting
for their share.
5
Flow Control
  • Flow Control is the method of preventing network
    congestion and increasing fairness by making sure
    that a suitable amount of flows are transmitted
    so that the receiving devices are not flooded
    with data. It is convenient to divide flows into
    three classes
  • TCP- compatible flows,
  • Unresponsive flows, i.e., flows that do not slow
    down when congestion occurs, and
  • Flows that are responsive but are not
    TCP-compatible

Whilst TCP and TCP compatible flows are said to
be responsive in the face of congestion, it is
the unresponsive flows that cause network
problems. These types of flows simply add to the
congestion problem, as they are very high
bandwidth flows. Unresponsive flows also promote
unfairness in that whilst other flows decrease
the data being transmitted, unresponsive flows
aggressively hunt available bandwidth.
6
Congestion
  • There are three main techniques adopted to
    control the flows within a network. These are
  • Buffering temporarily storing data until it
    can be dealt with.
  • Source-quench messages if a network device is
    showing signs of congestion (i.e. the buffer is
    full and packets are being dropped), then it will
    send Source-quench messages to the sending
    devices so that they will reduce the transmission
    rate at which they are sending data.
  • Windowing the sending device sends a certain
    number of packets to the receiver, but requires
    an ACK before any more data can be sent. When an
    ACK has been received by the sender then another
    set of packets can be sent. If no ACK is received
    then this is an indicator of congestion. The
    receiver has not received enough packets to send
    an ACK, so some packets may have been dropped,
    due to an overflowing buffer etc. The sender, on
    not receiving an ACK will then re-transmit the
    packets. This is, in essence, the AIMD congestion
    methodology.

7
Router Congestion Control
In the work of Lefelhocz96 the authors proposed
a paradigm in order to maintain a fair routing
system for Internet usage. The proposed design
incorporated four controls for congestion
management, which are widely implemented in the
Internet today. These are Scheduling Algorithms,
Buffer Management, Feedback and End
Adjustment. The two most popular scheduling
algorithms are FIFO (First In First Out), which
forwards packets according to their place in the
queue, and WFQ (Weighted Fair Queuing), which
attempts to allocate the available bandwidth
fairly, thus protecting flows from unfairness on
the part of others. The author feels that some
form of Scheduling algorithm must be implemented
in order to prevent bandwidth being swallowed
up by greedy users. However this alone will not
prevent packets from being dropped, so other
measures must be implemented simultaneously.
8
Router Congestion Control
Buffering is required at a switch whenever
packets are arriving faster than they can be sent
out. This buffering should take one of two forms.
The shared buffer pool method does not protect
flows from one another, but forwards packets
using the First Come First Use method. On the
other hand, the Per-Flow allocation method uses a
fairer method of packet forwarding where each
flow is forwarded on merit and well behaved
flows are serviced first. Feedback is another
important function at the router to control
congestion. There are two types of feedback
Implicit feedback requires the end user to
monitor the performance of their data
transmission for clues to the current network
status. An example of this type of feedback can
be seen in the TCP slow start algorithm, where
packet loss is the congestion indicator. Explicit
Feedback takes the form of an indicator. This
can be implemented in forward (FECN Forward
Explicit Congestion Notification) and reverse
modes (BECN Backward Explicit Congestion
Notification). This type of congestion
notification provides better control as it can be
measured by the router in order to quantify the
amount of congestion that is occurring.
9
Routers and Congestion
The router relies on this end adjustment figure
to give an accurate depiction of the amount of
congestion that is occurring. This then controls
the push of packets into the network, and thus
the possible increase of congestion and pressure
on the network. Routers manage traffic flow by
using one of two methods static routing or
dynamic routing. Static routing is best
implemented by small networks, where the topology
and state of the network is known to be
relatively stable. The routes taken by packets
of data are hard coded by the network engineer
manually and do not change unless the engineer
becomes aware of changes within the network, such
as a change to the network topology. Dynamic
routing, on the other hand is used where the
topology of the network is unknown and the route
taken by packets of data is uncertain at the time
of sending. Dynamic protocols are used to
calculate the best path for the packets to take,
considering many parameters. These dynamic
routing protocols are used to discover the best
paths for Internet traffic on a daily basis.
10
Congestion
  • Ideal network behavior

Maximum capacity
Packets delivered
Packets sent
11
Network Congestion
  • What is network congestion?
  • Too many packets in the network.
  • Router queues are always full.
  • Routers start dropping packets.
  • Congestion can fuel itself.
  • Packet drops lead to retransmissions.
  • More traffic!
  • May result in congestion collapse!
  • Close to 0 throughput!

12
Infinite-Buffer Routers
  • Intuition says add more memory to routers and
    thatll avoid congestion.
  • Nagle (1987) showed that infinite buffers
    actually make congestion worse.
  • More packets enqueued for long time they time
    out and are retransmitted but still transmitted
    by router.
  • Therefore, more traffic.

13
Causes of Congestion
  • Mismatch in capacity among different parts of the
    system.
  • Mismatch in link speeds.
  • Mismatch in router processing capability.
  • Table lookup and update.
  • Queue management.
  • Congestion in one point of network tends to
    propagate backwards toward sender.

R
14
Congestion versus Flow Control
  • Congestion control tries to ensure the network is
    able to carry offered traffic.
  • Involves hosts and intermediate routers.
  • Flow control ensures that the communication
    end-points are able to keep up with one another.
  • Involves only the end-points.
  • Often mixed because tend to use same feedback
    mechanisms.
  • Example slow down message received at host may
    be caused by receiver not being able to keep up
    with sender host or by network not being able to
    handle additional traffic.

15
Congestion Control Principles
  • From control theory point of view
  • Open and closed loop solutions.
  • Open loop solutions
  • Avoidance approach.
  • Tries to make sure problem doesnt happen.
  • Doesnt take current network state into account.
  • Closed loop solutions
  • Feedback loop.

16
Closed Loop Solutions
  • 3 components
  • Monitoring.
  • Feedback generation.
  • Operation adjustment.
  • Monitoring metrics
  • Packet loss.
  • Average queue length.
  • Number of retransmitted packets.
  • Average packet delay.

17
Feedback
  • Send information about the problem once its
    detected.
  • Router that detects problem sends packet to
    traffic source(s).
  • Special-purpose bit in every packet that router
    sets when it detects congestion above certain
    level to warn neighbors.
  • Special probe messages to detect congested areas
    so they can be avoided.
  • Stability avoid oscillations.

18
Congestion Control Taxonomy
  • Open loop algorithms
  • Act at source.
  • Act at destination.
  • Closed loop algorithms
  • Explicit feedback.
  • Implicit feedback.

19
Open Loop Approaches
  • Traffic Shaping
  • Avoid traffic burstiness by forcing packets to be
    transmitted at more predictable rate.
  • Used in ATM networks.
  • Regulates average transmission rate.
  • In contrast to sliding window protocols which
    regulate amount of data in transit.
  • Service agreement between user and carrier.
  • Important to real-time traffic such as audio,
    video.

20
Leaky Bucket
Host
Unregulated flow
Network interface
1. No matter the rate water enters bucket, the
outflow is constant. 2. Once bucket full, water
spills and lost.
Regulated flow
Network
21
. Leaky Bucket
  • Equivalent to a single-server queuing system with
    constant service time.
  • Same size packets (e.g., ATM cells) use packets
    as unit.
  • Variable-sized packets use numbr of bytes per
    clock tick.

22
Token Bucket
  • More flexible.
  • Allows packets to go out as fast as they come in
    provided there are enough tokens.
  • Leaky bucket holds tokens generated every T sec.
  • Allows hosts to save up for later.
  • Hosts can accumulate up to n tokens, when n is
    bucket size.

23
Leaky and Token Bucket
  • Token bucket throws away tokens but never
    packets.
  • Can be used between host and network and between
    routers.
  • Token bucket can still produce bursts.
  • Insert leaky bucket after token bucket.

24
Flow Specifications
  • Way for user/application to specify traffic
    patterns and desired quality of service.
  • Before connection established or data is sent,
    source provides flow spec to network.
  • Network can accept, reject, or counter-offer.
  • Example flow spec language by Partridge (1992).
  • Traffic spec maximum packet size, maximum
    transmission rate.
  • Service desired maximum acceptable loss rate,
    maximum delay and delay variation.

25
Gateway Protocols
Once dynamic routing has been chosen as the
preferred method of path selection the actual
protocol that will be used to implement the
metrics and perform the calculations must then be
considered. There are two main classes of gateway
protocols Interior gateway protocols and
Exterior gateway protocols. Interior gateway
protocols are used within autonomous systems,
that is a set of routers under a single technical
administration. Exterior gateway protocols are
used to communicate between autonomous systems
therefore providing the links between different
networks, in order for them to work together as a
single unit.
26
BGP v4
BGP v4 is the main routing protocol used in the
Internet today. It is a Border gateway protocol
that was designed for networks that implement
TCP/IP. BGP is an exterior gateway protocol
(EGP), which means that it performs routing
between multiple autonomous systems or domains
and exchanges routing and reachability
information with other BGP systems. The
protocol exchanges this information by using BGP
speakers to communicate to the routers that
directly neighbour it. These update messages can
contain information such as withdrawn routes and
Network reachability information. The protocol
uses a number of variables to determine the best
path for a packet. The BGP v4 protocol does not
usually take the load on the network into account
when choosing the best path. The load would
constantly be changing as users went online and
offline and there would be a lot of routing table
updates to the extent that there would be just as
much traffic being generated just to maintain the
routing table.
27
Border Gateway Protocol
  • Policies are manually configured into BGP
    routers.
  • 2 BGP routers are connected if share a common
    network.
  • BGP routers communicate reliably with TCP.
  • 3 types of networks
  • Stub networks have a single connection in the
    BGP graph cannot carry transit traffic.
  • Multi-connected networks have multiple
    connections but refuse to carry transit traffic.
  • Transit networks agree to carry transit (3rd.
    party) traffic possibly with some restriction
    e.g., backbones.

28
Congestion Implications
  • The recent growth of the Internet has adversely
    affected the stability of routing in times of
    congestion. It has been proven that when a
    network is congested and packets are dropped,
    some of these packets could be the updated
    routing information of the network.
  • Congestion in the network can hinder the
    propagation of routing information or peering
    refresh requests if the routing protocol messages
    are not isolated from data traffic.
  • So then, it would seem that the very messages
    that are providing routers with information to
    stem the build up of congestion are at risk
    themselves (with both OPSF and BGP protocols
    displaying signs of unreliability under congested
    conditions).
  • This can have great implications for routing and
    therefore Internet stability.

29
Alleviating Congestion
Various suggestions have recently been made in
order to improve upon the current TCP congestion
control methods. These include the Limited
Transmit method, which it is hoped will reduce
unnecessary retransmit timeouts, and a SACK-based
mechanism for detecting and responding to
unnecessary Fast Re-transmits or Retransmit
Timeouts. In addition to this, another method
for the improvement of the TCP congestion control
technique is offered in the form of General AIMD
Congestion Control (Yang, 2000). This paper
proposes a window adjustment strategy where the
window increase and decrease values are used as
parameters, depending on the ACKs received or
the packets lost. Another technique proposes
the widespread use of an updated version of TCP
Vegas, which they claim is fairer with regards to
packet loss than its counterparts TCP Reno and
Tahoe are, as it uses a complicated bandwidth
estimation scheme.
30
Alleviating Congestion
(Mahajan, 2000) propose a variation on the Random
Early Detection method of congestion control in
the form of RED-PD (RED with Preferential
Dropping). They suggest several weaknesses that
underlie the FIFO method of scheduling at
routers, and aim to use the packet drop history
at the router to preferentially drop the packets
of high-bandwidth flows. The authors suggest that
this will maximise fairness at the router.
(Kumar, 1998) propose the introduction of
Gigabit routers onto the Internet Backbone
provided by Internet Service Providers. The
authors feel that as well as the increased packet
forwarding speed, these routers will be able to
provide enhanced service differentiation. It is
technologically viable to incorporate mechanisms
that can provide differentiated services even at
very high speeds. These Gigabit routers have
recently started to be implemented by some ISPs
on the Internet backbone. Some of the most
controversial proposed methods for the
alleviation of Internet Congestion involve the
idea of using pricing methods. As with any other
public service many believe that pricing the
Internet would make end-users think twice about
the amount of information that they download,
which in turn would then help to decrease the
amount of congestion that is occurring.
31
Closed Loop Approaches
Congestion Continued
  • Virtual circuit networks
  • Admission control
  • Once congestion is detected, no more virtual
    circuits are set up until problem is gone.
  • Avoid congested areas.
  • Resource reservation based on service agreement.
  • Resources include space (table, buffer) in
    routers, link bandwidth.

32
Choke Packets
  • Closed loop approach.
  • Can be used in both VC and DG networks.
  • Main idea
  • Routers detect congestion.
  • Example routers measure utilization of its
    output lines if it goes above threshold,
    congestion warning.
  • New packet using line in warning state will be
    forwarded normally (tagged for no more choke
    packets), but generates choke packet back to
    source with destination.
  • Hosts receiving choke packets
  • Decrease their traffic to the problematic
    destination.
  • Ignore other choke packets for the same
    destination for some period of time.
  • After that period, if more choke packets for same
    destination, reduce traffic even more, etc.
  • Reducing traffic
  • Adjust window size, leaky bucket rate, etc.

33
Hop-by-Hop Choke Packets
  • Goal is to provide quick relief at congestion
    point.
  • Choke packet takes effect at every hop it passes
    through.
  • Intermediate nodes reduce traffic on
    corresponding output line.
  • More buffers since input traffic stays the same
    until choke packet reaches previous hop.

34
Fair Queuing
  • Problem with choke packets
  • Route sends signal, but its up to host to react.
  • Well-behaved hosts loose!
  • Fair queuing makes compliance attractive.
  • Routers have multiple queues per output line.
  • One queue per source.
  • Router scans queues in round robin, transmitting
    first packet on next queue.

35
Weighted Fair Queuing
  • Enable different priorities.
  • Different queues may have different priorities.
  • Handle various types of traffic differently.

36
Load Shedding
  • If everything else fails, routers simply drop
    packets.
  • Choosing packets to drop
  • Randomly.
  • Some packets are worth more than others.
  • Application dependent
  • Data distribution old packets more important
    than new.
  • Real-time applications new more important than
    old.
  • Applications need to mark packets with their
    priority
  • Marking packets required special bits in packet
    header.
  • ATM cells have 1 bit in the header reserved for
    this purpose.
  • When routers sense some congestion build up,
    better to start dropping packets early rather
    than waiting until it becomes completely swamped.

37
Internetworking
  • Interconnection of 2 or more networks forming an
    internetwork, or internet.
  • LANs, MANs, and WANs.
  • Different networks man different protocols.
  • TCP/IP, IBMs SNA, DECs DECnet, ATM, Novell and
    AppleTalk (for LANs).
  • Also, satellite and cellular networks.

38
Example Internet
LAN-WAN- LAN
802.5 LAN
R
802.3 LAN
802.3 LAN
802.4 LAN
X.25 WAN
B
R
R
LAN- WAN
LAN-LAN
R
Gateway device connecting 2 or more different
networks.
SNA WAN
39
Gateways
  • Repeaters operate at physical layer (bits)
    amplify/regenerate signal.
  • Bridges store-and-forward frames data link
    layer devices.
  • Routers operate at network layer.
  • Transport gateways connect networks at the
    transport layer.
  • Application gateways connect 2 parts of an
    application at application layer.

40
Half-Gateways
  • Gateway is split in two each half owned and
    operated by one of the network providers.
  • Common protocol between the 2 halves.

Half-gateway
N2
N1
41
How do networks differ?
  • Service offered connection-oriented vs
    connection-less.
  • Protocols IP, IPX, AppleTalk, DECnet.
  • Addressing flat (802) versus hierarchical (IP).
  • Maximum packet size.
  • Quality of service.
  • Error control reliable, ordered, unordered
    delivery.
  • Flow control sliding window versus rate-based.
  • Congestion control leaky bucket, choke packets.
  • Security privacy rules, encryption.
  • Parameters different timeouts.

42
Types of Internetworks
  • Connection-oriented concatenation of VC subnets.
  • VC between source and router closest to
    destination network.
  • Router builds V to gateway to other subnet.
  • Gateway keeps state about that VC.
  • Builds VC to router in the next subnet, etc.
  • Every packet traverses same path.
  • Ordered delivery.
  • Routers convert between packet formats.

43
Connection-oriented concatenation
  • VC between source and router closest to
    destination network.
  • Router builds VC to gateway to other subnet.
    Gateway keeps state about VC.
  • Gateway builds VC to router in the next subnet,
    etc.
  • Every packet traverses same path.
  • Ordered delivery.
  • Routers convert between packet formats.

44
Connectionless Internetworking
  • Datagram model.
  • Different packets may take different routes.
  • Separate routing decision for each packet.
  • No ordered delivery guarantees.

45
Datagram versus VC Internets
  • VC
  • Pluss resources reserved in advance, ordered
    delivery, short headers.
  • Minuss vulnerability to failures, less
    adaptive, hard if involving datagram subnet.
  • Datagram
  • Pluss more robust and adaptive, can be used
    over datagram subnets (many LANs, mobile
    networks).
  • Minuss Longer headers, unordered delivery.

46
Tunneling
  • Interconnecting through a foreign subnet.

Tunnel
Ethernet 2
Ethernet 1
G
G
WAN
IP
IP
IP
Ethernet frame
Ethernet frame
IP packet inside payload field of WAN packet.
47
Internetwork Routing
  • 2-level hierarchy
  • Routing within each network interior gateway
    protocol.
  • Routing between networks exterior gateway
    protocol.
  • Within each network, different routing algorithms
    can be used.
  • Each network is autonomously managed and
    independent of others autonomous system (AS).
  • Typically, packet starts in its LAN. Gateway
    receives it (broadcast on LAN to unknown
    destination).
  • Gateway sends packet to gateway on the
    destination network using its routing table. If
    it can use the packets native protocol, sends
    packet directly. Otherwise, tunnels it.

48
Fragmentation
  • Network-specific maximum packet size.
  • Width of TDM slot.
  • OS buffer limitations.
  • Protocol (number of bits in packet length field).
  • Maximum payloads range from 48 bytes (ATM cells)
    to 64Kbytes (IP packets).
  • What happens when large packet wants to travel
    through network with smaller maximum packet size?
    Fragmentation.
  • Gateways break packets into fragments each sent
    as separate packet.
  • Gateway on the other side have to reassemble
    fragments into original packet.
  • 2 kinds of fragmentation transparent and
    non-transparent.

49
Transparent Fragmentation
  • Small-packet network transparent to other
    subsequent networks.
  • Fragments of a packet addressed to the same exit
    gateway, where packet is reassembled.
  • OK for concatenated VC internetworking.
  • Subsequent networks are not aware fragmentation
    occurred.
  • ATM networks (through special hardware) provide
    transparent fragmentation segmentation.

50
Problems with Transparent Fragmentation
  • Exit gateway must know when it received all the
    pieces.
  • Fragment counter or end of packet bit.
  • Some performance penalty but requiring all
    fragments to go through same gateway.
  • May have to repeatedly fragment and reassemble
    through series of small-packet networks.

51
Non-Transparent Fragmentation
  • Only reassemble at destination host.
  • Each fragment becomes a separate packet.
  • Thus routed independently.
  • Problems
  • Hosts must reassemble.
  • Every fragment must carry header until it reaches
    destination host.

52
Keeping Track of Fragments
  • Fragments must be numbered so that original data
    stream can be reconstructed.
  • Tree-structured numbering scheme
  • Packet 0 generates fragments 0.0, 0.1, 0.2,
  • If these fragments need to be fragmented later
    on, then 0.0.0, 0.0.1, , 0.1.0, 0.1.1,
  • But, too much overhead in terms of number of
    fields needed.
  • Also, if fragments are lost, retransmissions can
    take alternate routes and get fragmented
    differently.
  • Another way is to define elementary fragment size
    that can pass through every network.
  • When packet fragmented, all pieces equal to
    elementary fragment size, except last one (may be
    smaller).
  • Packet may contain several fragments.

53
Firewalls
  • Analogy ditch around medieval castles.
  • To enter or exit castle, must pass over single
    bridge.
  • Firewalls force traffic to and from company
    through single point.
  • Firewalls typically consist of
  • Packet filters (one for incoming, other for
    outgoing packets).
  • Application gateway.

54
Firewalls
  • Packet filter router equipped with capability of
    inspecting packets.
  • Packets that meet criteria are forwarded others
    discarded.
  • Application gateways operate at application
    level e.g., mail gateway.

Application gateway
Corporate network
Outside world
55
The Internet Network Layer
  • The Internet as a collection on networks or
    autonomous systems (ASs).
  • Hierarchical structure.

Transcontinental
UK backbone
Transcontinental links
links
European backbone
Regional network
National network
Write a Comment
User Comments (0)
About PowerShow.com