Application Layer Flashcards

1
Q

Client-Server Architecture

A

SERVER: Always-on host, permanent IP address

CLIENT: Communicate with server, not directly with each other, intermittently connected, dynamic IP address

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Peer-Peer Architecture

A
  • No always-on server
  • End systems communicate directly with each other
  • Intermittently connected and change IP address
  • self scalability
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Process

A

Program running within a host

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Client, Server Process Communication

A

CLIENT: process that initiates communication
SERVER: Process that waits to be contacted

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Socket

A

Software structure that serves as endpoint for sending and receiving data across the network (like a door). Two sockets, one on each side.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Addressing Processes

A

Includes IP ADDRESS and PORT NUMBER. To receive messages, process must have identifier.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

HTTP Overview

A

Hypertext Transfer Protocol. Uses TCP connection, is “stateless”

CLIENT: Browser that requests, receives and displays Web objects using HTTP Protocol

SERVER: Web server sends objects in response to request using HTTP protocol

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

TCP

A

Transmission Control Protocol. Organizes data in a way that ensures secure transmission

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

TCP Procedure

A
  1. Client initiates TCP connection to server, port 80
  2. Server accepts TCP connection from client
  3. HTTP messages exchanged between browser (HTTP client) and Web server (HTTP server)
  4. Connection is closed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Another name for HTTP messages

A

Application-layer protocol messages

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

“Stateless”

A

Server maintains no information about past client requests to this server. Can use info from requests to other servers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Non-persistent HTTP

A

Can only send one object per connection. Downloading multiple objects requires multiple connections.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Non-Persistent HTTP Procedure

A
  1. TCP connection opened
  2. Send one object over connection
  3. TCP connection closed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Persistent HTTP

A

Can use one connection to send multiple objects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Persistent HTTP Procedure

A
  1. TCP connection opened
  2. Multiple objects send between server and client
  3. TCP connection closed
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Non-persistent HTTP Response Time (per object)

A
  • One RTT for initiate TCP
  • One RTT for HTTP request and first few bytes of HTTP response to return
  • object/file transmission time

time = 2RTT + file transmission time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

RTT

A

Round Trip Time (non-persistent HTTP). Time for a small packet to travel from client to server and back

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Example Non-persistent: Client requests for web page having 4 parallel connections?

A

4RTT + 2 file transmission time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Example Non-persistent: Client requests for web page having 8 parallel connections?

A

8RTT + 4 file transmission time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Example Persistent: Client requests for web page having 4 or 8 parallel connections?

A

3RTT + 2 file transmission time

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Types of HTTP Messages

A
  1. Request
  2. Response
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

HTTP Return Line Format

A

[HTTP method] space [URL] space [HTTP version]

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

HTTP Message Format

A
  1. Request line
  2. Header lines
  3. Body
24
Q

HTTP Methods

A
  1. POST
  2. GET
  3. HEAD
  4. PUT
25
Q

HTTP POST Method

A
  • web page includes form input
  • user input sent in body
26
Q

HTTP GET Method

A

For sending data to server. Include user data in URL field of HTTP

27
Q

HTTP HEAD Method

A

Request headers that would be returned if specified URL were requested with HTTP GET method

28
Q

HTTP PUT Method

A
  • Uploads new file/object to server
  • Completely replaces file that exists at specified URL
  • Uses body to send replacement file
29
Q

Cookies

A

Used by web sites and client browsers to maintain some state between transactions. Unique ID maps to entry in backend database

29
Q

Cookie Components

A
  1. Cookie header line of HTTP response message
  2. Cookie header line in next HTTP request message
  3. Cookie file kept on user host, managed by user’s browser
  4. Back-end database at web site
29
Q

DNS Services

A
  • host name to IP address translation
  • host aliasing (canonical names)
  • mail server aliasing
  • load distribution
29
Q

DNS

A

Domain Name System

  • Distributed database implemented in hierarchy of many name servers
  • implemented as application-layer protocol
  • hosts and name servers communicate to resolve names
30
Q

DNS Hierarchy

A
  1. Root
  2. Top level domain (.edu)
  3. Authoritative (gmu.edu)
31
Q

Local DNS Servers

A
  • each ISP has one DNS server
  • host DNS queries get sent to local DNS server
  • has cache
32
Q

DNS Iterated Query

A

Contacted sever replies with name of next server to contact (“idk but ask this server”)

33
Q

DNS Recursive Query

A
  • puts burden of name resolution on contacted server
  • heavy load on upper levels of hierarchy
34
Q

DNS Resource Record Types

A
  1. A
  2. NS
  3. CNAME
  4. MX
35
Q

A Resource Record Type

A

NAME is hostname, VALUE ip address

36
Q

NS Resource Record Type

A

NAME is domain, VALUE is hostname of authoritative name server

37
Q

CNAME Resource Record Type

A

NAME is alias for “canonical name”, VALUE is canonical name

38
Q

MX Resource Record Type

A

VALUE is mail server name associated with NAME

39
Q

Web Cache

A
  • Goal is to satisfy request without origin server
  • User configures browser to point to a web cache
  • browser sends all HTTP requests to cache
  • installed by ISP
40
Q

Web Cache Hit

A

Object is in cache, return object to client

41
Q

Web Cache Miss

A

Object not in cache, request object from origin server, cache returned object and return to client

42
Q

Review Web Cache Example

A
43
Q

Web Cache Conditional GET

A

Goal is to not send object of cache has up-to-date version

CACHE: specify date of date limit in HTTP request
SERVER: response contains no object of cached copy is up-to-date

44
Q

HTTP 1.1

A

Key Goal: decreased delay in multi-object HTTP requests

Introduced multiple, pipelined GETs over single TCP connection. Server responds in-order to GET requests.

45
Q

HTTP 2

A
  • Objects divided into frames
  • Frame transmission interleaved/synchronous
  • Reduces waiting time for all objects and recovery from packet loss
  • Stalls object transmissions
46
Q

HTTP 3

A
  • adds security
  • per object error and congestion control over UDP
  • uses QUIC protocol
47
Q

SMTP

A

Simple Mail Transfer Protocol,
uses user agents and mail servers

48
Q

SMTP User Agent

A
  • mail reader
  • composing, editing, reading mail messages
  • outgoing, incoming messages stored on server
49
Q

SMTP Mail Server

A
  • MAILBOX containing incoming messages
  • MESSAGE QUEUE of outgoing messages
50
Q

SMTP Procedure

A
  1. User agent sends message to its mail server using SMTP
  2. Mail server sends message to next mail server using SMTP or puts the message in the queue
  3. Next mail server sends the message to the other user agent using IMAP or HTTP
51
Q

File Distribution Example

A
52
Q

BitTorrent

A
  • type of P2P file distribution
  • peers in torrent send/receive file chunks
  • has TRACKERS and TORRENT
53
Q

BitTorrent Tracker

A

Tracks peers that are participating in the torrent

54
Q

BitTorrent Torrent

A

Group of peers exchanging chunks of a file