STUDY OF TCP THROUGHPUT ON NETWORK SIMULATOR OPNET++ BY USING DIFFERENT PARAMETERS

Similar documents
Eng 3553 Lab #5 TCP Throughput

Objective To examine the throughput of a TCP connection as the flow control window size is varied.

TCP Congestion Control in Wired and Wireless networks

TCP Congestion Control in Wired and Wireless Networks

Introduction to Protocols

SIMULATION FRAMEWORK MODELING

User Datagram Protocol (UDP):

Topics. TCP sliding window protocol TCP PUSH flag TCP slow start Bulk data throughput

Chapter 6. What happens at the Transport Layer? Services provided Transport protocols UDP TCP Flow control Congestion control

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 25, 2018

Transport Protocols & TCP TCP

Congestion Control 3/16/09

Neural-based TCP performance modelling

Transmission Control Protocol. ITS 413 Internet Technologies and Applications

Transport Layer. Application / Transport Interface. Transport Layer Services. Transport Layer Connections

Performance Analysis of TCP Variants

Experimental Study of TCP Congestion Control Algorithms

Introduction to Open System Interconnection Reference Model

ES623 Networked Embedded Systems

8. TCP Congestion Control

CS268: Beyond TCP Congestion Control

IJSRD - International Journal for Scientific Research & Development Vol. 2, Issue 03, 2014 ISSN (online):

Transport Layer Protocols TCP

Transport Protocols and TCP: Review

Computer Networking Introduction

Cross-layer TCP Performance Analysis in IEEE Vehicular Environments

UNIT IV -- TRANSPORT LAYER

ECE 610: Homework 4 Problems are taken from Kurose and Ross.

Chapter 3 outline. 3.5 Connection-oriented transport: TCP. 3.6 Principles of congestion control 3.7 TCP congestion control

EVALUATING THE DIVERSE ALGORITHMS OF TRANSMISSION CONTROL PROTOCOL UNDER THE ENVIRONMENT OF NS-2

Rate Based Pacing with Various TCP Variants

Security Lab 1 Firewall Performance

TCP Congestion Control 65KB W

TCP based Receiver Assistant Congestion Control

Performance Analysis of TCP LBA and TCP TAHOE Approaches in g Standard Savreet KaurBrar 1, Sandeep Singh Kang 2

RD-TCP: Reorder Detecting TCP

TCP versus UDP Response Time

Congestion Control in TCP

UNIT 2 TRANSPORT LAYER

Performance of TCP Protocol Running over Wireless LAN Network using the Snoop Protocol

Intro to LAN/WAN. Transport Layer

Congestion Control in TCP

Outline. CS5984 Mobile Computing

TCP Congestion Control With a Misbehaving Receiver

CSE 461. TCP and network congestion

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 30, 2018

6.1 Internet Transport Layer Architecture 6.2 UDP (User Datagram Protocol) 6.3 TCP (Transmission Control Protocol) 6. Transport Layer 6-1

Network Simulation with OPNET

CS 5520/ECE 5590NA: Network Architecture I Spring Lecture 13: UDP and TCP

Student ID: CS457: Computer Networking Date: 3/20/2007 Name:

Problem 7. Problem 8. Problem 9

End-to-End Protocols. Transport Protocols. User Datagram Protocol (UDP) Application Layer Expectations

The Transport Layer Congestion control in TCP

Chapter III: Transport Layer

Transport Layer PREPARED BY AHMED ABDEL-RAOUF

Transport Layer. -UDP (User Datagram Protocol) -TCP (Transport Control Protocol)

CSCI Topics: Internet Programming Fall 2008

Advanced Computer Networks

TCP CONGESTION CONTROL PROTOCOLS OVER UMTS WCDMA NETWORK

Guide To TCP/IP, Second Edition UDP Header Source Port Number (16 bits) IP HEADER Protocol Field = 17 Destination Port Number (16 bit) 15 16

TCP Congestion Control

TCP Congestion Control

TCP Flavors Simulation Evaluations over Noisy Environment

Network Protocols. Transmission Control Protocol (TCP) TDC375 Autumn 2009/10 John Kristoff DePaul University 1

TCP Performance. EE 122: Intro to Communication Networks. Fall 2006 (MW 4-5:30 in Donner 155) Vern Paxson TAs: Dilip Antony Joseph and Sukun Kim

Applied Networks & Security

Network Working Group. Category: Experimental February TCP Congestion Control with Appropriate Byte Counting (ABC)

ECE 333: Introduction to Communication Networks Fall 2001

Simulation of TCP Layer

TCP/IP. Chapter 5: Transport Layer TCP/IP Protocols

CS Transport. Outline. Window Flow Control. Window Flow Control

TCP/IP Performance ITL

TCP Strategies. Keepalive Timer. implementations do not have it as it is occasionally regarded as controversial. between source and destination

TSIN02 - Internetworking

The effect of Mobile IP handoffs on the performance of TCP

Performance Evaluation of TCP over WLAN with the Snoop Performance Enhancing Proxy

TCP PERFORMANCE FOR FUTURE IP-BASED WIRELESS NETWORKS

King Fahd University of Petroleum and Minerals College of Computer Sciences and Engineering Department of Computer Engineering

Performance Enhancement Of TCP For Wireless Network

Hybrid Control and Switched Systems. Lecture #17 Hybrid Systems Modeling of Communication Networks

OPNET M-TCP model. Modupe Omueti

ECEN Final Exam Fall Instructor: Srinivas Shakkottai

RED behavior with different packet sizes

CSE/EE 461 Lecture 16 TCP Congestion Control. TCP Congestion Control

UDP, TCP, IP multicast

Lecture 4: Congestion Control

CSCI Topics: Internet Programming Fall 2008

Congestion Control. Tom Anderson

Fast Retransmit. Problem: coarsegrain. timeouts lead to idle periods Fast retransmit: use duplicate ACKs to trigger retransmission

05 Transmission Control Protocol (TCP)

cs/ee 143 Communication Networks

TRANSMISSION CONTROL PROTOCOL

ENRICHMENT OF SACK TCP PERFORMANCE BY DELAYING FAST RECOVERY Mr. R. D. Mehta 1, Dr. C. H. Vithalani 2, Dr. N. N. Jani 3

TCP: Flow and Error Control

CMPE 257: Wireless and Mobile Networking

Transport Protocols and TCP

Delay Performance of the New Explicit Loss Notification TCP Technique for Wireless Networks

Introduction to Networking. Operating Systems In Depth XXVII 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

User Datagram Protocol

Introduction to Networks and the Internet

Transcription:

STUDY OF TCP THROUGHPUT ON NETWORK SIMULATOR OPNET++ BY USING DIFFERENT PARAMETERS Bhargava Neeraj*, Kumawat Anchal 1, Bhargava Ritu 2 and Kumar Bharat 3 1. Department of Computer Science, School of Engineering and Systems Science, MDS University, Ajmer (INDIA) 2. Department of MCA, Govt. Women s Engineering College, Ajmer (INDIA) 3. Department of Computer Science, MJRP University, Jaipur (INDIA) Received July 15, 2012 Accepted November 05, 2012 ABSTRACT TCP is the most used transport protocol in Internet. It has a data stream control based on TCP Window. This control implementation has several options and there are still different proposals to enhance it. When using TCP to transfer data the two most important factors are the TCP window size and the round trip latency. In this paper we will investigate the effect that the size of the flow control window has on the throughput of a TCP connection by using simulation parameters like-file size (bytes), inter request times (seconds), packet latency time (sec). Several simulations have been run with OPNET in order to acquire a better understanding of these parameters and the way they perform their functions. Key Words : Software engineering education, Reflective learning and teaching, Flow control, congestion control, Internet, TCP/IP, Transport protocols, Fast recovery INTRODUCTION TCP (Transmission Control Protocol) is a means for building a reliable communications stream, enabling two hosts to establish a connection and exchange streams of data made up a large number of discrete packets of data. TCP guarantees delivery of data and also guarantees that packets will be delivered in the same order in which they were sent 1. The Transmission Control Protocol (TCP) is one of the core protocols of the Internet Protocol Suite. TCP is one of the two original components of the suite, complementing the Internet Protocol (IP), and therefore the entire suite is commonly referred to as TCP/IP. 2 An internetwork differs from a single network because different parts may have different topologies, bandwidths, delays, packet sizes and other parameters 3. TCP provides reliable, ordered delivery of a stream of bytes from a program on one computer to another program on another computer.tcp provides a connection oriented, reliable, byte stream service. The term connection-oriented means * Author for correspondence the two applications using TCP must establish a TCP connection with each other before they can exchange data. 4 It is a full duplex protocol, meaning that each TCP connection supports a pair of byte streams, one flowing in each direction. TCP includes a flow-control mechanism for each of these byte streams that allow the receiver to limit how much data the sender can transmit. TCP also implements a congestion-control mechanism.tcp service is obtained by both the sender and receiver creating end points called sockets. Each socket has a socket (address) number consisting IP address of the host and 16 bit number local to that hosts called a port. A port is the TCP name for a TSAP (Transport Services Access Point) is an end-point for communication between the Transport layer (layer 4) and the Session layer in the OSI (Open Systems Interconnection) reference model from TCP service to be obtained, a connection must be explicitly established between a sockets on the sending machines and a socket on the receiving machine. 3 762

The basic protocol used by the TCP entities is the sliding window protocol. When a sender transmit a segment, it also starts a timer, when the segments arrive at the destination, the receiving TCP entity sends back a segment bearing an acknowledgement number equal to the next sequence number it expects to receive if the sender timer goes off before the acknowledgement is received the sender transmit the segment again. 5,6 In addition, TCP implements a highly tuned congestion-control mechanism. The idea of this mechanism is that how fast TCP sends data to keep the sender from overloading the network. The idea of TCP congestion control is for each source to determine how much capacity is available in the network, so that it knows how many packets it can safely have in transmit. It maintains a state variable for each connection called the congestion window, which is used by the source to limit how much data it is allowed to have in transit at a given time. TCP uses a mechanism is called additive increase/multiplicative decrease that decrease the congestion window when the level of congestion goes up and increases the congestion window when the level of congestion goes down. TCP interprets timeouts as a sign of congestion. Each time a timeout occurs, the source sets the congestion window to half of its previous value. This having corresponds to the multiplicative decrease part of the mechanism. The congestion window is not allowed to fall below the size of a single packet (the TCP maximum segment size, or MSS). Every time the source successfully sends a congestion window s worth of packets, it adds the equivalent of one packet to the congestion window, this is the additive increase part of the mechanism. TCP uses a mechanism called slow start to increase the congestion window rapidly from a cold start in TCP connections. It increases the congestion window exponentially, rather than linearly. Congestion can also occur when multiple input streams arrive at a router whose output capacity is less than the sum of the inputs. Congestion avoidance is a way to deal with lost packets. Finally, TCP utilizes a mechanism called fast retransmit and fast 763 recovery. Fast retransmit is a heuristic that sometimes triggers the retransmission of a dropped packet sooner than the regular timeout mechanism. Here we will set up a network that utilizes TCP as its end-to-end transmission protocol and analyze the size of the congestion window with different mechanisms. 7 OPNET provides network modelling, simulation and analysis features. It provides the user with the ability to choose network devices, such as switches, routers and workstations; connect them together with various types of links such as Ethernet 100 BaseT, FDDI and ATM and define network traffic patterns. OPNET may then be used to simulate the behaviour of the modelled network, to collect statistics such as application response time or link utilization and to display graphs of the collected statistics. OPNET may also be used to design computer networks from scratch to validate or troubleshoot an existing configuration or to evaluate a proposed upgrade. TCP throughput Throughput simply means that how much job is completed in the given unit of time. One of the functions TCP performs is flow control, using the sliding windows method, which permits multiple data packets to be in transit concurrently, making more efficient use of network bandwidth. The destination advertises how much buffer space it has available, and the source restricts its transmissions such that the receiver is not overloaded. A small flow control window, however, can adversely affect the throughput of the TCP connection. An overly small flow control window can cause TCP to act like a stop and wait protocol, whereas a very large flow control window would allow the sender to transmit continuously. 8-13 Formula to calculate TCP throughput When using TCP to transfer data the two most important factors are the TCP window size and the round trip latency. If user knows the TCP window size and the round trip latency user can calculate the maximum possible throughput of a data transfer between two

hosts, regardless of how much bandwidth user So let s consider a simple example. Suppose can have. there is a need of 1Gig Ethernet link from X to TCP-Window-Size-in-bits/ Latency-in-seconds Y with a round trip latency of 30 milliseconds. = Bits-per-second-throughput If there is a need to transfer a large file from a server in X to a server in Y using FTP. (Fig. 1) what is the best throughput user can expect? First let s convert the TCP window size from bytes to bits. In this case use the standard 64KB TCP window size of a Windows machine. 64KB = 65536 Bytes. 65536 * 8 = 524288 bits Next, takes the TCP window in bits and divide it by the round trip latency of our link in seconds. So if the latency is 30 milliseconds we will use 0.030 in calculation. 524288 bits / 0.030 seconds = 17476266 bits per second throughput = 17.4 Mbps maximum possible throughput. 14 MATERIAL AND METHODS Create the empty scenario using FTP (File Transfer Protocol) to test the throughput of TCP, therefore, the following steps are needed to configure an FTP object. Step 1 Select application configuration object from the Object Palette and place it in the project workspace. Then expand application definition to set the attributes. Inter-Request Time (seconds) constant (10000) File Size (bytes) constant (1000000) Step 2 FTP applications will transfer a 1 MB file; we can evaluate TCP s behaviour by selecting a profile configuration object from the object palette and place it in the project Fig. 1 : Finding the best throughput 764 workspace. Expand profile configuration to set attributes. Repeatability Once at tart Time Step 3 Next, we need to configure a WAN that connects the FTP client and server. Select ip32_cloud object from the object palette and place it in the project workspace by editing the attributes. Packet Latency (seconds) constant(0.25) Step 4 To configure the FTP client select ppp_wkstn object from the object palette and place it in the project workspace and expand the TCP followed by TCP Parameters attribute the user will set. Receive buffer (bytes) field as 8760. This means that the TCP source may not send more than 8760 bytes of data without receiving an acknowledgement. Step 5 To configure the FTP server, select ppp_server object and Expand the TCP which may be followed by TCP parameters attribute. Maximum Segment Size (bytes) attribute to 512.This will ensure that each TCP packet is 512 bytes long. Last step, we need to connect the client and server to the WAN for which Link Models followed by PPP_DS1 link from the object palette and use it to connect the FTP client to the ip32_cloud and the FTP server to the cloud. The user may fix the DS1 speed as 1.5 Mbps. After doing all these steps, this will show as in Fig. 2.

Fig. 2 : TCP throughput model RESULTS AND DISCUSSION For the Simulation we choose three Statistic properties for TCP through put such as Download response time (seconds) Sent segment sequence number Traffic received (bytes/sec) For finding the sent segment sequence number and its statistic first select change collection mode, followed by advanced option, and set the capture mode to all values. This will give us a more detailed graph as shown in the Fig 3. Flow control refers to a set of procedures used to restrict the amount of data that the sender can send before waiting for acknowledgment. Simulation result based on the above table parameters of internet toolbox palette. Which are shown below. The graph Fig. 4 and Table 1 shows the server incrementing a counter as packets are sent over time. To get the statistics of graph, click the show button and drag a box repeatedly around where both plots intersect until you can see the stair-step pattern of both plots. Fig 3 : Click checkbox to more detailed graph 765

Table 1 : Simulation parameters of TCP TCP parameters Values Area 250*250 Inter-request time Constant(10000) File size (bytes) Constant(1000000) Packet latency (sec) Constant(0.00) Simulation duration 4 minutes Components Client,Server,Ip_32_cloud This graph shows both servers sending data and incrementing their counters (vertical portions of graphs) and waiting for acknowledgements from the client (horizontal portions of graphs). The difference that the larger receive window has is obvious. Although both servers wait about the same amount of time for each acknowledgement, the server from scenario two transmits much more packets between each acknowledgement, thus completing the download much more quickly. CONCLUSION This paper summarizes a study on TCP and its mechanisms for data transmission control. Simulations have been run in order with OPNET s software has shown itself as a perfect tool for achieving such goal. REFERENCES 1. Stevens W.R., TCP/IP Illustrated, Boston : Addison-Wesley, 1(1).45-60, (1994). 2. Huston G., TCP in a Wireless World, IEEE Internet Comp., 5(1), 82-84, (2001). 3. Andrew S. Tanenbaum, Computer network internet transports protocol : TCP. (2007). Fig 4 : Simulation results of given table 766 4. Sunshine C.A. and Dalal Y.K., Connection Management in Transport Protocols, Comp. Net. 2(1), 454-473, (1978). 5. Clark D. D., Window and acknowledgement strategy in TCP, RFC 813, DNN Protocol Handbook, 3-26, (1982). 6. Mishra Kumar Rajeev, Parida Manoranjan and Rangnekar Santosh, Urban transport system : An environmentally sustainable approach, J. Environ. Res. Develop., 6(3), 500-506, (2012). 7. Nagle J., Congestion Control in TCP/IP Internetworks, Comp. Comm. Rev., 14(1) 11-17, (1984). 8. Clack D.D., Lambert M. and Zhang L., NETBLT : A High Throughput Transport Protocol, Proc. SIGCOMM '87 Conf., ACM, 353-359, (1987). 9. Xylomenos G., Polyzos G.C., Ahonen P. and Saaranen M., TCP Performance Issues Over Wireless Links, IEEE Commu. Magaz., (39), 52-58, April (2001). 10. Akhtar M.N., Barryand M.A.O. and Al- Raweshidy H. S., Modified Tahoe TCP for wireless networks using OPNET simulator, Proc. London Comm. Sym. (LCS2003), London, 1-10 (2003).

11. Stevens W., TCP slow start, congestion 29(4), 3-4, (1999). avoidance, fast retransmit and fast 13. W. Richard Stevens., TCP/IP Illustrated, recovery algorithms, Network Working (1)., The Protocols. Addision Wesley, Group, RFC2001, 448, (1997). ISBN : 0-201-633469, (2004). 12. Stefan Savage, Neal Cardwell, David 14. Singh Vikram, Environmental cost of Wetherall and Tom Anderson, TCP information technology boom, J. Congestion Control with a Misbehaving Environ. Res. Develop., 3(2), 585-591, receiver, ACM Comp. Comm. Rev., (2008). 767