1/33
Practice flashcards covering key concepts from the lecture notes on Client-Server concepts (including sockets, servers, and protocols) and the Domain Name System (DNS).
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
What are the two primary roles in the client-server model, and what does each do?
Server provides services and waits for client requests; Client requests services from the server.
In development or testing, where can server and client run together, and what is this setup commonly called?
They can run on the same machine (localhost).
What is the typical lifecycle of a server in the client-server model?
The server starts, waits for requests, processes them when they arrive, responds to the client, and then returns to waiting for the next request.
What challenges arise when a single server serves multiple clients, and what areas do server implementations address?
Challenges include handling concurrent requests, prioritization, maintaining performance under heavy load, and fair service distribution; addressed by different server implementation strategies.
Describe the typical client-server interaction flow.
Server initializes and waits (sleep); client starts and sends a request; server wakes up, processes, and sends a response; server returns to sleep; the cycle repeats.
What is the server processing cycle?
Wake up from sleep; receive/parse request; process according to business logic; generate response; send response; return to sleep.
What does the term asymmetry mean in client-server architecture?
Servers are passive and always available; clients are active and connect only when needed; server and client code patterns differ.
What characterizes iterative servers?
Process one request at a time; only one server copy runs; others wait in a queue; simple but can bottleneck with multiple clients.
What characterizes concurrent servers?
Handle multiple requests in parallel by creating a new process or thread per client; original server continues listening; efficient for long-running connections (often using fork).
What does TCP stand for and what are its key features?
Transmission Control Protocol; connection-oriented; establishes connections; reliable, ordered delivery; includes flow and congestion control.
What does UDP stand for and what are its key features?
User Datagram Protocol; connectionless; no guaranteed delivery or ordering; faster and lighter-weight.
What is a 5-tuple in networking?
Protocol, Source IP, Source Port, Destination IP, Destination Port; uniquely identifies a communication channel.
What is the Berkeley Socket Interface?
A standardized API for network programming (BSD); provides functions to create sockets, connect, send/receive data, and manage communications.
What is a Full Association in socket communication?
A 5-tuple: Protocol, Local IP, Local Port, Remote IP, Remote Port.
What is a Half-Association in socket communication?
A subset consisting of Protocol, IP address, and Port number for one side (local or remote).
List the typical sequence of socket creation and connection steps for server and client.
1) Create socket (client and server) 2) Bind socket to IP and port (server) 3) Listen (server) 4) Accept connection (server) / Connect to server (client) 5) Send/receive data 6) Close connection.
What is DNS and its primary function?
Domain Name System; translates human-friendly domain names into IP addresses; a global distributed database used by all internet applications.
Why is DNS implemented as a distributed database?
No single server can store all domain names; there are millions of domains; information is spread across many servers and updated continuously.
What is a Top-Level Domain (TLD) and give examples of functional TLDs and country code TLDs?
TLDs are the highest level in DNS; functional examples: .com, .org, .net, .gov, .mil, .edu; country code examples: .in, .uk, .jp, .au, .ca, .de.
Explain the DNS hierarchy using the example cs.knust.edu.gh.
gh is the country-code TLD; edu is the second-level domain; knust is the third-level; cs is the fourth-level.
What information is stored at Root DNS servers in the hierarchy?
Information about all TLDs.
What is BIND in the context of DNS?
Berkeley Internet Name Domain; the most common DNS server implementation; provides core DNS server functionality.
What is the difference between a Primary DNS Server and a Secondary DNS Server?
Primary is the authoritative master for a zone; Secondary is a backup that receives zone transfers and provides redundancy.
Describe the DNS resolution hierarchy and delegation in the DNS server hierarchy.
Root DNS servers at the top; then TLD servers; then authoritative name servers for specific domains; local DNS servers at ISPs or organizations; each level knows about the level below.
What is recursive DNS name resolution?
The local DNS server handles the entire lookup by querying other servers as needed and returning the final answer to the client; the client sees a single query/response.
What is iterative DNS name resolution?
The client queries the local DNS server; if unknown, the local server referring the client to another server; the client queries multiple servers until an authoritative answer is found.
What is DNS caching and TTL?
DNS responses are cached to speed up future lookups; TTL specifies how long a cached entry remains valid; expired TTL requires a fresh lookup.
Name at least three common DNS record types and what they map to.
A record maps a domain to an IPv4 address; AAAA maps to an IPv6 address; CNAME creates an alias for another domain; MX specifies mail servers; NS specifies authoritative name servers; PTR maps IP to domain name.
What is DNSSEC and why is it important?
DNS Security Extensions; adds cryptographic signatures to DNS records to verify authenticity and integrity.
What is DNS cache poisoning and how can it be mitigated?
Attackers insert false information into DNS caches to misdirect users; mitigated by DNSSEC and proper DNS security practices.
What is a DNS amplification attack?
Attackers use vulnerable DNS servers to generate large amounts of traffic for DDoS attacks.
What are DNS privacy enhancements that protect DNS queries?
DNS over HTTPS (DoH) and DNS over TLS (DoT) encrypt DNS traffic to protect user privacy.
Name some common applications built on client-server architecture that rely on DNS for addressing.
World Wide Web (HTTP), Email (SMTP/POP3/IMAP), Telnet, FTP, Database systems, Cloud services.
Why is understanding DNS foundational for internet functionality?
DNS translates domain names to IP addresses, enabling communication and access to internet services.