1.1 A Day in the Life of an Application
Last updated
Was this helpful?
Last updated
Was this helpful?
Connectivity: connect to one another and exchange data
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)
Either side can close the connection
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)