Teaching network services: Concepts, Strategies and Techniques 📚💻
Published: 2024-01-13 15:23:40

*Introduction:*
The purpose of this article is to discuss my experiences and content in teaching servers in the network infrastructure course. This discipline was taught by me in a Brazilian technical course on network infrastructure in 2017. The content of this discipline includes basic server concepts and types of servers such as DNS, Proxy, Web server, file server, print server, DHCP, remote connection, network directory, file transfer, clock synchronization, and backup service.

The pedagogical strategies have been addressed in another article of mine titled “Teaching Network Infrastructure: Concepts, Strategies, and Techniques 📚💻,” and in addition to the strategies mentioned there, I adopted the use of cloud server tools such as AWS, which allowed me to provide a new approach to the course, as traditional methods involved practical classes with local physical servers.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8ddn41qy7vde6mpgjog8.png)
*Didactic module, concepts, and techniques:*
In the network services module, we will learn how to implement and maintain operating systems and computer network services, as well as the concepts of network protocols and device configuration to meet project requirements.

*1.Basic server concept:*
A server is a machine that provides a service to a network of clients. Nowadays, we can’t necessarily say that it is a physical machine due to the concept of cloud computing. For example, with Amazon servers, we can have them anywhere that has an internet connection without having to worry about the infrastructure of physically maintaining them in a specific location.
In this course, we divided the content into different types of servers, such as DNS server, proxy server, web server, file server, print server, DHCP server, remote connection server, network directory server, file transfer server, clock synchronization server, patch update service, and backup service. The practical labs were conducted using Microsoft operating systems (OS) and Linux distributions.

*2.DNS Server:*
DNS (Domain Name System) is a service that translates IP addresses of other servers into names. For example, when we create an Amazon server, we are provided with an IP address, name, and access password. Typically, we want to access our server by typing a name instead of a sequence of numbers (IP), as shown in the example figure below: Access to a Web server without DNSAccess to a Web server with DNS.

*3.Proxy Server:*
It is an intermediary service between the local network and the internet, commonly used to filter internet access for devices within a network.

*4.Web Server:*
It is a service accessible via the internet that provides responses to HTTP requests from clients, offering various data types ranging from texts to images. For example, when we access the website www.google.com, it provides us with text and image information that appears in our browser. Communication ports POP, IMAP, SMTP

*5.File Server:*
It is a service that allows file sharing within a network. We commonly use the SAMBA program, which is a set of service packages, including file sharing.

*6.Print Server:*
The print server can manage multiple printers in a network, limiting printing quotas per user or allowed times, providing a centralized print queue control, and redistributing print jobs in case of device failure on the network.

*7.DHCP Server:*
Dynamic Host Configuration Protocol (DHCP) is a server that allows hosts in a network to obtain IP addresses automatically.

*8.Remote Connection Server:*
RDP and VNC, SSH, Telnet are means of providing and connecting to a remote server. Remote access occurs when we access a device to configure it from another device. RDP (Remote Desktop Protocol) is a remote access protocol for a desktop terminal. VNC (Virtual Network Computing) and SSH (Secure Shell) are also used.

*9.Network Directory Services:*
In the Network Directory Service, the server stores, organizes, and provides access to directory-related information in a specific operating system. For example, for Windows Server, we have the Active Directory, and for Linux servers, we have OpenLDAP (Lightweight Directory Access Protocol).

*10.File Transfer Service:*
A file transfer server helps us transfer files directly to a server with relative security. We use protocols such as FTP (File Transfer Protocol) and TFTP (Trivial File Transfer Protocol).

*11.Clock Synchronization Service:*
SYSLOG is a server log standard, mainly used in Linux. We can organize and store logs and synchronize clocks using this system, which is now updated to GrayLog.

*12.Patch Update and Backup Service:*
The patch update service is useful for releasing software fixes, improving software usability, and performance. It is usually used to manage OS updates in a network.

*13.Final Considerations:*
If you have any questions about any acronyms or concepts presented in the course, please consult the dictionary of THEORETICAL CONCEPTS.

*Practical Labs:*
In all classes, we provided theoretical concepts and practical execution using servers in AWS. I prepared a guide for students to create an AWS account and receive $300 to experience cloud services. During the classes, students connected via SSH using the Putty software on their local machines to remotely access Linux servers on EC2 instances.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2hpqqixzuvx1v3ve8ob7.png)

During the practical activities of creating services, we created EC2 t2.micro instances with Ubuntu Linux and learned how to open ports in the AWS console panel and configure all the services listed in the previous topic on both Linux and Windows servers. For Windows services, we based our instructions on the book “Stanek, William. Windows Server 2008 — The Complete Guide.”

During the web server class, we configured an Apache2 server, created a “Hello World” HTML file to place in the web server folder, accessed our code via a browser using the public IP of the instance, and the students could see the local browser (Webclient) accessing the Webserver on a cloud server in AWS. We performed similar cases for all types of servers, and this greatly motivated the students at the end of each class.

*Conclusion:*
This article discussed my experiences and the content of teaching servers in the network infrastructure course, focusing on pedagogical strategies and techniques used. The objective was to provide students with a comprehensive understanding of the concepts and practical skills required to deal with different types of servers.

Throughout the course, we covered basic server concepts such as DNS, proxy, web server, file server, print server, DHCP, remote connection, network directory, file transfer, clock synchronization, patch updates, and backup. Additionally, we explored the use of cloud server tools like AWS, which offered an innovative approach to the course, replacing traditional methods based on local physical servers.

The practical labs were conducted on both Microsoft operating systems and Linux distributions, allowing students to gain real experience in configuring and managing the various server services mentioned.

By using EC2 instances in AWS, students were able to create their own servers and remotely connect to them using tools like SSH. This hands-on approach provided a dynamic and interactive learning environment, enabling students to apply theoretical concepts to real-world scenarios.

Overall, the course achieved its goal of providing students with solid knowledge of servers and their various applications in computer networks. The pedagogical strategies adopted, combined with the use of modern cloud-based tools and practices, contributed to effective student understanding and the development of their technical skills.

As a final recommendation, I suggest that students consult a dictionary of theoretical concepts if they have any doubts regarding any acronyms or concepts presented in the course. Furthermore, I encourage them to continue exploring other techniques and tools related to teaching network infrastructure to further enhance their skills and contribute to the technology education community.

In summary, I hope this article has been useful for professionals in the field of teaching network infrastructure, providing valuable insights and effective practices to enhance server teaching and promote better student performance.