Uploaded by Alisa Stebuklu

Performance Analysis of TCP on IoT Devices

advertisement
2022 IEEE North Karnataka Subsection Flagship International Conference (NKCon)
2022 IEEE North Karnataka Subsection Flagship International Conference (NKCon) | 978-1-6654-5342-4/22/$31.00 ©2022 IEEE | DOI: 10.1109/NKCON56289.2022.10126723
Performance Analysis of TCP on IoT Devices
T N Namitha Shree
Dept. of Information Science
Engineering
Nitte Meenakshi Institute of
Technology , Bengaluru,India
namitashree@gmail.com
Inchara Gujjar
Dept. of Information Science
Engineering
Nitte Meenakshi Institute of
Technology, Bengaluru,India
incharastar@gmail.com
Govind Sreekar Shenoy
Dept. of Information Science
Engineering
Nitte Meenakshi Institute of
Technology, Bengaluru,India
govind.shenoy@nmit.ac.in
Abstract—The Internet of Things (IoT) has experienced
tremendous growth, which has led to an increase in the
number of wireless devices connected to the Internet. Although
IoT has the potential to improve quality of life, it may also
cause large amounts of data from numerous smart devices to
slow transfer since wireless IoT networks frequently have
limited bandwidth and energy. The efficiency of TCP and UDP
is limited because the transmission media used to carry
Internet traffic exhibits a variety of issues, including
congestion, band width asymmetry, long transmission delays,
data mistakes, buffering issues, transmitted data collisions and
other issues. These could cause TCP and UDP performance to
deteriorate for IoT devices. In this study, the analysis on the
performance of TCP on IoT devices for large-scale data
transfer takes place to find numerous limits and different
transmission issues that points towards an improved, updated,
and better solution.
Index Terms—Keywords-Network congestion, Network
protocols, performance analysis
I. INTRODUCTION
The Internet of Things (IoT) is a technical advancement
that represents the networking and communication of the
future. The Internet of Things (IoT) is rapidly expanding,
which has led to an increase in the number of wireless
devices linked to the network and will likely lead to further
expansion soon. As TCP/IP protocols are utilized
extensively in today’s IoT systems, many studies over the
past several years have concentrated on enhancing TCP
performance in IoT devices. Transmission Control Protocol
or TCP is a networking protocol that permits message flow
between computer hardware and application software. It is
made to transmit packets across the internet and guarantee
the successful transmission of data and messages through
networks. It is frequently employed as a dependable
transport protocol in a variety of applications.
Aishwarya N
Dept. of Information Science
Engineering
Nitte Meenakshi Institute of
Technology, Bengaluru,India
aishn122000@gmail.com
Khushi Verma
Dept. of Information Science
Engineering
Nitte Meenakshi Institute of
Technology, Bengaluru,India
kv222000@gmail.com
TCP implementation, however, demonstrates that some
packet losses can be attributed to network congestion, link
errors, and large headers because wireless IoT networks
have completely different transmission characteristics from
wired networks, particularly in terms of their error
characteristics because of band width and energy
limitations. Congestion arises in TCP networks when any
high-speed links receive to any low-speed link. Highreliable links were considered throughout TCP design.
Packet loss is interpreted as congestion when it occurs. This
is available option for a highly reliable wired network
because congestion is the main cause of packet loss in such
configurations. However, the greater bit error rates on
wireless lines result in far more packet loss due to errors
than those that are typically seen on wired links. On
wireless networks, interpreting all packet loss as congestion
is not a practical approach because the optimum reaction to
congestion differs from the ideal response to burst failures
in terms of energy efficiency. Large headers are another
factor in packet losses. TCP was designed to be a transport
protocol that is very deployable. TCP has a header size of
40 bytes to support the simplest functionality. Since this
size is fixed, even if not all header fields are utilized, the
header size will remain to be 40 bytes. The size can
increase to 80 bytes when extensively used features are
enabled. This indicates that there are 40–80 bytes of
overhead for each transmission. An acknowledgement
increases the overhead by 40–80 bytes. This means that
without re-transmissions, TCP has a data cost of around 8
percent for packets with a 1000-byte payload.
Due to these restrictions, the TCP Tahoe, Reno, and
NewReno algorithms were created to address error
problems and network congestion in a variety of
1
978-1-6654-9790-9/22/$31.00 ©2022 IEEE
Authorized licensed use limited to: Kaunas University of Technology. Downloaded on June 12,2024 at 07:50:37 UTC from IEEE Xplore. Restrictions apply.
circumstances. Since the size of many Internet packets is
kept as small as possible to reduce network congestion and
increase speed, packet header compression is another way
TCP can be adapted for IOT devices. However, the protocol
header renders the sending of tiny packets ineffective.
Packet header compression is a solution to this inefficiency.
II. RELATED WORK
NoeLopez-Benitez [1] observe that most of the Internet’s
components were originally intended to operate over a
variety of transport mediums. The frequency of packet loss
in wireless networks does not always signify congestion.
Packet loss occurs when a mobile host travels between
nearby wireless networks or gets too far away from base
station physically.
Outcome: New protocols are emerging that outperform the
standard TCP protocols. Freeze-TCP, TCP-Probing, TCP
Westwood/Westwood+, TCP Veno, and JTCP are just a few
of the recently proposed protocols. Simulation tests were
created for different network topologies and with different
external interferences. However, this study should
additionally focus on how these protocols behave in ad-hoc
networks, particularly when the hosts have a propensity for
quick migration. Additionally, the impact of concurrent
random and disconnected packet loss must be evaluated.
ChaoyueXiong[9] observe that Transmission Control
Protocol (TCP) is the standard transport-layer protocol for
safe data delivery across the Internet. Colored Petri Nets
(CPN) have proven to be effective tool for modelling and
studying TCP protocols. This study suggests an energyefficient reactive method dubbed TCPMEDX that calculates
metrics to identify packet loss causes only when packets are
lost.
Outcome: A mechanism has been suggested for updating
TCP to consider the unique features of mobile ad hoc
networks (MANETs). TCP-MEDX functions are applied for
correctly determining the reason for packet loss in a TCP
stream and only reducing the congestion window when
congestion rather than transmission error is to blame. But,
in certain circumstances, even though the approach
enhances TCP performance in MANETs, they are
expensive to install and consume energy at mobile nodes
along a transmission channel. As a result, they could be
challenging to implement in practice since MANETs place
a high priority on energy efficiency.
W.Lilakiatsakun[3] observe that A researcher’s suggestion
for the Freeze TCP technique to enhance TCP performance
for mobile environments. When it detects a disconnect, the
mobile host will send the zero-window advertisement
(ZWA). A strategy was presented that would be
implemented on a mobile host as a TCP sender.
Outcome: Error avoidance techniques can be
successfully implemented without significantly
altering the TCP code. Results demonstrate that this is
effective in both LAN and WAN contexts. The energy
efficiency of the suggested plan may be dramatically
increased, lowering the overhead by up to 5 percent on
high-latency networks. However, the accuracy of the
SNR inference and the impact of the error control
mechanism in the link layer are the main obstacles to
the proposed scheme’s ability to achieve improved
outcomes in terms of forecasting when errors would
occur in TCP connections. To more correctly predict
the channel state, a better solution must be discovered.
D. Fahad [4] observe that a computer network is a
service that allows devices to share data. The transport
layer of a network has given the go-ahead for the TCP
and UDP protocols. In contrast to other methods of
data transmission, TCP offers a dependable and
orderly transport of data from the user to the server.
Outcome: The results have shown that the tunnel of
UDP uses the link better than TCP tunnel and give
improved transfer in terms of the speed and the time.
However, it is important to consider the comparison of
TCP with other layer protocols in a variety of various
situations, such as varying the number of nodes or the
simulation time.
Henock[5]Observe that the advent of mobile ad-hoc
networks (MANET) has brought forth new difficulties
that have an impact on end-to-end data transfer. Due to
congestion, route failure, or wireless channel
malfunction, data packets can be lost in MANET. In
these networks, the transmission control protocol
(TCP) performs terribly.
Outcome: TCP-PLDR is an end-to-end solution for
packet loss detection. It provides explicit loss
notification in contrast to acknowledgment-based
methods (implicit loss detection scheme). Only the
TCP-SACK receiver and sender sides needed to be
modified. However, as packet losses resulting from
packet drop attacks must be included in the TCPPLDR protocol, additional types of packet losses not
connected to congestion loss must be considered.
TCP-PLDR should also be assessed and contrasted
with other TCP variations. Evaluation of TCP-PLDR
and TCP-SACK performance over various MANET
routing protocols are also crucial (DSDV, DSR, etc,)
Troia [8] observe that a reliable Wide Area Network
(WAN) is essential for enterprises with cloud hosted
applications. They observe that SDWAN (Software
Defined Wide Area Network) is a promising
technology for enterprise networks. They propose an
experimental SD-WAN solution which can run and
optimize delay sensitive services
2
Authorized licensed use limited to: Kaunas University of Technology. Downloaded on June 12,2024 at 07:50:37 UTC from IEEE Xplore. Restrictions apply.
Outcome: This is a very interesting work that employs
SD-WAN. They observe important benefits in
deploying their SD-WAN in enterprise networks.
However, one disadvantage could be the delay
introduced by their proposed scheme.
Troia [7] Observe that in recent years more enterprises
are hosting their application on the cloud. Therefore,
Wide Area Network has become a primary need to
interconnect offices and data centers. They propose an
experimental SD-WAN which uses the most
promising technology solutions for next generation
enterprise networks.
Outcome: Their solution comprises of Transport-layer
passive monitoring (TPM) system based on extended
Berkeley Packet Filter (eBPF) technology which has
the goal of monitoring TCP flows. The second
solution comprises an application running inside the
SD-WAN controller with the goal of orchestrating the
network traffic. They further validate their testbeds. A
limitation of their approach is the relative complexity
of their framework.
III. PROPOSED METHOD
Figure 1 shows our proposed methodology
PC with Linux
Packit: Packet Generator
Wireshark: Packet Capture
Result Analysis
Figure 1: Proposed Methodology
For the environmental setup of our project, the
hardware requirements include• Any PC with Modern Operating System
– x8664-bit CPU (Intel/AMD architecture)
•
– 4GBRAM
– 5GB free disk space
– Raspberry Pi Board
▪ Model-3B
▪ Power Adapter
▪ Micro SD Card
The Raspberry pi is a single compact computer
board. It has a huge processing power and
consists of many interfaces such as multiple USB,
Ethernet, onboard WiFi, Bluetooth, many GPIOs,
USB powered etc. It supports Linux and Python.
The software requirements include– Operating
System:
Ubuntu,
Windows10,
Raspberry
Pi OS
– Coding Language: Python – CodingVersion:3.9 –
Software used:
∗ VNC Tool
∗ Packit
∗ Wireshark
A. Ubuntu
Ubuntu is an operating system that is a free and an
open-source Linux distribution. The Raspberry Pi OS
is highly optimized for the Raspberry Pi line of
compact single-board computers withARM CPUs.
Using these two operating systems, the packets are
sent from the PC to the board.
B. VNC
The Virtual Network Computing (VNC) tool is a type
of remote-control software that makes it possible to
control another computer over a network connection.
In this case, the Raspberry Pi board is controlled and
operated from a different device.
C. Packit
Packit(Packet tool kit)is a network auditing tool. It
makes genuine packages (frames) that can move
around a network using libpcap. Customized payloads
can be added using Packit. The ability to read dump
files produced by tcp dump is another useful feature.
Packit offers the capacity to modify, inject, watch, and
control IP traffic by enabling us to define (spoof)
almost all TCP, UDP, ICMP, IP, ARP, and RARP
header options.
D. Wireshark
WireShark is a packet sniffer and analysis tool that
records local network activity and stores it for later
offline analysis. Wireshark records network traffic
from a variety of connections, including Ethernet,
Bluetooth, Wireless, Token Ring, and Frame Relay.
The network trace that is looked for using WireShark,
can be narrowed down by filtering the log either
3
Authorized licensed use limited to: Kaunas University of Technology. Downloaded on June 12,2024 at 07:50:37 UTC from IEEE Xplore. Restrictions apply.
before the capture begins or while analysing it. For
instance, configure a filter to display TCP
communication between two IP addresses.
IV. IMPLEMENTATION
A. Packet Capture
The process of capturing Internet Protocol (IP)
packets for examination or analysis is referred to
as packet capture. The phrase can also be used to
describe the files produced by tools for packet
capture. Network administrators frequently utilize
packet capture as a tool for trouble shooting, as
well as for scanning network traffic for security
risks. Packet captures after a data breach or other
incident offer crucial forensic hints that help
investigations.
Packet capture example:
example: packit-mcap’tcpandnotport22’
To print all TCP communications that doesn’t
revolve around
SSH(port22)
B. Packet Injection
A network attack known as packet injection involves
interfering with a network by injecting data packets
that have been forged to appear as though they were a
part of the communication stream. By intercepting or
interfering with data packets being transmitted to a
server or client, hackers can employ packet injection
tools to replace the legitimate packets with counterfeit
ones, lowering the network’s performance. The
barring of users from using the network resources
could result from this degradation.
Packet injection example:
example: packit-ticmp-s3.1.33.7-d192.168.0.1-c10-h
Inject 10 ICMP packets from host’3.1.33.7’ to
host’192.168.0.1’and watch for a response.
C. Filtering in Wireshark
Capture filters and display filters are two of
Wireshark’s filtering languages. Prior to the beginning
of the capturing activity, capture filters are applied. In
this manner, just the traffic that you are interested in
viewing is stored. Once the capture operation has
begun, this filter cannot be altered. On the other hand,
all the packets that are recorded have display filters
applied. It can be altered and cancelled later. After
starting Wireshark, the capture filter can be seen on
the very first screen. The chosen interface will receive
the filter.
E. Filtering on the TCP protocol
Similarly, only those packets which has a specific
protocol say TCP protocol are supposed to type TCP
in the display filter toolbar.
F. Transferring TCP packets from one device to another
So,for transferring TCP packets from one device to
another the sudo packit command can be used where
the source and destination addresses and the count
value of the number of packets to be transferred as
given. Once the command is run the Wireshark is used
on the destination system in order to show all the TCP
packets that got transferred. For this just type TCP or
with TCP also mention the source and destination
address in the filter tool bar.
G. Transferring UDP packets from one device to
another
So, for transferring UDP packets from one device
to another the sudo packit command can be used
where the source and destination addresses and
the count value of the number of packets to be
transferred as given. Once the command is run
the Wireshark is used on the destination system
in order to show all the UDP packets that got
transferred. For this just type UDP or with UDP
also mention the source and destination address
in the filter tool bar.
H. Burst Rate
The burst rate, which is commonly represented as a
rate in Mbps, is the highest data transmission rate
or “speed” that a network can deliver in a brief
period, usually seconds or minutes. By counting the
number of packets in a specific time interval and
comparing that count to the intervals through-out a
region of time, packet bursts are recognized.
I. Packet drop rate
This metric computes the number of packets
dropped either at the destination or in the router
due to congestion. Log the packets generated at the
source and the packets generated at the destination
and compare these two logs to determine if there is
a packet loss. Finally, convert the packet loss into
percentage.
D. Filtering on the IP address
Only the required packets that has a specific IP address
are supposed to use ip.addr==”specific IP address” in
the display filter tool bar.
4
Authorized licensed use limited to: Kaunas University of Technology. Downloaded on June 12,2024 at 07:50:37 UTC from IEEE Xplore. Restrictions apply.
For 100 there was 9.83 percent and for 1000 there
was 16.3 percent. For 10000 it was 24.65 percent
and finally for 100000 it was 38.12 percent. The Xaxis represents number of packets sent and Y-axis
represents the packet drop rate that is calculated
using the formula:
Packet loss rate=(number of packets sent) (number of packets received)/number of packets
sent*100
Figure 2: UDP Packet Drop Rate
V. RESULT
Figure 3 shows the packet loss rate as we increase
the number of packets for TCP. When the number
of packets are less than 10 namely 1 and 10 the
packet loss is 0. This is intuitive as the number of
packets are very less. As we increase the number of
packets from 10 to 100, the packet loss rate
increases from 0 to 8%. This is expected as the IoT
device is slowly getting saturated with increasing
number of packets. Further when we increase the
number of packets to 1000 the packet loss rate is
nearly 18% - a 10% increase in the packet loss
from when the number of packets was 100. Finally,
when the number of packets are 100000 the packet
loss rate is nearly 35% or in other words 1 out of
every 3 packets gets dropped. This is intuitive as
we increase the number of packets the packet loss
linearly increases.
Figure 2 shows the packet loss rate for UDP. We
observe a very similar behaviour as in TCP. When
the number of packets are less than 10 there is no
packet loss as we increase the number of packets
there is a packet loss. This packet loss grows
linearly with the number of packets. Finally when
the number of packets are 100000 the packet loss is
highest at close to 40%. On comparing the packet
loss rate of TCP and UDP we observe that UDP
has a lower packet loss than TCP.
A 1000 TCP packets were sent from source
172.20.10.6 that is our computer to destination
172.20.10.2 that is the Raspberry Pi Board. In the
case of TCP for 1, there was no packet loss but for
10 packets, there was a loss of 0.4 percent. For 100
there was 7.18 percent and for 1000 there was
14.63 percent. For 10000 it was 21.48 percent and
finally for 100000 it was 32.71 percent. In the case
of UDP for 1, like TCP, there was no packet loss
but for 10 packets, there was a loss of 0.7 percent.
As the number of packets sent increases, so does
the packet loss increase. Figure 3: TCP Packet Loss
Rate. Comparing TCP and UDP, UDP has more
packet loss rate as it is connection-less whereas
TCP is connection oriented. Packet loss rate
could be due to one of two factors: network
Figure 3: TCP Packet Loss Rate
congestion or a large header. However, on
wireless links, the higher bit error rates cause
much more packet loss (due to errors) than on
wired links. As observed in the below figures the
packet drop rate increases as the number of
packets injected is increased both for TCP and
UDP. It is interesting to note that the drop rate of
UDP is higher than TCP. This is intuitive as UDP
is connection-less while TCP is connection
oriented or in other words the header overhead of
TCP is bigger than UDP. Since this overhead is
higher there is a higher drop rate in TCP than in
UDP.
VI. CONCLUSION AND FUTURE SCOPE
From the above analysis an energy-efficient TCP is
required for IoT devices. TCP is less effective for IoT
devices due to two major issues:
– Network Congestion
– Large header
And it is discovered that while large headers can
be solved by employing header compression,
5
Authorized licensed use limited to: Kaunas University of Technology. Downloaded on June 12,2024 at 07:50:37 UTC from IEEE Xplore. Restrictions apply.
network congestion can be decreased utilizing the
Tahoe, Reno, and New Reno algorithms.
One of the elements that affect show many bytes can
be sent out at once in TCP is the congestion window.
The sender keeps track of the congestion window,
which serves as a safeguard against a link between it
and the receiver becoming overburdened with traffic.
This is distinct from the sliding window that the sender
keeps open to keep the receiver from becoming
overloaded. By calculating how congested the link is,
the congestion window is determined. In case of Tahoe
TCP Algorithm, it includes Slow start Threshold and
Congestion Avoidance method. Retransmit is sent
when a loss occurs, and slow start is restarted from the
initial congestion window after saving half of the
current congestion window as ssthresh. While in Reno
TCP Algorithm it includes Slow start Threshold,
Congestion Avoidance, and fast Recovery method. By
sending a quick retransmit and saving half of the
original congestion window as new congestion
window and ssthresh, the slow start process is
bypassed, and the congestion avoidance method is
used instead. Fast recovery is the name of the general
algorithm which is used commonly.
One method for modifying TCP for IOT devices is
packet header compression. However, the protocol
header makes short packet transfer inefficient.
Header compression can be used to address this
inefficiency. The header information portion of the
network packet, which comes from several
protocols, and the payload portion, which contains
the data, can be separated into two pieces. The
header portion is intriguing from the perspective of
compression. Any duplicate information can be
disregarded. On the receiving end of the link, the
complete IP packet will be produced again. For the
future, one of the solutions for header compression
is by implementing Robust Header Compression
(ROHC)algorithm. ROHC is used to compress the
UDP and TCP headers which helps in reducing
packet loss.
REFERENCES
[1] Milan Todorovic and Noe Lopez-Benitez.Efficiency study of
tcp protocols in infrastructured wireless net-works. pages103–
103,082006.
[2] Sofiane Hamrioui, Mustapha Lalam, and Pascal Lorenz.
Energy-efficient
method
to
improve
tcp
performanceformanets.volume5,pages292–299,072012.
[3] A. Seneviratne W. Lilakiatsakun. Enhancing tcp energy
efficiency for mobile hosts. In Proceedings 10th IEEE
International Conference on Networks (ICON 2002). Towards
Network
Superiority
(Cat.
No.02EX588),pages235–
239.IEEE,2002.
[4] Fahad Taha AL-Dhief, Naseer Sabri, N. M. Abdul Latiff, Nik
Noordini
Nik
Abd.
Malik,
Musatafa
AbbasAbboodAlbader,MazinAbedMohammed,RamiNooriAL
Haddad,Yasir Dawood Salman, MohdKhanapiAbd Ghani, and
Omar Ibrahim Obaid. Performance comparison between tcp
and udp protocols in differen tsimulation scenarios
.International Journal of Engineering Technology,7(4.36):172–
176,2018.
[5] HenockMulugeta,KumudhaRaimond,andDerejeWoldegebreal.
Tcppldr:A novel packet loss detection and response
mechanism for tcp in mobile ad hoc networks.AdHocandSensorWirelessNetworks, 28:183–202,092015.
[6] H. Wu, Y. Liu, G. Cheng and X. Hu, "Real-time Packet Loss
Detection for TCP and UDP Based on Feature-Sketch," IEEE
INFOCOM 2021 - IEEE Conference on Computer
Communications Workshops (INFOCOM WKSHPS), 2021, pp.
1-6, doi: 10.1109/INFOCOMWKSHPS51825.2021.9484593.
[7] S. Troia, M. Mazzara, M. Savi, L. M. M. Zorello and G.
Maier, "Resilience of Delay-Sensitive Services With
Transport-Layer Monitoring in SD-WAN," in IEEE
Transactions on Network and Service Management, vol. 19,
no.
3,
pp.
2652-2663,
Sept.
2022,
doi:
10.1109/TNSM.2022.3191943.
[8] S. Troia, M. Mazzara, L. M. Moreira Zorello and G. Maier,
"Performance Evaluation of Overlay Networking for delaysensitive services in SD-WAN," 2021 IEEE International
Mediterranean Conference on Communications and
Networking (MeditCom), 2021, pp. 150-155, doi:
10.1109/MeditCom49071.2021.9647549.
[9] C Xiong, J Yim, J Leigh, and T Murata. Energy Efficient
Method to Improve TCP Performance for MANETs. UIC
Technical Report, 2019.
Low power and Lossy Networks (LLNs) are being
employed in various industrial domains, such as
tracking systems and health monitoring, and are
rising in popularity. The majority of LLN devices
currently employ Bluetooth or other low-power
wireless technologies. Since IPv6 was introduced
to these devices, they can possibly connect with
every IP device in addition to one another. These
brand-new gadgets are revolutionizing how people
think of the Internet, expanding it beyond just a
network of computer networks to include all
objects used in daily life, giving rise to the idea of
the Internet of Things.
6
Authorized licensed use limited to: Kaunas University of Technology. Downloaded on June 12,2024 at 07:50:37 UTC from IEEE Xplore. Restrictions apply.
Download