Functions of Servers
- Servers are specialized computer systems designed to provide services, data, or resources to other computers, known as clients, over a network.
- They are the backbone of modern computing, enabling everything from web browsing to email communication.
Types of Servers
Domain Name System (DNS) Server
Analogy- DNS essentially is your computer’s contact book.
- Humans look for Google.com, the DNS looks up the name and returns the IP Address required to establish the connection.
- Just as you would look up a name in a phones contacts before dialling.
- Function: Translates human-readable domain names (e.g., www.google.com) into numerical IP addresses (e.g., 172.217.16.14).
- Communication over a network uses IP Address, while humans use domain names to help remember them
- Scalability: DNS servers are highly scalable, using a hierarchical structure to distribute queries across multiple servers.
- Reliability: Redundancy and caching ensure high availability and fast response times.
- Security: DNSSEC (Domain Name System Security Extensions) adds a layer of security by authenticating responses.
DNS servers are critical for internet functionality, as they enable users to access websites without remembering complex IP addresses.
Dynamic Host Configuration Protocol (DHCP) Server
- Function: Automatically assigns IP addresses and network configuration parameters to devices.
- Scalability: Supports large networks by dynamically allocating IP addresses from a predefined pool.
- Reliability: Redundancy is achieved by deploying multiple DHCP servers.
- Security: Can be configured to assign static IPs to specific devices, enhancing security.
When a new device connects to a Wi-Fi network, the DHCP server assigns it an IP address, allowing it to communicate with other devices.
File Server
- Function: Stores and manages data files, allowing multiple users to access and share them.
- Scalability: Can be expanded with additional storage and network resources.
- Reliability: Uses RAID (Redundant Array of Independent Disks) and regular backups to ensure data integrity.
- Security: Implements access controls and encryption to protect sensitive data.
- When analyzing an algorithm's time complexity, always consider the worst-case scenario first.
- Then evaluate average-case performance, which often provides a more realistic assessment of practical efficiency.