application layer Flashcards

1
Q

application layer messages

A

often split over multiple packets or may be aggregated in a packet

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

application communication needs

A

vary widely on the app
must build on Transport services
examples( Web, DNS, Skype)

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

OSI session/presentation layers

A

part of app layer
presentation: converts diffrent representations
session: manages task dialogs

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

session concept

A

a session is a series of related network interactions in support of an application task
often informal, not explicit
examples:
- web page fetches multiple resources
- zoom call involves audio, video, chat

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

presentation concept

A

apps need to identify the type of content, and encode it for transfer
- presentation functions
- examples:
Media (MIME) types, e.g., image/jpeg, identify the type of content
transfer encodings, e.g., gzip, identify the encoding of the content
application headers are often simple and readable versus packed for efficiency

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

DNS

A

Domain Name System
machines on the internet identified by their IP addresses
DNS translates human readable names to IP addresses

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

DNS name space

A

hierarchical structure
- top level domains controlled by Internet Corporation for Assigned Names and Numbers (ICANN)
- organisations can request second-level domains from registrars (com-cisco-eng…)
- countries have their own second-level domains
- .edu and .gov are generic domains, but mostly used by organisations in the US
- if you own a domain, you can specify arbitrary subdomains

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

name servers

A

to translate a domain name to an IP address, you ask a name server

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

location of name servers

A
  • hosts learn about the location of name servers via DHCP
  • the operating system keeps track of name servers and dynamically selects which one to use
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

DHCP

A

Dynamic Host Configuration Protocol
- MAC addresses are built into NICs, but network addresses are not
- used to configure other settings such as: DNS name servers, addresses of default gateway, time servers, etc.

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

recursive and iterative queries

A

local name server-recursive
others-iterative

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

DNS Resource Record (RR) Types

A
  1. IPv4 address (record type A)
  2. IPv6 address (record type AAAA)
  3. domain that accepts email (record type MX)
  4. name server for this domain (record type NS)
  5. alias to canonical name (record type CNAME)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Content Delivery Networks

A

a type of caching to increase system capability
front end forwards requests and distributed load
DNS can be used for load balancing

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

Metcalfe’s Law

A
  • the value of a network is proportional to the square of the number of users
  • (i.e., value is proportional to the number of possible connections)
  • as networks get larger, there is more value on joining them, making them larger
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

email message formats

A

envelope (used to get the message to the correct recipient)
header
body

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

helpful email headers

A

message-id, in-reply-to, reply-to

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

email protocols

A

POP3 or IMAP for user interaction with mailbox
users and Message Transfer Message Agents use SMPT to send an email from src do dst

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

How does email work?

A

mail submission uses SMPT+Extensions(e.g. AUTH)
message transfer between mail servers uses SMTP
final delivery uses IMAP/POP3 or a propriety protocol

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

IMAP

A

Internet message access protocol
sends commands to mail server to manipulate mailboxes
uses mostly plain text (security through TLS)
replaced POP3

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

common IMAP commands

A

LOGIN: login into server
FETCH: fetch messages from a folder
CREATE/DELETE: create or delete a folder
EXPUNGE: remove messages marked for deletion

21
Q

SMTP

A

Simple mail transfer protocol
uses ASCII
you can use TELNET to talk to a mail server
basic SMTP does not support binary data
basic SMPT does not include authentication
many extensions exist to address these issues

22
Q

MIME

A

Multipurpose Internet Mail extensions
used to create messages with multiple data types (e.g., an email with attachment)
developed for email but used broader

if MIME-Version in header → check Content-Type; else → plain text

23
Q

MIME content-types

A

text: text/plain, text/html
images: image/jpeg, image/gif
video: video/mp4, video/mpeg
multipart: multipart/mixed, multipart/alternative

24
Q

MIME headers

A
  • MIME-Version
  • Content-Description
  • Content-Id
  • Content-Transfer-Encoding
  • Content-Type
25
Q

sending binary data via ASCII

A

only SMTP
base64 encoding converts binary data into ASCII
when MIME was introduced, servers were not expecting non-ASCII data
modern SMTP supports binary data

26
Q

base64 encoding

A
  • used to convert binary data to and from ASCII
  • alphabet: [A-Za-z0-9+/]
  • overhead: ??
  • 6 bits are translated into 1 character
  • = sign indicates 2 padded bits
27
Q

HTTP Request/Response

A
  • HTML documents hosted by servers
  • clients send request for document
  • from server
28
Q

HTTP Protocol

A

originally a simple text-based protocol; many options added over time
HTTP Request Methods: GET, POST, PUT, HEAD…

29
Q

HTTP sequential requests

A

connection setup each time

30
Q

HTTP persistent connection

A

increases performance by reducing connection setup overhead
allows browsers to issue multiple requests over the same TCP connection
increase performance over the same TCP connection
increase performance by reducing connection setup overhead

31
Q

Head of Line Blocking (HOL)

A

each request has to wait for the previous one to complete
HTTP1.1 : pipelines requests
HTTP/2: out-of-order responses

32
Q

HTTP1.1 pipelined requests

A
  • reduces HOL
  • increase performance by pipelining request (hiding latency)
  • performance problem: responses need to arrive in same order as requests
33
Q

HTTP/2

A
  • binary instead of plaintext
    • easier for machines to parse
    • more difficult for humans to read
  • multiplexed streams over a single TCP connection
    • supports out-of-order responses
  • server push allows the server to send resources before the client asks for it explicitly
34
Q

HTTP/3

A

= (HTTP+QUIC)
- http3 uses QUIC protocol
- QUIC orders data per stream
- each HTTP request can use a separate stream; within a stream, data is delivered in order; across streams no such guarantee is made
- QUIC performs multiplexing, uses UDP
- UDP does not enforce in-order delivery

35
Q

Web sockets

A

a socket-like interface on the application layer
full-duplex connection between server and client
→ the application layer can contain protocols
use case: increasingly complex ‘apps on the Web that need to send data continuously

36
Q

stacking

A

application layer can continue stacking protocols
protocols may provide services the ones below/above do not

37
Q

new narrow waist

A

HTTP

38
Q

advantages of using HTTP over TCP directly

A

provides a set of methods
provides security
provides naming

39
Q

multimedia applications

A

streaming video requires compression
without compression, only possible over wired fibre-optic channels
compression reduced bandwidth requirement by an order of magnitude

40
Q

digital audio compression

A

large compression rates > x10
audio typically compressed before sending
lossy compression achieves higher compression rates than lossless compression, but loses data
lossy encoders based on how humans perceive sound

41
Q

digital image compression

A
  • changes RGB to Y Cb Cr
  • Y is luminance
  • Cb Cr are chrominances
  • eyes are less sensitive to chrominance than to luminance
  • JPEG reduces size of Cb and Cr
  • total compression rate x2
42
Q

digital video compression

A

large compression rates > x50
MPEG compresses over a sequence of frames, further using motion tracking to remove temporal redundancy

43
Q

types of frames in compression

A

I (Intra-coded) frames are self-contained
P (Predictive) looks for comparable macro blocks in previous frames
-How long to search is up to the implementation
B (Bidirectional) frames may base prediction on previous frames and future frames

44
Q

run-length encoding

A

part of JPEG compression
lossless compression technique

45
Q

Huffman encoding

A
  • prefix code: no code word is prefix of other code word
  • less than half of the original size
  • part of JPEG compression

-from a tree by select two smallest nodes, and combining them into a new node, until only the root is left

46
Q

challenges in streaming stored media

A

How to handle transmission errors?
- use reliable transport (e.g., TCP) → increase jitter significantly
- use forward error correction (error correction in the application layer) → increase jitter, decoding complexity, and overhead
- interleave media → slightly increase jitter and decoding complexity

Masking errors by interleaving media
- low-water mark prevents stalls in playback
- high-water mark gives time to prevent running out of buffer space

47
Q

challenges in streaming live media

A

stored +
can’t stream faster than live rate to get ahead → usually need larger buffer to absorb jitter

  • often have many users viewing at the same time
    → UDP with multicast greatly improves efficiency; it is rarely available, so many TCP connections are used
48
Q

challenges in streaming interactive media

A

real-time conferencing has two or more connected live media streams, e.g., voice over IP, Skype video call

requires low jitter and low latency
- benefits from network support (Quality of Service)
- large bandwidth (no congestion)

difficult to provide across long distances/multiple networks