A server is capable of doing a lot of things. In this lesson we will look at some of the common services a server provides.
We learned about DHCP (Dynamic Host Configuration Protocol) in network lesson 7. We learned that DHCP is used to assign IP addresses to our client devices. DHCP is able to hand out more than IP addresses, it also can hand out other information, like the gateway address, DNS servers, and time servers. When configuring DHCP you need to define a scope. The scope is the range of IP addresses your server will assign to clients. When defining a scope you have a couple options available to you. You can define the scope as a subset of your subnet, handing out addresses that won't conflict with statically assigned addresses. Below you can see a network with all the static assignments mapped out. The scope sits in a spot that won't conflict with the static addresses. You don't want your DHCP server handing out an IP address to a client that's already in use by another device on your network.
The problem with this approach is you can't change the range of addresses in a scope. So if later you need to move things around the scope will have need to be recreated. Another approach to handing out IP addresses is to define the scope as the entire subnet, then use exclusions. Exclusions are ranges of IP address in the scope you don't want to hand out. The advantage of using exclusions is you can redefine them allowing you to rearrange the scope without recreating it.
DHCP will allow you to create reservations. A reservation is a mapping of MAC address to IP address, and is used to make sure a device is assigned the same IP address every time.
When a network device that's configured to get an IP address dynamically is powered on it will send out a discover broadcast message looking for DHCP servers. The DHCP servers on the network will receive the message and respond with an offer. The offer message contains the IP it's offering to the client. The client may receive multiple offers if there is more than one DHCP server on the network. The client will reply to the first DHCP server with a request message where it's requesting the offered IP address. The DHCP server responds with an acknowledgement telling the client they can use the address. The DHCP server then marks the address as in use so it doesn't assign it to another client. If the client received an offer message from an additional DHCP server it will respond declining the IP address. This will tell the offering server that it doesn't need the offer IP address and the server can put the address back into it's available pool of addresses. The entire DHCP process is referred to as DORA (Discover, Offer, Request, Acknowledge)
The DNS (Domain Name System) service is used to convert hostnames into IP addresses. The hostname is the part of an FQDN (Fully Qualified Domain Name) that uniquely identifies an individual device. FQDNs are a hierarchical naming system starting on the right and working its way to the left. Let's look at the parts of an FQDN.
The hierarchical structure used by DNS ensures we obtain the correct IP. When a device tries to view the website www.cis131.com it will reach out to the locally configured DNS server and request the IP. The local DNS server will perform a recursive DNS lookup. A recursive DNS lookup is when a DNS server gets the IP address on behalf of the client. The process is outlined below.
Once the server resolves the hostname to an IP address it stores the result in its local cache, or memory. This way the next time a device requests the IP address it won't have to recursively look it up, it will already have the IP address to return. The cached DNS record has a TTL (Time To Live) value associated with it. The TTL is the length of time in seconds that the record is valid. Once the TTL expires the record is discarded and the lookup will need to be performed again once requested.
A directory service is a hierarchically organized database that stores objects, primarily used to provide centralized authentication. One of the object types a typical directory service will store is a user object. A user object represents a user on your network and has some properties associated with it. For example a user object may contain first name, last name property, username, and a password.
The objects in a directory service can be organized in a hierarchical way to logically arrange the objects into an easy to navigate structure. In the example below we see two containers at the top level. Those containers represent the sites for our organization. Below each site container we see child containers that hold student accounts and teacher accounts. Using this hierarchical approach makes it easier to find objects when working in the directory.
The directory service contains a centralized database of usernames and passwords so as you move from computer to computer on the network you can use the same account everywhere. When you sign into the network the client computer checks with the directory server to verify you've provided the correct logon information.
On a server you can enable file sharing which will create a centralized place for people to access data. When setting up file sharing there are a few standard types of shares you can create.
One type of share is a user's home folder. A home folder is where a user can save their work that's only accessible by them. Data in the home folder is not intended to be shared with other network users. The advantage to storing your data in the home folder as opposed to your desktop is if you switch computers frequently the data will follow you. Also anything stored on the server will be backed up so if your desktop dies your work is safe on the server.
Another type of shared folder is a department share. The idea with a department share is each person in a department has access to the same folder. These enables all the members of the department to share documents with ease.
The last type is a public share. A public share is accessible to all users in the company.
Connecting to a printer through a server provides centralized print management, monitoring and queueing. The server connects to the printer over the network and shares it so client computers can print to it. The server will push the driver to the client if needed.