Applications Flashcards
Process
program running within a host
-communicate with applicattion-layer protocol
user agent
interfaces with user “above” and network “below”
-implements user interface and application level protocol
Web: browser
Email: mail reader
streaming audio/ video: media player
application layer protocols (5)
one “piece” of an app
- use communication services provided by lower level protocols (TCP, UDP)
- types of messages exchanged (request/ response/ etc)
- syntax of message types (what fields in messages and how fields are delineated)
- semantics of fields
- rules for when and how processes send&respond to messages
rlogin
logging into and executing commands on remote machines
only UNIX
simpler and more efficient than telnet
shell
application that reads and understands user commands and invokes corresponding programs
pro and con of letting TCP decide sizes of segments sent b/t client and server
pro: low network workload
con: slow responses
pros and con of forcing TCP to send 1 byte segments
Pro:
fast response time
con:
high workload
Nagle’s Algorithm
-get balance b/t response time and network workload
A TCP connection can have only 1 outstanding small segment
No additional small segments can be sent until that ACK is received (so the segment builds up and becomes large – in slow networks)
FTP (File Transfer Protocol)
- one control connection for each FTP session
- one data connection for each file transfer
- server ports 20 & 21 reserved for FTP
Control connection
- server waits for connection requests on port 21
- client sends connection requests to port 21 of server
Data connection
- client chooses an unused port # and sends this # to server via control connection, using PORT command
- server receives port # and establishes TCP connection to client
SMTP (Simple Mail transfer Protocol)
Sender’s Mail Transfer Agent establishes TCP connection with receiver’s Mail Transfer Agent
Mail transfer agent
program that performs SMTP protocol to actually deliver e-mails
(sendmail in Unix)
remote user agent
- user agent that runs on a machine different from where mail storages are
- need mail access protocol (POP, IMAP)
HTTP
- Browsers request web pages from server using Hypertext Transfer Protocol
- simple client-server transaction protocol
- web’s application layer protocol
- uses TCP
- stateless (server keeps no info about past client requests)
URL
Objects on web are identified by Uniform Resource Locators (URL)
Non persistent HTTP
- at most 1 object is sent over TCP connection
- requires at least 2 RTT’s per object
OS must do work for each TCP connection
-but browsers can open parallel TCP connections
Persistent HTTP
with and without pipelining
- multiple objects can be sent over 1 TCP connection
- w/out pipelining: client issues new request only when previous one has been recieved (1 RTT for each object)
- w/ pipelining: client sends requests as soon as it encounters referenced object. (~ 1 RTT for ALL referenced objects)
POST method
web page includes form input
Input is uploaded to server in entity body
URL method (GET)
Input is uploaded in URL field of request line
PUT (HTTP/1.1)
uploads file in entity body to path speciefied in URL field
Cookies (4 components)
- cookie header line in HTTP response message
- cookie header line in HTTP request message
- cookie file kept on user’s host and managed by user’s browser
- back-end database at Web site
why web caching (proxy server)? (3)
- reduce response time for client request
- reduce traffic on an institutions access link
- internet dense with caches enables “poor” content providers to effectively deliver content
Content Distribution Networks (CDNs)
- Content providers are its customers
- replicates its customers’ content in CDN servers. When provider updates content, CDN updates servers
- faster delivery
- based on geographic locations