Flashcards in Application Layer Deck (59)
What is application architecture?
The application architecture is designed by the application developer and dictates how the application is structured over the various end systems.
What is the client-server architecture?
In a client-server architecture there is a server which services requests from clients. Examples: Web, FTP, Telnet, email.
What is a P2P architecture?
In a P2P architecture there is minimal or no reliance on dedicated servers in data centers. Instead the application exploits direct communication between pairs of intermittently connect hosts called peers. Examples are BitTorrent, and Skype.
What is a hybrid architecture?
A hybrid architecture combines both client-server and P2P elements. For example, an instant messaging app will sent messages P2P, but first must look up the IP address of their contact before sending the message.
What is a compelling feature of P2P architecture?
One of the most compelling features of P2P architectures is their self-scalability. Each peer both generates workload by requesting files, and adds to service capacity by distributing files to other systems.
What are 3 major challenges facing P2P applications?
1- ISP friendly. Most ISPs have been dimensioned for asymmetrical bandwidth usage.
2- Security. Because of their highly distributed and open nature, P2P applications can be a challenge to secure.
3- Incentives. The success of future P2P applications also depends on convincing users to volunteer bandwidth, storage and computation resources to the applications.
What is a socket?
A socket is an interface through which a process sends and receives messages. A process is analogous to a house and its socket is analogous to its door.
What do we need to identify the receiving process?
1 - the address of the host
2 - an identified that specifies the receiving process in the destination host
How is a host identified in the Internet?
The host is identified by its IP address.
What is a bandwidth-sensitive application?
An application that has a throughput requirement (such as a multimedia application: Netflix)
What is an elastic application?
An application that can make use of as much or as little throughput as happens to be available: Email
What is an application layer protocol?
An application layer protocol defines how an applications processes running on different end systems pass messages to each other. In particular:
-Type of messages
-Syntax of messages
-Semantics of fields
Which transport layer protocol does HTTP use?
HTTP uses TCP
Why is HTTP said to be a stateless protocol?
HTTP is said to be a stateless protocol because the server maintains no information about the clients
What is the difference between non-persistent and persistent connections?
A non-persistent connection makes each request/response pair over a separate TCP connection. A persistent connection makes each request/response pair on the same TCP connection.
What is round-trip time (RTT)
Round trip time is the time it takes for a small packet to travel from client to server and then back to the client
What are the parts of an HTTP response message?
Status line, header lines and entity body
What are the four components of a cookie?
header line in the response, header line in the request, cookie files on the users end system, and a back end database at the website
What is a web cache?
Also known as a proxy server, a web cache is a network entity that satisfies HTTP requests on behalf of an origin web server. The web cache has its own disk storage and keeps copies of recently requested objects in this storage.
Why use caching?
Caching can substantially reduce the response time for a client request, particularly if the bottleneck bandwidth between the client and the origin server is much less than the bottleneck bandwidth between the client and cache. Web caches can significantly reduce traffic on an institutions link to the Internet.
What is a CDN?
CDN stands for Content Distributing Networks. A CDN company installs caches throughout the Internet to localize traffic and improve performance
What is FTP?
FTP stands for File Transfer Protocol. It is used when a user wants to transfer files to a remote host.
What is the striking difference between FTP and HTTP?
FTP uses two parallel TCP connections to transfer a file: a control connection (for authentication) and a data connection
What are the three major components of internet mail?
user ages, mail servers and Simple Mail Transfer Protocol
What is a user agent?
An email client like Outlook or Apple Mail
What does a mail server do?
Stores an outgoing email in an outgoing message queue, and incoming emails in incoming message queues
What does SMTP do?
It uses the reliable data transfer service of TCP to transfer mail from the sender mail server to the recipients mail server.
What is are the three important differences between HTTP and SMTP?
HTTP is a pull protocol (requests things). SMTP is a push protocol (sends things).
SMTP requires 7-bit ASCII encoding and HTTP does not.
HTTP encapsulates messages in a response message, SMTP sends messages as a single object