CONTENTS
•Computer networks
•Routing Algorithm
•Congestion
•Cause for congestion
•Effect of Congestion
•Understand various open-loop and close-loop congestion control techniques:
•the leaky bucket algorithm
•the token bucket algorithm
•Difference between flow and congestion control
• A computer network, or data network, is a digital telecommunications network which
allows nodes to share resources.
• In computer networks, computing devices exchange data with each other using connections (data
links) between nodes. these data links are established over cable media such as wires or optic cables,
or wireless media such as Wi-Fi.
• network computer devices that originate, route and terminate the data are called network nodes.
COMPUTER NETWORKS
ROUTING ALGORITHM
• A routing algorithm is a method for determining the routing of packets in a node. for each
node of a network, the algorithm determines a routing table, which in each destination,
matches an output line. OR
• A routing algorithm is a set of step-by-step operations used to direct internet traffic
efficiently. when a packet of data leaves its source, there are many different paths it can take
to its destination. the routing algorithm is used to determine mathematically the best path
to take.
CONGESTION• Congestion is a situation in communication networks in which too many packets are present in a part of
the subnet, performance degrades.
• Congestion in a network may occur when the load on the network (i.e. the number of packets sent to the
network) is greater than the capacity of the network (i.e. the number of packets a network can handle.).
• Typical effects include queuing delay, packet loss or the blocking of new connections.
• Denial-of-service attacks by botnets are capable of filling even the largest internet backbone network
links, generating large-scale network congestion.
• In telephone networks, a mass call event can overwhelm
digital telephone circuits.
CAUSES OF CONGESTION
• Congestion can occur on a router when packets arrive at a greater rate than possible to forward.
congestion can be sporadic or long term.
• Packets arrive on several channels to be forwarded on a single channel.
• Incoming channel has a higher bandwidth than outgoing channel.
• Channel bandwidth is sufficient but router cpu processing is too slow to handle bookkeeping
(queuing, routing table updates, etc.).
• Router lacks sufficient memory buffer space.
• Under an end-to-end reliable protocol (e.g. tcp), even with infinite memory, congestion can get
worse because packets have timed out (e.g. moving from queue back to front on router or due
to delay in acknowledging on a receiver) resulting in duplicates, adding to the congestion.
EFFECTS OF CONGESTION
• Congestive collapse (or congestion collapse) is the condition in which congestion
prevents or limits useful communication.
• It generally occurs at choke points(LAN&WAN) in the network, where incoming
traffic exceeds outgoing bandwidth.
• It was first observed on the early internet in October 1986, when the nsfnet phase-i
backbone dropped three orders of magnitude from its capacity of 32 Kbit/s to
40 bit/s, which continued until end nodes started implementing van Jacobson's
congestion control between 1987 and 1988.
• Effect of congestion on throughput.
• The percentage utilization of the network capacity.
• Effect of congestion on delay.
CONGESTION CONTROL TECHNIQUE
• These include: exponential back off in protocols such as CSMA/CA in 802.11 and the similar CSMA/CD in the
original ethernet, window reduction in TCP, and fair queueing in devices such as routers and network switches.
• Other techniques that address congestion include priority schemes which transmit some packets with higher
priority ahead of others and the explicit allocation of network resources to specific flows through the use of
admission control.
• Open loop: protocols to prevent or avoid congestion, ensuring that the system (or network under consideration)
never enters a congested state.
• Close loop: protocols that allow system to enter congested
state, detect it, and remove it.
Open loop
• Open loop congestion control policies are applied to prevent congestion before it happens. The congestion control is
handled either by the source or the destination.
Policies adopted by open loop congestion control –
• Retransmission policy :If the sender feels that a sent packet is lost or corrupted, the packet needs to be retransmitted. This
transmission may increase the congestion in the network.
To prevent congestion, retransmission timers must be designed to prevent congestion and also able to optimize efficiency.
• Window policy :the type of window at the sender side may also affect the congestion. Several packets in the go-back-n window are
resent, although some packets may be received successfully at the receiver side. This duplication may increase the congestion in the
network and making it worse.
Therefore, selective repeat window should be adopted as it sends the specific packet that may have been lost.
• Discarding policy :a good discarding policy adopted by the routers is that the routers may prevent congestion and at the same time
partially discards the corrupted or less sensitive package and also able to maintain the quality of a message.
In case of audio file transmission, routers can discard less sensitive packets to prevent congestion and also maintain the quality of the
audio file.
• Acknowledgment policy :The receiver should send acknowledgement for N packets rather than sending acknowledgement for a single
packet. The receiver should send a acknowledgment only if it has to sent a packet or a timer expires.
• Admission policy :. Switches in a flow should first check the resource requirement of a network flow before transmitting it further. If
there is a chance of a congestion or there is a congestion in the network, router should deny establishing a virtual network connection
to prevent further congestion.
Close loop
• Closed loop congestion control technique is used to treat or alleviate congestion after it happens. Several
techniques are used by different protocols:
• Backpressure :It is a technique in which a congested node stop receiving packet from upstream node. This may
cause the upstream node or nodes to become congested and rejects receiving data from above nodes.
Backpressure is a node-to-node congestion control technique that propagate in the opposite direction of data
flow. The backpressure technique can be applied only to virtual circuit where each node has information of its
above upstream node.
Continued…..
• Choke packet technique :it is applicable to both virtual networks as well as datagram subnets.
• Implicit signaling : there is no communication between the congested nodes and the source. The source guesses that there is congestion in a
network.
• Explicit signaling :if a node experiences congestion it can explicitly sends a packet to the source or destination to inform about congestion. The
difference between choke packet and explicit signaling is that the signal is included in the packets that carry data rather than creating different
packet as in case of choke packet technique. Explicit signaling can occur in either forward or backward direction.
• Forward signaling : it is sent in the direction of the congestion. The destination is warned about congestion. The receiver in this case adopt
policies to prevent further congestion.
• Backward signaling : Itis sent in the opposite direction of the congestion. The source is warned about congestion and it needs to slow
down.
CONGESTION CONTROL :Traffic shaping
• It is about regulating average rate of data flow.
• It is the method of congestion control by providing the shape to data flow
before entering the packet into the network.
• At connection set-up time, the sender and the carrier negotiate a traffic pattern
(shape)
• There are two types of Traffic shaping algorithm:
1.Leaky Bucket Algorithm
2. Token Bucket Algorithm
1. LeafyBucket Algorithm
• It is a traffic shaping mechanism that controls the amount and the rate of the traffic sent to the
network.
• A leaky bucket algorithm shapes bursty traffic into fixed rate traffic by averaging the data rate.
• Imagine a bucket with a small hole at the bottom.
• The rate at which the water is poured into the bucket is not fixed and can vary but it leaks from
the bucket at a constant rate. Thus (as long as water is present in bucket), the rate at which the
water leaks does not depend on the rate at which the water is input to the bucket.
• When the bucket is full, any additional water that enters into the bucket spills over the sides
and It lost.
• The same concept can be applied to packets in the network.
• JONATHAN S. TURNER IS CREDITEDWITH THE ORIGINAL DESCRIPTION OF THE LEAKY BUCKET
ALGORITHM
Algorithm
STEP-1: Initialise the counter to”n” at every tick of clock.
STEP-2: If n is greater than the size of the packet ,send the packet and decrement the counter by
the packet size .Repeat this step until n is smaller than the packet size.
STEP-3: Reset the counter and go to step 1.
Application
• The generic cell rate algorithm is a version of leafy bucket algorithm which is often implemented
in the networks using ATM (asynchronous transfer mode).
• The leaky bucket algorithm involves its use as queue implemented for controlling the flow of
traffic.
• The meter version of leaky bucket algorithm is used as counter for checking.
• It is used to implement traffic policing and traffic shaping in Ethernet and cellular data .
• Leafy Bucket algorithm is used as the mechanism of UPC(Usage Parameter Control) in the
network.
Disadvantage
• The leaky bucket algorithm allows only an average (constant) rate of data flow. Its major
problem is that it cannot deal with bursty data.
• A leaky bucket algorithm does not consider the idle time of the host. For example, if the
host was idle for 10 seconds and now it is willing to sent data at a very high speed for
another 10 seconds, the total data transmission will be divided into 20 seconds and average
data rate will be maintained. The host is having no advantage of sitting idle for 10 seconds.
2.Tokenbucket algorithm
• A token bucket algorithm allows bursty data transfers.
• A token bucket algorithm is a modification of leaky bucket in which leaky bucket contains tokens.
• In this algorithm, a token(s) are generated at every clock tick. For a packet to be transmitted,
system must remove token(s) from the bucket.
• Thus, a token bucket algorithm allows idle hosts to accumulate credit for the future in form of
tokens.
• For example, if a system generates 100 tokens in one clock tick and the host is idle for 100 ticks.
The bucket will contain 10,000 tokens. Now, if the host wants to send bursty data, it can consume
all 10,000 tokens at once for sending 10,000 cells or bytes.
• Thus a host can send bursty data as long as bucket is not empty.
Algorithm
Applications
• It is used in packet switched computer network and telecommunication networks .
• It can used to check data transmission, in the form of packets ,conform to define limits on band
width or burstiness.
• It can used as a scheduling algorithm to determine the timing of transmission.
• Rate estimation.
• Traffic monitoring.
• Congestion avoidance.
Leafy bucket vs. Token bucket
LEAFY BUCKET
• Token independent.
• If bucket is full packet or data is discarded.
• Packets are transmitted continuously.
• It sends the packet at constant rate.
• It does not save token
TOKEN BUCKET
• Token dependent.
• If bucket is full token are discarded ,but not
the packet.
• Packets are only transmitted when there are
enough token.
• It allows large burst to be sent faster rate
after that constant rate.
• It saves token to send large burst.
Distinguish between flow and congestion control
FLOW CONTROL
• It controls the traffic from a particular sender to
a receiver.
• It prevents the receiver from being
overwhelmed by the data.
• It prevents the network from getting congested.
CONGESTION CONTROL
• It controls the traffic entering the network.
• It prevents the network from getting congested.
• Congestion control is the responsibility handled by
network layer and transport layer.
• Monitoring network traffic provides insight about where possible congestion may lie.
• Network Segmentation divide your network into smaller sub-networks.
• Use a content delivery network Can reduce network congestion by placing more requests on edge
servers. Away from your central network.
• Reconfigure TCP/IP settings adjust the TCP/IP settings to slow the request of packets.
• Backpressure routing As the throughput of a network reaches capacity, rather than continuing to send
data over that network route, you can choose a different path.
• Choke packet
• Implicit congestion notification Performed at in the sending data packets. The node will pick up
information to determine whether the each hop of data transmission. This means there is a node re is a
possibility of congestion.
WAYS TO REDUCE CONGESTION
Congestion Control

Congestion Control

  • 2.
    CONTENTS •Computer networks •Routing Algorithm •Congestion •Causefor congestion •Effect of Congestion •Understand various open-loop and close-loop congestion control techniques: •the leaky bucket algorithm •the token bucket algorithm •Difference between flow and congestion control
  • 3.
    • A computernetwork, or data network, is a digital telecommunications network which allows nodes to share resources. • In computer networks, computing devices exchange data with each other using connections (data links) between nodes. these data links are established over cable media such as wires or optic cables, or wireless media such as Wi-Fi. • network computer devices that originate, route and terminate the data are called network nodes. COMPUTER NETWORKS
  • 4.
    ROUTING ALGORITHM • Arouting algorithm is a method for determining the routing of packets in a node. for each node of a network, the algorithm determines a routing table, which in each destination, matches an output line. OR • A routing algorithm is a set of step-by-step operations used to direct internet traffic efficiently. when a packet of data leaves its source, there are many different paths it can take to its destination. the routing algorithm is used to determine mathematically the best path to take.
  • 5.
    CONGESTION• Congestion isa situation in communication networks in which too many packets are present in a part of the subnet, performance degrades. • Congestion in a network may occur when the load on the network (i.e. the number of packets sent to the network) is greater than the capacity of the network (i.e. the number of packets a network can handle.). • Typical effects include queuing delay, packet loss or the blocking of new connections. • Denial-of-service attacks by botnets are capable of filling even the largest internet backbone network links, generating large-scale network congestion. • In telephone networks, a mass call event can overwhelm digital telephone circuits.
  • 6.
    CAUSES OF CONGESTION •Congestion can occur on a router when packets arrive at a greater rate than possible to forward. congestion can be sporadic or long term. • Packets arrive on several channels to be forwarded on a single channel. • Incoming channel has a higher bandwidth than outgoing channel. • Channel bandwidth is sufficient but router cpu processing is too slow to handle bookkeeping (queuing, routing table updates, etc.). • Router lacks sufficient memory buffer space. • Under an end-to-end reliable protocol (e.g. tcp), even with infinite memory, congestion can get worse because packets have timed out (e.g. moving from queue back to front on router or due to delay in acknowledging on a receiver) resulting in duplicates, adding to the congestion.
  • 7.
    EFFECTS OF CONGESTION •Congestive collapse (or congestion collapse) is the condition in which congestion prevents or limits useful communication. • It generally occurs at choke points(LAN&WAN) in the network, where incoming traffic exceeds outgoing bandwidth. • It was first observed on the early internet in October 1986, when the nsfnet phase-i backbone dropped three orders of magnitude from its capacity of 32 Kbit/s to 40 bit/s, which continued until end nodes started implementing van Jacobson's congestion control between 1987 and 1988. • Effect of congestion on throughput. • The percentage utilization of the network capacity. • Effect of congestion on delay.
  • 9.
    CONGESTION CONTROL TECHNIQUE •These include: exponential back off in protocols such as CSMA/CA in 802.11 and the similar CSMA/CD in the original ethernet, window reduction in TCP, and fair queueing in devices such as routers and network switches. • Other techniques that address congestion include priority schemes which transmit some packets with higher priority ahead of others and the explicit allocation of network resources to specific flows through the use of admission control. • Open loop: protocols to prevent or avoid congestion, ensuring that the system (or network under consideration) never enters a congested state. • Close loop: protocols that allow system to enter congested state, detect it, and remove it.
  • 10.
    Open loop • Openloop congestion control policies are applied to prevent congestion before it happens. The congestion control is handled either by the source or the destination. Policies adopted by open loop congestion control – • Retransmission policy :If the sender feels that a sent packet is lost or corrupted, the packet needs to be retransmitted. This transmission may increase the congestion in the network. To prevent congestion, retransmission timers must be designed to prevent congestion and also able to optimize efficiency. • Window policy :the type of window at the sender side may also affect the congestion. Several packets in the go-back-n window are resent, although some packets may be received successfully at the receiver side. This duplication may increase the congestion in the network and making it worse. Therefore, selective repeat window should be adopted as it sends the specific packet that may have been lost. • Discarding policy :a good discarding policy adopted by the routers is that the routers may prevent congestion and at the same time partially discards the corrupted or less sensitive package and also able to maintain the quality of a message. In case of audio file transmission, routers can discard less sensitive packets to prevent congestion and also maintain the quality of the audio file. • Acknowledgment policy :The receiver should send acknowledgement for N packets rather than sending acknowledgement for a single packet. The receiver should send a acknowledgment only if it has to sent a packet or a timer expires. • Admission policy :. Switches in a flow should first check the resource requirement of a network flow before transmitting it further. If there is a chance of a congestion or there is a congestion in the network, router should deny establishing a virtual network connection to prevent further congestion.
  • 11.
    Close loop • Closedloop congestion control technique is used to treat or alleviate congestion after it happens. Several techniques are used by different protocols: • Backpressure :It is a technique in which a congested node stop receiving packet from upstream node. This may cause the upstream node or nodes to become congested and rejects receiving data from above nodes. Backpressure is a node-to-node congestion control technique that propagate in the opposite direction of data flow. The backpressure technique can be applied only to virtual circuit where each node has information of its above upstream node.
  • 12.
    Continued….. • Choke packettechnique :it is applicable to both virtual networks as well as datagram subnets. • Implicit signaling : there is no communication between the congested nodes and the source. The source guesses that there is congestion in a network. • Explicit signaling :if a node experiences congestion it can explicitly sends a packet to the source or destination to inform about congestion. The difference between choke packet and explicit signaling is that the signal is included in the packets that carry data rather than creating different packet as in case of choke packet technique. Explicit signaling can occur in either forward or backward direction. • Forward signaling : it is sent in the direction of the congestion. The destination is warned about congestion. The receiver in this case adopt policies to prevent further congestion. • Backward signaling : Itis sent in the opposite direction of the congestion. The source is warned about congestion and it needs to slow down.
  • 13.
    CONGESTION CONTROL :Trafficshaping • It is about regulating average rate of data flow. • It is the method of congestion control by providing the shape to data flow before entering the packet into the network. • At connection set-up time, the sender and the carrier negotiate a traffic pattern (shape) • There are two types of Traffic shaping algorithm: 1.Leaky Bucket Algorithm 2. Token Bucket Algorithm
  • 14.
    1. LeafyBucket Algorithm •It is a traffic shaping mechanism that controls the amount and the rate of the traffic sent to the network. • A leaky bucket algorithm shapes bursty traffic into fixed rate traffic by averaging the data rate. • Imagine a bucket with a small hole at the bottom. • The rate at which the water is poured into the bucket is not fixed and can vary but it leaks from the bucket at a constant rate. Thus (as long as water is present in bucket), the rate at which the water leaks does not depend on the rate at which the water is input to the bucket. • When the bucket is full, any additional water that enters into the bucket spills over the sides and It lost. • The same concept can be applied to packets in the network. • JONATHAN S. TURNER IS CREDITEDWITH THE ORIGINAL DESCRIPTION OF THE LEAKY BUCKET ALGORITHM
  • 16.
    Algorithm STEP-1: Initialise thecounter to”n” at every tick of clock. STEP-2: If n is greater than the size of the packet ,send the packet and decrement the counter by the packet size .Repeat this step until n is smaller than the packet size. STEP-3: Reset the counter and go to step 1.
  • 18.
    Application • The genericcell rate algorithm is a version of leafy bucket algorithm which is often implemented in the networks using ATM (asynchronous transfer mode). • The leaky bucket algorithm involves its use as queue implemented for controlling the flow of traffic. • The meter version of leaky bucket algorithm is used as counter for checking. • It is used to implement traffic policing and traffic shaping in Ethernet and cellular data . • Leafy Bucket algorithm is used as the mechanism of UPC(Usage Parameter Control) in the network.
  • 19.
    Disadvantage • The leakybucket algorithm allows only an average (constant) rate of data flow. Its major problem is that it cannot deal with bursty data. • A leaky bucket algorithm does not consider the idle time of the host. For example, if the host was idle for 10 seconds and now it is willing to sent data at a very high speed for another 10 seconds, the total data transmission will be divided into 20 seconds and average data rate will be maintained. The host is having no advantage of sitting idle for 10 seconds.
  • 20.
    2.Tokenbucket algorithm • Atoken bucket algorithm allows bursty data transfers. • A token bucket algorithm is a modification of leaky bucket in which leaky bucket contains tokens. • In this algorithm, a token(s) are generated at every clock tick. For a packet to be transmitted, system must remove token(s) from the bucket. • Thus, a token bucket algorithm allows idle hosts to accumulate credit for the future in form of tokens. • For example, if a system generates 100 tokens in one clock tick and the host is idle for 100 ticks. The bucket will contain 10,000 tokens. Now, if the host wants to send bursty data, it can consume all 10,000 tokens at once for sending 10,000 cells or bytes. • Thus a host can send bursty data as long as bucket is not empty.
  • 22.
  • 24.
    Applications • It isused in packet switched computer network and telecommunication networks . • It can used to check data transmission, in the form of packets ,conform to define limits on band width or burstiness. • It can used as a scheduling algorithm to determine the timing of transmission. • Rate estimation. • Traffic monitoring. • Congestion avoidance.
  • 25.
    Leafy bucket vs.Token bucket LEAFY BUCKET • Token independent. • If bucket is full packet or data is discarded. • Packets are transmitted continuously. • It sends the packet at constant rate. • It does not save token TOKEN BUCKET • Token dependent. • If bucket is full token are discarded ,but not the packet. • Packets are only transmitted when there are enough token. • It allows large burst to be sent faster rate after that constant rate. • It saves token to send large burst.
  • 27.
    Distinguish between flowand congestion control FLOW CONTROL • It controls the traffic from a particular sender to a receiver. • It prevents the receiver from being overwhelmed by the data. • It prevents the network from getting congested. CONGESTION CONTROL • It controls the traffic entering the network. • It prevents the network from getting congested. • Congestion control is the responsibility handled by network layer and transport layer.
  • 28.
    • Monitoring networktraffic provides insight about where possible congestion may lie. • Network Segmentation divide your network into smaller sub-networks. • Use a content delivery network Can reduce network congestion by placing more requests on edge servers. Away from your central network. • Reconfigure TCP/IP settings adjust the TCP/IP settings to slow the request of packets. • Backpressure routing As the throughput of a network reaches capacity, rather than continuing to send data over that network route, you can choose a different path. • Choke packet • Implicit congestion notification Performed at in the sending data packets. The node will pick up information to determine whether the each hop of data transmission. This means there is a node re is a possibility of congestion. WAYS TO REDUCE CONGESTION

Editor's Notes

  • #6 Daily life example of Congestion-Average TCH (Traffic Channel)Drop.