Sie sind auf Seite 1von 5

JOURNAL OF INFORMATION AND COMMUNICATION TECHNOLOGIES, VOLUME 2, ISSUE 5, MAY 2012 13

T-SIM High Fidelity TCP Simulator For Educational Environment


TAHIRA MAHBOOB
Department of Software Engineering, Fatima Jinnah Women University, Pakistan Abstract Transmission of data reliably and efficiently from the source to the destination is a necessary functionality provided by the data networks. The internet provides a range of protocols for data delivery reliably over the communication networks depending upon the nature of the information being exchanged. Transmission Control Protocol (TCP) is connection-oriented protocol that is being used for reliable process-to-process delivery on the internet today. TCP used flow control algorithm (techniques such as data packet Round Trip Time and packet loss) to prevent overwhelming the receiver which is the main feature of the protocol reliability. Understanding the functionality needs support of some mechanism such as a simulator. Hence, T-SIM Simulator provides a user friendly environment enabling experimentation with the flow control functionality under diverse traffic and congestion situations in contrast with previous simulators that are network simulators and are complex in functionality. Index Terms: Transmission control Protocol (TCP), Transmission control protocol/Internet protocol (TCP/IP), Network Simulator(NS-1), Network Simulator2 (NS-2), Explicit Congestion Notification (ECN), Round trip time (RTT), Graphical User interface (GUI)

u must also be extendable; users should not have to 1. INTRODUCTION rewrite or recompile existing source code to The internet uses variety of protocols for incorporate new flow control algorithms into the effective computer communications and simulator. T- Sim has been developed in four networks. Transport layer of the TCP/IP protocol parts. suite, a layer-model that is responsible for process-to-process delivery of data reliably. 2. RELATED WORK Transmission Control Protocol (TCP) is a A Simple Methodology for Constructing protocol for transmission of data reliably on the Extensible and High-Fidelity TCP/IP Network I n t e r n e t . TCP uses flow control algorithm to Simulators (1999) by S. Y. Wang and H.T. Kung prevent overwhelming the receiver which is the [1] proposes simple methodology for creating a main strength of the TCP protocol, however flow high fidelity network simulator using kernel re- control algorithms are complex and hard to entering technique. Methodology has been understand. Traditional methodology, teaching discussed for developing BSD unix based how flow control algorithms work, using the simulator that imitates real life traffic conditions sliding window concept, is not self explanatory also suggesting technique of adding application when it comes to understanding the functionality programs interface at each node, that may be in real time. Hence, TCP simulators provide a embedded in future. better understanding of the concepts of flow Improving Round-Trip Time Estimates in control functionality by actually being able to Reliable Transport Protocols by Phil Karn, experiment with different congestion conditions. Craig Partridge[2] suggests a solution to the Although TCP simulators do currently exist, such problem with Reliable Transport protocol (TCP), simulates tend to be network simulators that retransmission ambiguity that is when an were not created for the sole purpose of acknowledgment is received from a visualizing flow control algorithm operations retransmitted packet and there is no indication as and are often complex in functionality. to which transmission has been acknowledged. The goal of this research is to develop a T- In this paper the author reviews novel SIM TCP simulator that is capable of simulating approaches to help overcome the issue. and visualizing the operations of any TCP flow Simulation-based Comparisons of Tahoe, control algorithm working under diverse type of Reno, and SACK TCP by Kevin Fall and Sally Internet data traffic conditions. This simulator

JOURNAL OF INFORMATION AND COMMUNICATION TECHNOLOGIES, VOLUME 2, ISSUE 5, MAY 2012 14

Floyd [3] discusses the congestion control 3. FRAMEWORK: algorithms using a simulated environment 3.1. Simulator Structure proposing that selective acknowledgements in Basic structure of the simulator has been devised multiple packet dropped environment are not that behaves as an event driven engine that has required to solve performance issues of Reno the capability to load various flow control TCP, also absence of selective acknowledgment algorithm and precisely the TCP flow control doesnt hinder TCP Performance. Using algorithm. A layered infrastructure is simulator results this paper suggests that without implemented s each flow control algorithm Selective repeat TCP at most retransmits one operates in a segregated manner. Between the packet per round trip time. sending and the receiving hosts/processes. at the Validation Experiences with the NS transport layer under user defined congestion Simulator by Sally Floyd[4] discusses the and traffic condition. validation issues of large scale Network Simulation models and suggests the research At the second stage each flow control community to help resolve them. He discusses algorithm is developed in a code block the problems that may arise due to underlying architecture as each algorithm has been incomplete models such as TCP ECN behavior implemented as a separate module that is loaded with delayed-ACK receivers, detected by NS user into the main engine at runtime as desired by the and TCP retransmission bug introduced during user under various parameters of traffic. Both transformation from NS-1 to NS-2. TCP and commonly used flow control algorithms TRANSMISSION CONTROL PROTOCOL are developed such as Selective repeat Go-back DARPA INTERNET PROGRAM N. PROTOCOL SPECIFICATION RFC 793 (1981) At the third stage the transmission layer is [5] prepared for DARPA (Defense Advanced implemented which allow parameter flexibility Research Projects Agency) is a DoD standard to various operations such as data generation, document that describes what functions of TCP window size, loss generators, delay that depicts that must be embedded in a program that has real life traffic conditions based on statistical been developed to implement it models that are manipulating the data being REAL: A Network Simulator (1998) by exchanges between the sender and the receiver. Srinivasan Keshav [6] describes the analytical These traffic conditions depict the internet. results of REAL simulator to highlight its key Lastly the Graphical user interface (GUI) is feature for performance analysis of computer developed that graphically visualize the data and networks and also details the methodology for its the effect of manipulating different traffic implementation and lastly experimental results conditions under various flow control algorithms are given suggesting that congestion control or and the TCP flow control. The GUI also provides avoidance require a coordination between source the user understanding of the actions taken by Transport protocol and gateway scheduling. the flow control algorithms to respond to those Expanding Confidence in Network Figure1 (T-SIM Framework) Simulation (2000) by John Heinemann, Kevin Mills, Sri Kumar [7]. This paper discusses the T-SIM issues that were highlighted in Network Simulation Validation Workshop sponsored by GUI DARPA and NIST in May 1999. This paper suggest guidelines that need to be adopted for validation and summarizes best-practices of Transmission link Transport Layer SIMULATOR general validation and validation of TCP. layer module module ENGINE REAL: A Network Simulator by Srinivasan keshavis an analysis of the REAL network simulator using results of various simulations to depict the analytical power.

JOURNAL OF INFORMATION AND COMMUNICATION TECHNOLOGIES, VOLUME 2, ISSUE 5, MAY 2012 15

conditions. The TCP engine is then integrated with the front end (GUI) that fulfils the goal of this paper.

3.2. SIMULATOR RESULTS


3.2.1 Flow Control: Select File and buffer size. Upon execution data is sent to the Sending Buffer. Segment data according to Buffer size and data transferred to the receiving host. Data received by the receiving Buffer as per receiving buffer size. Data consumed by the receiver Window =0 ACK is sent to the sender when the Receiver Buffer is full. Sender sends 1 byte of data and the sequence number of the segment to be transferred. As data is consumed a Message displayed that data is consumed by Host B which in turn sets the WIN to The spare room in the Receive Buffer. This data streaming continues till the Whole File has been received at the Host B. 3.2.2 Go Back N protocol Go-Back N Sender Actions: Select the window size to send the packets. Initialize the window with base and nextSeqNo = 1

Stop timer // the packets before acknowledgement have been received. If not start timer As timer expires o Start timer o Resend the packets base to next SeqNo-1

Go-Back N Receiver Actions: Initialize expectedSeqNo=1 Set Ack 0 // if packet 1 is lost/corrupt

Packet No expectedSeqNo received o Data transferred to application o Set expectedSeqNo to ACK o Increment expectedSeqNo If packet is received out order(sequence) o Last ACK is resent

of

3.2.3

Selective Repeat:

Selective Repeat Sender Actions: Initialize the Send_Base=next_SeqNo=1 If next_seqNo Send_Base is less than the Window_size, send the packet and start the timer Upon ACK receive: ID the packet as received If ID =is send_base, update send_base to the first unacked packet\ As timer expires: Resend the packet Selective Repeat Receiver Actions: As packet received: o If the packet is less than Receiver_base, send ACK o It already ACK, send ACK again o If it is equal to Receiver_Base

If the nextSeqno is less than (base + window size) build a packet. Sender sends the packet. If ( base == to nextSeqNo) Start the RT timer Increment nextSegNo Upon arrival of Valid acknowledgment base =ackseqNo + 1 // the first unacked packet

JOURNAL OF INFORMATION AND COMMUNICATION TECHNOLOGIES, VOLUME 2, ISSUE 5, MAY 2012 16

Send it to the application Send all next ACKed packets to the application Set the Receiver_Base to first UnACKed packet If packet not ACKed but lies in window, save the packet If packet is greater than Receiver_Base + WindowSize, ignore the packet

4.2 Processor time

3.2.4

TCP Flow control:

Cumulative ACK handled in TCP flow control Single timer restarts upon receiving ACK for next packets. Timer timed out event occurs Triple duplicate ACKs are received to the sender Functionality: Send packets from sender: o ACK received of last successful packet o Advance window = Window size - last ack received o If packet lost o ACK of lost packet send to sender each time a packet sent to receiver o Buffer the received packets after lost packet o Upon receiving the killed packet ACK of last buffered packet sent to sender from the receiver. o ACK received of lost packet move window forward to last sent packet o IF timer expires for a lost packet, resend the packet ACK of last received packet sent to sender

5. Constraints of the T-SIM Simulator


Development Environment Since the simulator has been developed using the Windows XP environment it operates on machines having windows operating Educational Usage The simulator has been developed strictly for the purpose of educational interest and further experimentation out of the domain of the said protocols is not possible.

6. Conclusions and Future work


In this paper highly reliable, secure, user friendly, modular and comprehensive simulator has been developed. The simulator is easily configurable and provides sufficient parameter flexibility that the intended user can use to understand the various flow control algorithms in detail and TCP flow control algorithm in specific. The intended simulator is highly user friendly as compared to the existing simulators that are very complex in their functionality and are hard to comprehend if operated by a novice to concepts of networking. In future various advancements to flow control algorithms can be added to the core

4. EXPERIMENTAL RESULTS
Experimental testing of the simulator has been done including memory usage and CPU utilization.

4.1 Memory usage

JOURNAL OF INFORMATION AND COMMUNICATION TECHNOLOGIES, VOLUME 2, ISSUE 5, MAY 2012 17

simulator structure since the modular structure does not disturb the existing model.

7. REFRENCES: [1]. S. Y. Wang and H.T. ,A Simple Methodology for


Constructing Extensible and High-Fidelity TCP/IP Network Simulators, Kung Proceedings of IEEE INFOCOM99,pp. 1134-1143 [2]. Phil Karn and Craig Partridge , Improving RoundTrip Time Estimates in Reliable Transport Protocols,ACM SIGCOMM, Computer Communication Review [3].Kevin Fall and Sally Floyd Simulation-based Comparisons of Tahoe, Reno, and SACK TCP , Newsletter ACM SIGCOMM Computer communication Review Vol 26, issue 3, July 1996 [4].Sally Floyd , Validation Experiences with the NS Simulator, Proceedings of the DARPA/NIST Network Simulation Validation Workshop 99. [5].RFC 793 , TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION, http://www.ietf.org/rfc/rfc793.txt [6].Technical Report , REAL: A Network Simulator, 98, University of California at Berkeley, CA, USA 98 [7].John Heinemann, Kevin Mills, Sri Kumar , Expanding Confidence in Network Simulation (2000), IEEE Network Magazine, 15 (5), pp. 58-63, Sept./Oct., 2001 [8].Srinivasan keshav , REAL: A Network Simulator , Technical Report No. UCB/CSD-88-472 , EECS Department University of California,Berkeley December 1988

Tahira Mahboob received the Bachelors degree in Software engineering from University of Engineering And Technology Lahore in 2007. Currently enrolled in MS Computer Engineering at CASE (Center for Advanced Studies in Engineering and is working as a Lecturer at Fatima Jinnah Women University, Rawalpindi. Research interests include software engineering, networks and communications, information security and simulation modeling, automation and voice processing. Author of 3 impact factor publications along with the supervision several bachelors and masters research thesis.

Das könnte Ihnen auch gefallen