A TCP Learning Environment Kristoffer Getchell
Alan Miller
Colin Allison
School of Computer Science University of St Andrews St Andrews
[email protected]
School of Computer Science University of St Andrews St Andrews
[email protected]
School of Computer Science University of St Andrews St Andrews
[email protected]
ABSTRACT Computer networking is a naturally dynamic and engaging subject; however this dynamism is often difficult to engage with as it occurs at timescales well outside of the human perceptive domain. In this paper we outline a learning environment that allows students to explore the inherent dynamism and complexity of the transmission control protocol,TCP, within an interactive, accessible and supportive framework. The approach adopted is to develop a series of interactive learning objects which allow students to explore the behaviour of TCP through a number of concrete scenarios, presented using familiar Internet browser technology. By presenting a range of different scenarios the learning framework highlights several important concepts to the user, enabling them to develop a broad understanding of the behaviour of the TCP protocol. Keywords Networks, TCP, Interactive Learning Objects
1. INTRODUCTION The development of the Internet and the growth of distributed applications have significantly increased the importance of the study of computer networks. Today’s computer science graduate is expected to have a deep understanding of modern networking technology, protocols and applications. Computer networks are naturally dynamic and engaging entities. Packets travel from source to destination, transformations develop and communication takes place. Yet in teaching this dynamic subject there is a persistent dilemma, This work has been supported by the HEA Development Fund Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission. ©2005 Higher Education Academy Information and Computer Sciences
Subject
Centre
for
rooted in its inherent complexity and the difficulty of observing and interacting with the dynamism at human time scales. From our experience in designing computer networking courses for undergraduate students we have observed that a course can: •
Be designed so that it provides a high level overview of computer networks. These courses run the risk of being dry, full of acronyms and relatively ineffective. Thus it becomes difficult for learners to achieve more than a surface understanding of the subject.
•
Be structured around a “hands on” programming approach. This has the advantage of being more engaging, but runs the risk of not supporting important aspects of the curriculum, which do not lend themselves naturally to the approach. For example, the congestion control mechanisms situated within the transmission control protocol (TCP) [1, 2].
The aim of this project is to design, develop and provide interactive learning objects that allow learners to interact with animations and visualisations of network behaviour. In this way areas of networking, including those that do not lend themselves to a programming approach, can be brought to life for learners. The way in which the learning objects are designed, and the context within which they are situated, are both important in determining their educational value. Our approach is informed by a constructivist pedagogy [3]. That is, we aim at facilitating knowledge construction through interaction with learning opportunities rather than simply transferring information from book (or teacher) to student. This top level aim has motivated the design and implementation of a set of interactive learning objects that let the learner experiment with parameters and observe changes in behaviour. In section 2 we include a brief discussion of related work before continuing to introduce the TCP learning environment in section 3. Finally, section 4 provides an overview and conclusion to the paper.
2. RELATED WORK “e-Learning” is currently a topic soliciting a great deal of research interest. Various groups are approaching different facets of the subject such as e-Learning architectures [4, 5] and specific eLearning applications [6, 7]. Also of interest are the efforts of groups such as the IMS Global Learning Consortium, who develop and specify descriptive schema for e-Learning design and implementation [8, 9]. This section will provide an overview of current activity, focussing on the following examples of these types of research: •
Architectures: ELeGI [5, 10]
•
Applications: Courseware at Western Carolina [6] and Network Learning Objects (NLO) at St Andrews University [7]
•
Schema: IMS learning design (IMS-LD) [8] (e-Learning descriptive schema).
2.1 ELeGI ELeGI, the European Learning Grid Infrastructure project, aims to develop software technologies which will allow effective human learning [10]. The basis of the project is a learning paradigm that is focussed on knowledge construction using experiential based and collaborative learning approaches in a contextualised and personal way. At the heart of the ELeGI approach is the learner; unlike the classical, applicative approach to learning ELeGI aims to promote learning as a social, constructive phenomenon occurring as a side effect of interactions, conversations and enhanced presence in dynamic virtual communities.
2.2 Animating Networking Concepts Many Universities have adopted informal approaches to the teaching of computer networking concepts. Some adopt to use animations whilst others tend towards a more interactive environment for learning. There are yet more differences with different courses tackling different levels of the Internet protocol stack. Here we introduce two approaches with Western Carolina focussing on the Physical and Data link layers whilst St Andrews tackles the Network and Transport layers. 2.2.1 Courseware at Western Carolina The approach adopted by Mark Holliday of Western Carolina University [6] aims to make the principles of computer networks accessible to both computer science majors and other non-computer science students. The primary approach adopted is to use Java applets to provide an animated interface to the learner. The applets serve two roles; firstly they provide a visual representation of different scenarios and secondly they act as a vehicle for experimentation, allowing the learner to explore at their own pace.
2.2.2 NLOs at the University of St Andrews We are engaged in developing a number of learning objects of relevance to computer networking: 1. Network Topology Discovery [7]: In this learning environment users are provided with a web interface which allows them to trace the route between any two PlanetLab nodes [11, 12]. The user is able to control the generation of sent packets and is informed of their packets’ progress through the network using network produced feedback information. 2. Network Protocol Interaction: This learning object provides the learner with a graphical interface which allows him to control the behaviour of various protocols by altering the data stored in the packet header fields. The PlanetLab network is used to allow the learner’s packets to be sent over real networks, with feedback information produced by the network being used to update the learner as to the fate of his packet. 3. Routing: The Routing learning environment being developed will provide the learner with access to simulations of Open Shortest Path First (OSPF) [13]. The learner will be guided through the underlying algorithm and given a number of opportunities to interact and experiment with the simulations produced using Flash animations and Java applets. 4. Wireless Networks: A controlled interface to the NS2 network research simulator [14] is being developed to provide realistic input to a series of web-delivered scenarios that explore the behaviour of WiFi networks and expose their protocols at work.
2.3 IMS-LD Recently the popularity of Educational Modelling Languages (EML) [15] has grown, with IMS-LD’s “pedagogically independent” approach becoming very popular. IMS-LD [8] provides a framework that can be used to formally describe an educational scenario. A learning design is a method which allows learners to accomplish particular objectives by undertaking activities that interact with a learning environment, gaining knowledge as they progress. By supporting multiple delivery methods IMS-LD allows learning objects to be transferred and reused in any number of different learning scenarios.
3. TCP VIEW1 The centrality of TCP to the Internet and the behaviour of network traffic means that it is important for application developers to gain a deep understanding of TCP’s behaviour. This is particularly true as increasingly, to coin a phrase, 1
http://tcp.dcs.st-andrews.ac.uk
“the network is the computer”. It is only with an understanding of TCP that one can make informed choices about when the protocol should be used, and thus design applications that make best use of its behaviour. TCP is a relatively complex protocol and as such it is a challenge to develop accessible course materials which introduce students to its functionality and behaviour.
3.1 Delivery Our approach involves the creation of a number of smaller, self contained learning sections which can either be used in isolation or may be grouped in order to form a larger learning module. In essence the TCPView project can be split into four distinct units, with each presenting a different aspect of the protocol to the learner: •
Unit 1 provides an overview of the protocol, outlining its historical development and providing the learner with an opportunity to explore the physical structure of a TCP packet directly.
•
Unit 2 deals with the interactions that control TCP’s start up and shutdown procedures. Presented using a variety of interactive elements, the learner is guided through what can be referred to as TCP’s macrostate.
•
Unit 3 presents the techniques used by TCP to maintain a connection in order to ensure that the protocol is able to provide the in-order and reliable service guaranteed. By allowing the learner to alter a number of protocol parameters within a simulated environment we are able to provide a visual representation of the effect of any changes, thus the learner is able to gain an understanding of the microstate behaviour exhibited by TCP by building up a series of cause-effect relationships based on their independent experimentation.
•
Unit 4 provides an opportunity to reflect upon the protocol as a whole. Through the use of 3D visualisation techniques learners are able to evaluate the relative performance of TCP under a variety of network conditions, thus reiterating the causal relationships introduced in unit 4.
3.2 Sequencing 3.2.1 Macrostate The opening and closing of a TCP connection is a complex process because of the need to provide reliable transport, protection against separate connections interfering with each other and because it cannot be assumed that all communicating machines obey the protocol specification. Figure 1 shows the TCP finite state machine. The aim of
Figure 1: TCP Finite State Machine
units 1 and 2 is to provide the resources that will enable a learner to gain an understanding of the interactions represented by this diagram. The learner is presented with a representation of a TCP packet header which they can explore. By independently examining the packet representation the learner is able to develop an understanding of the different fields present within a packet whilst gaining a broad idea of the functionality that each field helps to provide.
Figure 2: Sequence Diagram for Opening a TCP Connection
Interactive animations of individual scenarios (Figure 2), for example, the various ways in which a TCP connection can be opened and closed, are used to demonstrate the way in which packets are exchanged. In each of these scenarios, animated signal sequence diagrams are used so that the learner can observe the sequence in which the interactions, the transfer of packets and state transitions occur. The learner is able to step backward and forward within each scenario. Having been through the scenarios an animated version of the entire TCP state transition diagram is provided (Figure 1). Here the learner can identify the paths which correspond to the individual
scenarios presented earlier. By exploring a number of different scenarios which utilise animation and visualisation, the user is able to develop an understanding of the complex set of interactions that are central to the functioning of the Internet. 3.2.2 Microstate The flow of data across a TCP connection takes place whilst the connection is in the established state. There are a number of algorithms and variables which are used to control the way in which data flows. In this unit we allow the learner to explore the way in which these algorithms interact with other TCP connections and the prevailing network conditions. In unit 3 we adopt the approach of allowing learners to explore concrete scenarios with the aim of facilitating the development of a holistic understanding of the performance issues related to TCP.
visualisation shows how performance values change based on the loss experienced by a connection and the amount of data it is required to transfer. The learner will be able to identify different regions; in Figure 4 we observe a trough which corresponds to small connections suffering as a consequence of poor start up efficiency, a peak which corresponds to significantly sized connections achieving more than their fair share of bandwidth and a plateau of fair behaviour for very long lived connections. The student is also able to explore the interaction between the congestion and flow control windows by changing the size of the flow control window and observing the effect that this has on the graph.
In addition to the scenarios-based approach we also introduce the learner to an application that simulates the average behaviour of a TCP connection given a particular amount of data to transfer, loss regime, round trip time (RTT), maximum segment size (MSS) and a flow control window size, all of which can be set by the learner. The learner is presented with a graph which shows the changes that are likely to occur in the rate at which data will be transferred as a TCP connection progresses through its lifecycle. By changing the parameters the learner is able to explore a number of different scenarios and visually inspect the effects caused by the changes that they make to the input parameters. In unit 4 the learner is introduced to the notion of TCP fairness, i.e. the rate at which it is socially acceptable for a TCP connection to transfer data [16]. They are presented with a 2D graph which, for a given rate of loss, illustrates how the performance of TCP connections can be expected to change depending upon the amount of data transferred.
Figure 3: 2D Graphical Representation
In Figure 3 each point corresponds to a single TCP connection. Again the learner is able to change parameters in order to explore different scenarios. Finally the learner is able to interact with a 3D representation of the protocol’s performance. The
Figure 4: 3D Representation of TCP Efficiency
In units 3 and 4 the learner is taken from an understanding of how individual TCP connections are managed through to an understanding of the impact that advanced topics such as flow control, congestion control, loss and connection size have on the performance of a TCP connection. By starting with the specific (individual scenarios) and expanding out to the general (overview graphs etc) it is hoped that learners will develop a wider, more holistic overall understanding of the subject area.
3.3 Interactivity Throughout each of the sections a range of approaches to Interactivity are used: Image Maps are an ideal way to bring interactivity to an otherwise static diagram. By providing a number of animated “hot spots” which encourage learning through exploration; the learner is able to construct their own understanding of the context provided. Packet Flow Diagrams are used to explore the process of transferring a packet from one host to another. By building on the concept of a packet, and showing the interactions between machines, the packet flow diagrams allow the learner to visualise, in a simplified form, the way in which TCP communication takes place. Sequence State Diagrams provide an introduction to the complexities of the TCP state transition diagram. These diagrams, as shown in Figure 2,
allow the learner to interact with, and explore the timing, sequencing and reliability issues associated with a TCP connection. Simulations allow the learner to direct their own learning environment; experimenting with parameters and obtaining feedback. The simulation approach allows us to introduce the cause-effect relationship between simulator parameters and TCP’s behaviour; the learner is therefore able to explore the complex subtleties of TCP’s behaviour under a variety of conditions. The use of 2D and 3D graphs allows the behaviour of TCP to be visualised and displayed in a clear and appealing way to the learner, thus easing the process of identifying the changes to TCP’s behaviour caused by parameter adjustments.
The site1 is freely available for non-commercial use, and feedback from those involved in networking education, in any role, is welcome.
3.4 Delivery The TCPView project is delivered to learners using a standard web browser, with the resources required provided by a dedicated server running Apache [17] web server software. It has been used at St Andrews during lectures, allowing the lecturer to illustrate a point, in lab exercise sessions, and informally by students whenever they wish to experiment and learn. A number of the learning objects make use of Java applets and Flash animations and so the learners’ computers may require additional plugin software. A self-help page is provided which can be used to guide the learner through the steps required in order to correctly configure their web browser. There is a strong emphasis on continuity throughout the TCPView environment, with standard templates being used to generate the pages used to deliver the learning objects to the students. This helps to provide uniformed navigation components which, in turn, allows learners to focus on the materials being presented and not unfamiliar page layouts.
4. CONCLUSION In this paper we argue that computer networking is a naturally engaging subject that often suffers from being presented in an overly complex and acronym riddled way. By making use of technology familiar to the learner; web browsers, web pages, Java applets and Flash animations, our learning environment attempts to harness the inherent dynamism of the subject, presenting it in an accessible and stimulating way using a series of learning objects that encourage learner interaction. Unlike conventional lecture and tutorial scenarios, the traditional power structures oftentimes associated with learning are removed, and the learner is empowered with access to the resources that they need in order to independently pursue their own learning. Initial feedback from undergraduates has been positive, but further evaluation is needed.
5. REFERENCES [1]
Stevens, W.R., TCP/IP Illustrated, Volume 1. Vol. 1. 1994, Massachusetts, USA: Addison-Wesley.
[2]
RFC 793: Transmission Control Protocol, in Darpa Internet Program Protocol Specification, J. Postel, Editor. 1981, IETF.
[3]
Fosnot, C., Constructivism: Theory, perspectives, and practice. 1996, Teachers College Press: New York, NY, USA.
[4]
edu-learning: eLearning Framework Project. [cited 8 April 2005]; Available from: https://eduelearning.dev.java.net/.
[5]
Gaeta, M., P. Ritrovato, and S. Salerno, ELeGI: The European Learning Grid Infrastructure White Paper. 2004.
[6]
Holliday, M.A., Animation of Computer Networking Concepts. ACM Journal of Educational Resources in Computing, 2003. 3(2): p. 1-26.
[7]
Callachan, M., K.M. Getchell, A. Miller, and C. Allison, Using Virtual Networks For Visual Network Topology Discovery, in PGNet. 2005, John Moores University: Liverpool, UK.
[8]
IMS Learning Design Best Practice and Implementation Guide. 2003, IMS Global Learning Consortium.
[9]
Baresi, L., F. Garzotto, and L. Mainetti, Consistent and Adaptable W2000 Models, in Museums and the Web. 2004: Arlington, Virginia, USA.
[10] Allison, C., M. Bateman, R. Nicoll, A. Ruddle, P. Ritrovato, M. Gaeta, and S. Salerno, ELeGI: The European Learning Grid Infrastructure, in TransEuropean Research and Education Networking Association. 2004: Rhodes, Greece. [11] Paterson, L., T. Anderson, D. Culler, and T. Roscoe, A Blueprint for Introducing Disruptive Technology into the Internet, in ACM Workshop on Hot Topics in Networks (HotNets-I). 2002, ACM: Princeton, New Jersey, USA. [12] PlanetLab-Implementation-Team, PlanetLab Version 3.0, L. Paterson, Editor. 2004, Princeton University: Princeton, NJ, USA. [13] RFC 1131: The OSPF Specification, J. Moy, Editor. 1989, IETF. [14] The Network Simulator - ns-2. [cited 8 April 2005]; Available from: http://www.isi.edu/nsnam/ns/. [15] Educational Modelling Language. [cited 8 April 2005]; Available from: http://eml.ou.nl/eml-ou-nl.htm. [16] Mathis, M., J. Semke, and J. Mahdavi, The Macroscopic behaviour of the TCP Congestion Avoidance Algorithm. Computer Communication Review, 1997. 27. [17] Apache HTTP Server Project. [Website] [cited 2005 18 May]; Available from: http://httpd.apache.org/.