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.