Chapter 6 Application Layer Flashcards

(94 cards)

1
Q

DNS (Domain Name System)

A

An hierarchical naming scheme for internet resources. A database that supports storage and retreival of specific types of information assoicated with these names

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

What is the application of DNS

A

Naming internet hosts, and servces and mappign these names to IP Addresses

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

Why don’t we use a centralized solution to naming?

A

Not scaleable, need to decentralize authority over name creation

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

Domain Name Space

A

Hierarchically structured, sequence of names from a node to the root defines a domain.

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

DNS Zone

A

A part of the domain name hierarchy managed by an admin. Each zone has authoritative name server storing DNS records

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

What does a local DNS resolver do if a DNS is not cached

A

Sends a query to a recursive DNS server which is resolve the name by contacting other name servers if needed

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

Recursive DNS query

A

A query where the DNS server MUST filly resolve the name, possibly contacting mutiple servers

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

Iterative DNS Query

A

A query where the DNS server returns the best info it has, like the addresses of other servers without furtherl lookup

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

Advantage of recusrive queries over iterative

A

The DNS name server will be able to accumulate DNS records in its cache, useful for answering other queries

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

DNS resource records

A
  • Name
  • TTL (Time to live)
  • Class
  • type
  • value
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Common types of records in DNS

A

Type A: “name” is host name, “value” is IPv4 address

Type AAAA: like type a but IPv6
Type NS: “name” is domain name, “value” is name of authority
Type CNAME: “name” + “value” canonical alias name
Type MX: “name” domain name “value” mail server
Type SRV: server, protocol, port

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

Why does DNS use UDP

A

Its faster with lower overhead

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

DNSSEC

A

An extension to DNS that enable the authentication of DNS info through the use of digital signatures

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

What protocol is used to transfer email between email servers

A

SMTP (Simple Mail Transfer Protocl) as a push protocol.

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

The 3 phases of an SMTP session

A

Handshake, email transfer, closer

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

Why is MIME used?

A

Multipurpose Internet Mail Extensions snables sending non-ASCII email and attachments by encoding them into 7-bit ASCII

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

What does a MIME header contain

A
  • text/plain
  • text/html
  • image/gif
  • application/msword
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

What does MIME need to send an email with multiple parts?

A

“Content-Type: multipart/mixed”

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

HTTP

A

HyperText Transfer Protocol: Most commonly used application layer protocl on the internet for variety of reasons

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

How is HTTP used for web page delivery?

A
  • TCP connection is established to that website
  • HTTP request msg is sent
  • Server returns an HTTP response containing the Web page
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

What type of protocol is HTTP

A

Stateless: keeps no info at the server about clients, its all self-contained

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

Common HTTP methods

A

GET - retrieve
POST - Submit dats

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

3 parts of a URL

A

Protocol
Host Name
Path Name

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

Request Header Lines are?

A

Lines such as “Host” which gives the host name part of the URL
or “User-Agent” which gives information about the browser making the request

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
404
HTTP status code for Not Found
26
301
HTTP status code for Moved Permanently
27
400
HTTP status code for Bad Request
28
200
HTTP status code for OKAY
29
What header line was an option with HTTP/1.1
Cases where content is dynamically generated, it can used "Transfer-Encoding: chunked" data can now be sent in chunks
30
Hows does HTTP 1.1 handed embedded images
Each request must be sent on a new TCP connection, these are non-persistent.
31
How did HTTP 1.1 handle embedded images
Uses persistent connections that are left open. So a single TCP connection can be used for multiple requests using pipelining
32
How is HTTP/2 an improvement over HTTP/1.1
Multiplexing multiple streams over a single TCP connection, header compression and server push
33
Advantages of HTTP/3
0-RTT connection setup Stream based delivery Avoids HOL blocking USER SPACE
34
HTTP Cookies
To store information about prior user requests in a stateless protocol
35
What does the HTTP protocol need to do to have cookies
Include possibly multiple "Set-Cookie" header lines. Each header has name/value + an expiry date
36
When are cookies sent back to a server
When a request is made to a domain matching cookies domain via the Cookie: header
37
Third Party Cookies
Cookies from domains other than the one the user is directly visiting
38
Cookie Information contains
- User preferences - Virtual Shopping carts - Authentication - Tracking - key/id to associate the client with info stored elsewhere
39
Web Object Caching
Store frequently accessed database query results onto the server speed up website performance
40
Browser Cache
Cache maintained by a web proxy serber, possibly regional or network backbone cache
41
Web Proxy Server
Cache content and split TCP connections to speed up transmission. If proxy has a copy of request content in cache use that instead
42
CDN's
"Content Delivery networks": System of distributed servers that cache web content
43
Two big issues with Web Object
Cacheability; Not all web objects are cacheable Consistency
44
Conditional GET
A request that checks if the cached object is still current before downloading it again Uses If-Modified-Since or If-None-Match headers Policy issues
45
Cache Control
Directs chaching behavior
46
Two main appoarches for video deliver
RTP over UDP HTTP over TCP
47
RTP over UDP
Providers own streaming service, as deployed within its own network Low latency: UDP has no retransmissions or handshakes. Timing-sensitive: Real-time media prefers timely delivery over perfect reliability. Out-of-order tolerance: RTP can handle minor packet reordering or loss
48
HTTP over TCP
Popular for streaming as it works well with firewalls and leverages CDN and caching
49
HTTP Adaptive Streaming
(HAS/DASH) Client requests video in chunks adaptively choosing quality per chunk
50
RTP
Real-time transport protocol for continous media fata. Implemented in user-level.
51
RTP Header Fields include
- Time Stamping - Sequence numbering - Specification of coding/compression - source identification
52
RTCP
Real-time Transport Control protocol: Used for providing feedback from media stream receivers on performance.
53
RTSP
real-time streaming protocol: uses messages with HTTP-like syntax, and privates operations like "play" and "pause" for contorlling media streams
54
For VoIP, instant messages what protocol is used?
SIP "Session Intiation Protocol": Supports rendezous and subsequent session establisshment.
55
How can we deal with delay jitter and loss?
Buffering at the receiver and using adaptive playback delays
56
How to deal with lack of flow control?
HTTP adaptive streaming, the receiver tries to prevent buffer draining completely by adaptivelt changing video version from which segements are being requested
57
How is buffer underflow avoided in streaming
By changing quality levels or pre-buffering
58
What is scalable video coding
Video encoded with a base layer and optional enchacnement layers
59
Adaptive encoding
Real-time continuous media applications feedback from recievers to the sender regarding packet issues can be used to adjust media compression paraments and increase quality conditions
60
TCP Friendly media delivery
Media apps using UDP dont consume more bandwidth than TCP flows would
61
3 techniques for coping with packet loss
Retransmission Loss Concealment Forward Error correction
62
Retransmission for packet loss?
using TCP rathet than UDP. Okay if large buffer built up and can hide retransmission delay
63
Loss Concealment
If missing data, receiver can either replay previous data or interpolate across gap
64
Forward Error Correction
Add redundancy to transmitted data. Packets can be re-created
65
Erasure Coding
In erasure coding, we know what packets are missing unlike random bit errors
66
Parity packet scheme in FEC
One parity packet for every n data packet allows recovery from 1 loss per group
67
Downsides of FEC and interleaving
Additonal delay
68
Long Tail in Content Popularity
A large number of less popular items that together account for significant demand
69
Server Clusters
Centralized scalability by handling more users with more servers
70
Proxy Server
Yields pull appoarch to contect repliciation. ITS "pull" since you dont get a copy of a content item until some client whose requests are routed through the proxy that wants it
71
How does DNS redirection help CDN
CDN-controlled DNS returns the closest CDN servers address for content
72
EDNS Client Subnet
Reveals clients IP prefix to the CDN when recursive DNS is far fromt he client
73
Multicast
One transmission from a server reaches many clients, good for live streams
74
Peer Assisted content delivery
Clients help distribute content by uploading to others
75
Peer-2-Peer
No servers, peers both download and upload content themselves
76
Two tasks for P2P are?
Transfer content among peers Locate peers that needed content
77
Why do we divide content items in P2P
To allow parallel downlaods and help peers upload before completing downlaods
78
What does a peer do when it has the choice among multipe pieces it could download?
For the first download it uses rarest-first piece selection policy, likelihood of having pieces that other peers dont have
79
Tit-for-tat peer selection
Upload more to peers who give you best download speeds
80
Traffic localization in P2P
Prefer exhanging pieces with geographically close peers
81
Centralized Peer discovery methods
Trackers or content provider serbers that map content to connected peers
82
Decentralized Appoarch to P2P
unstructured appraoches where searches for content using scoped flooding. Try again with a bigger hop count over peer overlay network
83
Supernode in hierarchical P2P
A peer that indexes context for nearby refular peers and helps route requests
84
DHT
Distributed Hash Table, content is used as the key, values are identities of peers with the content
85
How are content hashes shared
Via magnet links, or keyword-based lookup
86
Why store keys at multiple nodes in DHT's
To handle churn (joining/leaving of peers)
87
Block Chain
Distributed ledger that permently records transactions
88
Types of Blockchains
Public (permissonless) Private (permissioned)
89
What prevents double spending in bitcoin
Every transaction links to prior ones checked by all modes
90
What ensures ordering of bitcoin transactions
Grouped into blocks, blocked are chained together
91
Consensus on block oder achieved
By following longest chain rule
92
Proof-of-work in Bitcoin
Make block creation coslty, preventing fake chains
93
Why can't bad actions easily rewrite blockchain
They would need more computing power than all honest nodes combined
94