PROG1225-09 Lecture-Network Operating Systems.pdf
Document Details
Uploaded by LyricalCelebration
Tags
Full Transcript
1225 Unit Nine: Network Operating Systems Overview Server operating systems are much like todays desktop operating systems. The main difference is that a server OS can take on a particular role more effectively that a desktop OS. Server Role: DNS DNS (Domain Name System) is a distributed hierarchi...
1225 Unit Nine: Network Operating Systems Overview Server operating systems are much like todays desktop operating systems. The main difference is that a server OS can take on a particular role more effectively that a desktop OS. Server Role: DNS DNS (Domain Name System) is a distributed hierarchical database composed mainly of computer name and IP address pairs. Distributed Database – no single database contains all data, instead thousands of servers throughout the world are used. Hierarchical Database – there is a structure to how information is stored and accessed in the database. DNS lookups often require a series of queries to a hierarchy of DNS servers before the name can be resolved. The Structure of DNS To better understand the DNS lookup process, understanding the structure of a computer name on the Internet is helpful. Computer names are typically expressed as host.domain.tld (TLD – Top Level Domain). o This naming structure is called the FQDN (Fully Qualified Domain Name). The DNS naming hierarchy can be described as an inverted tree with the root at the top (named simply “dot”, which is represented with a period) with top-level domains branching out from root, and domains and subdomains branching off the top-level domains. See diagram below… The entire DNS tree is called the DNS namespace. o When a domain name is registered, the domain is added to the DNS hierarchy and becomes part of the worldwide DNS namespace. o Every domain has one or more servers that are authoritative for the domain – the servers contain a master copy of all DNS records for that domain. A single server can be authoritative for multiple domains. Root Servers – servers that contain a database of addresses of other DNS servers managing top level domain names. o IANA (Internet Assigned Numbers Authority) has a list of 13 root servers at https://www.iana.org/domains/root/servers TLD Servers – each top level domain has servers that maintain addresses of other DNS servers. o Example: The .com TLD servers maintain a database containing addresses of DNS servers fro each domain name ending with .com, such as microsoft.com and google.com. Each second level DNS server can contain hostnames (or subdomains), such as www, msdn, or downloads. Hostnames are associated with an IP address, so when a client looks up the name www.microsoft.com, the DNS server returns an IP address. DNS servers maintain a database of information that contains zones. o Zone – a grouping of DNS information that belongs to a contiguous portion of the DNS namespace, usually a domain and possibly one or more subdomains. o Resource Records – a variety of record types for each zone containing information about network resources, such as hostnames, other DNS servers, domain controllers, and so forth. There are two DNS zone categories that define what kind of information is stored in a zone: o Forward Lookup Zone (FLZ) – contains records that translate names to IP addresses. o Reverse Lookup Zone (RLZ) – contains records that map IP addresses to names. The DNS Lookup Process When a computer needs to acquire information from a DNS server, it sends a lookup or query to the server. A computer making a DNS query is called a DNS client or DNS resolver. Two type of DNS queries can be made: Iterative Query – a DNS server responds to an iterative query with either the actual IP address of the host (if it has it in its database) or an IP address of another name server that can satisfy the query (this type of response is called a referral because the server is referring the DNS client to another server). Recursive Query – a DNS server responds to a recursive query with either the actual IP address or an error message. A recursive query might require a DNS server to contact several other DNS servers before it finally sends a response to the client. Most queries made by DNS clients are recursive queries. A typical DNS lookup made by a DNS client can involve both recursive and iterative queries. A sample query demonstrating the hierarchical nature of DNS if outlined in the following steps: 1. A user types www.microsoft.com in the web browser’s address bar. The computer running the web browser is the DNS client, which sends a recursive query to a DNS server. Typically, this DNS server, called the local DNS server, is maintained on the local network or at the client’s ISP. 2. The local DNS server checks its local database, if the name is not found locally, it sends an iterative query to a DNS root server. 3. The root server sends a referral to the local DNS server with a list of addresses for the TLD servers handling the .com top level domain. 4. Using the referral information from the root server, the local DNS server sends another iterative query to a .com TLD server. 5. The .com TLD server responds with a referral to DNS servers responsible for the microsoft.com domain. 6. Using the referral information from the TLD server, the local DNS server then sends another iterative query to a microsoft.com server. 7. The microsoft.com DNS server replies with the host record IP address for www.microsoft.com. 8. The local DNS server sends the client the IP address for www.microsoft.com. This process does not occur with every DNS lookup: Computers cache information they get from their local DNS sever and use this information when possible instead of sending another query to their local DNS server. This cache is in memory so it is very temporary. o Computers can also hold static DNS entries in the hosts file. Windows: C:\Windows\System32\drivers\etc\hosts Linux: /etc/hosts Local DNS servers will cache information from recent lookups from all their clients. The eight step process above only happens when neither the computer doing the lookup nor the local DNS server has a cached copy of the requested name resolution. DNS Server Roles DNS servers can perform one or more of the following roles for a zone (simply: a group of related Internet names): Authoritative Server – holds a complete copy of a zone’s resource records (database). Forwarder – a DNS server to which other DNS servers send requests they can’t resolve themselves. Conditional Forwarder – a DNS server to which other DNS servers send requests targeted for a specific domain. Caching-Only Server – a DNS server not configured with any zones, but caches the results of its own DNS queries. Server Role: DHCP DHCP (Dynamic Host Configuration Protocol) is a component of the TCP/IP protocol suite, which is used to assign an IP address to a host automatically from a defined pool of addresses. Used mostly for IPv4 address assignment – so the DHCP server is sometimes known as DHCPv4. Static IP Address is an IP address assigned for the ‘lifetime’ of the computer or network device - DHCP is not required. Dynamic IP Address requires a DHCP server and are leased, not permanently assigned. o DHCP is based on broadcast packets, so there must be a DHCP server in the same network as the client. o Note that broadcast packets are forwarded by switches but not routers, so they are only heard by devices on the same LAN. o Relay agents (a computer or other network device) can be used to forward DHCP requests from one LAN to another. The DHCP Address Assignment Process Like most TCP/IP protocols, DHCP is a client/server protocol. A client makes a request for an IP address, and the server responds. The process of a DHCP client requesting an IP address an a DHCP server fulfilling the request is actually a fourpacket sequence… 1. DHCPDISCOVER – The client transmits a broadcast packet via UDP source port 68 and UDP destination port 67 to the network, asking for an IP address from an available DHCP server. The client can request its last known IP address and other IP address parameters, such as the subnet mask, router, domain name, and DNS server. 2. DHCPOFFER – A DHCP server receives the DHCPDISCOVER packet and responds with an offer of an IP address and subnet mask from a pool of addresses along with the lease duration. The broadcast packet is transmitted via UDP source port 67 and UDP destination port 68. Because the packet is a broadcast, all devices on the subnet get it. The packet contains the MAC address of the client computer that sent the DHCPDISCOVER packet, so other devices disregard it. 3. DHCPREQUEST – The client responds by requesting the offered address. Because it’s possible that multiple DHCP servers responded to the DHCPDISCOVER, the client might get multiple offers but accepts only one offer. The DHCPREQUEST packet includes a server identifier, which is the IP address of the server from which the offer is accepted. 4. DHCPACK – The server the offer was accepted from acknowledges the transaction and sends any other requested IP parameters, such as default gateway and DNS server address, to the client. The transaction is now complete, and the client binds the IP address and other parameters to its network interface. DHCP Address Renewal The DHCPDISCOVER broadcast packet is sent only when the client currently has no IP address. The lease renewal process is somewhat different, and because the client already has an IP address and the address of the DHCP server, the client uses unicast packets rather than broadcast packets. A successful renewal is a two-packet sequence: o DHCPREQUEST – When the lease is 50% expired, the client sends a unicast packet to the DHCP server, requesting a renewal lease for its current IP address. If the server doesn’t respond, the client retries the renewal request up to three more time occurring at 4, 8, and 16 seconds after the first renewal request. o DHCPACK – If the server responds and can honor the renewal request, the server sends a unicast packet to the client granting and acknowledging the renewal request. The renewal request might fail in these common situations: o The server responds but can’t honor the renewal. The serve sends a DHCPNAK to the client, the client unbinds the address from its network interface and begins the process anew with a broadcast DHCPDISCOVER packet. o The server doesn’t respond. The client sends a DHCPREQUEST broadcast requesting a lease renewal from any available DHCP server. If a server responds, it will either honor or deny the request – if denied then the four step process is initiated. If no server responds, it unbinds the current IP address and continues to reach a DHCP server every 5 minutes. DHCP and IPv6 IPv6 provides automatic address assignment without using a DHCP server – a DHCPv6 server can still be used for address assignment. DHCPv6 allows you to manage IPv6 address assignment better, see which addresses are being used on the network, and control IPv6 address options. Network ID (Prefix) – the first 64 bits (first 4 hexadecimal blocks), used for routing data Interface ID – the last 64 bits (last 4 hexadecimal blocks), used for identifying a network device Since the prefix isn’t a variable length, working with IPv6 addresses is somewhat easier because you don’t have to do a binary calculation with a subnet mask to determine the network and interface IDs. An IPv6 network ID can be assigned to a network device (or node) in the following ways: o Stateless autoconfiguration – the network device listens for router advertisement messages from a local router: If the Autonomous flag in the router advertisement message is set, the network device uses the prefix information contained in the message. If the Autonomous flag is not set, the prefix information is ignored, the node can attempt to use DHCPv6 for address configuration or an automatically generated link-local address (non-routable address). o Stateful autoconfiguration – the network device uses an autoconfiguration protocol, such as DHCPv6, to get its IPv6 address and other configuration information. A device attempts to use DHCPv6 to get its IPv6 address and other configuration information if there are no routers on the network providing router advertisements or if the Autonomous flag in router advertisements isn’t set. An IPv6 interface ID can be assigned to a host in the following ways: o Using the 48-bit MAC address – the other 16 bits come from the value fffe inserted after the first 24 bits of the MAC address. In addition, the first two zeros that compose most MAC addresses are replaced with 02. Example: o o o o given the MAC address 00-0C-29-7C-F9-C4, the host ID of an IPv6 address is 020c:29ff:fe7c:f9c4. This autoconfigured 64-bit host ID is known as an EUI-64 (Extended Unique Identifier) interface ID. A randomly generated permanent interface identifier – the interface ID is generated randomly but is a permanent assignment maintained through system restarts. A temporary interface identifier – the interface ID is assigned randomly and changes each time IPv6 is initialized to maintain anonymity. Via DHCPv6 – addresses are assigned via a DHCPv6 server to IPv6 interfaces when they’re initialized. Manually – the IPv6 address is entered manually in the interface’s properties. Autoconfiguration Steps 1. At initialization, a link-local address is determined. 2. The link-local address is verified as unique by using a duplicate address detection method. 3. If the address is verified as unique, the address is assigned to the interface; otherwise, a new address is generated and Step 2 is repeated. 4. The host transmits a router solicitation message. This message is addressed to the all-routers multicast address of ff01:0:0:0:0:0:0:2. 5. If no router advertisement messages are received in response to the solicitation message, the host attempts to use DHCPv6 to get an address. 6. If a router advertisement message is received and has an Autonomous flag set, the prefix in the router advertisement is used along with the interface ID ton configure the IPv6 address on the interface. The host can also use a DHCPv6 server to acquire other IPv6 configuration parameters if specified in the router advertisement. If the Autonomous flag isn’t set, the host uses DHCPv6 to acquire the address. Note that the IPv6 client maintains its link-local address even if it successfully gets an address via autoconfiguration or DHCPv6. Other Server Roles DHCP and DNS are required to get us on the Internet but other servers are required to actually do anything… DHCP recap: used to get an IP address. The most common DHCP services are: o Windows: DHCP Server – included with Windows Server operating systems o Linux: dhcpd (DHCP Daemon) DNS recap: used to get an IP address from a domain name o Windows: DNS Server – included with Windows Server operating systems o Linux: named (DNS Name Daemon) – typically used with BIND (Berkeley Internet Name Domain) utility Web Server: Web servers are primarily used to store, process, and deliver the pages of a website to users using the HTTP protocol. The most common web server platforms are: o Windows: IIS (Internet Information Services) – included with Windows Server operating systems o Linux: most common is Apache (from the phrase “a patchy server”) o Other: NGINX is a common alternative for both Windows and Linux. File Server: some web servers do double duty as a file server. Dedicated file servers on the Internet differ from file servers on a local area network. The most common are: o Windows FTP: handled by IIS (Internet Information Services). o Linux FTP: FileZilla is the most common (sometimes used in Windows environments). vsftpd (Very Secure FTP Daemon) is also commonly used. o Windows LAN: SMB (Server Message Block) – functionality included within Windows Server operating systems, Linux systems require SAMBA to use SMB on a Windows network. o Linux LAN: NFS (Network File System) – NFS server packages differ based on Linux distributions. Email Server: accept email and route it over the Internet using SMTP protocol. Client computers retrieve email from email servers using POP or IMAP protocols. The most common email server programs are: o Windows: Exchange Server o Linux: Postfix daemon is the most common. Database Server: sometimes called the database back-end, performs tasks such as data analysis, storage, data manipulation, archiving, and other non-user specific tasks. Most common database servers: o Windows: SQL Server o Linux: PostgreSQL and MySQL Authentication Servers: use to authenticate the credentials, usually account names and passwords, of users. (Both LAN and Internet based) Application Servers: handles all application operations between users and an organization's backend business applications. (Both LAN and Internet based) Proxy Servers: acts as a mediator between a client program and an external server to filter requests, improve performance (sometimes) and share connections. (Internet based server) NIS (Network Information Service) Server: coordinates common configuration files across multiple computers. (LAN based server) Print Servers: manages printers and print requests. (LAN based server) NTP (Network Time Protocol) Servers: serves ‘correct’ time and date requests. (Internet based server) Many other, less common, server roles exist.