A Review on role of Congestion Control
Techniques in Internet of Things
Gomed Kumar Pathak1, V.K. Patle2
1,2SOS
in Computer Science and IT, Pt. Ravishankar Shukla University Raipur, C.G.
1gomed.pathak@gmail.com, 2patlevinod@gmail.com
Abstract: Internet of Things has picked stream over
industry, education and research, which provide a platform to connect various
heterogeneous devices over internet. Devices may be sensor node related to environmental
data collection, prediction, industry systems etc. Nowadays connection of
various devices increases over the internet exponentially which causes
congestion controls in Internet of Things. Congestion control plays a vital role
in the transmission of large amount of data. In the era of Internet of things
(IoT) which embellished our life still faces various challenges. Such as
interoperatibility, security and congestion control. In the networks working on Internet of things
due to the sensitivity of traffics would become extremely complicated as there is
a genuine risk of congestion collapse in the absence of adequate congestion
control mechanisms. This paper presents a review of congestion control
techniques, types of congestion control techniques, congestion avoidance,
performance matrix and supporting tools in Internet of Things.
Keyword: Internet of Things
(IoT), Congestion Control Techniques, Congestion Avoidance.
Introduction: -
The
Internet of Things (IoT) refers to the fast expanding network of
Internet-enabled physical objects found in homes, businesses, and "smart
cities." Since these IoT devices have limited resources, an increase in
network traffic could overwhelm the system [1]. When there is a lot of data
being sent and received on an Internet of Things network, it slows everything
down. Congestion develops for these reasons, in the long run [2]. One of the
most crucial challenges is developing a framework for identifying and
classifying network congestion, which has implications for both optimal
bandwidth use and the routing path selection process. Consequently, it is
crucial to categorise and predict congestion and take suitable preventative
measures accordingly [3] to ensure efficient network communication. Thus,
studies that classify and anticipate network congestion are crucial, especially
for IoT networks. Congestion prediction in IoT networks often uses
tried-and-true methods developed for WSNs (WSN). The development of
high-powered computers and complex algorithms has allowed for the prediction
and management of traffic flows; these developments are the topic of this
study. In instance, measuring the traffic volume on an active Internet of
Things network can be expensive. Due to the need for many types of network
connectivity, the Internet of Things (IoT) is receiving a great deal of
interest from researchers. The goal of the Internet of Things is to create a
network of interconnected gadgets and services that can exchange and store data
and information. There is no longer anyone who does not have some method of
connecting to the internet these days. Throughout the last 20 years,
researchers and businesses have been working on the concept of the Internet of
Things[4][38]. Many other issues, such as self-organization, scalability, data
quantities, power supply, data interpretation, wireless communications, and
interoperability, are also being studied in relation to the Internet of
Things[5]. The purpose of the Internet of Things is to facilitate normal social
functioning. The Internet of Things encompasses a wide range of applications,
from smart grids and cities to environmental and health care monitoring
systems. CompTIA has predicted that by 2020[6], there will be as many as 50
billion internet-connected gadgets in use worldwide. The implications for
computing and communication networks could be enormous. Most Internet-connected
gadgets, however, aren't particularly powerful and have limited memory and
power, among other drawbacks [7]. As a result, creating standardised protocols
that allow for these capabilities is crucial. In Fig. 1, we see the IoT's
underlying structure.
Congestion Control
In an effort to
keep the network from becoming overloaded, each TCP implements a set of
behaviours known as congestion control, which are defined by algorithms. The
Transmission Control Protocol (TCP), which employs a variety of different
congestion control techniques, is used to carry packets in and of itself. The
most common transport layer protocol used on the internet is TCP [8]. Depending
on how they detect congestion, different categories of congestion control
algorithms can be identified [9]. Loss-based algorithms are ones that detect
congestion when packets are dropped from full buffers. Delay-based algorithms
use round trip time 4 (RTT) measurements where the RTT is the amount of time
taken for a packet to go from sender to receiver and for an acknowledgement to
be sent back to the sender. A fluctuation in the RTT indicates delays due to
increased buffering. Hybrid is the name given to a class of algorithms that
exploit both the previous methods for congestion detection. Some Hybrid
algorithms might classify their type of congestion control algorithm based on
their unique congestion detection method. In [9], several new congestion
control algorithms come out. They are known as TCP Slow Start, Congestion
Avoidance, Fast Retransmit and Fast Recovery. TCP is widely deployed as the
network's transport protocol [10]. We can classify congestion control
algorithms into subclasses according on their methods of congestion detection [11].
Congestion is identified via loss-based algorithms, which discard packets from
overflowing buffers. Round trip time 4 (RTT4) is the elapsed time between when
a packet is transmitted and when the acknowledgement is received, and is used
by delay-based algorithms to determine how long a delay actually is. There have
been delays because of higher buffering if the RTT has fluctuated. One category
of algorithms, called hybrids, combines the strengths of the two aforementioned
congestion detecting strategies. Congestion control algorithms can be categorized
by some Hybrid algorithms, depending on how they detect congestion. The new
congestion control algorithms presented in [10] are extensive. TCP employs four
such mechanisms, namely the Slow Start, Congestion Avoidance, Fast Retransmit,
and Fast Recovery. To put it simply, Reno is no longer a potent TCP congestion
control algorithm for modern high-speed networks like 10G Ethernet. There is no
way that Reno can grow quickly enough to maximize its bandwidth usage. In
geometry, a line with a cubic function has two distinct morphologies, one
convex and one concave. In the absence of a loss event, this is the time it
takes for the function to increase to a maximum value. Whether it's an ACK, a
lost packet, or the end of the allotted time for retransmission, congestions
are always signaled in the aforementioned two methods. Las Vegas used RTT to
solve some of Reno's issues. In Reno, unless there is packet loss, the growth
of will continue. Optimizing is measured differently in Vegas; throughput is
tracked ( ). The effective bandwidth (ERE, eligible rate estimate) of the
channel is estimated in Westwood in a manner similar to that used in Las Vegas,
with a concentration on RTT. Westwood, on the other hand, calculates the
bandwidth based on ACK arrivals over a range of different measurement intervals.
[11]. WinSock is not publicly available since Windows is not open source.
Types of Congestion Control Algorithms
Congestion control
majorly categorized as Protocol dependent Congestion control and Offloading
based control congestion
Congestion
Management Based on Protocols: The standard application protocol CoAP is used
by the IoT's Congestion Control Protocol at the Application Layer.
Protocol for
Controlling Congestion at the Network Layer Congestion can be managed with the
aid of a load-aware routing protocol design.
Congestion Manage
by Offloading Procedures The term "offloading" refers to the practise
of passing the workload of a traffic node onto other nodes. This method helps
manage congestion, lessens waiting time, and boosts efficiency. For the sake of
traffic smoothing, gateways and other network infrastructure account for the in
service delay by adding extra queues and processing time. To avoid
communication breakdown and unnecessary packet loss in a crowded network,
offloading requests has been proposed [12].
Congestion in IoT
The
Internet of Things (IoT) is a worldwide infrastructure for connecting computers
and other networked devices that can exchange and process data. The devices can
be anything with its own identity (IP address) on the Internet, including
desktop computers, tablets, smart phones, and more. Smart homes, smart cities,
smart grids, industrial monitoring systems, healthcare monitoring systems,
environmental monitoring systems, etc. are just a few examples of the many ways
the Internet of Things can be put to use. Communication over the Internet must
be regulated by a set of protocols in order for the IoT to be implemented. In
order to facilitate communication between its many endpoints, IoT supports a
wide variety of application protocols. Three examples of application protocols
for the Internet of Things (IoT) that rely on TCP (Transmission Control
Protocol) [13] for data transmission are XMPP (Extensible Messaging and
Presence Protocol) [14], MQTT (MQ Telemetry Transport) [15], and RESTful HTTP
[16].Transport layer control protocols can be split into two distinct camps.
One subclass of CA algorithms, called
loss-based CA, relies on packet loss as a congestion signal. Author [38]
proposed an Adaptive Congestion Window (ACW) for IoT devices. The design of the
ACW depends on three parameters: sending rate, receiving rate and the available
bandwidth of the path. Author[39] proposes a novel STCP approach to control
congestion in the IoT environment. In this approach, a new window
initialization technique is used based on the current available bandwidth of
the path in order to reach the available bandwidth as fast as possible. It is
limited to very small buffers, less than or equal to one maximum segment size. The
authors [40]propose a new technique to reduce the delay in multipath TCP
(MPTCP) by reducing the number of transmissions using an Opportunistic Routing
(OR) technique. The OR routing model is implemented to increase the throughput
and reliability of wireless networks via the use of the broadcasting method.
Literature
Review
Jacobson [17]
suggested a loss-based congestion control method for the TCP protocol; the Fast
Retransmit and Fast Recovery approach offered by this algorithm is known as TCP
Reno. When more than one packet is dropped owing to congestion, Rapid Recovery
abruptly transforms into exponential congestion window lowering, leaving TCP
Reno vulnerable. Recognizing this issue, Floyd et al. [18, 19] presented a new
approach they termed TCP New Reno to fix the Quick Recovery issue. Mathis et
al. [20] suggest a technique called TCP SACK to deal with numerous losses. The
receiver can now report the total number of data packets that were successfully
transmitted thanks to this protocol. Another SACK-based solution with a novel
congestion control mechanism was presented by Mathis and Mahdavi [21]. There
are three state variables that FACK (forward acknowledgement) keeps track of: H
(highest sequence number), F (most sequences forwarded), and R (most sequences
resent). High Speed Transmission Control Protocol (HS TCP) was introduced by
Floyd [22] to address the efficiency issue of high-speed networks. The HS-TCP
employs a factor of drop for small loss detection and a factor of increase for
congestion avoidance. Kelly [23] suggests a different protocol named Scalable
TCP (STCP) to solve the effectiveness problem in high speed long delay network.
To solve the inter fairness issue between STCP and HS-TCP, Leith et al. [24]
suggested a new congestion control technique they dubbed HTCP. The primary idea
behind HTCP is to expand the size of the congestion window in the Congestion
Avoidance phase by an amount equal to the elapsed time. TCP-CUBIC, an improved
variant of BIC TCP [25], was proposed for congestion control by Rhee and Xu [26].
To address the issues with TCP-CUBIC, Wang et al. [27] introduced CUBIC-FIT.
The TCP-CUBIC framework is expanded using a delay-based TCP model. A
delay-based congestion management technique, TCP Vegas, was introduced by
Brakmo and Peterson [28]. The method relies on the difference between the
predicted and actual rates to arrive at an accurate prediction
Performance Matrix:
The performance of traffic in a congested
environment is measured using a variety of metrics. These variables assist us
in assessing network performance during periods of congestion.
Availability of Network: It calculates the
energy and resources wasted on packets that are not delivered. Network
efficiency varies according to the distance to the washbasin.
Efficiency in Energy (EE): The packet
delivery ratio can be used to define EE.
Energy Tax (ET): The ratio of packets that
successfully reach the washbasin to those are lost in the network.
Packet Loss Ratio or Delivery Ratio: Some
packets are lost due to buffer overflow and packet errors; this determines the
packet loss ratio.
Fairness: The topic is bandwidth
distribution. It displays the variances (changes) in transmitting rates. It is
reliant on equitable bandwidth distribution.
End-to-End Delay: End-to-end delay is
another helpful evaluation metric for gauging how busy our network is.
End-to-end delay refers to the overall amount of time that has passed since a
packet was created before arriving at the base station.
Overhead for Control Packets: The expense
of sending such packets that include the control information due to protocol
restrictions is a good indicator of control packet overhead.
The number of packets that are
successfully received by the sink node overall over a period of time.
Instantaneous Queue Size: It shows the
consistency or variability of the buffer. Also used are event-based weighted
queues.
Memory Requirements: The memory
requirements were determined by the size of the queue, the amount of code, and
the quantity of sensing units.
The Fidelity Index measures the proportion
of packets that the application is intended to receive to those that are
actually received [29].
Packet Loss: The average rate of packet
loss provides information about how busy the network is.
Queue Length: A useful indication for
congestion detection is buffer length. When the length of the buffer surpasses
the limit, a predefined limit threshold is used, and the congestion signal is
then activated.
Hybrid Queue Length and Channel Load: The
ratio of time quantum's while a channel is being used to the total time is
known as channel load.
Throughput: The number of successful
transmissions on a channel is indicated by its throughput. In reality, it shows
how busy the channel is still. Congestion detection is a possible application.
Packet Service Time: The period of time
between the arrival of a packet and its transmission accounts for the period of
time needed to resolve a collision.
Scheduling Time: Scheduling Time reveals
the quantity of scheduled packets.
Delay: Delays can be used to identify
congestion as well [29].
Tools Related to
Network Research
The goal is to
describe in detail the many resources available for studying and creating new
computer networks. Protocol experiments can be run in a simulation at a
fraction of the cost and time. Ad hoc models and logic event driven
methodologies are frequently used in network simulation. The fundamental
simulation engine and a wide variety of protocol models are provided by
industry standards tools like NS-3, NS-2, and OPNET. A packet switch data
network's dynamic behavior can be studied with REAL, a simulator designed
specifically for that purpose [30].
Developed to put
different IP-over-ATM algorithms through their paces using actual traffic loads
generated from empirical traffic measurements, INSANE is a network simulator.
The ATM protocol stack employs Rate Controlled Static Priority (RCSP) queuing
to ensure reliable operation of ATM virtual circuits. NetSim's goal is to
provide a comprehensive simulation of Ethernet, including all of its complex
features including collision detection and handling, transmission deferral, and
the impact of station locations on network events. Maisie is a parallel
discrete event simulation language written in C [31, 32] that can simulate
hierarchical structures. U-Net (T. Von. Eicken, et al. 1995), the USC TCP-Vegas
test-bed (J. s.Ahn, et al. 1995), and the Harvard simulator are a few more (S.
Y.Wang, H.T.Kung 1999). BONeS (Cadence Inc.), COMNET III (CACI), and OPNET are
all commercial simulators (MIL3).
COMNET III is a
graphical, commercially available software programme that can assess and
estimate the performance of any network, from a small local area network (LAN)
to a large, complicated enterprise-wide system (CACI)[33].
The OPNET Optimal
Network Engineering Tool (OPNET) is an all-purpose network simulator that
features discrete events and an object-oriented design. For the purpose of
specifying, simulating, and analysing the performance of computer and data
transmission networks, it offers a full-fledged development environment.
QualNet is a
for-profit implementation of the free and open-source GloMoSim simulator. QualNet's
ability to scale to thousands of nodes and function on different hardware and
operating systems is arguably its greatest strength[34].
Ns-2 is one of the
most used network simulation tools available. It was created at the University
of California, Berkeley's Lawrence Berkeley Laboratory as an object-oriented
discrete-event network simulator. Ns-2 is a command and configuration interface
that is written in C++ and leverages OTcl. All aspects of the simulation
environment, from initialization to scenario creation to experiment execution,
are managed using OTcl scripts [35].Discrete-time process simulation is the
focus of J-SIM, an object-oriented library. It is most useful for simulating
queueing networks [36].Discrete event simulation might be complicated, but
OMNeT++ makes it easier than ever The simulator is built out of smaller pieces,
or modules. In OMNeT++, you can utilise either basic modules or compound
modules. A computer network's behavior can be simulated with software like NS3,
a network simulator. In addition, the client can display the network's topology
in order to single out the system's hubs and trace the connections between them.
In addition, it offers a narrated packet-flow animation. It's run in C++ with
an optional Python scripting API for customization. It's an open-source project
that's free to use and structured around research groups that work on improving
and maintaining it[37].
Conclusion:
Due to the
sensitivity of traffic, networks working on the Internet of Things would become
extremely complicated, with a genuine risk of congestion collapse in the
absence of adequate congestion control mechanisms. In this paper we have
studied various congestion control techniques, types of congestion control
techniques, congestion avoidance, performance matrix and supporting tools in
Internet of Things.
References
1.
Thompson,
W.L. & Talley, M.F. Deep learning for iot communications. 53rd Annual
Conference on Information Sciences and Systems (CISS), 2019, pp. 1-4. doi:
10.1109/CISS.2019.8693025
2.
Al-Kashoash,
Hayder & Ahmed,Abdulmohsin. Congestion control for 6LoWPAN wireless sensor
networks: Toward the internet of things. University of Leeds, 2017. PhD Thesis.
doi: 10.1007/978-3-030-17732-4
3.
Wang,
M.; Cui, Y.; Wang, X.; Xiao, S. & Jiang J. Machine learning for networking:
Workflow, advances and opportunities. IEEE Network, 2017, 32(2), 92-99. doi:
10.1109/MNET.2017.1700200
4.
O.
Salman, I. H. Elhajj, A. Chehab, and A. Kayssi, “QoS guarantee over hybrid
SDN/non-SDN networks,” in 2017 8th
International Conference on the Network of the Future (NOF), pp.
141–143, 2017.
5.
A. Maheshwari and R. K.
Yadav, "Analysis of Congestion
Control Mechanism for IOT," 2020
10th International Conference on Cloud Computing, Data Science &
Engineering (Confluence), Noida, India, 2020, pp. 288-293, doi:
10.1109/Confluence47617.2020.9058058.
6.
I.
CompTIA, “Sizing up the internet of things”, (2015)[EB/OL], https://www.comptia.org/resources/sizing-up-the-internet-of-things
7.
J.
Ren, Y. Zhang, N. Zhang, D. Zhang, X. Shen (2016) “Dynamic channel access to
improve energy efficiency in cognitive radio sensor networks”, IEEE
Transactions on Wireless Communications, 15 (5) 3143–3156.
8.
DongJin
Lee, Brian E Carpenter, and Nevil Brownlee. Media streaming observations:
Trends in udp to tcp ratio. International Journal on Advances in Systems and
Measurements, 3(3-4), 2010.
9.
Belma
Turkovic, Fernando A. Kuipers, and Steve Uhlig. Fifty Shades of Congestion
Control: A Performance and Interactions Evaluation. arXiv:1903.03852 [cs],
March 2019. URL http://arxiv.org/abs/1903.03852. arXiv: 1903.03852.
10.
Stevens
W.: RFC 2001 - TCP Slow Start, Congestion Avoidance, Fast Retransmit, and Fast
Recovery Algorithms
11.
Parziale,
Lydia, David T. Britt, Chuck Davis, Jason Forrester, Wei Liu, Carolyn Matthews,
and Nicolas Rosselot. TCP/IP Tutorial and Technical Overview. IBM International
Technical Support Organization, 2006.
12.
Belma
Turkovic, Fernando A. Kuipers, and Steve Uhlig. Fifty Shades of Congestion
Control: A Performance and Interactions Evaluation. arXiv:1903.03852 [cs],
March 2019. URL http://arxiv.org/abs/1903.03852. arXiv: 1903.03852.
13.
H.
Byun and J. Lin, (2005) “On a fair congestion control scheme for TCP Vegas,”
IEEE Communication Letters 9(2):102:105.
14.
Saint-Andre
P (2011) “Extensible Messaging and Presence Protocol (XMPP): Core”.
https://tools.ietf.org/html/rfc6120.
15.
MQTT
Version 3.1.1 (2015)
http://docs.oasis-en.org/mqtt/mqtt/v3.1.1/errata01/os/mqtt-v3.1.1-errata01-os-complete.doc.
16.
R.Fielding
(2000) RESTful HTTP.
http://www.infoq.com/articles/designing-restful-http-apps-roth.
17.
V
Jacobson (1988) “Congestion avoidance and control”, ACM SIGCOMM Computer
Communication Review, 18(4):14-329.
18.
M
Allman, V Paxson, W Stevens,(1999) “TCP congestion control”.
https://tools.ietf.org/html/rfc2581.
19.
S
Floyd, T Henderson, (1999) “The NewReno modification to TCP’s fast recovery
algorithm”. https://tools.ietf.org/html/rfc2582.
20.
S
Floyd, T Henderson, A Gurtov, (2004) “The NewReno modification to TCP’s fast
recovery algorithm”. https://tools.ietf.org/html/rfc3782.
21.
M
Mathis , J Mahdavi ,S Floyd ,A Romanov, (1996) “TCP selective acknowledgment
options”. https://tools.ietf.org/html/rfc2018.
22.
T
Kelly (2003) “Scalable TCP: improving performance in high-speed wide area
networks”. ACM SIGCOMM Computer Communication Review, 33: 83 – 91.
23.
D
Leith , R Shorten (2007) “H-TCP: TCP congestion control for high
bandwidth-delay product paths”. https://tools.ietf.org/html/draft-leith-
24.
S
Ha, I Rhee, L Xu (2008) “CUBIC: a new TCP-friendly high-speed TCP variant”. ACM
SIGOPS Operating Systems Review, 42:64–74
25.
]L
Xu, K Harfoush, I Rhee, (2004) “Binary increase congestion control for fast,
long distance networks”. Twenty-third Annual Joint Conference of the IEEE
Computer and Communications Societies, 2514–2524X.
26.
J
Wang, J Wen, Y Han, J Zhang, C Li, Z Xiong (2013) “CUBIC-FIT: A High
Performance and TCP CUBIC Friendly Congestion ControlAlgorithm”. IEEE
Communication Latter, 17:1664-1667.
27.
L
Brakmo, L Peterson (1995) “TCP Vegas: end to end congestion avoidance on a
global Internet”. IEEE Journal on Selected Areas in Communications,
13:1465–1480.
28.
G
Hasegawa, K Kurata, M Murata (2000) “Analysis and improvement of fairness
between TCP Reno and Vegas for deployment of TCP Vegas to the Internet”.
International Conference on Network Protocols, 177–186.
29.
Muhammad
A. S. , Muhammad S. A., Shakeel W, Sanam B. , Usman S.,” Congestion Control in
IoT” IJCSNS International Journal of Computer Science and Network Security,
VOL.19 No.2, February 2019 pp 56-61
30.
S.Keshav,
REAL 5.0 Overview, Cornell University, Available
as:http://www.cs.cornell.edu/skeshav/real
31.
INSANE,
An Internet Simulated ATM Networking Environment, Available as:
http://www.ca.sandia.gov/~bmah/Software/Insane Lewis, Barnett, “An Ethernet
Performance Simulator for Undergraduate Networking”, Proceeding of ACM SIGCSE
Technical Symposium, 1993
32.
Lewis,
Barnett, “An Ethernet Performance Simulator for Undergraduate Networking”,
Proceeding of ACM SIGCSE Technical Symposium, 1993
33.
CACI
Products company, COMNET III, Available at:
http://www.caciasl.com/COMNET_quick_look.htm
34.
N.
Sarkar and S. Halim, “Simulation of computer networks” Simulators,
methodologies and recommendations. 2008.
35.
Dr.
Vijay R. Ghorpade, “Comparative Study of Network Simulator: NS2 and
NS3,”International Journal of Advanced Research in Computer Science and
SoftwareEngineering, Vol 6, March 2016.
36.
J. A. Miller, R. S. Nair, Z. Zhang and H. Zhao,
"JSIM: A Java-based simulation and animation environment," Proceedings
of 1997 SCS Simulation Multiconference, Atlanta, GA, USA, 1997, pp. 31-42,
doi: 10.1109/SIMSYM.1997.586473.
37.
Girish
P. , Swapnesh T., N.S. Yadav,” A Design and Implementation Framework of
Congestion Control Algorithm Module in the Network Simulator 3 (NS-3)”,
International Journal of Computing and Applications ISSN: 0973-5704 Volume 13,
Number 2, (July-December 2018), pp 371-379
38.
C. Cammin et al., "Concept
for a Real-Time IoT-Architecture for Collision Avoidance in Smart Cities based
on the 5G Mobile Technology," 2023 IEEE International Conference
on Omni-layer Intelligent Systems (COINS), Berlin, Germany, 2023, pp. 1-7,
doi: 10.1109/COINS57856.2023.10189240.
keywords: {Pedestrians;5G mobile
communication;Transmitters;Smart cities;Roads;Real-time systems;Internet of
Things;5G;IoT;Traffic;Smart City;Safety;Collision Avoidance;Cloud
Architecture},
39.
Chappala, R.; Anuradha, C.; Murthy, P.S.R.C.
Adaptive Congestion Window Algorithm for the Internet of Things Enabled
Networks. Int. J. Adv. Comput. Sci. Appl. 2021, 12, 105–111. [CrossRef]
40.
Gupta, A.K.; Singh, D.; Singh, K.; Verma, L.P.
STCP: A Novel Approach for Congestion Control in IoT Environment. J. Inf.
Technol. Manag. 2022, 14, 44–51
41.
Aljubayri,
M.; Peng, T.; Shikh-Bahaei, M. Reduce delay of multipath TCP in IoT networks.
Wirel. Netw. 2021, 27, 4189–4198