Chapter 2: Application Layer

Ace your homework & exams now with Quizwiz!

What are three major challenges faced by P2P apps?

1. ISP Friendly: Significant stress is put on residential ISP's which have been built for higher downstream traffic and NOT upstream traffic. Future apps need to be designed so that they are friendly to ISP's. 2. Security: challenging to secure these apps because of their highly distributed and open nature. 3. Incentives: for a successful p2p app, users need to volunteer bandwidth, storage and computation resources to the application.

What two pieces of information are needed in order to identify the receiving process?

1. address of the host and 2. an identifier that specifies the receiving process in the destination host

What are the two major paradigms used in network application architecture?

1. client-server architecture and 2. peer-to-peer architecture

What are the four different types of services that a transport-layer protocol can offer to applications invoking it?

1. reliable data transfer; 2. throughput; 3. timing; 4. security

What types of control does an application developer have on the transport-layer side?

1. the choice of transport protocol and 2. perhaps the ability to fix a few transport-layer parameters such as maximum buffer and maximum segment sizes

After the handshaking, or connecting phase, what is said to excist between the sockets of the two processes?

A TCP connection

What is a TCP connection?

A full-duplex connection, or the two processes can send messages to each other over the connection at the same time

How do the network applications, running in multiple end systems, communicate with each other?

A process is a program that is running on an end system. Processes on two different end systems communicate with each other by exchanging messages across the computer network. A sending process creates and sends messages into the network; a receiving process receives these messages and possibly responds by sending messages back.

What does a server always have in the client-server architecture?

A server always has a fixed, well-known address known as an IP address

What is an application layer protocol?

An application-layer protocol defines how an application's processes, running on different end systems, pass messages to each other

What are some applications based on P2P architectures?

BitTorrent, Skype,

How can a host keep up with a large number of client requests?

By utilizing a data center which houses a large number of hosts to create a virtual server

What is an example of a transport-layer protocol that provides an application with one or more security services?

For example, in the sending host, a transport protocol could encrypt all data transmitted by the sending process, and in the receiving host, the transport-layer protocol could decrypt the data before delivering the data to the receiving process

How is HTTP implemented?

HTTP is implemented in two programs: a client program and a server program

What is the Web's application-layer protocol?

HTTP, or HyperText Transfer Protocol

Give an example of a hybrid architecture which utilizes both P2P and client-server.

In many instant messaging apps, servers are used to track IP addresses of users, but user-to-user messages are sent directly between user hosts (without passing through intermediate servers)

In the context of HTTP, does the server (which sends requested file to clients) store any state information about the client?

No, the HTTP server maintains no information about the clients, so HTTP is a stateless protocol

How does P2P architecture function?

P2P applications exploit direct communication between pairs of sporadically connected hosts, called peers

Which network application architecture has minimal or no reliance on dedicated servers in data centers?

P2P architectures

What transport-layer protocol does HTTP use?

TCP

What is meant by TCP's "connection-oriented service?"

TCP has the client and server "connect" with one another by exchanging transport-layer control information with one another before exchanging application-level messages.

Sum up the TCP service model.

The TCP service model includes a connection-oriented services and a reliable data transfer service

What happens when a user clicks on a hyperlink in a web browser?

The browser sends HTTP request messages for the objects in the page to the web server. The Web server receives the requests and responds with HTTP response messages that contain the objects

What does it mean to offer reliable data transfer service?

The protocol guarantees that it will deliver all data sent without order and in the proper order

What services are not guaranteed by Internet Transport protocols ?

Today's Internet can often provide satisfactory service to time-sensitive app's, but it CANNOT provide any timing or throughput guarantees

What are the two transport protocols that the Internet makes available to applications?

UDP and TCP

Sum up the UDP service model.

UDP is connectionless, provides unreliable data transfer service (so data may not arrive or, if it does arrive, may be out of order)

What implements the client side and server sideof HTTP?

Web browsers implement the client side of HTTP and web servers implement the server side of HTT

Does TCP offer reliable data transfer service?

Yes

What does the receiving process need to have in order for a process running on one host to send a message to a process running on another host?

an IP address

What are application that have throughput requirements known as?

bandwidth-sensitive applications

Why is the architecture known as peer to peer?

because the peers communicate without passing through a dedicated server

in the context of a communication sessions between a pair of processes, what is the process that initiates the communication?

client

What architecture has an "always-on" host, known as the server, which services requests from many other hosts, known as clients?

client-server architecture

What type of applications, in opposition to bandwidth-sensitive applications, can make use of as much, or as little, throughput as happens to be available?

elastic applications (electronic mail, file transfer, and Web transfers)

What is an example of a transport-layer protocol which provides timing guarantees?

every bit that the sender pumps into the socket arrives at the receiver's socket no more than 100 msec later

What does a Web page consist of?

files known as objects - such as an HTML file, a JPEG image, a Java applet, or a video clip - that are addressable by a single URL

What does it mean when a transport-layer protocol can guarantee a certain amount of transmission rate?

guaranteed available throughput

What does TCP's congestion-control mechanism provide?

it will throttle a sending process (from client or server) when network is congested between sender and receiver

Do end clients directly communicate with each other in a client-server architecture?

no

Does an application developer need to write software to run on routers or link-layer switches in the network core?

no

When HTTP delivers requests/ responses over the same TCP connection it is using ______________ connection?

persistent

What is the identifier that specifies the receiving process in the destination host?

port number

If a transport-layer protocol can guarantee that the data sent by one end of the application will be delivered correctly and completely to the other application, it is said to provide_____________?

reliable data transfer

What is the most intriguing feature of P2P architecture?

self-scalability - each peer adds service capacity to the system by distributing files t other peers; cost-effectiveness

in the context of a communication sessions between a pair of processes, what is the process that waits to be contacted?

server

What is the interface between the application layer and the transport layer within an end system?

socket

What is the software interface that processes sends messages into and receives messages from?

socket

What are some examples of network applications?

text-based applications: text email, remote access to computers, file transfers, and newsgroups; the World Wide Web: web surfing, search, electronic commerce, instant messaging, P2P file sharing; voice and video applications: VoIP, video conferencing over IP, YouTube, netflix; social networking apps

What are the two components of URL's?

the hostname of the server that houses the object and the object's path name

Specifically, what do application-layer protocols define:

type of messages exchanged; syntax of the various message types (fields in the message and how they are delineated); semantics of the fields (meaning of info in the fields); and rules for determining when and how a process sends messages and responds to messages


Related study sets

MEEB Chapter 14 - Principles of Electricity

View Set

PEDS: Practice Questions (Exam 4)

View Set

NU270 Week 11 PrepU: Quality Improvement

View Set

Chapter 5: Descriptive and Causal Research

View Set

AWS Practice Exam 5 (Security & Compliance)

View Set

NU272 HESI Case Study: Compound Fracture (Preschooler)

View Set