1.1 A Day in the Life of an Application

  • Connectivity: connect to one another and exchange data

Network Application

  • Read and write data over network

  • Dominant network: bidirectional, reliable byte stream connection

    • One side reads what the other writes

    • Operates in both directions

    • Reliable (unless connection breaks)

Byte Stream Model

  • Either side can close the connection

World Wide Web (HTTP)

  • Hypertext transfer protocol

  • HTTP: document centric

    • Human readable

    • Request

      • "Get / HTTP / 1.1"

    • Response

      • "HTTP/1.1 200 OK"


  • Share and exchange large files

  • Client request documents from other clients

  • Swarms

  • When the client wants to download a file, it first has to find something called a torrent file

    • Find it using the www

    • Download it using HTTP

  • torrent file describes some information about:

    • data file you want to download

    • tracker: keeps track of what clients are members of the swarm

  • Dense graphs of connections between clients, dynamically exchanging data


  • NAT: network address translator

    • Behind a NAT: can open connections out to the Internet, but other nodes in the Internet can't easily open the connections to you

    • Red-green area

  • Reverse connection (from B to A)

  • This happens in Skype

    • Skype client: personal machine (behind NAT, for security)

Last updated