[ieee communication technologies, research, innovation, and vision for the future (rivf) - hanoi,...

5
Visualization Tools for Learning TCP/IP Masayuki Arai Shogo Takahashi Gun Kitamura Department of Information Sciences School of Science & Engineering, Teikyo University 1-1 Toyosatodai, Utsunomiya, Tochigi, Japan [email protected] Abstract—This paper describes TCP/IP visualization tools for students who plan to become communication and computer engineers. TCP/IP protocols are fundamental for computer networks and the Internet. For this reason, communication and computer engineers have to learn the protocols. However, learning the protocols is difficult, because students cannot fully understand or gain experience with the protocols by using traditional learning methods, such as textbooks and lectures, and the learning methods cannot show the various communication procedures and combinations of control methods of the protocols. In this paper, we review the subjects which students must master in communication and network courses and discuss some problems in these courses. To solve these problems, we previously developed two TCP/IP visualization tools and now propose a new tool for the control methods of packet arrival order. Keywords—TCP/IP, visualization, learning, communication and network course I. INTRODUCTION TCP/IP protocols have become a fundamental technology for computer networks and the Internet. Therefore, students who plan to be computer and communication engineers have to learn the protocols. However, it is difficult for students to learn the concepts of the protocols by using traditional learning methods such as textbooks and lectures, because the traditional methods provide only routine communication patterns and the students cannot gain experience using the protocols. We are developing TCP/IP visualization tools for communication and network courses [1,2,3] to solve the abovementioned problems. We previously developed two tools and evaluated them in actual classes. In this paper, we discuss and propose a new TCP/IP visualization tool. First, we review the subjects and experiments which students have to master and describe the problems. Next, we describe the outline of our developed tools. Finally, we discuss the new tool and its functions. II. SUBJECTS FOR A COMMUNICATION AND NETWORK COURSE AND PROBLEMS IN THE COURSE A. Subjects in a Communication and Network Course We assume our proposed visualization tools are used for a communication and network course or an information network course in university departments of computer science. Table 1 shows the subjects for the communication and network course proposed by the joint IEEE computer society/ACM task force on "Model Curricula for Computing” [4]. The table reflects the advances of TCP/IP that have increased the importance of networking technologies. The task force therefore suggests the following learning objectives: Discuss important network standards, including who develops them and how they evolve; Discuss the differences between circuit switching and packet switching along with the advantages and disadvantages of each; Explain how a network can detect and correct transmission errors; and illustrate how a packet is routed over the Internet. B. Problems in the Course We teach functions, communication procedures and data formats of all TCP/IP protocols in a course to educate engineers who will work in the fields of information and communication. The educational objectives corresponding to each protocol layer are as follows: Network interface layer: functions, communication media and methods of each protocol on this layer, and the MAC address; Internet layer: functions, IP address, format of IP datagram; Transport layer: functions, differences between TCP and UDP, format of a TCP segment and a UDP datagram, sequence control, acknowledgement and synchronization of communication, window control and flow control; Application layer: functions, communication procedures of each protocol on this layer. We use textbooks and general-purpose tools—such as a telnet client program—for practical training in the course. However, training with traditional learning methods has the following problems: It is difficult for students to learn by using the general- purpose tools, because the tools are not intended to teach protocols; 978-1-4244-8075-3/10/$26.00 ©2010 IEEE

Upload: gun

Post on 27-Mar-2017

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: [IEEE Communication Technologies, Research, Innovation, and Vision for the Future (RIVF) - Hanoi, Vietnam (2010.11.1-2010.11.4)] 2010 IEEE RIVF International Conference on Computing

Visualization Tools for Learning TCP/IP

Masayuki Arai Shogo Takahashi Gun Kitamura Department of Information Sciences

School of Science & Engineering, Teikyo University 1-1 Toyosatodai, Utsunomiya, Tochigi, Japan

[email protected]

Abstract—This paper describes TCP/IP visualization tools for students who plan to become communication and computer engineers. TCP/IP protocols are fundamental for computer networks and the Internet. For this reason, communication and computer engineers have to learn the protocols. However, learning the protocols is difficult, because students cannot fully understand or gain experience with the protocols by using traditional learning methods, such as textbooks and lectures, and the learning methods cannot show the various communication procedures and combinations of control methods of the protocols. In this paper, we review the subjects which students must master in communication and network courses and discuss some problems in these courses. To solve these problems, we previously developed two TCP/IP visualization tools and now propose a new tool for the control methods of packet arrival order.

Keywords—TCP/IP, visualization, learning, communication and network course

I. INTRODUCTION TCP/IP protocols have become a fundamental technology

for computer networks and the Internet. Therefore, students who plan to be computer and communication engineers have to learn the protocols. However, it is difficult for students to learn the concepts of the protocols by using traditional learning methods such as textbooks and lectures, because the traditional methods provide only routine communication patterns and the students cannot gain experience using the protocols.

We are developing TCP/IP visualization tools for communication and network courses [1,2,3] to solve the abovementioned problems. We previously developed two tools and evaluated them in actual classes. In this paper, we discuss and propose a new TCP/IP visualization tool. First, we review the subjects and experiments which students have to master and describe the problems. Next, we describe the outline of our developed tools. Finally, we discuss the new tool and its functions.

II. SUBJECTS FOR A COMMUNICATION AND NETWORK COURSE AND PROBLEMS IN THE COURSE

A. Subjects in a Communication and Network Course We assume our proposed visualization tools are used for a

communication and network course or an information network course in university departments of computer science.

Table 1 shows the subjects for the communication and network course proposed by the joint IEEE computer society/ACM task force on "Model Curricula for Computing” [4]. The table reflects the advances of TCP/IP that have increased the importance of networking technologies. The task force therefore suggests the following learning objectives:

• Discuss important network standards, including who develops them and how they evolve;

• Discuss the differences between circuit switching and packet switching along with the advantages and disadvantages of each;

• Explain how a network can detect and correct transmission errors; and illustrate how a packet is routed over the Internet.

B. Problems in the Course We teach functions, communication procedures and data

formats of all TCP/IP protocols in a course to educate engineers who will work in the fields of information and communication. The educational objectives corresponding to each protocol layer are as follows:

• Network interface layer: functions, communication media and methods of each protocol on this layer, and the MAC address;

• Internet layer: functions, IP address, format of IP datagram;

• Transport layer: functions, differences between TCP and UDP, format of a TCP segment and a UDP datagram, sequence control, acknowledgement and synchronization of communication, window control and flow control;

• Application layer: functions, communication procedures of each protocol on this layer.

We use textbooks and general-purpose tools—such as a telnet client program—for practical training in the course. However, training with traditional learning methods has the following problems:

• It is difficult for students to learn by using the general-purpose tools, because the tools are not intended to teach protocols;

978-1-4244-8075-3/10/$26.00 ©2010 IEEE

Page 2: [IEEE Communication Technologies, Research, Innovation, and Vision for the Future (RIVF) - Hanoi, Vietnam (2010.11.1-2010.11.4)] 2010 IEEE RIVF International Conference on Computing

• It is difficult to carry out practical training on data formats and control methods;

• Students cannot gain experience with the protocols by using traditional learning methods;

• The traditional learning methods cannot show varied communication procedures and combinations of control methods of the protocols.

TABLE I. SUBJECTS FOR THE COMMUNICATION AND NETWORK COURSE PROPOSED BY "COMPUTING CURRICULA 2001"

1. Network standards and standardization bodies 2. The OSI 7-layer reference model in general and its

instantiation in TCP/IP 3. Circuit switching and packet switching 4. Streams and datagrams 5. Physical layer networking concepts (theoretical basis,

transmission media, standards) 6. Data link layer concepts (framing, error control, flow

control, protocols) 7. Internetworking and routing (routing algorithms,

internetworking, congestion control) 8. Transport layer services (connection establishment,

performance issues)

III. TCP/IP LEARNING TOOLS In this section, we review TCP/IP learning tools that have

previously been developed or proposed. Ichimura et al. proposed a learning system using a protocol analyzer [5]. The system can add noise to communication data and capture error control data of the data link layer. Therefore, students can watch and learn error control. Yamane et al. developed a tool which can monitor TCP sessions to teach the transmission control protocol (TCP) [6]. The tool can be used for computer experiments on the communication between socket processes. The University of Southern California's Information Sciences Institute is developing a simulator named ns-2 [7]. The simulator provides substantial support for the simulation of TCP, routing and multicast protocols.

As mentioned above, we already developed two tools [1,2,3]. The first tool helps students to learn the communication procedures and data formats of TCP/IP protocols. The tool has a packet monitoring function and can display real communication data without special hardware. The second tool helps students to visualize TCP/IP control methods such as flow control, congestion control, window size control, retransmission control, and so on. The tool simulates data communication using a picture by which students can watch the communication flow in an understandable manner.

IV. TOOL FOR DATA STRUCTURE AND COMMUNICATION PROCEDURE

We developed a tool for learning communication procedures and data formats. The tool consists of one main window and several sub-windows. The tool has the following functions.

1) Packet monitoring: The tool can capture real communication packets that a student receives or sends on a personal computer (PC). First, students select an application protocol from SMTP, POP, HTTP, or telnet (Figure 1(1). Then students click the start button and use an application program such as a mailer or Internet browser which uses the application protocol selected by the student. The tool captures packets until the students click the stop button (Figure 1(2)).

2) Displaying brief information on a packet: Figure 1(3) shows a brief information table on the captured packets. The information of one packet is described in one row of the table.

3) Displaying details of a packet: The tool displays details, such as the name of the field and value, of a packet selected from the packet information table (Figure 1(3)). The details are shown in Figure 1(4).

4) Displaying communication procedures: The tool displays the communication procedures of the transport layer (see Figure 2) and the application layer (see Figure 3) by selecting the check buttons (Figure 1(5)).

Figure 1. A view of the main window of our tool for communication procedures and data formats

Page 3: [IEEE Communication Technologies, Research, Innovation, and Vision for the Future (RIVF) - Hanoi, Vietnam (2010.11.1-2010.11.4)] 2010 IEEE RIVF International Conference on Computing

5) Other functions: The tool can display the text data of the application layer (Figure 1(6)), IP configuration (see Figure 4) and an address resolution protocol (ARP) table (see Figure 5) by selecting from the menu shown in Figure 1(7).

Figure 2. A view of the sub-window for procedures of the transport layer

Figure 3. A view of the sub-window for procedures of the application layer

Figure 4. A view of the sub-window for an IP configuration

Figure 5. A view of the sub-window for an ARP table

V. TOOL FOR CONTROL METHODS We propose another tool for control methods. The tool has

the following functions.

1) Displaying communication flow using a picture: The tool simulates data communication by which students can watch the communication flow in an understandable manner. The tool displays a picture (Figure 6(1)), and displays the sender's and receiver's buffer (Figure 6(2)). The pictures change according to the communication procedure. Students can select to send or receive a picture (Figure 6(3)).

2) Displaying communication procedures: The tool displays communication procedures and directions (Figure 6(4)). Students watch these procedures and buffers and, as a result, they can understand the status of the communication.

Figure 6. A view of the main window of our tool for communication procedures and data formats

Page 4: [IEEE Communication Technologies, Research, Innovation, and Vision for the Future (RIVF) - Hanoi, Vietnam (2010.11.1-2010.11.4)] 2010 IEEE RIVF International Conference on Computing

3) Displaying the name and explanations of the control method: The tool displays the name of the control method (Figure 6(5)), and explanations of the control method and conditions of the communication occurring at that moment (Figure 6(6)).

4) Displaying a graph of window size changes: The tool displays the graph of the changes of the window size by selecting "Showing a graph" (Figure 6(7)). The graph shows the number of transmissions relative to the window size (see Figure 7).

5) Packet loss and buffer full button: Students click the packet loss button (Figure 6(8)), then a packet loss occurs and the tool retransmits the packets. Students click the buffer full button (Figure 6(9)), and then the receiver’s buffer becomes full and the sender’s computer does not transmit any data until the receiver’s buffer has enough space.

Figure 7. A view of the sub-window for window size

VI. EVALUATIONS We used the tools in an actual class of a TCP/IP course at

Teikyo University. One-hundred-five junior students in the Department of Computer Science took the course. After the class, we distributed a questionnaire for the students’ evaluations of the tools. Ninety-seven students answered the questionnaire.

We provided the following answers to our questions to evaluate the learning effectiveness of the tools.

1) I don't need the tools because I already understand the concepts by the lectures and textbooks.

2) I already understand most of the concepts by the lectures and textbook, but I can confirm them by using the tools.

3) I already understand part of the concepts by the lectures and textbook, but I can fully understand them by using the tools.

4) I understand a few of the concepts by the lectures and textbook, but I can understand them more by using the tools.

5) I understand a few of the concepts by the lectures and textbook, but I can understand more of them by using the tools.

6) I cannot understand any of the concepts. The results of the questionnaire are shown in Figure 8. Forty-

six percent of the students answered that they understood the

concepts by using the tool for communication procedures and data formats (answers 3 & 4). Five percent of the students confirmed their understanding (answer 2) and 40 percent of the students understood them partially (answer 5) by using the tool. We consider that the tool was useful for the students who chose answers 2-5. Therefore, the tool was useful for 91 percent of the students. Similarly, the new tool for the control methods was useful for 92 percent of the students.

Figure 8. Learning effectiveness of the tools

VII. NEW TOOL FOR LEARNING A CONTROL METHOD OF THE PACKET ARRIVAL ORDER

We assume that the traditional learning method for the control method of packet arrival order has the following problems:

• Textbooks about learning the control method show that the sequence number and acknowledge number are incremented one by one. The numbers, however, are incremented according to the byte size of the sending or receiving data;

• Students cannot recognize the relationship between the sequence number and the acknowledge number; and

• It is difficult for students to learn by using the packet capturing tools, because the tools are not made for learning the protocols.

To solve these problems, we developed a new tool for the control methods of packet arrival order. Figure 9 depicts a view of the main window for the tool.

The tool has the following functions.

1) Packet monitoring: The tool can capture real communication packets that the user sends or receives on a PC. First, users select an application protocol from SMTP, POP, HTTP, or the input port number (Figure 9(1)). Then the users click the start button and use an application program such as a mailer or an Internet browser that uses the application protocol selected by the users.

2) Displaying details of a packet: The tool displays details, such as the name of the field and the value, of a packet selected in the packet information table (Figure 9(2)).

3) Displaying details of the packet arrival order: The tool displays the IP addresses, the sequence numbers, the acknowledge numbers and the data size (Figure 9(3)).

Page 5: [IEEE Communication Technologies, Research, Innovation, and Vision for the Future (RIVF) - Hanoi, Vietnam (2010.11.1-2010.11.4)] 2010 IEEE RIVF International Conference on Computing

Therefore, users can visually recognize the control method of the packet arrival order.

ACKNOWLEDGMENT This study was supported in part by the Japan Society for

the Promotion of Science; Grant Number: (KAKENHI 21500907).

REFERENCES [1] M. Arai, H. Watanabe, and S. Takei, “TCP/IP learning tools for

communication and network course,” Proc. of the 12th International Conf. on Computers in Education, vol. 1, pp. 847-852, 2004.

[2] M. Arai, H. Watanabe, C. Ogiso and S. Takei, “A learning tool for TCP/IP control methods,” Proc. of the 11th International Conf. on computers in Education, vol. 1, pp. 814-815, 2003.

[3] M. Arai, H. Watanabe, C. Ogiso and S. Takei, “Design and implementation of a learning tool for TCP/IP protocols,” Proc. of the 9th International Conf. on Computers in Education, vol. 2, pp. 1010-1015, 2001.

[4] http://www.computer.org/portal/cms_docs_ieeecs/ieeecs/education/cc2001/cc2001.pdf

[5] H. Ichimura, S. Nakabayashi, S. Sasaki and K. Ohno, “Prototype construction of verification system for communication protocol,” Proc. of 41st IPSJ Conf., 1C-5, 1990 (in Japanese).

[6] K. Yamane and M. Yabuki, “Packet monitoring tool with capability of TCP session handling,” Proc. of 47th IPSJ Conf., 5E-6, pp. 197-198, 1994 (in Japanese).

[7] http://www.isi.edu/nsnam/ns/

Figure 9. A view of the main window for our tool for the control methods of

the packet arrival order

(1)

(2)

(3)