Networks week 2

0.0(0)
studied byStudied by 0 people
0.0(0)
full-widthCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/102

encourage image

There's no tags or description

Looks like no tags are added yet.

Study Analytics
Name
Mastery
Learn
Test
Matching
Spaced

No study sessions yet.

103 Terms

1
New cards

What is at the core of network application development?

At the core of network development is writing programs that run on different end systems and communicate with each other over the network

2
New cards

What is application architecture?

The application architecture dictates how the appllication is structured over the various end systems

3
New cards

What are the 2 most dominant architectural paradigms?

Client-server architecture and the peer-to-peer architecture

4
New cards

What is a server?

In a client-server architecture there is an always-on host which services requests from clients

5
New cards

What is an IP address

The fixed, well known address of a server

6
New cards

What is a data center?

A data center is a collection of hundreds of thousands of servers

7
New cards

What is the idea behind p2p?

In a p2p there is minimal or no reliance on dedicated servers in data centers. Instead the application uses direct communication between pairs of intermittently connected hosts

8
New cards

What are peers?

Pairs of intermittently connected hosts

9
New cards

What is one of the most compelling features of p2p?

Their self scalability

10
New cards

What are challenges p2p faces?

Security

Performance

Reliability

11
New cards

Why does p2p face these challenges?

It faces these challenges due to their highly decentralised structure

12
New cards

It is not actually programs that communicate, what is?

Processes

13
New cards

What is a process?

A process is a program in execution

14
New cards

How do processes running on the same end system communicate?

They communicate with interprocess communication

15
New cards

How do processes in different hosts communicate?

They communicate by exchanging messages

16
New cards

What is the client procces in a communicating process?

The client process is the process that intiates communication

17
New cards

What is the server process in a communication process?

The server process is the process that waits to be contacted

18
New cards

What is a socket?

A socket is a data structure for maintaining connection data

19
New cards

What is the function of a socket?

A socket is the interface between the application and transport layer within a host.

20
New cards

What is a socket also called?

It is also reffered to as the Application Programming Interface (API) between the application and the network

21
New cards

What do we need to identify the receiving process?

The addres of the host

port number specifying receiving process in the destination host

22
New cards

What are the services a tranport-layer protocol can offer?

Reliable data transfer

Throughput

Timing

Security

23
New cards

What is reliable data transfer?

When a protocol guarentees that the data sent is delivers correctly and completely

24
New cards

What are applications with throughput requirements called?

Bandwith-senstive applications

25
New cards

In terms of security, what can a transport provide?

Confidentiality

Data integrity

End-point authentication

26
New cards

What 2 transport protocols makes the internet available to applications?

UDP and TCP

27
New cards

What does the TCP service model include?

A connection oriented service

A reliable data transfer service

28
New cards

What is the TCP handshaking procedure?

TCP has the client and server exchange transport layer control information with each other before the application layer message

29
New cards

What other thing, besides handshaking, does TCP include?

TCP also includes a congestion-control mechanism

30
New cards

Why is UDP called connectionless?

Because there is no handshaking procedure

31
New cards

What are 2 shortcomings of UDP?

Provides unreliable data transfer

It does not include congestion control

32
New cards

What can today’s internet not guarantee?

It cannot guarantee any timing or throughput guarantees

33
New cards

What is an application-layer protocol?

It defines how an application’s processes pass messages to each other

34
New cards

What 4 things does an application-layer protocol define?

The type of messages exchanged

The syntax of the various message types

The semantics of the fields

Rules for determining when and how a process sends messages and responds to messages

35
New cards

What is the application-layer protocol for the World Wide Web?

HTTP (the HyperText Transfer Protocol)

36
New cards

In what programs is HTTP implemented?

A client and server program

37
New cards

How do HTTP programs talk to eachother?

They talk to each other by exchanging HTTP messages

38
New cards

What is a web page?

A web page consists of objects

39
New cards

What is an object?

An object is a file that is adressable by a single URL

40
New cards

What do most web pages consist of?

A base HTML file and several referenced objects

41
New cards

What 2 components does a URL have?

Hostname of ther server that houses the object

The object’s path name

42
New cards

What is the client side of the WWW called?

Web browsers implement the client side

43
New cards

What is the server side of the WWW called?

Web servers, which house web objects

44
New cards

What does HTTP being “stateless” mean?

The server maintains no informatin about past client requests

45
New cards

What is non-persistent HTTP?

At most one object is sent over an opened TCP connection

46
New cards

What is persistent HTTP?

Multiple objects (can be) sent over TCP connection

47
New cards

What is round trip time (RTT)?

It is the time it takes for a small packet to travel from client to server and then back to client

48
New cards

What is the non-persistent HTTP response time? (formula)

2 * RTT + file transmission time

49
New cards

What are the 2 types of HTTP messages?

Request and response messages

50
New cards

What is the first line of an HTTP request message called?

The request line

51
New cards

What are the lines after the first line of an HTTP request message called?

The header lines

52
New cards

What are the 3 fields of the request line of an HTTP request message?

The method field

The URL field

The HTTP version field

53
New cards

What method to the great majoirty of HTTP request messages use?

The GET method

54
New cards

When is the GET method used?

It is used when the browser requests an object

55
New cards

What are the 3 fields in the first line of an HTTP response?

The version field

The states code field

The phrase field

56
New cards

What are cookies used for?

Cookies allow sites to keep track of users

57
New cards

What 4 components does cookie technology have?

A cookie header line in the HTTP response message

A cookie header line in the HTTP request message

A cookie file kept on the user’s end system and managed by the user’s browser

A back-end database at the website

58
New cards

What is a web cache?

A web cache, also called a proxy server, is a network that satisfies HTTP requests on behalf of an origin Web server

59
New cards

What is a web cache physically?

The Web cache has its own disk storage and keeps copies of recently requested objects in this storage

60
New cards

How do caches work?

A browser sends all HTTP requests to cache

If object is in cache; cache returns object to client. Else the cache requests the object from the origin server and cache receives object

Cache returns object to client

61
New cards

What is the added value of Web caches?

They can substantially reduce the response time for a client request

They can reduce the traffic on an institution’s access link to the internet

62
New cards

What is the conditional GET used for?

It allows a cache to verify that it is up to date

63
New cards

What is the problem with HTTP1.1?

It is first come first serve. This can lead to long waiting time because of HOL blocking

64
New cards

What is HOL?

Head of Line blocking is when small objects have to wait for transmission behind large object(s)

65
New cards

What is the primary goal of HTTP2?

To reduce perceived latency

66
New cards

How does HTTP2 reduce perceived latency?

By enabling request and response multiplexing over a single TCP connection

Providing request prioritisation and server push

Providing efficient compression of HTTP header fields

67
New cards

What does HTTP/3 add?

It adds security, per object error-control and congestion control over UDP

68
New cards

From a high level view, what 3 major components does E-mail have?

User agents

Mail servers

Simple Mail Transfer Protocol (SMTP)

69
New cards

What are user agents?

User agents allow us to read, reply to, forward, save and compose messages

70
New cards

What are mail servers?

The mail servers are the mailbox, which contain incoming messages and the message queue, which contains outgoing (to be sent) messages

71
New cards

What is SMTP

Iti is the link between mail servers to send email messages

72
New cards

What are the differences between HTTP and SMTP

HTTP is pull and SMTP is push

HTTP has object in each messages and SMTP has multiple objects sent in 1 multipart message

73
New cards

What is an identifier for an Internet host?

Its hostname

An IP address

74
New cards

What is the DNS? (Definition)

The Internet Domain Name Service (DNS) is a directory service that translates host names to IP adresses

75
New cards

Charactersitics of DNS

It is a distributed database implemented in a hierarchy of DNS servers

It is an application-layer protocol that allows hosts to query the distributed database

76
New cards

What other services, besides translating hostnames into IP addresses, does DNS offer?

Host aliasing

Mail server aliasing

Local distribution

77
New cards

What is host aliasing?

A host with a complicated host name can have 1 or more (simpler) alias names. DNS can then be invoked to obtain the (more complicated) canonical hostnames

78
New cards

For what reasons is DNS not centralised?

A single point of failure would occur

Traffic volume

Distance to centralised database; cannot be “close” to all clients

Maintenance

79
New cards

What are the 3 hierarchical classes of DNS?

Root DNS servers

Top-level domain servers

Authorative DNS servers

80
New cards

What are root DNS servers?

These provide IP addresses of the TLD servers

81
New cards

What are TLD servers?

Top-level domain servers provide IP adresses for the authorative DNS servers

82
New cards

What is a local DNS server

A DNS server not necessarily belonging to the DNS hierarchy

Each ISP has a local DNS server

83
New cards

What does caching mean in terms of DNS

Once any DNS server learns a mapping it caches this mapping

Cache entries dissapear after some time

84
New cards

What is a resource record (RR)?

A RR is a four-touple that contains the fields:

(Name, Value, Type, TTL)

85
New cards

What if Type = A for RR

Then Name is a hostname

and Value is the IP adress for the hostname

86
New cards

What if type = NS in RR?

Then Name is a domain

and Value is the hostname of an authorative DNS server that knows how to obtain the IP addresses for hosts in the domain

87
New cards

What if type = CNAME in RR?

Then Value is a canononical hostname for the alias hostname Name

88
New cards

What if type = MX in RR?

Then Value is the canonical name of a mail server that has an alias hostname Name

89
New cards

What are the 2 kinds of DNS messages?

Query and reply messages

90
New cards

What is the formula for the minimal distribution time for client-server distribution?

max{ NF/d_s , F/d_min}

N = #peers

F = size file

d_s = download rate server

d_min = the lowest download rate of all peers

91
New cards

What is the formula for the minimal distribution time for p2p distribution?

max{ F/u_s , F/d_min , NF/(u_s + sum(u_i))

F = size file

u_s = opload rate server

d_min = peer with lowest download rate

N = #peer

sum(u_i) = sum of upload rates of each peer

92
New cards

What is BitTorrent

A popular p2p protocol for file distribution

93
New cards

How does BitTorrent work?

Peers download and upload chuncks to/from each other at the same time

94
New cards

What is DASH?

A new type of HTTP streaming is Dynamic Adaptive Streaming over HTTP (DASH)

95
New cards

How does DASH work?

The video is encoded into several different versions with each version having a different bit rate and, correspondingly, a different quality level. The client dynamically requests chunks of video segments of a few seconds. When bandwith is high client selects the high-rate version chunks. When it is lowe it selects low-rate chunks.

96
New cards

How does a client select a chunk in DASH?

The client selects one chunk at a time by specifying an URL and byte range in an HTTP GET message

97
New cards

What are CDNs?

Content Distribution Networks. It stores/server multiple copies of videos at mutliple geographically distributed sites

98
New cards

What are CDNs used for?

To stream content (selected from millions of videos) to a lot of simultaneous users

99
New cards

What are the 2 types of CDNs?

Private CDN, owned by the content provider

Third-party CDN, distributes content on behalf of multiple content providers

100
New cards

What are the 2 different placement philosophies for CDNs?

Enter deep: lots of CDN but smaller

Bring Home: less but bigger CDNs