Chapter 2: Application Layer Flashcards

1
Q

Brief description of Network Application

A

Writing a program that runs on different end systems and communicate over network (e.g. web server communicates with server software)

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

2 Network Applications Architecture ?

A

Client-Server and P2P

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

What does client and server do in Client-Server architecture ?

A

server : always on host that services requests from many other hosts, permanent IP , usually located in data centers

client: host the server services, do not communicate with each other, dynamic IP

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

P2P architecture characteristics?

A
  • server not always on
  • end systems directly communicate
  • self scalability: peers request service from other peers
  • peers are intermittently connected
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

in process communication, what is the difference between process, inter-process communication , and messages?

A

process : program running within a host
inter-process communication : two processes communicate within the same host
messages: communication between processes within different hosts

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

What is a Socket?

A

A software interface that sends/receive message to/from processes.

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

To receive messages, process needs identifier, what do identifier includes?

A

IP address and port numbers

example: 128.119.245.12:80 (IP : Port)

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

Transport services an app need

A

Data integrity, throughput, timing, security

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

What are the 2 most common Internet transport protocols?

A

UDP and TCP service

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

Characteristics of TCP service ?

A
  • Connection oriented
  • reliable transport
  • flow control
  • congestion control
  • doesn’t provide : timing, throughput guarantee, security
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Characteristics of UDP service?

A
  • best effort service
  • unreliable data transfer
  • doesn’t provide: reliability, flow control, congestion
    control, timing, throughput guarantee, security, or
    connection setup.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

in https://giphy.com/gifs/schittscreek-ZecVmf45WkpxbI9bEK, what is
a . https://giphy.com
b. gifs/schittscreek-ZecVmf45WkpxbI9bEK

A

a. host name

b. path name

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

Web page is consisted of _____, this can be video, html file, jped, etc

A

objects

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

Web’s application layer protocol, which implements a client and server program is called ____

A

HTTP (Hypertext transfer protocol)

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

What are the differences between persistence and non persistence HTTP ?

A
  • Non -persistent: one object over one TCP connection (HTTP/1.0)
  • Persistent: multiple objects can be sent over one TCP connection (HTTP/1.1)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Response time for Non-persistent http is

A

2RTT + file transmission time

RTT = time for a small packet travel to client - server and back

17
Q

Persistent HTTP with and without pipelining ?

A
  • with pipelining: 1 RTT for all referenced objects and client sends request as soon it encounters referenced object
  • without pipelining: 1 RTT per referenced object and new request only when previous response have been received
18
Q

2 Types of HTTP Messages

A

Request, Response

19
Q

Describes types of request messages (Get, Post, Head, Put)

A
  1. GET : sending data to server
  2. POST : includes form, user input from client to server
  3. PUT: uploads/replaces file to the server
  4. HEAD: reacted to only get method, retrieve requests headers
20
Q

HTTP response status code (200, 301, 400, 404, 500)

A

200: OK
301: Moved Permanently
400: Bad request
404: Not Found
505: HTTP Version not supported

21
Q

Interaction with HTTP over TCP connection is ‘stateless’ , meaning it doesn’t store client’s past request. How do server maintaining user states?

22
Q

4 components of cookies

A
  1. Cookie header line of HTTP response message
  2. Cookie header line in next HTTP request message
  3. Cookie file kept on user’s host
  4. Back end database at website
23
Q

What is a web cache / proxy server?

A

a network entity which purpose is to satisfy client requests without involving the original server

24
Q

How does web cache works, in simple words

A

if object in cache , returns object to client

else request from origin server, catch object, and returns to client

25
Advantages of web caching?
1. reduce response time for client 2. reduce traffic on an institution's access link 3. Internet is dense with caches
26
how to find traffic intensity
(L.a)/R L.a : arrival rate of bits R : service rate of bits
27
example of web cache calculation
slide 15-17 (2021-09-07) lecture
28
What is conditional GET ?
don't send object if cache has up to date cache version. conditional get is recognized if get request header is "if-modified-since".
29
What is HTTP/2 ?
a version after HTTP/1.1 whose goal is to decreased the delay in multi object HTTP requests by dividing objects into frames
30
3 components of email?
1. user agents (gmail, outlook, apple mail) 2. mail servers (where mail are queued) 3. Simple mail transfer protocols (SMTP): send from one sender mail servers to receiver mail servers
31
SMTP vs IMAP?
if SMTP send mail from user agents to mail servers, then receivers mail servers. IMAP is way of receivers to retrieve mail from their own mail servers
32
MIME?
Multimedia mail extension, allowing users to send MIME content types such as audio, text files, video, etc
33
What is DNS and its goal?
Domain name system (DNS) is a distributed database implemented in hierarchy of many name servers. Its goal is to hosts, DNS servers communicate to resolve names
34
What are some DNS services ?
1. hostname to IP address translation 2. Host aliasing 3. Mail server aliasing 4. load distribution
35
Hierarchical structure of DNS
1. Root 2. Top Level Domain (.com, .org, .edu) 3. Authorative( amazon.com, google.com)
36
Iterative vs recursive query in DNS name resolution?
1. Iterative: contacted server replies with name of server to contact ("I don't know this, but ask this server") 2. Recursive: puts burden of name resolution on contacted name server
37
DNS caching?
local DNS server is able to immediately return an ip address of some host, if that same request has been made previously