|
Site Navigation
Introduction
Simulator
|
Introduction
IntroductionBackgroundThe TCP (Transmission Control Protocol) is the most dominant protocol used to deliver data reliably over the Internet today. TCP's strengths lie in its use of flow control algorithms that allows the TCP to vary the rate at which it sends data in response to data traffic conditions encountered in the communications link. The stability of the Internet today is largely due to the presence of well designed flow control algorithms in TCP.However, huge variances in Internet data traffic conditions has lead to the development of complex TCP flow control algorithms that make the understanding of such algorithms difficult. Traditional methods of teaching how flow control algorithms work, such as viewing sliding window illustrations, do not illustrate flow control algorithm dynamics well; a better method would be to use a TCP simulator that not only visualizes flow control algorithm operations happening in real time, but also allows users to experiment with running different flow control algorithms under different data traffic conditions conditions. Simulators capable of simulating TCP do exist. However, such simulators, like the REAL Simulator, are orientated towards experimental verification of communications protocols; they require configuration of the underlying network topology, a protocol layer programmed from the ground up and do not visualize well the end-to-end data transfer dynamics occurring in the TCP layer. As a result, such simulators are not ideal for use as learning tools. AimsThe aim of this project is to produce a visual TCP simulator that acts as an interactive teaching/demonstration tool by allowing users to experiment with simulating different TCP flow control algorithms over different data traffic conditions that are similar to those encountered on the Internet in real life.
The simulator developed should fulfil the following aims.
Programming Language UsedThree languages (C, C++ and Java) were considered for use in implementing the TCP simulator since these are the languages I am most familiar with. After careful consideration, Java was chosen because of the following benefits.
|