date: 2019-12-09
Covers lectures 21 - 25
First Pass
- L21
- L22
- L23
- L24
- L25
Second Pass
- L21
- L22
- L23
- L24
- L25
- Goals
- Congestion control
- Good behaviors
- Isolation across flows
- Solution: Give each flow it’s own queue
- Round-robin
- Solution: Bit-by-bit round robin
- Solution: Fair Queue
- Solution: Deficit Round Robin (DRR)
- Goal: We want to assign human readable names to hosts
- Naming Hosts
- Processed right to left, with periods as seperators
cs.wisc.edu
- Right most is TLD (Top Level Domain)
.com
,.gov
,.net
- Domain Name Hierarchy
- Example:
.
.com
.net
.edu
google.com
maps.google.com
scholar.google.com
wisc.edu
cs.wisc.edu
doit.wisc.edu
- Zones
- ICANN is top level
- Name servers: very redundant to cover failures
- DNS Records
- 4 fields
- name, type, value, TTL
- name: domain name
- type
- A: Value is an IPv4 address
- AAAA: Value is an IPv6 address
- NS: Value is domain name for a DNS server that is responsible for the zone containing the DN
- CNAME: Value is another domain name for a particular host
- MX: Value is the domain name for a mail server that accepts messages for the DN
- TTL: Specifies how long another DNS server can cache the record
- Root NS
- Contains records for all TLD name servers
- Name Resolution
- Algorithm
- Start at root and keep asking more specific name servers until you get answer
- Advanced Name Resolution
- Can return different sets of records for the same query
- Used for load balancing or geo-based server selection
- Algorithm
- Requests
- method
- GET, PUT, DELETE, HEAD
- “URL”
- version
- host
- options
- method
- Response
- version
- status
- content length
- MIME
- HTTP and TCP
- Problems:
- Too manny RTTs
- Never enters steady TCP
- Solution: HTTP 1.1
- Pipeling and persistent connections
- 1 tear down at end of session
- Problem:
- How do we have TCP SEQNO
- Solution: Application-level framing
- HTTP 2.0
- “SPDY”
- Adds PUSH
- Problems:
- Use Cases
- Software update distribution
- HBO content distribution
- File sharing
- Questions
- How do you join the network?
- Through other peers?
- How do you discover data or services?
- How do you join the network?