Comparison Between Automatic Repeat Request (ARQ) Protocols and Solving the Buffer Problem
Total Page:16
File Type:pdf, Size:1020Kb
2020 International Conference on Computational Science and Computational Intelligence (CSCI) Comparison between Automatic Repeat Request (ARQ) Protocols and solving the Buffer Problem Mohammed Rajhi Hatim Madkhali Department of Computer Science and Networking Department of Information Technology Jazan University Jazan University Jazan, Saudi Arabia Jazan, Saudi Arabia Email: [email protected] Email: [email protected] Abstract— Today is the era of fast and dynamic internet and It provides an environment for easy developing and sharing of communication technologies which make communication projects. The simulation engine presents a context for various convenient compared to the past. Communication technology, through different channels, such as mobile phones and simulation scenarios [2]. It also provides numerous computers, has become pervasive. In almost every means of implemented models of how computer networks work. NS-3 telecommunication, retransmission protocols have played a provides an opportunity to study system behavior while also significant role in the protocol stack layers. The primary aim of providing a detailed investigation of how networks work in a this study is to compare Automatic Repeat Request (ARQ) greatly controlled, reproductive environment [2]. protocols and solve the Buffer problem. The first section compares ARQ protocols (Go-Back-N, selective repeat, stop and II. TRANSMISSION CONTROL PROTOCOLS wait ARQ), using TCP and UDP. The study compares these Transmission Control Protocol (TCP) is one of the main protocols' efficiency and changes the behaviors of stop and wait protocols to selective repeat. The second section includes solving protocols in the transport layer in ISO/OSI (International the buffer problems. The paper contains the theoretical part as Standards Organization / Open System Interconnection) well. model. Many application protocols use TCP. User Datagram Protocol (UDP) is recognized as another Keyword: Selective Repeat, Stop and wait, ARQ, TCP, Buffer essential protocol on the transport layer with some I. INTRODUCTION various characteristics and services, frequently compared to TCP [8]. Simulation environments are helpful tools in different informative fields. Simulation software allows testing of A. Connection-oriented of TCP protocol real time situations without one having to actually buy a TCP is a connection-oriented protocol. It establishes a product or service. This has resulted in the software pragmatic path between the source and the destination of being widely appreciated by students and professionals. data transfer and close the connection [8]. During data With that angle, this project is using an open-source transfer, there is a three-way handshake that creates a complicated network simulation termed as NS-3. The connection in the first part that opens connection This main objective of this project is to design two different sends a segment with a random initial sequence number, simulation scenarios. Data transfer requires that and SYN Flag is set. The other part responds with a reliability is an essential factor, specifically in the case segment that sets SYN and ACK flags bits [8]. of packer networks. Automatic-Repeat Request (ARQ) has various mechanisms. The most important mechanisms in this respect are; Stop-and-Wait and Selective-Repeat. Various protocols are using these mechanisms to ensure controlled flow, controlled errors, and congested controls. Go-Back-N is also a significant mechanism, but this study does not target it [1]. These mechanisms play an important role in transporting layers of ISO/OSI (International Standards Organization / Open System Interconnection) model for wire networks. The most reliable and the base protocol of the transport layer is TCP (Transmission Control Protocol). In the same way, ARQ mechanisms play an important role in establishing a link layer in wireless networks. A. Network Simulator (NS-3) The NS-3 simulator is an open-source discrete-event network Fig. 1: The connection using three-way handshake [9] simulator primarily used for research or education. 978-1-7281-7624-6/20/$31.00 ©2020 IEEE 195 DOI 10.1109/CSCI51800.2020.00040 After establishing connection, data transfer continues. out-of-order segments, it is combined with the behavior Sequence and acknowledgment numbers are changed in of Selective-Repeat ARQ. the same pathway of establishing connection. The data's size increases the numbers [8]. III. LITERATURE REVIEW Various researchers and scholars have previously B. TCP send and receive windows investigated mechanisms for ARQ. Ramadan, Z., & TCP utilizes two windows for each direction of data Siahaan, A. P. U. (2016) suggested that transmission can transfer. The first one is a send window and the second face damage in sending data leading to corrupt data [4]. one is a receive window. Therefore, Corrupted data cannot fulfill the needs of data 1) A Send Window transmission. Stop-and-wait methods of Automatic- The receiver changes the window size as flow control Repeat- Request can help resolve these errors. Data using congestion control mechanism. The Send window transmission requires a sending and a receiving then opens, closes, or shrinks [8]. There is a usable computer [2]. Stop-and-Wait- methods of Automatic- window portion in the send window and a part where Repeat- Request ensures packet drops do not cause loss bytes are awaiting acknowledgement. The window size of data, and that data is received accurately. The stop- is thousands of bytes [8]. and-Wait method can automatically fix corrupted data. In another study, Bada, A. B. (2017) stated that Automatic Repeat Request (ARQ) protocols play an important role in offering a wide range of paths for reliable transmission of data [3]. Similarly, Automatic Repeat Request (ARQ) protocols are widely used in error control systems with a primary aim to ensure reliability and validity of transferred data. Some of the most significant types of protocols in this regard include Stop and wait (SW), Go-Back-N (GBN), and Selective Repeat (SR). The study highlights various advantages Fig 2. The send window size with change [9] and limitations of these different types of protocols. This study also highlights the most reliable transmission 2) A Receive Window system named Hybrid ARQ (HARQ) in detail [6]. The receiver window size defines how multiple bytes can be received from the sender before overflow; this IV. AUTOMATIC REPEAT REQUEST (ARQ) process is called flow control [8]. TCP works by default The paper uses three basic ARQ methods; Stop-and- cumulative acknowledgment by advertising the Wait ARQ method, Go back N method, and Selective- following expected byte to receive. Selective Repeat ARQ method. Often, the data link or transport acknowledgments can be set in TCP header options [8]. layer of the ISO/OSI model uses these ARQ methods [4]. It is important to note that a reliable transport layer protocol such as TCP is needed for successful incorporation of ARQ and wireless data link protocols [4]. A. Stop-and-Wait ARQ Stop-and-wait method is the most significant method whereby the receiver and sender have sliding window (size 1). The sender in this method is allowed to send only one segment. The sender cannot send this segment Fig 3. The receive window size with change [9] to another sender unless they receive acknowledgement C. The similarity to Automatic repeat request for already sent segments. This method also allows (ARQ) receiver to detect corrupted segment using the checksum Most TCP implementations are implemented without field [4] and the sender has an opportunity to retransmit Selective acknowledgment and only cumulative the segment after time-out. acknowledgments sent. In this case, it mimics the Go- 1) Numberin system Back-N ARQ method though with temporary storing of This method allows sending of only one segment unless an acknowledgement to send another segment has been 196 received. The sequence number field has only binary 푡0 퐸[푡푡표푡푎푙] = [7] digits; 0 and 1. Though, the sequence number changes 1 − 푃푓 with change in the segment [5]. Therefore, the transmission rate effectiveness becomes: 2) Efficiency 푛푓 − 푛0 Assuming the link rate is R, frame size in bits will be 푛 푅푒푓푓 = 푓 퐸[푡푡표푡푎푙] and acknowledgment size in bits be 푛푎. Assuming there (푛푓 − 푛0) is a processing delay at the both of 푡 . Then the time = (1 − 푃푓) (1 푝푟표푐 푡0 to send a frame, to receive and acknowledgment 0 − 푃푓)푅푒푓푓 [7] becomes: Efficiency of the transmission is: 푛푓 푛푎 푡 = 2푡 + 2푡 + + [7] 휂 = (1 − 푃 )휂 [7] 0 푝푟표푝 푝푟표푐 푅 푅 푓 0 푛 When 푓 is the transmission delay of the frame, the The presence of errors diminishes the effective 푅 transmission rate and efficiency by a factor of (1 − 푃 ) transmission rate effectiveness in the absence of the 푓 where 푃 is the probability of the errored frame. errors becomes: 푓 0 푛푓 − 푛0 B. Selective repeat ARQ 푅푒푓푓 = [7] 푡0 The second method under consideration is selective- Where 푛0 is number of overhead bits in the frame. repeat method. Go-Bank-N has substantial limitations Transmission efficiency of the stop and wait scheme is that reduce efficiency of this method. Nevertheless, then: selective-repeat method solves this problem making it 푛 − 푛 푓 0 easier for simulators to deal with such challenges. This 푡0 휂0 = method primarily suggests that the information tracked 푅 is for only one segment and it must not be used in 푛0 1 − previous sections [7]. 푛푓 = [7] 1) Windows and timers 푛 2(푡 + 2푡 )푅 1 + 0 + 푝푟표푝 푝푟표푐 It is important to ensure that the sender window is of the 푛 푛 푓 푓 same size as the receiver window. It is also important to The numerator illustrates loss in efficiency due to header 푛 ensure that all segments deliver application layer with a bits while the denominator 푎 illustrates the loss in 푛푓 primary aim to eliminate errors [8]. efficiency due to the time demanded for the 2) Efficiency The purpose of selective repeat is to retransmit the acknowledgment message.