Roger Fan

Notes

High School Notes
University Notes
Computer Networking
Ch1 Computer Networks and the Internet
Ch2 Application Layer
Ch3 Transport Layer
Computer Architecture
Operating System
Chapter 0
Chapter 1: Operating System Introduction
Chapter 2: OS Structure
Chapter 3: Process Concept
Chapter 4: Multithreaded Programming
Chapter 5: Process Scheduling
Chapter 6: Process Synchronization
Chapter 7: Deadlocks
Chapter 8: Memory Management
Chapter 9: Virtual Memory Management
Chapter 10: File System Interface
Chapter 11: File System Implementation
Chapter 12: Mass Storage System
Chapter 13: IO System
Discrete Math
Calculus
Calculus I
Calculus II
Linear Algebra
Probability
General Physics
General Education
Tech Notes
TMUX
SSH
Fail2ban
SSHD
UFW
DNS Bind9
Notes
University Notes
Computer Networking
Ch2 Application Layer

Login Required

This note requires login to view the full content (362 lines total). Showing first 20 lines as preview. Please login to view the full content.

Login to unlock

Ch2 Application Layer

Created: 2025-11-29
Updated: 2025-11-29

Login to unlock full content

Login Now
roger@roger.tw
roger@roger.tw
© 2026 Roger Fan. All rights reserved.

2.1 Principles of Network Applications

  • application architecture:
    • client-server architecture: HTTP, IMAP, FTP
      • server: always-on host, permanent IP address, often in data center for scaling
      • client: contact with server, may be intermittently connected, may have dynamic IP
    • peer-to-peer architecture: P2P file sharing
      • arbitrary end systems directly communicate → peers request/provide services from/to peers
      • peers are intermittently connected, change IP address → complex management
      • self scalability → but people are selfish
      • cost effective ∵ no server infrastructure and server bandwidth
      • challenges of security, performance, and reliability ∵ decentralized structure
  • process := program running within a host
    • within same host: IPC (inter-process communication) defined by OS
    • in different host: by exchanging messages (via socket)
    • client process: process that initiates communication
    • server process: process that wait to be contacted
    • P2P architecutres also have client & server process