Exam Review
- packet networking
- Internet Protocol
- routing and project1
- exam
Packet Networking
- sharing an expensive medium
- assumes nobody needs to send all the time (is it correct?)
- shorter packets mean shorter delay for small amounts of information
- bandwidth sharing mostly implicit, though many attempts to make it
more explicit, manageable, controllable
Packet Networking
- a very simple system can be built on top of point-to-point connections
which can transfer one byte at a time
- alternately, shared media have conventions (Medium Access Control, MAC)
for transferring entire packets and controlling access to a shared medium
- an incoming packet must get from the hardware to the
application: downcall or upcall?
- sending a packet only require queueing if the medium is busy
DNS
- structured, hierarchical name space
- arbitrary mapping to IP addresses
- mapping supported by distribute database
- different "types" of mapping, e.g. A for address, MX for mail server,
NS for Name Server
- recursive or iterative queries
- queries elicit answers, which may include authority and additional
information
- idempotent protocol means queries can be repeated for reliability
Internet Protocol
- end-to-end addressing, protocol, length, fragmentation
- hop-by-hop TTL, checksum
- best-effort: packets can be discarded, reordered, misdelivered,
delayed, or have bit errors
- once the routing tables are in place, forwarding is straightforward:
- verify header checksum, discard if incorrect
- deliver to socket if destination is local
- decrement TTL, discard if zero
- look up destination in routing table, select (a) longest match, (b)
best metric, or (c) first entry
- recompute checksum
- queue on output interface
- network masks allow the division of networks into subnetworks
- all-1s host part is broadcast address, all-0s host part is
network number
Internet Protocol
- ICMP used to report errors (e.g. when TTL=0 during traceroute) or
probe network (ping)
- IPv6: much bigger addresses, fewer processing steps at router
- path MTU discovery
- fragmentation: why it is needed, packet identifiers, fragment
offsets
Routing
- Distance-Vector: acquire routing tables from neighbors, use in
computing own routes
- RIP, RIPv2
- BGP uses a variant, path-vector, that allows more administrative control
- information received from neighbors may reflect old state
that is no longer correct
- split-horizon, with or without poisoned reverse, helps prevent
some of the routing loops
- other link failures lead to counting-to-infinity
Routing
- Link-State: the networks each router is connected to are broadcast
to all other routers
- routers use Dijkstra's shortest path algorithm to compute the
best route to each destination
- OSPF, IS-IS use LS
- OSPF divides the AS into areas
- routers in each area receive complete information about the other
routers in the same area, and summary information about routers in other
areas
- OSPF, IS-IS, and RIP are Interior Gateway Protocols, IGPs
- BGP is an EGP
Project 1
- sockets API
- simulated networks
- unreliable transmission
- upcalls and threads
- basic IP forwarding
- distance-vector routing
Multicast
- leaf-initiated join and reverse-path forwarding/broadcasting
- source-specific vs. any-source
- PIM-SM, PIM-SSM
- rendezvous points change any-source multicasting to a single-source
multicasting
- as an optimization, can build a new source-specific multicasting tree
back to one or more sources
- standards could still evolve
- soft state in routers must be refreshed to maintain subscription
Exam notes
- no cutting-and-pasting: all answers must be in your own words,
except for an occasional, well-marked quote with appropriate citation
- answer the question that is asked
- answer each question completely
- 5 minutes before turning in, run spellchecker (if not already running)