The project titled "Tools for Network and Protocol Simulation", is a partial fulfilment of our final year curriculum and aims at an in-depth study of Industry standard network protocols such as Sliding Window Protocols, CSMA/CD and Routing Algorithms. The scope of the project also includes the design & implementation of teaching tools for the same. Teaching tools in the form of Java applets have been designed, simulating their working and showing their adaptability in a changing networking environment.
The development of teaching tools simulating the working of various protocols was undertaken as part of the project work, because simulation provides a practical methodology for understanding system behaviors that are either too complex for mathematical analysis, too expensive to investigate by measurements or prototyping or both. Abstract simulation has always been an indispensable tool in the design and analysis of networks. Also, due to performance limitations of majority of simulators, usually network simulations have been done for rather small network models and for short time-scales. Network engineers & researchers routinely use simulations in their daily network design and analysis tasks. Deciding how to abstract the real system behavior of interest into a simulation model is an art in itself. Assuming that the abstract system behavior is decided separately, it is imperative that the focus should be on naturally expressing the behavior and efficiently executing it. Finally, it is worth stressing that the design of a good modeling interface is an iterative feedback process, involving both the software designers and the model developer.
The platform chosen for the implementation of these teaching tools was Java, since Java is both platform and architecture independent and can run on a wide variety of machines having different software supports, with absolutely no modifications whatsoever. Thus, these Java teaching tools can facilitate both off-line (classroom) teaching as well as on-line (web-based) teaching, benefiting both students in the field of Computer Science and professionals in the networking industry. During the course of this final year, as part of the project, Java applets for the comprehensive study of the Sliding Window protocols and the CSMA/CD protocol have been implemented. These applets exactly emulate the manner in which the protocol actually functions when employed in a network, thereby acting as perfect teaching tools supporting the popular concept of Computer Aided Teaching (CAT).
In the chapters to come, the Sliding Window Protocols and the CSMA/CD protocol have been discussed in great detail covering features, working of the protocol and merits/demerits of the same. The design/description of the applet simulating the working of the respective protocol has also been included, so has the class hierarchy of these Java applets.
The chapter titled ‘Other Protocols and Algorithms’ discusses other protocols studied and for which teaching tools have been implemented. The simulators for these protocols are still in the process of being refined and enhanced, so that they be more effective as network protocol simulators and also comprehensive in terms of the services & features made available to the user. Under this, Java applets for the study of static routing algorithms such as Fixed Routing & Flooding have been implemented. Also, Java applications showing the working of the Token-Ring protocol and the Distance Vector Algorithm (a dynamic routing algorithm) have been designed. This chapter gives a brief description about the working of these protocols/algorithms and also about the applets/applications designed.
The chapter following this introductory section, gives a brief review of the various concepts and fundamentals of Computer Networks & Protocols.