Chapter 2: Application layer Flashcards

(141 cards)

1
Q

What do you create by:
Write programs/software that will run on different/multiple end systems and communicate over networks

A

A network application

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

Why don’t we need to write software for network-core devices?

A

Network-core devices don’t run on user applications

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

Is this the server or the client side in a client-server architecture?
Always-on host. Permanent and fixed IP address

A

Server side

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

Is this the client or server side in a client-server architecture?
Contact & communicate with servers. May be intermittently connected. May have dynamic IP addresses.

A

Client

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

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

A

No!

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

Is this the client-server or Peer-to-Peer (P2P) architecture?
No always-on server.
End systems communicate directly.
Peers are intermittently connected and change IP addresses.
Peers request service from other peers & provide service in return to other peers. Have self-scalability.

A

Peer-to-Peer (P2P)

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

What aspect of the P2P architecture has the following definition:
New peers bring new service capacity, as well as new service demands

A

Self-scalability

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

Give the definition:
Program running within a host / end system

A

Process

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

Describe client and server processes

A

Client processes initiate communication. Server processes wait to be contacted.

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

What two types of processes are applications in P2P architectures simultaneously?

A

They can be both client and server processes

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

What do we call the interface between the process and the computer network?

A

The socket / Application programming interface (API)

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

When using the door analogy with a socket, what is it that ‘shoves’ a message out of the door?

A

Sending process

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

How many sockets are involved in the communication between processes?

A
  1. One on the sending side and one on the receiving side. Both acting as endpoints.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How do we address messages to processes?

A

By using an identifier for the process

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

What does the identifier of a process include?

A

IP address & port numbers associated with the process’ host

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

What layer protocol defines the following:
How an application’s processes, running on different end systems, pass messages to each other

A

Application-layer protocol

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

What aspect of a message has the following definition:
What fields in messages & how fields are delineated

A

Message syntax

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

What aspect of a message has the following definition:
Meaning of information in fields

A

Message semantics

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

What type of protocol is this?
Defined in RFCs & everyone has access to protocol definition

A

Open protocol

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

What type of protocol is this?
Protocol that’s intentionally unavailable in the public domain

A

Proprietary protocols

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

What type of services, needed by applications, have the following requirements?
Reliable data transfer, timing, throughput and security

A

Transport services

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

Which Internet transport protocol is this?
Reliable data transfer service that is connection-oriented; has the client and server exchange transport-layer control information with each other before the application-level messages begin to flow. Provides flow and congestion control.

A

Transmission Control Protocol (TCP)

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

Give the definition:
An aspect of TCP that ensures that a sender won’t overwhelm a receiver

A

Flow control

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

Give the definition:
A form for control implemented by TCP where a sender’s throttled when network’s overloaded

A

Congestion control

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Which Internet transport protocol is this? Unreliable data transfer service
User Datagram Protocol service (UDP)
26
How do we secure TCP?
By implementing a Transport Layer Security (TLS) socket
27
Where's TLS implemented?
Application layer
28
What provides encrypted TCP connection, data integrity & end-point authentication?
Transport Layer Security (TLS)
29
What consists of: Objects and a base HTML-file including several referenced objects, each addressable by a URL
Web page
30
What is the Web's application layer protocol?
HyperText Transfer Protocol (HTTP)
31
Which network model does HTTP use?
Client-Server model
32
What transport protocol does HTTP use?
TCP (Tranmission Control Protocol)
33
What does it mean that HTTP is a stateless protocol?
That the server maintains no information about past client requests
34
Is this a non-persistent or persistent HTTP connection? TCP connection is opened, then closed when the TCP is certain that the client has received the response message intact. At most one object can be sent over TCP connection.
Non-persistent
35
Is this a non-persistent or persistent HTTP connection? TCP connection is opened, then closed. Multiple objects can be sendt over a single TCP connection (pipelining)
Persistent
36
What is the response time for a non-persistent HTTP connection?
2RTT + file transmission time
37
What is the response time for a persistent HTTP connection?
2RTT/2 + file transmission time - Half of non-persistent HTTP connection response time
38
Give the definition: Time for a small packet to travel from client to server and back to the client.
Round-Trip Time (RTT)
39
What are the two types of HTTP messages?
Request and response.
40
What do Carriage Return (cr) & Line Feed (lf) indicate the end of in a HTTP request message?
Header lines
41
What are the methods of HTTP request messages:
POST, GET, HEAD, PUT and DELETE
42
What HTTP request method is this? Sends user input (often in Web form) from client to server in entity body of the request message
POST method
43
What HTTP request method is this? Sends user input in URL field of request message (following a ?)
GET method
44
What HTTP request method is this? Requests headers that would be returned if specified URL is requested with a HTTP GET method
HEAD method
45
What HTTP request method is this? Uploads a new file to server by completely replacing the file that exists at a specified URL with content in entity body of POST HTTP request message
PUT method
46
Which HTTP response message is this? Request succeeded, requested object later in this message
200 OK
47
Which HTTP response message is this? Requested object moved, new location specified later in this message
301 Moved permanently
48
What HTTP response message is this? Request message not understood by server
400 Bad Request
49
What HTTP response message is this? Request document not found on this server
404 Not Found
50
How do web sites and client browsers maintain user/server state between transactions?
Cookies
51
Which type of protocol is this? Client makes two changes to X, or none at all. If the network connection / client crashes in the middle of the changes the state oriented object is locked, unless handled by protocol.
A stateful protocol
52
Are HTTP requests dependent or independent of each other?
Independent
53
What technique for maintaining state between transactions has the following components? 1. Header line in the HTTP response message 2. Header line in the next HTTP request message 3. File kept on users host / end system, managed by user's browser 4. Back end database at Web site
Cookies
54
Cookies ensure that state is kept in...
HTTP messages
55
What type of cache is this? A network entity that satisfies HTTP requests on the behalf of an origin Web server. The cache has its own disk storage and keeps copies of recently requested objects in this storage
Web cache
56
What network entity has the following goals? To satisfy client requests without involving the origin server Reduce response time for client request and traffic on an institution's access link to the internet
Web cache
57
How does a user use a Web cache?
By configuring their browser to point to a Web cache
58
What HTTP request method do we use to avoid sending objects if the Web cache has an up-to-date cached version?
Conditional GET
59
What HTTP request message has the following structure? A request message that uses the GET method, includes an If-modified-since header line containing the date of the cached copy
Conditional GEt
60
Which HTTP version is this? Introduced multiple, pipelined GETs over single TCP connections where sender responds in-order to GET requests
HTTP 1.1
61
What HTTP version has the following cons: HOL blocking: With FCFS, small objects may have to wait for transmission behind large object(s) Loss recovery stalls object transmission
HTTP 1.1
62
Which HTTP version has the following goal: To decrease delay in multi-object HTTP requests and provide increased flexibility at server in sending objects to clients?
HTTP/2
63
What does HTTP/2 mitigate when it divides objects into frames & schedules the frames?
HOL-blocking
64
HTTP/2 transmits requested objects in a order based what object priority?
Client-specified object priority
65
What version of HTTP has the following cons? Recovery from packet loss stalls all object transmissions No security over vanilla TCP connections
HTTP/2
66
What version of HTTP: Adds security: Encrypted TCP connection Has per object error- and congestion- control over UDP - avoids stalling at object transmissions due to recovery from packet loss
HTTP/3
67
What are the three major components of e-mail?
User agents Mail servers Simple Mail Transfer Protocol (SMTP)
68
What component of e-mail composes, edits & reads mail messages?
User Agent
69
What do mail servers contain?
Mailbox Message queue
70
What part of mail servers contains, manages and maintains incoming messages for the user agent?
Mailbox
71
What part of mail servers contains outgoing mail messages?
Message queue
72
What protocol is this? Application-layer protocol for Internet electronic mail
SMTP protocol
73
What component of email is this? Between mail servers to send e-mail messages
SMTP
74
Which protocol used in e-mail transfer is this a description of? - Pull - ASCII command & response interaction & status codes - Multiple objects sent in multipart message - Persistent connections - Requires message to be in 7-bit ASCII - Uses CRLF to determine end of message
SMTP
75
What protocol used in e-mail transfer is this a description of? - Pull - ASCII command & response interaction & status codes - Each object encapsulated in its own response message
HTTP
76
What has the following definition and is used to transfer e-mail messages? Uses TCP to reliably transfer e-mail messages from client to port 25 at servers Messages must be in 7-bit ASCII
SMTP RFC
77
What are the three phases of transfer described by the RFC of E-mail?
Handshaking Transfer of messages Closure
78
What protocol has the same command & response interaction as SMTP RFC?
HTTP
79
What's the protocol for exchanging e-mail messages called?
SMTP
80
What's the protocol that defines syntax for the e-mail message itself called?
RFC
81
What are the mail access protocols?
SMTP, IMAP, HTTP
82
What e-mail access protocol is this? Delivery/storage of e-mail messages to receiver's server
Simple Mail Transfer Protocol (SMTP)
83
What e-mail access protocol is this? Provides retrieval and deletion of messages stored on server, and folders of stored messages on server
Internet Mail Access Protocol (IMAP)
84
What e-mail access protocol is this? Provides web-based interface on top of SMTP to send messages & IMAP/PoP to retrieve e-mail messages
HTTP
85
Give the definition: A distributed database implemented in hierarchy of many name servers Application-layer protocol that allows hosts & name servers to communicate by resolving / translating addresses/names
Domain Name System (DNS)
86
What layer is the DNS implemented as a protocol in?
Application-layer
87
What provides the following services? Hostname to IP address translation Host aliasing Mail server aliasing Load distribution among replicated Web servers
DNS
88
What do we call Web servers where several IP addresses correspond to one name?
Replicated Web servers
89
The DNS structure is...
Decentralized & distributed
90
Why isn't the DNS centralized?
Doesn't scale
91
What are the three classes of DNS servers?
Root DNS servers Top-Level Domain (TLD) servers Authoritative servers
92
What type of DNS server is this? Official, contact-of-last resort for name servers that cannot resolve names; provide the IP addresses of the TLD servers.
Root name (DNS) servers
93
What manages the root DNS domain?
Inter Corporaton for Assigned Names and Numbers (ICANN)
94
What type of DNS server is this? Responsible for .com, .org, .net, .edu, .aero, .jobs, .museums, & all countries TLD's. Provide the IP addresses for authoritative servers
Top-Level Domain DNS servers
95
What type of DNS server is this? Organization's own DNS server(s) that provide authoritative hostname to IP mappings for the organization's named hosts
Authoritative DNS servers
96
What type of DNS server is this? The server a query is sent to when a host makes a DNS query. Has a local cache of recent name-to-address translations pairs; acts as a proxy server that forwards query into DNS hierarchy.
Local DNS server
97
Does the local DNS name server belong to the DNS hierarchy?
Not strictly
98
What type of query in DNS name resolution is this? Contacted server replies with name of server to contact.
Iterated query
99
What type of query in DNS name resolution is this? Puts burden of name resolution of contacted name server -> Heavy load at upper levels of hierarchy
Recursive query
100
How does DNS caching / updating of DNS records work?
Once a name server learns a mapping, it caches it, & immediately returns a cached mapping in response to a query. This entry will timeout after TTL. Cached entries may be out-of-date, therefore there are update notification mechanisms
101
What does caching of DNS records improve?
Response time
102
What do we call distributed database storing records that are entries in the DNS database that contain information about domain names?
Resource Records (RR)
103
What's the format of an RR?
(name, value, type, TTL)
104
What part of a RR is this? Determines when a resource should be removed from a cache
TTL (Time To Live)
105
Which type of RR is this? Name: Hostname Value: IP address When the DNS server is authoritative for the particular hostname
Type=A
106
Which type of RR is this? Name: Domain Value: Hostname of authoritative name server for the domain When the DNS server isn't authoritative for the hostname
Type=NS
107
Which type of RR is this? Name: Alias name Value: Canonical (real) name When creating an alias for another domain name
Type=CNAME
108
Which type of RR is this? Name: Domain Value: Name of mailserver associated with domain When creating an alias for a mail server name
Type=MX
109
What are the two types of DNS protocol messages?
DNS query and reply messages
110
⭐️ How are records inserted into DNS?
1. Register name at DNS registrar by providing names & IP addresses of authoritative name server that are inserted in one RR each 2. Create authoritative server locally with the IP address
111
What application layer service has the following vulnerabilities? DDoS attacks that either bombard root servers or TLD servers with traffic Redirect attacks
Domain Name System (DNS)
112
How is the DNS protected?
By DNSSEC
113
⭐️ The file distribution time for the client-server architecture is at bigger than, or equal to:
max{time to send N copies, min. client download time}
114
⭐️ The file distribution time for the peer to peer architecture is at bigger than, or equal to:
max{time to send 1 copy, min. download time for the slowest client, the amount of bits that must be downloaded as an aggregate divided by the max upload rate}
115
What are the two challenges we face with video streaming?
Scalability and heterogeneity
116
What sort of infrastructure do we use to solve the challenges with video streaming?
Distributed, application-level infrastructure
117
Give the definition: Sequence of images displayed at a constant rate
Video
118
Give the definition: Array of pixels. Each pixel represented by bits.
Digital image
119
Give the definition: Coding within an image to decrease the # of bits used to encode an image
Spatial coding
120
Give the definition: Coding between images to decrease the # bits used to encode an image
Temporal coding
121
Give the definition: Video encoding rate fixed
Constant Bit Rate (CBR)
122
Give the definition: Video encoding rate changes as amount of spatial, temporal coding changes
Variable Bit Rate (VBR)
123
What are the 2 solutions that compensate for the network-added delay & delay jitter that streaming of stored video has?
Client-side buffering Playout delay
124
What do we call this challenge, that streaming of stored video has? Once client playout begins, playback must match original timing, but network delays are variable
Continuous playout constraint
125
What type of video streaming is this? A video is encoded into multiple versions with different bit rates and quality levels. The client dynamically requests short video segments based on available bandwidth. The client requests these segments one at a time using HTTP GET messages.
Dynamic, Adaptive Streaming over HTTP (DASH)
126
What type of file used by DASH is this? Provides URLs for different chunks of a video file
Manifest file
127
Why don't we use a single & large mega-server instead of CDNs?
Doesn't scale
128
Give the definition: Geographically distributed sites for storing / serving multiple copies of videos
Content Distribution Networks (CDNs)
129
Which CDN strategy is this? Pushing CDNs deep into many access networks
Enter deep strategy
130
Which CDN strategy is this? Smaller numbers of larger clusters in PoPs near access networks (ISPs)
Bring home strategy
131
What application layer service is this a description of? 1. Subscriber requests content from ... 2. Directed to nearby copy & retrieves content
CDN
132
What do we call the Internet host-host communication as a service?
Over The Top (OTT)
133
What are the 2 socket types that can be used in socket programming?
UDP & TCP
134
Which socket type provides the following from an application viewpoint: Unreliable transfer of groups of bytes between client & server
UDP socket
135
Does socket programming with UDP or TCP have the following downside: Transmitted data may be lost or received out-of-order
Socket programming with UDP
136
Which socket type provides the following from an application viewpoint: Reliable, in-oder byte-stream transfer between client & server
TCP socket
137
⭐️ Is Time Division Multiplexing (TDM) an application-layer protocol?
No
138
⭐️ Which of the following protocols is/are Application-Layer protocols? a) ICMP (Internet Control Message Protocol) b) DNS (Domain Name System) c) SMTP (Simple Mail Transfer Protocol) d) ARP (Address Resolution Protocol) e) FTP (File Transfer Protocol)
b, c, e
139
⭐️ It is ____’s main task to translate hostnames to IP addresses a) ARP (Address Resolution Protocol) b) DNS (Domain Name System) c) NAT (Network Address Translator) d) FTP (File Transfer Protocol) e) ICMP (Internet Control Message Protocol)
b
140
⭐️ FTP uses UDP as its underlying transport protocol (T/F)
False
141
⭐️ Which of the following services are provided by the Domain Name System (DNS)? w = assist in server load distribution x = translate hostnames to IP addresses y = allocate an address to a host machine z = translate alias hostnames into canonical hostnames
w, x and z but not y