Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

I'm trying to create a small IPv6 anycast network with 4 PC's [running CentOs 5.0, and called PC1-PC4] and two Cisco 2800 series routers.

The setup is this: PC1,PC2 will be on the subnet 2001::0/127 and PC3, PC4 will be on 2001::2/127. The routers will connect the 2 subnets, with the goal of enabling PC1, PC2 to connect to either PC3 or PC4 through anycast.

I am not clear at all about how to go about implementing this. While reading through a a previous SF query , I came across IPv4 Anycast implemented for DNS. Can I repeat the same setup for IPv6? Can you provide enough detail to allow implementation?

[Edited]

share|improve this question
    
I'm afraid your question does not make sense to me. Are you sure you mean anycast, not broadcast or multicast? Anycast involves the same subnet advertised on multiple locations, on multiple routers. –  Joris Apr 3 '11 at 4:39

1 Answer 1

up vote 2 down vote accepted

IPv6 Anycast works the same as it does in IPv4. In its simplest form, a discrete subnet is advertised by multiple, separate routers. The effect of which being that clients attempting to contact nodes on that subnet will reach the router nearest to them (by network hop-count).

Setting this up is actually pretty easy, you just need to set up the same IP subnet in different, and best of all distant, parts of the network and have the routers attached to those subnets announce that subnet. Upstream routers will summarize the route-announcements, and send traffic to the router/subnet closest to the upstream routers. Machines attempting to contact IP addresses on that subnet will therefore reach the nearer group of machines.

Your question doesn't sound like this. It sounds like two subnets connected by the same router, which by definition would be simple unicast.

Conversations FROM Anycast subnets TO Anycast subnets are tricky, and should be avoided. Take this example, 2001::3/126 is an Anycast subnet hosted in 14 different locations, and 2001::4/126 is another Anycast subnet hosted in only 3. For the sake of simplicity, assume an even distribution of subnets for both Anycast networks.

  1. A machine in the 6th 2001::3/126 subnet starts a connection to 2001::4/126
  2. Due to routing tables, this SYN packet ends up getting sent to the 3rd 2001::4/126 subnet.
  3. The machine in the 3rd 2001::4/126 subnet sends the ACK packet back to 2001::3/126
  4. Due to routing tables, this ACK packet ends up getting sent to the 2nd 2001::3/126 subnet.
  5. The machine in the 2nd 2001::3/126 subnet has no record of a connection being started, so drops the packet.
  6. The machine in the 6th 2001::3/126 subnet never gets the ACK it is expecting.

Unicast -> Anycast works just fine since there is only one path to the source, and the network path is the same going both ways.

Anycast -> Unicast works just fine since there is only one path to the destination, and the network path is the same going both ways.

Anycast -> Anycast is problematic since there can be multiple paths, and the network path can be completely different going both ways.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.