Computer Networking: A Top-Down Approach, CH2
TCP
(Transmission control protocol)
APP: DNS record format
(name, value, type, TTL)
APP: DNS record types
A = hostname, IP address; CNAME = canonical alias, canonical name; NS = domain, authoritative hostname; MX = mailserver name
APP: POP3 Phases
Authorization (Client: user, pass; Server: OK, ERR) and Transaction (list, retr, dele, quit)
APP: DNS header flags
Query or reply, recursion desired/available; reply is authoritative
APP: Local DNS
does not belong to hierarchy, aka default name server, each ISP has one, host query sent to local dns, acts as proxy
DNS
domain name system
APP: Conditional GET
don't send object if cache has up-to-date cached version
FTP
file transfer protocol , transfer file to/from remote host
non-persistent connections
type of HTTP connections that closes after each request from the client
APP: HTTP Status codes
200 (OK), 301 (Moved Permanently), 400 (Bad request), 404 (Not found), 505 (http version not supported), 304 (Not Modified)
APP: DNS caching
Caches mappings with a TTL, TLDs usually cached in local name servers so root not often visited
2 application architectures
Client-server, P2P
APP: 3 DNS Attacks
DDoS, Redirect, Exploitation
APP: Resource Record
DNS record
APP: What transport service does an app need?
Data integrity (reliable data tranfer), timing (low delays), throughput (bandwidth), security (encryption)
APP: Methods in HTTP 1.0
GET, POST, HEAD(asks server to leave requested object out of response)
APP: Methods in HTTP 1.1
GET, POST, HEAD, PUT( uploads file in entity body to path specified in URL field) , DELETE (deletes file specified in the URL field)
APP: How do cookies keep state?
HTTP messages carry state . protocol endpoints: maintain state at sender/receiver over multiple transactions
APP: Redirect Attack
Man-in-middle (intercept queries); DNS poisoning (send bogus requests that cache)
APP: User agent
Outlook, iPhone mail client, browser
APP: Mail access protocols
POP (Post Office Protocol - authorization and download), IMAP (Internet Mail Access Protocol - manipulation of msgs)
APP: 2 Ways to upload form input
POST method - uploaded to server in entity body; URL method - GET method - uploaded in URL field of request line
APP: Process
Program running within host, in same host (inter-process communication), in different host (exchange messages)
APP: Why use caching?
Reduce response time, reduce traffic, enables poor content providers to deliver content
APP: How to insert records in DNS?
Register name with DNS registrar; Provide names, IP address of authoritative name server; Registrar inserts 2 RRs into TLD (NS and A); Create A and MX record
APP: Exploit DNS for DDoS
Send queries with IP spoofing , Requires amplification
APP: Tit-for-Tat
Sends chunks to peers sending chunks at highest rate, every 30 seconds randomly unchoke another peer
Describe client-server architecture
Server - always on, permanent IP address, data centers; Client - communicate with server, dynamic IP address, do not communicate directly with each other
APP: How does cache act as server and client?
Server for client, Client for original server
APP: SMTP
Simple mail transfer protocol, port 25, uses TCP to send message
HTTP vs FTP
They both run on top of TCP. The differente - FTP uses two parallel TCP connections to transfer a file, a control connectionand a data connection
UDP
User Datagram Protocol) is an alternative communications protocol to Transmission Control Protocol (TCP)
APP: DDoS
bombard root servers with traffic, but mostly unsuccessful because root is bypassed; instead, bombard TLD servers
APP: Interated DNS query
contacted server replies with name of server to contact
APP: Describe BitTorrent
file divided into 256Kb chunks, tracker tracks peers, torrent - groups of peers exchanging chunks, churn - peers come and go, request rarest chunk first
APP: 4 Cookie Components
header line in response, header line in request, cookie kept on user's host, back-end database
APP: DNS services
hostname to IP address translation, host aliasing, mail server aliasing, load distribution
APP: HTTP
hypertext transfer protocol, web application layer protocol, client request objects, server sends objects, uses TCP, port 80
APP: How do you address processes?
identifier (host IP address and port number)
APP: Client process
initiates communication
APP: Mail server
mailbox (incoming messages), message queue (outgoing messages), SMTP protocol (to send messages)
APP: Persistent HTTP
multiple objects sent over single TCP connection (3RTT - handshake, base HTML (web page), objects)
APP: Describe P2P architecture
no always-on server,end systems directly communicate , peers request service from other peers, provide service in return to other peers( self scalability - new peers bring new service capacity, as well as new service demands) and peers are intermittently connected and change IP addresses (complex management)
APP: Non-persistent HTTP
one object sent over TCP connection , downloading multiple objects required multiple connections (2RTT per object, browsers often open parallel TCP connections)
APP: Authoritative DNS
organizations DNS servers, maintained by organization or service provider
APP: Recursive DNS query
puts burden of name resolution on contacted name server
APP: What does TCP service provide?
reliable transport, flow control, congestion control,does not provide: timing, minimum throughput guarantee, security and connection-oriented
APP: 2 types of HTTP messages
request, response
FTP commands, responses
sample commands: USER ,PASS , LIST ,RETR filename , STOR filename sample return codes 331 -OK, 125- transfer starting , 425- Can't open data connection ,452- Error writing file
APP: Goal of web caches
satisfy client request without involving origin server
APP: What cookies are used for?
shopping carts, , authorization recommendations, user session state
APP: Why not centralize DNS?
single point of failure, traffic volume, distant centralized database, maintenance
APP: RTT
time for packet to travel from client to server and back
APP: TLD
top-level domain servers; Network Solutions maintains .com, Educause maintains .edu
persistent connections
type of HTTP connections that keeps connections open after a request to the server
APP: What do application-layer protocol define?
types of message, message syntax, message semantics, process rules
APP: UDP
unreliable data transfer
APP: 3 Email components
user agent, mail server, SMTP
APP: Server process
waits to be contacted
APP: Proxy server
web cache
APP: Socket
where process sends/receives messages to/from