Summary.

Principles of network applications

Client-Server Paradigm

Server:

  • Always-on host
  • Permanent IP
  • Usually in data centers

Clients:

  • Less powerful hosts that connect with server

OSI Layer

flowchart TD
    A(["Application
    (Layer 7)"])
    B(["Presentation
    (Layer 6)"])
    C(["Session
    (Layer 5)"])
    D(["Transport
    (Layer 4)"])
    E(["Network
    (Layer 3)"])
    F(["Data
    (Layer 2)"])
    G(["Physical
    (Layer 1)"])
    A --> B
    B --> C
    C --> D
    D-->E
    E-->F
    F-->G

Bottom -> UpUp -> Bottom
AllPlease
PeopleDo
SeemNot
ToThrow
NeedSausage
DataPizza
ProcessingAway

TCP:
+ Connection oriented
+ Reliable transport
+ Flow control
+ Congestion control
- Doesn’t provide timing, minimum, throughput guarantee, security

UDP:
+ Connection-less
- Unreliable data transfer
- Doesn’t provide: reliability, flow control, congestion control, timing, throughput guarantee, or security

Web caches/cookies:

  • Useful for storing your login information and work
  • Very useful for advertisers