3

Working on a project which implements a clustering algorithm. One important property of the clustering is to respect guarantees when face a network partition.

To prove that clustering works I need a way to emulate partitions in my windows development environment.

In the following example i will use term node and in this context is a Tcp Listener which starts on an Ip and accepts incoming connections on a port. Ex in c#: new TcpListener("10.16.8.9", 12345)

Test case : N2 partitioned from N1 and N3

Given 
    I have a cluster of 3 nodes running on one NIC with 3 IPs
        N1 running at 10.16.8.9
        N2 running at 10.16.8.10
        N3 running at 10.16.8.11
        Dev can connect to N1, N2, N3
When 
    A partition occurrences for N2 
Then
    N2 cannot reach N1 and N3
    N1 can reach N3
    N3 can reach N1
    Dev can connect to N1, N2, N3

Illustrated

enter image description here

What are my options if I want to block/restore the traffic flow from/to N2 with the windows tooling ?

ruslander
  • 131
  • 3
  • What you are actually trying to achieve is a bit difficult to understand, but I'm quite sure address B and address C should not be identical. – Massimo Jun 25 '15 at 17:43
  • @Massimo corrected, i want to emulate the situation when nodes cannot talk to each other due a network issue. Ex [A] and [B,C] means, that to A all connections are dropped form B and C and at the same time A cannot reach B and C – ruslander Jun 25 '15 at 18:22
  • AFAIK, you can't do that on Windows if all three addresses belong to the same computer; all traffic netween them is routed internally and you can't block it. – Massimo Jun 25 '15 at 18:30

0 Answers0