An Education Program on a Network System Construction Process Yuka Kato ∗ ∗
Advanced Institute of Industrial Technology, 1-10-40 Higashi-Ohi, Shinagawa-Ku Tokyo 1400011, Japan (e-mail:
[email protected]).
Abstract: This paper proposes an education program using e-Learning systems, which makes it possible for working students to obtain network system construction skills efficiently. The features of the program are: (i) it defines a network system construction process based on software development processes; (ii) it adopts a project-based learning style and tries for efficient remote team-learning; (iii) as for the construction process, it uses an iteration process with two cycles. In addition, the author conducts the proposed education program on the course in a graduate school, and confirms the effectiveness of the program. Keywords: computer networks; education; information technology; software engineering: systems design 1. INTRODUCTION To educate skills of design and construction of network systems, it is effective to conduct construction exercises using actual server and network machines. In such courses, however, some problems exist. These are a large amount of time is required to construct whole network systems and it is difficult to estimate the volume of tasks because of unexpected troubles. In general, university students go to laboratories beyond the classes and do the tasks overtime. However, as for working students (mature students), they are restricted by time and difficult to conduct the same style exercises as general students. From these background, this paper proposes an education program using e-Learning systems, which makes it possible for working students to obtain network system construction process efficiently. The features of the program are as follows. • The program defines a network system construction process based on software development processes. • It adopts a project-based learning style and tries for efficient remote team-learning. • As for the construction process, it uses an iteration process with two cycles. In the first cycle, students construct network environment to access the system remotely with considering security. Then, in the second cycle, they conduct the system construction by using the remote access environment. In this paper, the author conducts the proposed education program on the course in a graduate school, and confirmed the effectiveness of the program. 2. CONSTRUCTION PROCESS FOR NETWORK SYSTEMS First, in this section, the author explains the construction process for network system. Various kinds of knowledge are needed to construct network systems including name
services, mail services, and so on. Recently, secure network systems are especially required, and a lot of know-how exists for such system construction tasks. However, there are no systematic processes, and people’s experiences are required for the tasks. This is because network systems have various network scales, system environment and so on, and it is difficult to develop a system of the construction processes. On the other hand, in the software development area, which has similar conditions to network system construction, many studies have been made of software engineeringPressman [2004]Pfleeger [2005]Booch [2007], and software development based on the given processes is usually done. Typical tasks in software development processes are software requirements, software design, software construction, software testing, and software maintenance. Efficient software development has been done by defining the products of each process. In addition, software development based on the processes has various kinds of merits, which are to improve software quality, to increase the estimation accuracy on cost and schedule etc. From these background, we proposed an network system construction processKato [2008] based on software development processes. The proposed scheme consists of five processes like software development ones, and uses some iteration processes if necessary. 2.1 Scope of the proposed scheme It would be better that there is no limitation of network scale for the scheme, but the target in this paper is small-scale network systems (for avoiding complexity). The following is a specific example of the target network systems. • To construct and maintain a network system for a small-scale organization in which the number of members is about 10. • To assign one global IP address by an ISP. • To use PC servers.
Fig. 2. Construction process for network systems. specifications. This process consists of the following three parts.
Fig. 1. An example of system architecture. • To construct four types of systems, an access router, an internal router, external servers (SSH, DNS, SMTP and WWW) and internal servers (SSH, DNS, SMTP, POP/IMAP and DHCP). An example of the system architecture is shown in Fig. 1. The goal of the proposed scheme is that even non-experts are able to construct reliable network systems within a given period of time by using the scheme. 2.2 Construction process for network systems In this section, the construction process for network systems, which consists of requirements, design, implement, testing and deployment, is defined based on the software development processes. Some number of iterations are adopted if necessary. Two or three iteration cycles may be suitable for small-scale network systems, which is the scope of the proposed scheme. Document templates for each process are provided, and the omissions of works are checked by filling the forms. In addition, project management tasks have to be conducted through all processes. The purpose of the project management is to construct reliable network systems within a given period of time. Fig. 2 shows construction process for network systems. Tasks and product documents in each process are described below. Requirements Requirement definitions are provided in this process. System requirements are investigated and the requirement specifications are drawn up. There are no templates of the documents in this process. Design This process corresponds to the software design task. The purpose of the process is to draw up design
Network system desing : Network systems are designed to fulfill the system requirements. At that time, designers use document templates and fill in the forms to design the systems. The following are concrete specifications to be made. • A plan of logical network architecture • A plan of physical network architecture • Firewall policies • A plan of configurations on the access router • A plan of configurations on the external servers • A plan of configurations on the internal router • A plan of configurations on the internal servers Security design : In this process, designers determine the security policies for the system, and pick up necessary tasks for constructing a secure system. The designing results are used for a part of the network system design such as firewall policies. The following are some examples. • All of ports which do not provide any services are closed in the access router. • The security managers are designated, and they monitor system logs at all time. • Remote login as root is prohibited in the servers and routers. • All of services which are not provided are stopped in the servers and routers. • All of user accounts which are not used are deleted in the servers and routers. • The latest version of OSes and softwares are used in the servers and routers. Testing design : Designers make test cases of the servers and routers according to the design specifications, and draw up test specifications. At that time, they use document templates and fill in the forms for the testing design. The template format is the same as the design process. The following are concrete specifications to be made. • The access router (items, details, input data, expected results) • The external servers (items, details, input data, expected results) • The internal router (items, details, input data, expected results)
• The internal servers (items, details, input data, expected results) Implementation This process corresponds to the software construction task. The purpose of the process is to implement actual network systems. There are three products in this process, which are the operational plans, the implementation results of network systems and the operational logs. It is difficult for non-experts to estimate the volume of tasks in this process. Therefore, it is better to implement simple functions briefly at the early phase of the project, and then to modify the whole schedule of the construction. Testing The person in charge of testing conducts tests for the items described in the test specifications. These test results are completed in the testing reports (using the test specifications). Deployment In this process, the project documents are completed, and the project of the construction is concluded. If necessary, the operational and user manuals are made, and the trainings of operators and users are done. Project management In order to manage all construction processes, project management is needed. In this task, before requirement definitions, the project definitions and the project specifications are made. Project objectives, project scope, project planning and so on are described in the specifications. Then, a project manager examines the project tasks and assigns the resources to the tasks. The master schedule has to be defined in the first stage, and progressive elaboration should be done according to the work progress. The following are documents for project management in the proposed scheme. • • • •
The project specifications WBS (Work Breakdown Structure) Progress reports Project management reports 3. DESIGN OF THE EDUCATION PROGRAM
In this paper, the education program for the construction of small-scale network systems is designed based on the proposed process in Section 2. 3.1 The educational result in 2007 First, the author shows the construction results by four teams in 2007, which have four or five students of a graduate school (these are mixed expert and non-expert teams). These tasks were conducted as the course of the school. In this case, the project requirements were the construction of the system described in Section 2. The construction period was 180 minutes/week X 8 week = 1440 minutes. In the course, the instructor specified the requirements of network systems, and the student teams designed the project plans. At that time, the instructor guided the students to follow the construction processes of network systems defined in Section 2. The following is the actual construction procedure of each team.
Team A : They drew up the master schedule with four iteration cycles at the beginning, and then modified the schedule in the middle of the processes. Two iteration cycles were actually conducted. In the original schedule, they would implement the external servers in the first place, then other services in the next place. They modified the schedule of the second cycle after finishing the first cycle. The internal servers, which were going to construct in the original plan, could not be implemented. However, the gap between the plan and the result is small, because scope change was conducted in the middle of the processes. As a result, reliable and secure systems were implemented on schedule. Concrete implemented services were the access router and the external servers (SSH, DNS, SMTP and WWW). It is a good point for the team to have constructed a secure system with an access from the Internet. Team B : They adopted iteration processes, but they did not draw up the master schedule and added a new iteration cycle as progressing the work. In the end, they were able to implement few services. This may be because they did not give the order of priority to the tasks, and they started work from a task easy to construct. They failed in the implementation of the SSH server for accessing from the Internet, and this matter affected the delay of the schedule in the end. Concrete implemented services were the external server (SSH, just from a LAN) and the internal server (DHCP). The access router was not configured, so it was not possible to access them from the Internet. Team C : They did not use iteration processes, and adopted a single waterfall model. The tasks had gone well until the design process, but they failed in the implementation tasks. As a result, they were not able to construct the system on schedule. (Because of the trouble of a network cable, they had not been able to access the system from the Internet until the final day of the course.) Small risks deeply affected whole construction processes, and the delay of the schedule could not be recovered in the end. Concrete implemented services were the access router, the internal router, the external servers (SSH, DNS and WWW) and the internal servers (DNS and SSH). The access router and the external servers were constructed on the final day of the course. The schedule suffered serious delays. Team D : They did not use iteration processes, and adopted a single waterfall model. The quality of the project specifications was very high and the product quality was also good. However, they failed in the construction process for the DNS service and were not able to recover the delay of the schedule in the end. They said that it was difficult for them to estimate the volume of tasks for the WBS. This matter affects the delay of the schedule. Concrete implemented services were the access router, the internal router, the external servers (DNS, SSH and WWW) and the internal servers (DNS, DHCP and SSH). It is a good point for the team to have realized an access from the Internet, but the mail service could not be implemented because of the delay of the schedule. From these results, we found that the definition of construction processes and the document templates make it possible for all teams to design reliable and secure network
systems. However, we also found that there are some differences of quality of products and the gap between plans and results among the teams. Here, in the team where iteration processes go well (that is team A), the quality of the products in high, and the gap between the plan and the result is small. It is effect of the iteration model. This result indicates that it is better to construct a part of the system following to the construction processes for a start, and then to move to the next step, in order to implement network system efficiently under inexperienced environment. In general, system environments for th construction process of network systems are different every time, and it is valuable to adopt iteration processes. In this case, team B also adopted iteration processes, but they did not draw up the master schedule and the processes did not go well. In team C and team D, member’s experiences affected the quality of the products. There were more experts in team D than team C. In addition, for both teams, small failures affected the whole schedule of the system construction, and caused the delay of the schedule in the end. Since it is difficult to estimate work volumes in the construction on network systems under various system environments, the effectiveness of iteration processes would be large even for small-scale network systems. 3.2 The education program in 2008 From the results in 2007, for the education program, the author found that a means is lacking for effective works and that consideration to working students which have restriction of time in the laboratory is insufficient. For non-expert students in particular, it would be effective to design more fixed tasks. Based on these results, the education program in 2008 is designed. Here, the author adopts a project-based learning style as well, and tries to conduct efficient remote education. As for construction process, two cycle iteration process is adopted and remote access environment with security consideration is constructed on the first cycle. Basic process is the same one described in Section 2. The system environment on the course One global IP address is provided by an ISP and one DNS domain is provided by the school to each team. As for Internet access, a firewall machine exists on an upper segment, and all of ports are closed on it in an initial state. When students request the instructor to open some ports, these are opened. The hardware specification using on this course is as follows; • 3 PC servers (Xeon 3.0GHz X 1, Memory 1GB, HDD 72GB X 2 (RAID-1), GbE NIC X 2, CD-ROM Drive, FD Drive) • 1 Access Router (NAT, Firewall etc.) • Switching Hubs, Ether cabels etc. The instructional process This consists of two iteration cycles. On cycle (1), students conduct the setting of external router and make environments of SSH access from outside of the school. At that time, they try to construct secure access environment according to the security design described in the following section. As a result, it becomes
possible to construct the system remotely on cycle (2), and e-Learning environment for network system construction is provided. The concrete process is described as follows. 1st : Introduction, Grouping 2nd : Making a project specification 3rd : Planning on cycle (1) (external router and SSH) 4th : System design and test design on cycle (1) 5th : System construction on cycle (1) 6th : Test process on cycle (1) 7th : Planning on cycle (2) (other services) 8th : System design and test design on cycle (2) 9th : System construction on cycle (2) 10th : System construction on cycle (2) 11th : System construction on cycle (2) 12th : Test process on cycle (2) 13th : Integration test 14th : Documentation, review 15th : Presentation (Final review) Document templates In the course, the author provides the following document templates. As students are filling in the forms in these template, they are understanding the construction process. • Project specification (including system requirements and WBS): the items which should be described in it are specified, but the document style is free. • Project progress report: the items which should be described are specified, but the document style is free. • Network design specification (including security design) • System design specification (including security design) • Test design specification • The report of test results An example of document templates (Network design specification) is shown in Fig. 3. Security design To prepare remote education environment for the courses of network construction, it is necessary to conduct the exercise on strict network security. In this education program, the following security policies and rules to permit providing service opening are determined. By managing them, the course makes it possible to access the constructed system via the Internet under secure network environment. Security policies • It is possible to connect the servers from outside of the school via the Internet only by using ssh with public key authentication. • Each team chooses who will be in charge of system security. This is because it must define the responsibility of security. • You should use the check list (mentioned below) to take measures to deal with the security situation. • In the case of suffering damage from intrusion and so on, you immediately disconnect the system from network physically (pull out the LAN cables) at first. Then, you report the incident to the instructors. Leave the system in the present state and
Fig. 3. An example of document templates (Network design specification). follow the instructions. Rules for service opening • The system does not connect to the Internet while at work (Pull out the WAN-side cable). • The applicant makes application for the services, and gets the permission. • The applicant makes “Application form for service opening.” (The following items are needed.) · The name of security administrator and the address. · The procedure of dealing with security matters. · The service name. · The host name, the IP address, the protocol and the port No. • The applicant makes “Verification result report.” He/She should verify the system environment secure according to the check list. In addition, he/she should confirm open/close of the ports by using a port scanner etc. • Self check should be done periodically. They should keep secure conditions all time. The check list • OS and packages update · OS and package softwares are updated (to the latest version). · Automatic update process runs (as a general rule). • Logging · Logging process of routers and servers runs (syslog/secure/login etc.). · Logging process of open services runs. · These log files are monitored more than 1 time a day.
• SSH · Login as root is forbidden. · The port number of sshd is different from 22 (default). · SSH connection from outside of the school is forbidden except public key authentication. · The management of private key for client machines is strictly done. • Account · All of disused accounts are removed. · Accounts and private keys are not lent or shared. · Password strength of all accounts is enough (combination of alphanumerics and symbols). · Do not login as root (su or sudo). • Access control · The minimum services are open using Netfilter (iptables) and hosts.allow. · The services do not run as root processes (as a general rule). 4. EVALUATION In 2007, 2 teams adopted an iteration model and the other 2 teams adopted a waterfall model. In addition, students made the project schedules by themselves. As a result, the number of teams which completed network system construction within a period of the course is just one. In 2008, the author redesigned the education program mentioned in previous section, as a result, all of teams completed the system construction within a period of the course. In addition, the gaps between plans and results were small, even non-experts were able to estimate a volume of tasks properly, and almost all students obtained all of the educational skills in this course. Examples of the products in 2008 are shown in Fig. 4 (a detailed schedule) and Fig. 5 (a progress report).
Fig. 5. A progress report of team A. 5. CONCLUSION This paper proposed an education program using eLearning systems, which makes it possible for working students to obtain network system construction process efficiently. The features of the program are as follows. • The program defines a network system construction process based on software development processes. • It adopts a project-based learning style and tries for efficient remote team-learning. • As for the construction process, it uses an iteration process with two cycles. In the first cycle, students construct network environment to access the system remotely with considering security. Then, in the second cycle, they conduct the system construction by using the remote access environment. In this paper, the author conducted the proposed education program on the course, and confirmed that more effective learning can be done than in 2007 where students made the schedules by themselves. Though the scope of this paper is network system design and construction, the proposed program can be applied to various learning situations. In the future, the author will apply the program to various types of distance learning via the Internet. REFERENCES
Fig. 4. A detailed schedule of team A.
R. Pressman. Software Engineering: A practitioner’s Approach. McGraw-Hill, 2004. S.R. Pfleeger. Software Engineering. Prentice Hall, 2005. G. Booch, R.A. Maksimchuk, M.W. Engle, B.J. Young, and J. Conallen. Object-Oriented Analysis and Design With Applications. Addison-Wesley, 2007. Y. Kato. A Construction Process for Small-Scale Network Systems. APNOMS2008, pages 543–546, Oct. 2008.