1/61
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Application Architectures
client-server
peer-to-peer (P2P)
server
always-on host
permanent IP address
data centers for scaling
clients
communicate with server
may be intermittently connected
may have dynamic IP addresses
do not communicate with each other
P2P Architecture
NO always-on server
arbitrary end systems directly communicate
peers request service from other peers, provide service in return to other peers
peers are intermittently connected and change IP addresses
self scalability (P2P)
new peers bring new service capacity, as well as new service demands
process
program running within a host
inter-process communication
how two processes communicate within the same host
processes in different hosts communicate by exchanging ____
messages
client process
process that initiates communication
server process
process that waits to be contacted
process sends/receives messages to/from its ______
socket
socket is analogous to a
door
sending process
shoves message out the door (socket)
sending process relies on _____ to deliver message socket at receiving process
transport infrastructure
to receive messages, processes must have
identifier
host device has unique ____ IP address
32-bit
Does IP address of a host on which process runs suffice for identifying the process?
No, many processes can be running on the same host
Identifier includes:
IP address and port numbers associated with the process of a host
App-layer protocal defines:
types of messages exchanged
message syntax
message semantics
open protocols
proprietary protocols
message syntax
what fields in messages & how fields are delineated
message semantics
meaning of information in fields
rules
how processes send and respond to messages
open protocols
defined in RFCs (HTTP, SMTP)
data integrity
Some apps (file transfer, web transactions) require 100% reliable data transfer
timing
some apps (Internet telephony, interactive games) require low delay to be effective
throughput
some apps (multimedia) require minimum amount of throughput to be effective
TCP Service provides:
reliable transport
flow control
congestion control
connection-oriented
UDP service provides
Unreliable data transfer
HTTP stands for
Hypertext transfer protocol
HTTP follows ___ model
client/server
HTTP client
browser that requests, receives and displays web objects
HTTP server
web server sends (HTTP protocol) objects in response to requests
HTTP uses ___
TCP
HTTP is
stateless, server maintains no information about past client requests
Types of HTTP connection
Non-persistent & persistent HTTP
non-persistent HTTP
at most one object sent over TCP connection
persistent HTTP
multiple objects can be sent over single TCP connection between client, server
RTT
time for a small packet to travel from client to server and back
HTTP response time:
One RTT to initiate TCP connection, one RTT for HTTP request and first few bytes of HTTP response to return, file transmission time
non-persistent HTTP response time
2RTT + file transmission time
non-persistent HTTP issues
requires 2RTT per object
OS overhead for EACH tcp connection
browsers often open parallel TCP connections to fetch referenced objects
persistent HTTP:
server leaves connection open after sending response
as little as one RTT for all objects
types of HTTP messages
request, response
HTTP request message
ASCII - Human readable
POST
web page often includes form input
input is uploaded to server in entity body
input does not appear as part of URL field
GET
used to request a resource
input is loaded in URL field of request line
HEAD
Similar to GET, but only header is returned and body is empty
PUT and DELETE
Upload or delete files from server (not always allowed)
HTTP/1.0
GET, POST, HEAD
HTTP/1.1
GET, POST, HEAD, PUT, DELETE
HTTPS response status code: 200
OK, request succeeded
HTTP Codes: 301
Moved Permanently, request object moved
HTTP Code: 400
Bad request, request msg not understood by server
HTTP code: 505
HTTP version not supported
User-side state: cookies components
Cookie header line of HTTP response message
Cookie header line in next HTTP request message
3. cookie file kept on user’s host
4. Back-end db at website
What are cookies used for?
Authorization, shopping carts, recommendations, user session state
web caches proxy server
Satisfy client request without involving origin server
cache acts as both
client and server
E-Mail major components
user agents, mail servers, simple mail transfer protocol (SMTP)
User Agent
outgoing, incoming messages stored on server (outlook)
three phases of SMTP
handshaking, transfer of messages, closure