Subscribe by Email


Showing posts with label Flow control. Show all posts
Showing posts with label Flow control. Show all posts

Wednesday, September 4, 2013

What is a choke packet?

- The networks often experience problems with congestion and flow of the traffic. 
- While implementing flow control a special type of packet is used throughout the network. 
- This packet is known as the choke packet. 
- The congestion in the network is detected by the router when it measures the percentage of the buffers that are actually being used. 
- It also measures the utilization of the lines and average length of the queues. 
When the congestion is detected, the router transmits choke packets throughout the network. 
- These choke packets are meant for the data sources that are spread across the network and which have an association with the problem of congestion. 
These data sources in turn respond by cutting down on the amount of the data that they are transmitting. 
A choke packet has been found to be very useful in the maintenance tasks of the network. 
- It also helps in maintaining the quality to some extent. 
- In both of these tasks, it is used for informing the specific transmitters or the nodes that the traffic they are sending is resulting in congestion in the network. 
Thus, the transmitters or the nodes are forced to decrease the rate at which they are generating traffic. 
- The main purpose of the choke packets is controlling the congestion and maintaining flow control throughout the network. 
- The router directly addresses the source node, thus causing it to cut down its data transmission rate. 
- This is acknowledged by the source node by making reductions by some percentage in the transmission rates. 
- An example of the choke packet commonly used by the most of the routers is the source quench packet by ICMP (internet control message protocol).  
- The technique of using the choke packets for congestion control and recovery of the network involves the use of the routers. 
- The whole network is continuously monitored over by the routers for any abnormal activity.
- Factors such as the space in the buffers, queue lengths and the line utilization are checked by the routers. 
- In case the congestion occurs in the network, the choke packets are sent by the routers to the corresponding parts of the network instructing them to reduce the throughput. 
- The node that is the source of the congestion has to reduce its throughput rate by a certain percentage that depends on the size of the buffer, bandwidth that is available and the extent of the congestion. 
- Sending the choke packets is the way of routers telling the nodes to slow down so that the traffic can be fairly distributed over the nodes. 
- The advantage of using this technique is that it is dynamic in nature. 
The source node might send as much data as required while the network might inform that it is sending large amounts of traffic.
- The disadvantage is that it is difficult to know by what factor the node should reduce its throughput.
- The amount of the congestion being caused by this node and the capacity of the region in which congestion has occurred is responsible for deciding this. 
- In practical, this information is not instantly available. 
- Another disadvantage is that after the node has received the choke packet, it should be capable of rejecting the other choke packets for some time. 
- This is so because many additional choke packets might be generated during the transmission of the other packets. 

The question is for how long the node is supposed to ignore these packets? 
- This depends up on some dynamic factors such as the delay time. 
- Not all congestion problems are same, they vary over the network depending up on its topology and number of nodes it has. 


Monday, August 26, 2013

What is the difference between congestion control and flow control?

Flow control and congestion control are similar sounding concepts and often confuse us sometimes. In this article we shall discuss about the differences between these two. 

- Computer networks use the flow control mechanism for keeping control over the data flow between two nodes in such a way that the receiver if it is slower when compared to the sender is not outrun by it. 
- The mechanism of flow control also provides ways to the receiver to maintain control over the speed with which it transmits the information.
- On the other side, the congestion control provides mechanism for the controlling the data flow under the condition of actual congestive collapse. 
- The mechanism keeps a control over the entry of data in to the network so that this traffic can be handled by the network effectively.  
- The mechanism of flow control does not let the receiving node get overwhelmed by the traffic that is being sent by another node. 

There are several reasons why this flow of data gets out of control and affects the network negatively. 
- First reason being that the receiving node might not be capable of processing the incoming data as fast as it is being sent by the sender node. 
Based on these reasons there are various types of flow control mechanisms available. 
- However, the most common categorization is based on the fact whether the feedback is being sent to the sender or not. 
- There is another flow control mechanism called the open loop flow control mechanism. 
- In this mechanism no feedback is sent to the sender by the receiver and this perhaps the most widely used flow control mechanism. 
- Opposite of open loop flow control mechanism is the closed loop flow control. 
- In this mechanism, the receiver sends back congestion information to the sender. 
- Other commonly used flow control mechanisms are:
Ø  Network congestion
Ø  Windowing flow control
Ø  Data buffer etc.

- Congestion control offers such methods that can be used for regulating the incoming traffic in the network to such an extent where the network itself can manage all that.
- In congestion control, the network is prevented from falling in to a state of congestive collapse. 
- In such a state either little or no communication happens.
- This little communication is of no help. 
- Switching networks usually require congestion control measures than any other type of networks. 
- The congestion control is driven by the goal of keeping the number of data packets at such a level that the performance of the network would be reduced dramatically.
- Congestion control mechanism can be seen even in protocols such as UDP (user datagram protocol), TCP (transport control protocol) and other transport layer protocols. 
- TCP makes use of the exponential back off and slow start algorithms. 
- We classify the congestion control algorithms based up on the feedback that is given by the network, the performance aspect that has to be improved, and modifications that have to be made for the present network, fairness criterion that is being used and so on. 

- Congestion and flow control are two very important mechanisms used for keeping the traffic flow in order. 
- Flow control is a mechanism that stretches from one end to another i.e., between the sender and the receiver where the speed of sender is much higher than that of the receiving node. 
- Congestion control is implemented for preventing packet loss as well as delay that is caused as a side effect of the network congestion. 
- Congestion is meant for controlling the traffic of the entire whereas flow control is limited to transmission between two nodes.


Sunday, August 25, 2013

What is the concept of flow control?

- Flow control is an important concept in the field of data communications. 
- This process involves management of the data transmission rate between two communicating nodes. 
- Flow control is important to avoid a slow receiver from being outrun by a fast sender. 
- Using flow control, a mechanism is designed for the receiver using which it can control its speed of transmission.
- This prevents the receiving node from getting overwhelmed with traffic from the node that is transmitting.
- Do not confuse yourself with congestion control and flow control. Both are different concepts. 
- Congestion control comes in to play when in actual there is a problem of network congestion for controlling the data flow. 

On the other hand the mechanism of flow control can be classified in the following two ways:
  1. The feedback is sent to the sending node by the receiving node.
  2. The feedback is not sent to the sending node by the receiving node.
- The sending computer might tend to send the data at a faster rate than what can be received and processed by the other computer. 
- This is why we require flow control. 
- This situation arises when the traffic load is too much up on the receiving computer when compared to the computer that is sending the data. 
- It can also arise when the processing power of the receiving computer is slower than the processing power of the one that is sending the data.

Stop and Wait Flow Control Technique 
- This is the simplest type of the flow control technique. 
- Here, when the receiver is ready to start receiving data from the sender, the message is broken down in to a number of frames. 
- The sending system then waits for a specific time to get an acknowledgement or ACK from the receiver after sending each frame. 
- The purpose of the acknowledgement signal is to make sure that the frame has been received properly. 
- If during the transmission a packet or frame gets lost, then it has to be re-transmitted. 
- We call this process as the automatic repeat request or ARQ. 
- This technique has a problem which is that it is capable of transmitting only one frame in one go. 
- This makes the transmission channel very inefficient. 
- Therefore, until and unless the sender gets an acknowledgement it will not proceed further for transmitting another packet. 
- Both the transmission channel and the sender are left un-utilized during this period. 
- Simplicity of this method is its biggest advantage. 
- Disadvantage is the inefficiency resulting because of this simplicity. 
- Waiting state of the sender creates inefficiency. 
- This happens usually when the transmission delay is shorter than the propagation delay. 
- Sending longer transmissions is another cause for inefficiencies. 
- Also, it increases the chance for the errors to creep in this protocol. 
- In short messages, it is quite easy to detect the errors early. 
- By breaking down one big message in to various separate smaller frames, the inefficiency increases. 
- This is so because these pieces altogether take a long to be transmitted.


Sliding window Flow Control Technique 
- This is another method of flow control where permission is given to the sender by the receiver for continuously transmitting data until a window is filled up. 
- Once the window is full, sender stops transmission until a larger window is advertised. 
- This method can be utilized in a better way if the size of the buffer is kept limited. 
- During the transmission, space for say n frames is allocated to the buffer. 
This means n frames can be accepted by the receiver without having to wait for ACK. 
- After n frames an ACK is sent consisting of the sequence number of the next frame that has to be sent. 


Saturday, August 24, 2013

How can the problem of congestion be controlled?

Networks often get trapped in the situation of what we call network congestion. For avoiding such collapses, congestion avoidance and congestion control techniques are often used by the networks nowadays. 

In this article, we discuss about how we can control the problem of network congestion using these techniques. Few very common techniques are:
  1. Exponential back off (used in CSMA/ CA protocols and Ethernet.)
  2. Window reduction (used in TCP)
  3. Fair queuing (used in devices such as routers)
  4. The implementation of the priority schemes is another way of avoiding the negative effects of this very common problem. Priority schemes let the network transmit the packets having higher priority over the others. This way only the effects of the network congestion can be alleviated for some important transmissions. Priority schemes alone cannot solve this problem.
  5. Another method is the explicit allocation of the resources of the network to certain flows. This is commonly used in CFTXOPs (contention – free transmission opportunities) providing very high speed for LAN (local area networks) over the coaxial cables and phone lines that already exist.
- The main cause of the problem of network congestion is the limited capacity of the network. 
- This is to say that the network has limited. 
- The resources also include the link throughput and the router processing time. 
- Congestion control is concerned with curbing the entry of the traffic in to the telecommunications network so that the problem of congestive collapse can be avoided. 
- The over-subscription of the link capabilities is avoided and steps are taken to reduce the resources. 
- One such step is reducing the packet transmission rate. 
- Even though if it sounds similar to flow control, it is not the same thing. 
- Frank Kelly is known as the pioneer of the theory of congestion control. 
- For describing the way in which the network wide rate allocation can be optimized by the individuals by controlling their rates, he used two theories namely the convex optimization theory and the micro economics theory. 

Some optimal rate allocation methods are:
Ø  Max – min fair allocation
Ø  Kelly’s proportional fair allocation

Ways to Classify Congestion Control Algorithm

There are 4 major ways for classifying the congestion control algorithms:
  1. Amount as well as type of feedback: This classification involves judging the algorithm on the basis of multi-bit or single bit explicit signals, delay, loss and so on.
  2. The performance aspect taken for improvement: Includes variable rate links, short flow advantage, fairness, links that can cause loss etc.
  3. Incremental deployability: Modification is the need of sender only, modification is required by receiver and the sender, modification is needed only by the router, and modification is required by all three i.e., the sender, receiver and the router.
  4. Fairness criterion being used: It includes minimum potential delay, max – min, proportional and so on.
Two major components are required for preventing network congestive collapse:
  1. End to end flow control mechanism: This mechanism has been designed such that it can respond well to the congestive collapse and thus behave accordingly.
  2. Mechanism in routers: This mechanism is used for dropping or reordering packets under the condition of overload.

- For repeating the dropped information correct behavior of the end point is required. 
- This indeed slows down the information transmission rate. 
- If all the end points exhibit this kind of behavior, the congestion would be lifted from the network. 
- Also, all the end points would be able to share the available bandwidth fairly. - Slow start is another strategy using which it can be ensured that the router is not overwhelmed by the new connections before congestion can be detected. 


Facebook activity