250 likes | 385 Views
588 Section 5. Neil Spring May 4, 1999. Schedule. Notes (1 slide) Homework 2 (9 slides) Multicast (11 slides). Notes. Graded Homework Assignment 1 Should have received it this afternoon Generally applicable questions?? Homework 2 due Monday, May 10
E N D
588 Section 5 Neil Spring May 4, 1999
Schedule • Notes • (1 slide) • Homework 2 • (9 slides) • Multicast • (11 slides)
Notes • Graded Homework Assignment 1 • Should have received it this afternoon • Generally applicable questions?? • Homework 2 due Monday, May 10 • Programming Assignment 2 due May 24 • Final Project too!
Homework 2 • Dealing with images (1 slide) • Next few slides: each problem in a little detail • Make sure you know what we’re asking for • Give you the opportunity to ask questions on each problem individually
Homework 2: Problem 1c & 4 • Image formats: EPS, PNG, GIF. • Put your name on em, filename too. • Visio should work well. • Text descriptions ok too • topology = (A,B)(B,C) • timing = a -> b, wait t sec. • OR, printed and mailed to: Neil Spring Box 352350 University of Washington Seattle, WA 98195-2350
Homework 2: Problem 1 • Little extra detail because it comes up in • the multicast paper • your second programming assignment • Routing Schemes • Link State • Distance Vector • Path-based distance vector • Goal is to decide where to forward a packet
Problem 1: Link State • Each router sends out an LSP describing what other routers it’s connected to • Other routers can overlay LSPs to discover the complete map • Challenges for link-state: • scalably distributing LSPs (reliable flooding) • scalably processing LSPs • OSPF has additional features • load balancing
Problem 1: Distance Vector • Each router sends a vector of distances to each destination • Dynamic programming sort of solution: • I can reach my neighbor’s destinations in 1 extra hop (or better) • Split horizon improvement • Don’t advertise routes back where they came from • Challenges for distance vector: • instability after link failure
Path-based Distance Vector • Think BGP (1991) • List the (transit) AS’s packets would travel through • AS’s are stub, multihomed, or transit • Represented by a 16-bit number • Should avoid loops • BGP • supports policy based routing • focuses on getting there loop free
Homework 2: Problem 2 • CIDR: Classless InterDomain Routing • Classless • no “B”, “C” • just variable length prefixes • Each internal node has degree 3. • Pretty simple question
Homework 2: Problem 3 • Stack of routers to visit along the path • Each router can push a new (more explicit) route on to the stack to get to the next hop • Is this better? • Stable? • Faster? • Less error prone? • Possible to implement? • Justify your assertion!!!
Homework 2: Problem 4 • Using tcpdump as a tool is fine • My slides from Week 4 might be helpful. Note that the timer isn’t correct. • Presenting tcpdump output alone is not fine. • Note that 20 data packets must be sent: yes, all 20 should be in the diagram • Just a count of round trips in the third data packet drop part (with a little explanation) is fine
Homework 2: Problem 5 • BW = MSS *C / ( RTT * sqrt(p)) • Periodic packet loss important.
Multicast • Multicast Routing in Datagram Internetworks and Extended LANs • What to multicast? • Stuff you know some set of machines care about • updates to shared state • conferencing • Stuff you don’t know who cares about • Service location
Why multicast? • “Minimal” resources demands: • don’t have to unicast to everyone • don’t have to broadcast to those who don’t care • Broadcast • can’t be filtered in hardware, • generally doesn’t make it very far into the network • Senders and receivers can come and go; the network figures out how to move bits.
Groups • Open: non-members can send to the group • Closed: can’t • Pervasive: there are members everywhere • Sparse: low member to non-member ratio • Local: few links
Refinement: Scope control • Maybe want to try close destinations first. • Avoids excessive responses • Using TTL. • If you know the only recipients you care about are close, don’t bother the Internet • File / Print Services • Parallel Computation
Single Spanning Tree • Compute one spanning tree for all multicast • Listen to see which attached segments care about that multicast • When a packet arrives on an incident edge, and the other edge cares, forward. • Have to maintain state about who cares. • Not transparent (hosts have to keep caring)
Distance Vector Multicast • Reverse Path • Flooding • Broadcasting • Truncated • Multicasting • “there is potentially a different shortest-path tree from every sender to every multicast group”
Reverse Path Flooding • Find a good tree • Described in the RPB section of the book. • Reverse-path • We know how to get from a source to a destination, so we presume a packet would come back the same way. • Flooding • Forward those packets over all outgoing links
Reverse Path Broadcasting • Avoid duplicates by electing a • router as the ‘parent’ of a • ‘child’ LAN • Only the elected parent can send the packet on the lan • Typically the closest, using address to break ties.
Truncated RPB • Routers on child links tell parents • the lan is not a leaf • somebody downstream would care • Can prune uninterested leaves • Single spanning tree already had this
Reverse Path Multicasting • Don’t waste resources pruning unused multicast trees • Prune on demand: • Non-membership report (NMR)
Link State instead? • We’ve got a map of the network, and a new multicast packet shows up from a new source • Dijkstra’s on demand • Cache the result • Might take a while to get the first packet through
Issues in multicasting • Differences in receiver bandwidth • Reliability • retransmission • redundant transmission • Ordering/consistency of multiple senders