1/61
This focuses on understanding the principles, protocols, and implementation of network applications, like web (HTTP), email (SMTP, IMAP), DNS, P2P systems, video streaming, content distribution networks (CDNs), and socket programming with UDP and TCP, while exploring client-server and peer-to-peer paradigms and the application-layer infrastructure.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Client-Server Paradigm
Server
Clients
Peer-Peer Architecture
Process
Client Process:
Server Process:
Identifier
▪ to receive messages, process must have identifier ▪ host device has unique 32-bit IP address …. includes both IP address and port numbers associated with process on host.
Processes Communicating within Same Host
Processes Communicating within Different Hosts
Sockets
Application-Layer Protocol
▪ types of messages exchanged, • e.g., request, response ▪ message syntax: • what fields in messages & how fields are delineated ▪ message semantics • meaning of information in fields ▪ rules for when and how processes send & respond to messages open protocols: ▪ defined in RFCs, everyone has access to protocol definition ▪ allows for interoperability ▪ e.g., HTTP, SMTP proprietary protocols
What transport service does an app need?
Internet Transport Protocols Services
TCP Service
UDP Service
Transport Layer Security (TLS)
Web Page
HyperText Transfer Protocol (HTTP)
Persistent HTTP
Non-Persistent HTTP
RTT
Non-Persistent HTTP Issues
HTTP Request Message
POST Method
GET Method
HEAD Method
PUT Method
HTTP Response Message
HTTP Response Status Codes
200 OK: Request succeeded, requested object later in this message
301 Moved Permanently: Requested object moved, new location specified later in this message (in Location: field)
400 Bad Request: Request msg not understood by server
404 Not Found: Requested document not found on this server
505 HTTP Version Not Supported
Cookies
Purpose of Cookies
Uses of Cookies
How to keep state?
Cookies and Privacy
Web Caches
Purpose of Web Caches
Conditional GET
HTTP/2
HTTP/3
User Agent
Mail Servers
mailbox contains incoming messages for user
message queue of outgoing (to be sent) mail messages
SMTP Protocol
Comparison of SMTP with HTTP
Internet Mail Access Protocol (IMAP)
Domain Name System (DNS)
DNS Services
Root Name Servers
Top-Level Domain (TLD) Servers
Authoritative DNS Servers
Local DNS Name Servers
Iterated Query
Recursive Query
Caching DNS Information
DNS Records
type=A
type=NS
type=CNAME
type=MX
DNS Protocol Messages
DDOS Attacks
Spoofing