- Forward


IP Anycast and Multicast
An Introduction


Prof. David Bernstein
James Madison University

Computer Science Department
bernstdh@jmu.edu

Print

Overview
Back SMYC Forward
  • Unicast:
    • One sender and one receiver
  • Broadcast:
    • One sender and all receivers
  • Multicast:
    • One sender and a group of receivers
Applications of Multicast
Back SMYC Forward
  • Games
  • Teleconferencing
  • Audio/Video "On Demand"
  • Group Chat
IP Anycast
Back SMYC Forward
  • Motivation:
    • Load-balancing and failover using IP addresses rather than the DNS
  • Approach:
    • Multiple server "instances" share an IP address
    • Routing infrastructure directs packets to the appropriate server
IP Anycast - An Example
Back SMYC Forward
anycast-example
IP Anycast - An Example (cont.)
Back SMYC Forward
  • Servers Announce to Router 0:
    • They both announce they are 10.0.0.1/32
  • Router 0's Routing Table:
    • 	Destination     Mask    NextHop       Distance
              134.126.0.0     /29     127.0.0.1     0
              10.0.0.1        /32     134.126.0.1   1
              10.0.0.1        /32     134.126.0.2   2
      	
  • DNS Lookup of www.example.com:
    •         www.example.com  IN   A   10.0.0.1
      	
  • Client Connects to www.server.com:
    • Router 0 routes through router 1
    • Client/routers think there is one server
Problems with IP Anycast
Back SMYC Forward
  • Each "group" needs an entry in the global routing table
  • Limited by IP routing (e.g., application-layer metrics can't be used)
  • Connection-oriented protocols (e.g., TCP) won't failover
Approaches to Multicast
Back SMYC Forward
  • Multiple Unicast
  • IP Multicast
  • Overlay Multicast
Multiple Unicast
Back SMYC Forward
  • Process:
    • Client unicasts to every recipient in the group
  • Assessment:
    • Simple to implement
    • Client must transmit \(n\) times and network must handle \(n\) times the traffic
IP Multicast
Back SMYC Forward
  • Process:
    • Multicast group is defined by a special address as per RFC3171 (224.0.0.0 to 239.255.255.255)
    • Sender sends packet to multicast address
    • Receiver delivers packet to all appropriate subnetworks
  • Assessment:
    • Best effort only
    • Limited number of groups
    • Membership is driven by receivers (as per the Internet Group Management Protocol described in RFC3376)
Group Management
Back SMYC Forward
  • Create a group
  • Join a group
  • Leave a group
  • Show members of a group
Multicast Routing
Back SMYC Forward
  • Link State Multicast:
    • Used with link state routing
    • Link state includes the groups who have members on this link
    • A routing tree is calculated to build the routing table
  • Distance Vector Multicast:
    • Used with distance vector routing
    • Creates a broadcast tree for each group and then prunes it (a.k.a., broadcast-and-prune)
Adding Reliability
Back SMYC Forward
  • Issues:
    • All receivers might ACK at once
    • Sender does not know all receivers
  • Questions:
    • Who to retransmit to? How?
    • What kind of reliability is required? Is it application specific?
Different Approaches to Reliabile Multicast
Back SMYC Forward
  • Scalable Reliable Multicast
  • Pragmatic General Multicast (RFC3208)
There's Always More to Learn
Back -