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?

A

Cookies

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
Q

Advantages of web caching?

A
  1. reduce response time for client
  2. reduce traffic on an institution’s access link
  3. Internet is dense with caches
26
Q

how to find traffic intensity

A

(L.a)/R
L.a : arrival rate of bits
R : service rate of bits

27
Q

example of web cache calculation

A

slide 15-17 (2021-09-07) lecture

28
Q

What is conditional GET ?

A

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
Q

What is HTTP/2 ?

A

a version after HTTP/1.1 whose goal is to decreased the delay in multi object HTTP requests by dividing objects into frames

30
Q

3 components of email?

A
  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
Q

SMTP vs IMAP?

A

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
Q

MIME?

A

Multimedia mail extension, allowing users to send MIME content types such as audio, text files, video, etc

33
Q

What is DNS and its goal?

A

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
Q

What are some DNS services ?

A
  1. hostname to IP address translation
  2. Host aliasing
  3. Mail server aliasing
  4. load distribution
35
Q

Hierarchical structure of DNS

A
  1. Root
  2. Top Level Domain (.com, .org, .edu)
  3. Authorative( amazon.com, google.com)
36
Q

Iterative vs recursive query in DNS name resolution?

A
  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
Q

DNS caching?

A

local DNS server is able to immediately return an ip address of some host, if that same request has been made previously