1 / 44

Network Protocols: Design and Analysis

Network Protocols: Design and Analysis. Polly Huang EE NTU http://cc.ee.ntu.edu.tw/~phuang phuang@cc.ee.ntu.edu.tw. Multicast Overview. Why Study Multicast?. want to send info to a group of people allows you to send one packet and let the network make copies to everyone

vic
Download Presentation

Network Protocols: Design and Analysis

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Network Protocols: Design and Analysis Polly Huang EE NTU http://cc.ee.ntu.edu.tw/~phuang phuang@cc.ee.ntu.edu.tw

  2. Multicast Overview

  3. Why Study Multicast? • want to send info to a group of people • allows you to send one packet and let the network make copies to everyone • supports anonymous addressing • don’t have to keep track of individual users • don’t worry about changes in group membership • but: • may not get particular users • all users may not need all info sent to the group • ex. data loss and repair • some applications want to know how many or who are in the group?

  4. Multicast Goals • Efficient data distribution • send only one copy of pkt over each link, not n • Anonymous group addressing • ex. to get a phone number, you call the operator—any operator, not just Lilly

  5. Src Src Unicast vs. Multicast compare amount of bandwidth consumed (count pkt-hops)

  6. Src Src 4 1 Unicast vs. Multicast

  7. Src Src 8 2 Unicast vs. Multicast

  8. Src Src 12 3 Unicast vs. Multicast

  9. Src Src 16 7 Unicast vs. Multicast in this case, multicast requires about half as many pkt-hops compared to unicast Things to think about: when does multicast do best? when will it not help so much?

  10. Applications of multicast • multiplayer games • use proxy servers/app-level “multicast” • or just use centralized server • distributed applications: • ex. query distributed/replicated database (user-to-application) • inside an distributed application • teleconference • broadcasting • sensor networks or other physically distributed applications

  11. Multicast:Anonymous Addressing • Applications: • broadcast (don’t care about users), some distributed apps • Special case: anycast • find me the nearest receiver in the multicast group

  12. Multicast:Bandwidth Reduction • applications • broadcast and teleconference • but some caveats • reliability? how do we do failure/loss recover in multicast • different users with different start times? broadcast works best if everyone’s syncrhonization (option: just start people in the middle, or do caching, multiple versions of stream [ex. using layered/partial encoding]…) • bandwidth glut? why bother if you can afford to send n copies?

  13. Common Problems in Multicast • scalability • number of sources • number of receivers • geographic/network distance (sparse vs. dense groups) • message implosion • adapting to many recievers

  14. Common Techniques in Mcast • soft state • rather than reliable send and ACK, send periodically • response after randomized delay • delay may be biased to favor certain hosts repsonding • suppression of duplicate responses • listen to others responses: if they say the same as you, you don’t need to respond Watch for these techniques in many places!

  15. Components of theIP Multicast Architecture mcast addr allocation hosts service model host-to-router protocol(IGMP) routers multicast routing protocols(various)

  16. IP Multicast Service Model • Defined in RFC-1112 [Deering89a] • mcast groups identified by IP addr • sending: anyone can send to mcast grp • don’t need to be a member • receiving: hosts join and leave groups via IGMP • network builds multicast distribution tree to send data • responsibility of designated router on same LAN as host (and other rtrs in the network)

  17. 1 1 1 0 group ID IP Multicast Addresses Class D IP addresses: in “dotted decimal” notation: 224.0.0.0 — 239.255.255.255 two administrative categories: • “well-known” multicast addresses (ex: 224.0.0.1 is “all hosts”, .2 is “all rtrs”) • “transient” multicast addresses, assigned and reclaimed dynamically, e.g., by “sdr” program

  18. Address Allocation • Outside the scope of this class, but… • Initially, random allocation • odds of collision are low • but are they? The Birthday Paradox says collisions will happen • Later: more careful schemes • ex. see “The MASC/BGMP Architecture for Multicast Routing”, SIGCOMM ’98 • (and what about hierarchy?)

  19. IP Multicast Service — Sending • uses normal IP-Send operation, with an IP multicast address specified as the destination • must provide sending application a way to: • specify outgoing network interface, if >1 available • specify IP time-to-live (TTL) on outgoing packet • enable/disable loopback if the sending host is a member of the destination group on the outgoing interface

  20. IP Multicast Service — Receiving • two new operations: Join-IP-Multicast-Group ( group-address, interface ) Leave-IP-Multicast-Group ( group-address, interface ) • packets arrive like normal IP pkts • note: neither sender nor receiver know group size or membership

  21. Why not do things at the app? • get higher latencies/bandwidth usage • because can’t use link-level multicast • don’t have network topology • but, can deploy apps today

  22. Multicast Scope Control:(1) TTL Expanding-Ring Search to reach or find a nearby subset of a group s 1 2 3

  23. Multicast Scope Control:(2) Admin TTL Boundaries to keep multicast traffic within an administrative domain, e.g., for privacy or resource reasons the rest of the Internet TTL threshold set oninterfaces to these links,greater than the diameterof the admin. domain an administrative domain

  24. Multicast Scope Control:(3) Admin-Scoped Addresses • “send with my company/country/continent/etc.” • uses address range 239.0.0.0/8 • supports overlapping (not just nested) domains the rest of the Internet address boundary set oninterfaces to these links an administrative domain

  25. The MBone • MBone = Multicast Backbone • a set of routers on the Internet that can exchange multicast packets • some use native multicast • others tunnel multicast between themselves • a virtual network overlaying the Internet

  26. R R R H R H Components of the MBone square/circle: host/router thick square/circle: MBone router solid line: physical link dashed line: tunnel thick line: part of MBone

  27. IP header, dest = unicast IP header, dest = multicast transport headerand data… MBone Tunnels • a method for sending multicast packets through multicast-ignorant routers • IP multicast packet is encapsulated in a unicast packet addressed to far end of tunnel: • like Moble IP tunnels, but manually configured

  28. Components of theIP Multicast Architecture hosts service model host-to-router protocol(IGMP) routers multicast routing protocols(various)

  29. Internet Group Management Protocol(IGMP) • the protocol by which hosts report their multicast group memberships to neighboring routers • v1: RFC-1112; v2: RFC-2236 • operates over broadcast LANs and point-to-point links • occupies similar position and role as ICMP in the TCP/IP protocol stack

  30. Relevant Protocol Layers Within a Host Upper-Layer Protocol Modules IP Service Interface ICMP IGMP IP Module Link-Layer Service Interface IP to link-layer address mapping (e.g., ARP) Link-Layer Modules (e.g., Ethernet)

  31. IP multicast address 1 1 1 0 28 bits group bit 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 1 1 1 0 0 23 bits LAN multicast address Link-Layer Transmission/Reception transmission: • IP multicast uses link-layer multicast, if possible • ex: Ethernet: reception: • hosts link layers often filter multicast addrs • routers listen to all mcast

  32. IGMP Goal • determine what IP mcast groups have receivers present on the LAN • just care about some vs. no receivers, not how many • approach: • designate one router as IGMP “querier” • it asks all hosts • get at least one response per active group • example of soft state (periodically query), so occasional losses are OK

  33. How IGMP Works routers: Q • querier sends a Membership Query message to all-hosts (224.0.0.1), TTL=1 • hosts reply after random delay (0-10s) for each G • reply goes to whole group G (and routers), suppressing other replies G G G hosts: 4 1 6

  34. IGMP Implications • typically only one response (per G) is required • routers query every 60-90 seconds • implication: leave latency is 30-45s • IGMPv2 adds explicit leave msgs • to reduce join latency, a host sends one or two unsolicited responses immediately after joining a new G

  35. Components of theIP Multicast Architecture hosts service model host-to-router protocol(IGMP) routers multicast routing protocols(various)

  36. The Mcast Routing Problem:How do you connect sources and sinks? Source R3 R1 R2

  37. The Mcast Routing Problem:How do you connect sources and sinks? Source R3 R1 R2

  38. Mcast Routing Startup • senders flood everyone • “flood and prune”, DVMRP, PIM-DM • receivers flood everyone • MOSPF • define a rendezvous point, senders and receivers send towards rendezvous • PIM-SM

  39. How many trees per group? • shared tree • all senders use the same tree • may not be optimal latency, but within 2x • source-specific tree (or shortest path tree, SPF) • one tree per sender • lower latency, but more per-router state

  40. A Shared Tree Source1 R3 R1 Source2

  41. Source-Specific Trees Source1 R3 Source2 can find a shorter path to R1 by following a source- specific tree R1 Source2

  42. Who can send? • Anyone (Deering’s service model) • model used by most multicast apps • Single-source • only one person can send (others must make their own group) • EXPRESS [Holbrook99a]

  43. Multicast Status • MBone exists • moderately widely used in research • but not always stable • multi-domain routing is hard—everyone has to talk, and often people don’t talk about experimental services :-( • Some commercial use (apps) • but very little ISP support • concerned about how to charge, and potential over-use • Multicast widely used on LANs • ex. Google, Inktomi use it for load balancing

  44. Question?

More Related