1/102
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
|---|
No study sessions yet.
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
What is application architecture?
The application architecture dictates how the appllication is structured over the various end systems
What are the 2 most dominant architectural paradigms?
Client-server architecture and the peer-to-peer architecture
What is a server?
In a client-server architecture there is an always-on host which services requests from clients
What is an IP address
The fixed, well known address of a server
What is a data center?
A data center is a collection of hundreds of thousands of servers
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
What are peers?
Pairs of intermittently connected hosts
What is one of the most compelling features of p2p?
Their self scalability
What are challenges p2p faces?
Security
Performance
Reliability
Why does p2p face these challenges?
It faces these challenges due to their highly decentralised structure
It is not actually programs that communicate, what is?
Processes
What is a process?
A process is a program in execution
How do processes running on the same end system communicate?
They communicate with interprocess communication
How do processes in different hosts communicate?
They communicate by exchanging messages
What is the client procces in a communicating process?
The client process is the process that intiates communication
What is the server process in a communication process?
The server process is the process that waits to be contacted
What is a socket?
A socket is a data structure for maintaining connection data
What is the function of a socket?
A socket is the interface between the application and transport layer within a host.
What is a socket also called?
It is also reffered to as the Application Programming Interface (API) between the application and the network
What do we need to identify the receiving process?
The addres of the host
port number specifying receiving process in the destination host
What are the services a tranport-layer protocol can offer?
Reliable data transfer
Throughput
Timing
Security
What is reliable data transfer?
When a protocol guarentees that the data sent is delivers correctly and completely
What are applications with throughput requirements called?
Bandwith-senstive applications
In terms of security, what can a transport provide?
Confidentiality
Data integrity
End-point authentication
What 2 transport protocols makes the internet available to applications?
UDP and TCP
What does the TCP service model include?
A connection oriented service
A reliable data transfer service
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
What other thing, besides handshaking, does TCP include?
TCP also includes a congestion-control mechanism
Why is UDP called connectionless?
Because there is no handshaking procedure
What are 2 shortcomings of UDP?
Provides unreliable data transfer
It does not include congestion control
What can today’s internet not guarantee?
It cannot guarantee any timing or throughput guarantees
What is an application-layer protocol?
It defines how an application’s processes pass messages to each other
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
What is the application-layer protocol for the World Wide Web?
HTTP (the HyperText Transfer Protocol)
In what programs is HTTP implemented?
A client and server program
How do HTTP programs talk to eachother?
They talk to each other by exchanging HTTP messages
What is a web page?
A web page consists of objects
What is an object?
An object is a file that is adressable by a single URL
What do most web pages consist of?
A base HTML file and several referenced objects
What 2 components does a URL have?
Hostname of ther server that houses the object
The object’s path name
What is the client side of the WWW called?
Web browsers implement the client side
What is the server side of the WWW called?
Web servers, which house web objects
What does HTTP being “stateless” mean?
The server maintains no informatin about past client requests
What is non-persistent HTTP?
At most one object is sent over an opened TCP connection
What is persistent HTTP?
Multiple objects (can be) sent over TCP connection
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
What is the non-persistent HTTP response time? (formula)
2 * RTT + file transmission time
What are the 2 types of HTTP messages?
Request and response messages
What is the first line of an HTTP request message called?
The request line
What are the lines after the first line of an HTTP request message called?
The header lines
What are the 3 fields of the request line of an HTTP request message?
The method field
The URL field
The HTTP version field
What method to the great majoirty of HTTP request messages use?
The GET method
When is the GET method used?
It is used when the browser requests an object
What are the 3 fields in the first line of an HTTP response?
The version field
The states code field
The phrase field
What are cookies used for?
Cookies allow sites to keep track of users
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
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
What is a web cache physically?
The Web cache has its own disk storage and keeps copies of recently requested objects in this storage
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
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
What is the conditional GET used for?
It allows a cache to verify that it is up to date
What is the problem with HTTP1.1?
It is first come first serve. This can lead to long waiting time because of HOL blocking
What is HOL?
Head of Line blocking is when small objects have to wait for transmission behind large object(s)
What is the primary goal of HTTP2?
To reduce perceived latency
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
What does HTTP/3 add?
It adds security, per object error-control and congestion control over UDP
From a high level view, what 3 major components does E-mail have?
User agents
Mail servers
Simple Mail Transfer Protocol (SMTP)
What are user agents?
User agents allow us to read, reply to, forward, save and compose messages
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
What is SMTP
Iti is the link between mail servers to send email messages
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
What is an identifier for an Internet host?
Its hostname
An IP address
What is the DNS? (Definition)
The Internet Domain Name Service (DNS) is a directory service that translates host names to IP adresses
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
What other services, besides translating hostnames into IP addresses, does DNS offer?
Host aliasing
Mail server aliasing
Local distribution
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
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
What are the 3 hierarchical classes of DNS?
Root DNS servers
Top-level domain servers
Authorative DNS servers
What are root DNS servers?
These provide IP addresses of the TLD servers
What are TLD servers?
Top-level domain servers provide IP adresses for the authorative DNS servers
What is a local DNS server
A DNS server not necessarily belonging to the DNS hierarchy
Each ISP has a local DNS server
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
What is a resource record (RR)?
A RR is a four-touple that contains the fields:
(Name, Value, Type, TTL)
What if Type = A for RR
Then Name is a hostname
and Value is the IP adress for the hostname
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
What if type = CNAME in RR?
Then Value is a canononical hostname for the alias hostname Name
What if type = MX in RR?
Then Value is the canonical name of a mail server that has an alias hostname Name
What are the 2 kinds of DNS messages?
Query and reply messages
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
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
What is BitTorrent
A popular p2p protocol for file distribution
How does BitTorrent work?
Peers download and upload chuncks to/from each other at the same time
What is DASH?
A new type of HTTP streaming is Dynamic Adaptive Streaming over HTTP (DASH)
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.
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
What are CDNs?
Content Distribution Networks. It stores/server multiple copies of videos at mutliple geographically distributed sites
What are CDNs used for?
To stream content (selected from millions of videos) to a lot of simultaneous users
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
What are the 2 different placement philosophies for CDNs?
Enter deep: lots of CDN but smaller
Bring Home: less but bigger CDNs