2: Application Layer Flashcards
What are end systems?
Devices connected to a network that are used by end users.
What are network-core devices?
Hosts in a network that are part of the core of the network, a subset of a network containing connections between routing devices, both of high bandwidth, that act to connect systems towards the network’s edge.
Describe the client-server architectrure.
A network topology that involves one or more always-on central hosts serving multiple clients that intermittently communicate with the server (only).
Describe the P2P architecture.
A network topology with no always-on servers in which peers intermittently communicate with each other, requesting services from each other and providing services to others in return. P2P networks are self-scalable since new peers add serving capability as well as requests.
What is a process?
A computer program running on a host. Server processes wait to be contacted, and client processes initiate communications.
What is inter-process communication?
OS-defined functionality allowing two processes running on the same host to communicate.
What is a socket?
The endpoint of a communication link, identified by IP address and port number (identifier) that provides an interface between a process on a client and an end-end transport protocol.
What is an identifier? What does it consist of?
A way of distinguishing processes for network communications that is compromised of the IP address and socket number of the end device.
What does an application-layer protocol handle?
When and how messages are exchanged, as well as the structure and meaning of the metadata in the messages.
What does an application-layer protocol require?
Systems that facilitate the exchange of data between two endpoints on a network, providing data integrity, timing, throughput, and security.
Compare TCP and UDP.
TCP provides reliable transport, flow control, and congestion control, and is connection-oriented. UDP does not provide any of these features. Neither provides security, timing, or a guarantee of a minimum throughput.
What is SSL?
Secure Sockets Layer is an application-layer security technology used to encrypt data to provide security.
What is the worldwide web?
An information system for accessing resources on the Internet.
What is HTTP?
Hypertext Transfer Protocol is the primary application-layer protocol used by the web. Clients send HTTP requests to servers that send a response before the resources requested are interpreted and displayed or otherwise used on the client device.
What is a client?
An intermittently connected end device that requests resources from servers on a network.
What is a server?
An always-on computer that provides network resources to client devices.
What is TCP?
Transmission Control Protocol is a transport-layer protocol facilitating the reliable transmission of data between two endpoints on a computer network.
What is IP?
Internet Protocol is a network-layer protocol that handles the routing and addressing of packets between nodes on a computer network.
Why is HTTP stateless?
Because the server maintains no information about past client requests, so each request is treated atomically.
What is persistent and non-persistent HTTP?
HTTP persistence is whether HTTP connections stay open after an object has been transmitted. In persistent HTTP, multiple objects can be sent over the same connection because it will stay open after the first is sent. In non-persistent HTTP, a connection closes after an object has been sent over it.
What is RTT?
Round trip time is the time for a small testing packet to travel from a client to a server and then back again.
What are the 2 types of HTTP messages?
request and response messages
What are cookies?
A small piece of data used to maintain the user-server state of a web browser across separate connections.
How can you maintain state?
You can use protocols that consider and store state or store data that maintains state, such as cookies or web storage.
What are web caches?
Computer systems that temporarily store web resources to bypass server lag in contacting the origin server when they are needed again.
What is link utilisation?
The proportion of the capacity of a link which it is actively being used with traffic. Link utilisation = current data rate on link ÷ link capacity.
How do you find access link utilisation?
Link utilisation = current data rate on link ÷ link capacity.
What is cache delay?
The delay between a request being made by a client and a cache returning the result of the request (rather than the origin server).
How do you find total delay when using a cache?
Where p = the probability a resource will be cached = cache hit rate,
total delay = p * delay to get resource from the origin server + (1 - p) * delay to get resource from the cache
What is a conditional GET?
Allows you to only get a resource if a condition is true, usually if it has been modified since a chosen date. This can be used with caches to only retrieve resources if the versions of them currently cached are out of date