🌐

Understanding the Client-Server Model and Cloud Computing

Sep 21, 2024

Introduction to Computational Thinking - Lecture Notes

Lecture Topic: The World Wide Web

Client-Server Model

  • Definition: Organizes services across a network.
    • Servers: Provide services over a network.
    • Clients: Utilize services provided by servers.
  • Server Details:
    • Listen at reserved TCP or UDP ports.
    • May handle multiple TCP connections simultaneously.
    • Often called "daemons," typically named ending in 'd' (e.g., httpd).
    • Can be a group of processes or threads.
  • Clients:
    • Initiate connections to servers.
    • Assigned ephemeral ports by the operating system.
    • Generally simpler than servers; security burden lies mostly on servers.
  • Components Needed:
    • Communication protocol (e.g., HTTP for web services).
    • Server programs (e.g., web server).
    • Client programs (e.g., web browser).
    • Communication channels (TCP or UDP).

Cloud Computing

  • Definition: Use of data storage and computational resources provided by internet servers.
  • Benefits:
    • Reduced personnel and capital investment.
    • Shared infrastructure among various clients.
    • Access to software (SaaS), virtual computers (PaaS), and infrastructure (IaaS).
  • Drawbacks:
    • Dependency on external privacy and security.
    • Reduced management control and computational speed.

Internet Layering Model

  • Layers:
    • Hardware Layer: Connection of hosts to physical networks.
    • Network Interface Layer: Connectionless and uses frames.
    • Internet Layer: Connectionless using IP datagrams.
    • Transport Layer: Connection-oriented (TCP) or connectionless (UDP).
    • Application Layer: Protocols like HTTP for web services.
  • Addressing:
    • Physical addresses at the network interface.
    • IP addressing at the internet layer.
    • Protocol ports at the transport layer.
  • Main Protocols:
    • ARP: Matches physical and IP addresses.
    • IP/ICMP: Main internet protocol.
    • TCP/UDP: Transport protocols; TCP offers reliability.

Domain Name System (DNS)

  • Purpose: Provides names for hosts and collections of hosts, mapping host names to IP addresses and vice versa.
  • Managed by: Set of name servers using TCP/UDP for communication.
  • Structure:
    • Domain names are sequences of labels separated by dots.
    • Subdomains are suffixes of domain names.
  • Types of Domains:
    • Top-level domains (TLD): Generic, country code, and infrastructure (e.g., ARPA).
    • Original TLDs: COM, NET, ORG, EDU, GOV, MIL.
    • Expanded to over 1500 TLDs.
    • Country Code TLDs: 312 codes (e.g., CA for Canada, DE for Germany).

Key Question

  • The internet is both connectionless and connection-oriented based on the layer (e.g., internet and transport layers).

Next Topic

  • Discussion on the origin of the World Wide Web in the next lecture.