Combining Theory with Practice-Teaching Reformationof The Computer Network Course

Liu Baolin, Chen Chen, Wu Xiangcun

Computer and Information Management Center, Tsinghua University, Beijing 100084

Along with the computer technique, especially the fast and fierce development of the communication technique, challenging computer network course teaching has brought up newly. How can teachers teach the knowledge, and make students get the way to obtain the new knowledge at the same time, is the target of education reform of computer networkcourse. In this paper beginning from the combining theory with practice, the teaching mode of this course is discussed.

Keywords:Computer network course, Reform, Theory knowledge, Practice

1 Introduction

Computer network is one of the most fundamental establishments of modern communicationworld. In the past tens years, it has been developed and applied very fast, and so the lesson computer network has been a very important one of all computer science and technology courses. And as the more and more use of computer network, higher request is provided in computer network teaching.

2 Course teaching target

Because theories and practice are both very important for the network lesson, its teaching may produce two influences for entirely different.One is that a student justvaguely understands the network principle knowledge, only remembers some technical terms with abbreviate, however he doesn't know how to say what he has learned. Two is that on control of the principle's foundation, a student can understand the protocols'thought of each layer, and can describe protocols and program independently.Our purpose is exactly the latter, hope everyone can comprehend the distillation of computer network,grasp the method of network programming, and can produce interest to network realm after accepting the course's teaching.

3 Preliminary courses

They are C language program andComputer Operation System.

4 Theory and practice

With regard to the network lesson's teaching, I think that two parts should be emphasized as the development trend. One is theory, and the other is practice. The comprehension of network structure should be strengthen, at the same time relevant experiment must be setting along with the theory lesson's plan.

4.1 Theories

The soul of computer network is the thought of delaminating framework, whichought to be regarded when teaching. And it's advisable that each layer is taught dividually and one by one orderly, this will be helpful to students for understanding whatthey are taught. Contemporary it's also convenient for the experiments' process.

4.2 Experiments

This part is the emphasis we want to discuss, and it decides the whole course successfulor not. The fact proofs that the students' cognition about network, mainly come fromthe contents of experiment course.

4.2.1 Experiment design

The network system includes five layers according to the TCP/IP model. From the bottom up, they are physics layer, data link layer, net layer, transmission layer and application layer. Each layer was allocated different function, so teaching time should be different too for different layer. And the net protocols are detailed rules about communications between coequal layer. From this, we can see the importance of the delaminated structure.

(1)Physics Layer

The physical layer is the bottom one of all the five layers. It's the foundation of network, including data encoding technology, modem and so on. We should also know the satellite communication and the cellular wireless communication. Knowledge of this layer is just left to the signal course and the communication course. And it doesn't matter to understand the theory of network communication, even if the students know little about this and just know its function. This is what the delamination brings to us.

(2)Data Link Layer

Next to the physical layer is the first significant layer, the theory and protocol of this layer should be emphasized. We know that the physical layer does not correct error,so the data link layer's aim is to provide no-error data to the net layer even if error happens in the physical layer. The DLL protocol is a most typical one of all communication control protocols. The focus on this layer are the six protocols of it, from one to six, they are from Simplex to Duplex, from excellent channel to noise occurring, from no speed-limited to buffer controlling. And the teaching should be in term of this order. We do this to avoid that the students feel too difficult to understand the fifth and sixth protocol at the first time.

The experiment for DLL is probably the first experiment during the network course. Wecan design it as beginning at protocol III ——the Stop and Wait Protocol. This protocolis easy to realize, and doesn't need long code. But it may be a good choice as the startof network programming. Then we come to protocol IV, it approach the true condition, entireduplex unerring channel. The thought that we don't separate from sender to receiver continueto use in later experiments, besides which, the timer and the ack frame are parts of protocolV and VI. So we can conclude that the importance of Protocol IV is nothing less the comingtwo protocols, and it's necessary for us to treat it as an individual experiment. It's a truth that experiments become more, but the codes for protocol III and IV are no complexthan a sorting program, and they can help students understand more, so it's worthy of it.

(3)Net Layer

Then the following layer is the net layer, which provide a connected access for transfer layer. And what this layer does, simply say, is to send grouping from source to target. So,Route-choice arithmetic is significant at this layer.

We design an experiment of Traceroute, which takes the ICMP protocol as foundation.

This program uses the ICMP datagram and the TTL field of IP's head, which is for the exiting period. Traceroute works as following:

At first, a TTL datagram whose TTL field is 1 was sent to the target host computer.The Router which deals with this datagram for the first time subtract 1 from TTL thenrejects it and sends back a timeout ICMP datagram. In this way, the address of the firstrouter is gained. Later, the program sends another datagram, whose TTL field is 2, so thatthe address of the second router is gained. Do this again and again till the program getstarget host computer. When the target gets a datagram whose TTL is 1, it sends this datagramto its application to deal. The UDP module of target host machine produces a port-cannot-arriving ICMP datagram. Hence, what the Traceroute program to do is to separate time outfrom the port-cannot-arriving so that it could decide what time to end.

Students can use RAW IP SOCKET to construct an IP data package, including the definitionof IP and UDP's head.

(4)Transmission Layer

The transmission layer is just above the net layer. Knowledge of this layer includes building and backouting a connection, the procedure that data transfer, and the way to solve the problem of congestion.

Experiment of transmission layer, we can design it as fabricating a state machine with c language. The students are supposed to build a connection to communicate backout it in the end, and also need to define the format of frames. The state machine describes which state it comesto when a frame arrives. For example, we can define it as the following. At the beginning, the host is at the initial state Q1, after the time of T1 (given by the program),it changes into Q2, the connect state. At that state, the host can ask other IP for a connection, if successfully, it become into Q3 to process matters concerned. Otherwise,the host turns into the state of Q4 to listen whether there's other IP requesting connectionwith it. If request arrives at this time, it goes to Q3 to process else goes to Q2 toconnect others forwardly. When the state is coming into Q3, the host sends anaffirming frame to the other, and wants the same kind of frame from it too. If getting, it comesinto the Q5 State, which means the state of successful connection. And the host should senda frame to the other host to keep this connection. If error happens at Q1, Q2, or Q3, immediately the state should turn in the initial state Q1. If that happens at Q5, the hostshould send an alarm to the other, then goes into Q1.

Thus, we have established a protocol state machine, which takes the TCP service as fundamental support. After completing this experiment independently, students can understand the network communication more, and at the same time they can get an inkling of the protocol state machine, it's helpful for them to understand other protocols.

(5)Application Layer

At last we come to application layer to enjoy the rich and colorful world that networkbrings to us, including net guarding, DNS, network administration, email, world wide weband so on. And experiments of this layer are of diverse kinds too. Such as the FTP protocol,it is a representative example.

4.2.2 Some

There is still another thing I will emphasize, it's that when doing Unix network programming, matters about operation system are used frequently, such as the concept of father (child) process, and the commutation among processes which is achieved by pipe, signal or shared memory. Whatever network program is coded, those things are necessary. Though the Computer Network is customarily arranged after the Operation System, it's alsoa truth that this may not been impressed on students' memory and it can lead to the difficulty when experimenting. So I suggest that the teachers should spend some time on it.

Furthermore, because the Computer Network is usually the one and only lesson during theundergraduate course, most students are lack of experience in this field. If one has no knowledge of socket, he must be passive when doing experiment. We can try our best toavoid it. But if the student appeal to a random template, he is likely to treat it justas a tool of which the basal functions have been accomplished, but not to understand it.While in case the teacher gives them a certain template, it is another case. Not only can the students feel easier to face the experiment, but also they can catch the soulof network programming when they have known the template clearly.

5 Conclusions

Finished network course like this, a student can have a clear cognition theoretically. After doing some experiments, coding protocols and application programs independently,he can understand network protocols more, and have more experience in programming. Because experiments are arranged according to the theory lesson's plan step by step, students can find themselves interested and confident in these experiments.

Reference

[1] Department of computer science and technology tsinghua university. Theguidance of network xperiment,1999.

1