Chapter 2: Application Layer Flashcards
1
Q
Some network apps:
A
- e-mail.
- web.
- text messaging.
- remote login.
- P2P file sharing.
- multi-user network games.
- streaming stored video (YouTube, Hulu, Netflix, iflix).
2
Q
Creating network app:
A
- write programs that:
(a) run on (different) end systems.
(b) communicate over network.
(c) e.g., web browser software communicates with browser software. - No need to write software for network-core devices:
(a) network-core devices do not run user applications.
(b) applications on end systems allows for rapid app development, propagation.
3
Q
Application architecture:
A
- possible structure of applications:
(a) client-server
(b) peer-to-peer (P2P)
4
Q
Processes Communicating
A
Process: program running within a host
(a) within same host, two processes communicate using inter-process communication (defined by OS).
(b) processes in different hosts communicate by exchanging messages.
(c) aside: applications with P2P architectures have client processes and server processes.
5
Q
What is:
(a) client processes
(b) server processes
A
(a) process that initiates communication
(b) process that waits to be contacted.
6
Q
Client-server architecture:
A
- Server:
(a) always-on host
(b) permanent IP address
(c) data centers for scaling - Clients:
(a) communicate with server
(b) may be intermittently connected
(c) may have dynamic IP addresses
(d) do not communicate directly with each other
7
Q
P2P architecture:
A
- no always-on server
- arbitrary end systems directly communicate
- peers request service from other peers, provide
service in return to other peers
(a) self scalability – new peers bring new service capacity, as well as new service demands - peers are intermittently connected and change
IP addresses
(a) complex management
8
Q
Sockets:
A
- process sends/receives messages to/from its socket.
- socket analogous to door
(a) sending process shoves message out door.
(b) sending process relies on transport infrastructure on other side of door to deliver message to socket at receiving process.