Network Applications and Architectures
41 Questions
29 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to Lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Which HTTP method is primarily used for sending data to the server, like filling out forms?

  • GET
  • HEAD
  • POST (correct)
  • DELETE

The GET method can include user input directly in the requested URL.

True (A)

What does the status code 404 indicate?

Not Found

The HTTP method used for uploading an object to a specific path on the web servers is called ______.

<p>PUT</p> Signup and view all the answers

Match the following HTTP status codes with their meanings:

<p>200 = OK 301 = Moved Permanently 400 = Bad Request 505 = HTTP Version Not Supported</p> Signup and view all the answers

What additional security services does a transport protocol provide besides confidentiality?

<p>Data integrity (B)</p> Signup and view all the answers

TCP provides encryption by default.

<p>False (B)</p> Signup and view all the answers

What is the purpose of the handshaking procedure in TCP?

<p>To exchange transport-layer control information before data transfer.</p> Signup and view all the answers

The ___________ Layer is where SSL operates to provide encryption and security.

<p>application</p> Signup and view all the answers

Match the following TCP services with their descriptions:

<p>Connection-oriented service = Alerts client and server before data transfer begins Reliable data transfer service = Ensures all data is delivered without error Congestion control = Throttles sending when the network is congested SSL = Provides encryption and integrity for TCP</p> Signup and view all the answers

Which of the following protocols ensures reliable data transfer?

<p>TCP (B)</p> Signup and view all the answers

What happens after the application finishes sending messages in a TCP connection?

<p>The connection must be torn down.</p> Signup and view all the answers

Which of the following statements correctly describes UDP?

<p>UDP is a lightweight, connectionless transport protocol with no guarantees. (C)</p> Signup and view all the answers

UDP provides throughput guarantees for message delivery.

<p>False (B)</p> Signup and view all the answers

What does HTTP stand for?

<p>HyperText Transfer Protocol</p> Signup and view all the answers

The Web operates on demand, allowing users to receive what they want, when they want it, facilitated by hyperlinks and __________.

<p>search engines</p> Signup and view all the answers

Match the following components of HTTP with their descriptions:

<p>Client program = Initiates requests for web documents Server program = Responds to client requests HTTP messages = Pass messages between client and server URL = Address of a web object</p> Signup and view all the answers

What is a key characteristic of an application-layer protocol?

<p>It works independently of the underlying transport protocols. (D)</p> Signup and view all the answers

The World Wide Web was introduced in the early 1980s.

<p>False (B)</p> Signup and view all the answers

What is a web page made up of?

<p>Objects like HTML files and images</p> Signup and view all the answers

HTTP uses __________ as its underlying transport protocol.

<p>TCP</p> Signup and view all the answers

What type of protocol does the server use when it does not store any state information about the client?

<p>Stateless protocol (C)</p> Signup and view all the answers

HTTP by default uses persistent connections.

<p>False (B)</p> Signup and view all the answers

What does RTT stand for and why is it significant in web communication?

<p>Round-Trip Time, it measures the time for a packet to travel from client to server and back.</p> Signup and view all the answers

In a non-persistent connection, a new __________ needs to be established for each requested object.

<p>TCP connection</p> Signup and view all the answers

Match the following connection types with their characteristics:

<p>Non-Persistent Connection = Requires a new TCP connection for each request Persistent Connection = Keeps the TCP connection open for multiple requests RTT = Measures the time for a round trip from client to server HTTP = Protocol used for transferring web content</p> Signup and view all the answers

Which browser was mentioned as running on a PC?

<p>Firefox (C)</p> Signup and view all the answers

Persistent connections are more resource-intensive on the server side than non-persistent connections.

<p>False (B)</p> Signup and view all the answers

What must be done for each object in non-persistent connections before receiving a response?

<p>A new TCP connection must be opened.</p> Signup and view all the answers

HTTP can be configured to use __________ connections instead of the default non-persistent connections.

<p>persistent</p> Signup and view all the answers

What is the implication of using non-persistent connections regarding server resources?

<p>More server resources are consumed as multiple connections are established. (C)</p> Signup and view all the answers

What is a feature of Persistent HTTP?

<p>Allows multiple requests to be sent without waiting for replies. (C)</p> Signup and view all the answers

The majority of HTTP requests use the POST method.

<p>False (B)</p> Signup and view all the answers

What happens if a persistent TCP connection is not used for a pre-decided amount of time?

<p>It will be closed.</p> Signup and view all the answers

The ______ method is commonly used to request web pages and objects.

<p>GET</p> Signup and view all the answers

Match the HTTP methods with their typical usage:

<p>GET = Request an object POST = Submit data to be processed HEAD = Request header information only DELETE = Remove a resource</p> Signup and view all the answers

What character sequence signifies the end of HTTP header lines?

<p>(C)</p> Signup and view all the answers

In HTTP message format, the request line includes three fields: method, URL, and HTTP version.

<p>True (A)</p> Signup and view all the answers

What does 'pipelining' allow in HTTP requests?

<p>Back-to-back requests without waiting for replies.</p> Signup and view all the answers

The __________ character is used to indicate the end of the request line in an HTTP message.

<p>carriage return</p> Signup and view all the answers

Which HTTP method is primarily used to delete a resource?

<p>DELETE (A)</p> Signup and view all the answers

Flashcards

Reliable Data Transfer

A service provided by a transport layer protocol that ensures all data sent between two processes is delivered without errors and in the correct order. Data is also protected from corruption.

Connection-Oriented Service

A communication protocol that uses a three-way handshake to establish a connection between two communicating processes before data is sent. It also ensures that data is delivered in the correct order, without errors, and without loss.

SSL (Secure Sockets Layer)

The standard way to add security features to TCP, including encryption, data integrity, and end-point authentication. It operates at the application layer, not as a separate protocol.

Confidentiality

A service that protects data from unauthorized access or viewing. This is often accomplished by using encryption to scramble the data.

Signup and view all the flashcards

Endpoint Authentication

A service that verifies the authenticity of the sender and receiver. It ensures that data is received from the intended source and hasn't been altered.

Signup and view all the flashcards

Data Integrity

A service that ensures the data sent between two processes remains unchanged. This is often achieved by using a cryptographic hash to check for any modifications.

Signup and view all the flashcards

Congestion Control

A service that helps manage network congestion, ensuring that data flows smoothly and efficiently even under heavy traffic conditions. It regulates how much data is sent in a given time.

Signup and view all the flashcards

UDP (User Datagram Protocol)

A connectionless protocol that provides minimal services. It offers no guarantees of message delivery, order, or congestion control.

Signup and view all the flashcards

TCP (Transmission Control Protocol)

A protocol that establishes a connection before data transmission. It ensures reliable delivery of messages by offering error-checking and retransmission.

Signup and view all the flashcards

Connection establishment

The process of establishing a connection between two communication endpoints, typically using a handshake mechanism.

Signup and view all the flashcards

Error-checking and retransmission

The process of verifying if data has been received correctly and taking corrective measures like retransmission in case of errors.

Signup and view all the flashcards

Application-Layer protocols

Communication between two or more applications over a network using a defined protocol to exchange messages across an interface.

Signup and view all the flashcards

HTTP (HyperText Transfer Protocol)

A standardized set of rules for exchanging data over the internet, defining the format and meaning of messages.

Signup and view all the flashcards

Web Object

A file containing data that is accessible through a unique URL.

Signup and view all the flashcards

URL (Uniform Resource Locator)

The uniform resource locator, which uniquely identifies an object on the web.

Signup and view all the flashcards

POST Method

A method used by web browsers to send data to a server. It's like filling out a form, where the data is packaged and sent with the request.

Signup and view all the flashcards

GET Method

A method used by web browsers to retrieve data from a server, often used for loading webpages. It's like asking for a specific document.

Signup and view all the flashcards

HEAD Method

A method similar to GET, but it only asks for the headers (the description of the resource) without the actual content. Useful for debugging.

Signup and view all the flashcards

PUT Method

A method used to upload files to a specific place on a web server. Often used by online publishing tools.

Signup and view all the flashcards

DELETE Method

A method used to delete files or data from a web server. Allows users or applications to remove content.

Signup and view all the flashcards

Stateless protocol

A communication protocol where the server doesn't retain any information about the client after each request is processed.

Signup and view all the flashcards

Non-Persistent Connections

Connections between a client and server where each request and response pair is sent over a separate TCP connection.

Signup and view all the flashcards

Persistent Connections

Connections between a client and server where all requests and responses are sent over the same TCP connection, staying open for multiple interactions.

Signup and view all the flashcards

Round-Trip Time (RTT)

The time it takes for a small packet to travel from client to server and back to the client.

Signup and view all the flashcards

RTT for Non-Persistent Connections

The time elapsed between a client's request for a webpage and the receipt of the entire file, encompassing the time for request and response, including retrieving embedded objects (images, scripts etc.).

Signup and view all the flashcards

Non-Persistent Connections for Object Retrieval

A TCP connection is established for each object (page, image, script, etc.) on a web page.

Signup and view all the flashcards

HTTP's Default Connection Type

HTTP's default connection type where a new TCP connection is established for every request from the client.

Signup and view all the flashcards

Persistent Connections for HTTP

A TCP connection is kept open for subsequent requests and responses from the same client to the same server. This is a more efficient way to communicate and is favoured in modern web development.

Signup and view all the flashcards

HTTP's Configuration for Persistence

A configuration possibility for HTTP servers where they can be designed to utilize persistent connections for increased efficiency in data transfer.

Signup and view all the flashcards

Potential Inefficiency of Non-Persistent Connections

The default mode of HTTP has the potential to be inefficient because it involves establishing multiple connections for every request leading to a longer time taken to receive the entire page.

Signup and view all the flashcards

HTTP Request Message

A request sent from a client to a server for a specific resource. It consists of a request line, header lines, and an optional body containing data.

Signup and view all the flashcards

HTTP Pipelining

A special way of sending multiple requests to the server without waiting for responses to each one. This optimizes communication, making web browsing faster.

Signup and view all the flashcards

Persistent HTTP

A type of HTTP connection where the same connection is reused for multiple requests. This reduces overhead and improves performance.

Signup and view all the flashcards

Non-Persistent HTTP

A type of HTTP connection where a new connection is established for each request and closed after the response. This is less efficient but allows for greater flexibility.

Signup and view all the flashcards

Method Field

A field in the HTTP request line that specifies the HTTP method to be used, such as GET, POST, HEAD, PUT, or DELETE.

Signup and view all the flashcards

URL Field

A field in the HTTP request line that specifies the URL (Uniform Resource Locator) of the requested resource.

Signup and view all the flashcards

HTTP Version Field

A field in the HTTP request line that specifies the version of the HTTP protocol used in the request.

Signup and view all the flashcards

Header Lines

A line in the HTTP request that contains information about the request, such as the user agent, language preferences, and desired content types. They are like a set of instructions for the server.

Signup and view all the flashcards

Study Notes

Network Applications

  • Network applications are the core of computer networks
  • Text, email, remote access, file transfers, the World Wide Web, web searching, e-commerce, Twitter, Facebook, Amazon, Netflix, and YouTube are examples.

Network Application Architectures

  • Network architecture is fixed and provides services to applications
  • Application architecture is chosen by the developer.
  • Two predominant architectural paradigms used in modern network applications are client-server and peer-to-peer.

Client-Server Architecture

  • A dedicated server host (always on) services requests from many client hosts
  • Clients do not communicate directly with each other
  • A data center (a group of hosts) may be used to handle client requests on a single server host

Peer-to-Peer Architecture

  • Minimal or no reliance on dedicated servers
  • Application exploits direct communication between intermittently connected peers (end systems owned and controlled by users)
  • Provides self-scalability and is cost-effective because it does not require significant infrastructure or server bandwidth

Processes Communicating

  • Processes, not programs, communicate in operating systems
  • A process is a program running within an end system
  • Processes on different end systems communicate by exchanging messages
  • A sending process creates and sends messages into the network
  • A receiving process receives these messages and may respond with messages

Interface Between Process and Network

  • A socket serves as the interface between the application and transport layer
  • Provides an Application Programming Interface (API) between application and network
  • Application developer has control of application layer
  • Limited control of transport layer (choice of protocol and transport layer parameters like max buffer & segment sizes)

Transport Services

  • Reliable data transfer guarantees delivery without errors or loss
  • Throughput is the rate at which data is delivered, bandwidth-sensitive applications require specific throughput
  • Timing guarantees are provided for real-time applications (like telephony)
  • Security services like encryption and data integrity can be offered

Internet Transport Services

  • TCP provides connection-oriented and reliable data transfer services (e.g., file transfers, web documents)
  • UDP provides no frills, lightweight, and unreliable data transfer services (e.g. streaming multimedia)

The World Wide Web and HTTP

  • HTTP is the application-layer protocol for the Web
  • Implemented in client-server programs
  • A web page is a collection of objects (HTML, images, etc.) addressable through URLs
  • The HyperText Transfer Protocol (HTTP) uses TCP
  • HTTP is a stateless protocol

Non-Persistent vs Persistent Connections

  • Non-persistent connections open a new connection for each object requested
  • Persistent connections keep the connection open for multiple requests

HTTP Message Format

  • Two types of HTTP messages: request and response.
  • Request message components: request line, header lines, and a blank line followed by an entity body.
  • Response message components: status line, header lines, and an entity body.

Content Distribution Networks (CDNs)

  • Popular video streaming services use CDNs to distribute video content on servers that are positioned geographically close to the clients.

Socket Programming

  • A socket is a point of communication between applications & transport protocols
  • Two socket types for transport services: UDP and TCP
  • UDP provides unreliable datagram transfer
  • TCP provides reliable byte stream-oriented transfer

Peer-to-Peer Applications

  • File distribution protocols redistribute parts of the file to other peers to increase speed
  • BitTorrent is a popular P2P file distribution protocol

Distributed Hash Tables (DHTs)

  • DHTs are distributed databases used in P2P networks.
  • Each peer in a DHT can store chunks of the files.

Video Streaming

  • Streaming video accounts for a large part of internet traffic.
  • Video is encoded for compression and different bits rates.
  • Common streaming approach is divided into chunks at different rates.

DNS - The Internet's Directory Service

  • DNS is a distributed database that translates hostnames to IP addresses(e.g., www.example.com to 192.168.1.100)
  • DNS runs over UDP, uses port 53.
  • It is hierarchical and distributed around the world.
  • DNS servers: root DNS servers, top-level domain (TLD) servers, and authoritative DNS servers.

Studying That Suits You

Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

Quiz Team

Related Documents

Description

Explore the essentials of network applications and their architectures through this quiz. Delve into the distinctions between client-server and peer-to-peer systems while examining various examples of network applications. Test your understanding of these critical concepts in modern computing.

More Like This

ICT Department - Network Applications Quiz
5 questions
Application Layer Architecture Quiz
27 questions
Client-Server Architecture Overview
16 questions
Client-Server Architecture
16 questions
Use Quizgecko on...
Browser
Browser