Chapter 2: Application Layer Flashcards
Brief description of Network Application
Writing a program that runs on different end systems and communicate over network (e.g. web server communicates with server software)
2 Network Applications Architecture ?
Client-Server and P2P
What does client and server do in Client-Server architecture ?
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
P2P architecture characteristics?
- server not always on
- end systems directly communicate
- self scalability: peers request service from other peers
- peers are intermittently connected
in process communication, what is the difference between process, inter-process communication , and messages?
process : program running within a host
inter-process communication : two processes communicate within the same host
messages: communication between processes within different hosts
What is a Socket?
A software interface that sends/receive message to/from processes.
To receive messages, process needs identifier, what do identifier includes?
IP address and port numbers
example: 128.119.245.12:80 (IP : Port)
Transport services an app need
Data integrity, throughput, timing, security
What are the 2 most common Internet transport protocols?
UDP and TCP service
Characteristics of TCP service ?
- Connection oriented
- reliable transport
- flow control
- congestion control
- doesn’t provide : timing, throughput guarantee, security
Characteristics of UDP service?
- best effort service
- unreliable data transfer
- doesn’t provide: reliability, flow control, congestion
control, timing, throughput guarantee, security, or
connection setup.
in https://giphy.com/gifs/schittscreek-ZecVmf45WkpxbI9bEK, what is
a . https://giphy.com
b. gifs/schittscreek-ZecVmf45WkpxbI9bEK
a. host name
b. path name
Web page is consisted of _____, this can be video, html file, jped, etc
objects
Web’s application layer protocol, which implements a client and server program is called ____
HTTP (Hypertext transfer protocol)
What are the differences between persistence and non persistence HTTP ?
- Non -persistent: one object over one TCP connection (HTTP/1.0)
- Persistent: multiple objects can be sent over one TCP connection (HTTP/1.1)
Response time for Non-persistent http is
2RTT + file transmission time
RTT = time for a small packet travel to client - server and back
Persistent HTTP with and without pipelining ?
- 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
2 Types of HTTP Messages
Request, Response
Describes types of request messages (Get, Post, Head, Put)
- GET : sending data to server
- POST : includes form, user input from client to server
- PUT: uploads/replaces file to the server
- HEAD: reacted to only get method, retrieve requests headers
HTTP response status code (200, 301, 400, 404, 500)
200: OK
301: Moved Permanently
400: Bad request
404: Not Found
505: HTTP Version not supported
Interaction with HTTP over TCP connection is ‘stateless’ , meaning it doesn’t store client’s past request. How do server maintaining user states?
Cookies
4 components of cookies
- Cookie header line of HTTP response message
- Cookie header line in next HTTP request message
- Cookie file kept on user’s host
- Back end database at website
What is a web cache / proxy server?
a network entity which purpose is to satisfy client requests without involving the original server
How does web cache works, in simple words
if object in cache , returns object to client
else request from origin server, catch object, and returns to client