DIINER Testbed Exerimental Documentation

This page summarizes how to carry out experiments on the DIINER testbed.

Using the testbed

After obtaining an account you will have access to three machines:

Backend: b1-brr

The backend is where DNS server software will run. You will have sudo access so you can install custom software and change OS parameters.

There are two helper scripts available on the backend.

  • brr-route switches the route that response packets will take.

      /usr/local/bin/brr-route <d1|decoder|e1|encoder|replay|status>
    		
      Switch between routing live traffic to the decoder and returning
      playback traffic back to the encoder.
    
      status: report current status
      d1|decoder: route response traffic to the decoder.
      e1|encoder: route response traffic to the encoder.
    
  • brr-resolver will switch between the two pre-installed resolvers.

      /usr/local/bin/brr-resolver <status|knot|named>
    	
      Switch between resolvers
    

Encoder: e1-brr

From the encoder you will be able to control what traffic is sent to the backend. You can have a portion of real-time B-Root DNS traffic from one of our anycast nodes or use traffic generation tools to send packet captures or generated traffic.

Live traffic

On b1-brr:

  • Route response traffic to the decoder

      /usr/local/bin/brr-route decoder
    
  • Start the desired resolver software (your software or pre-installed software)

      /usr/local/bin/brr-resolver <knot|named>
    

On e1-brr:

  • Start live traffic

      /usr/local/bin/brr-live start
    

Generated traffix

On e1-brr:

  • Stop live traffic

      /usr/local/bin/brr-live stop
    

On b1-brr:

  • Route response traffic to the encoder

      /usr/local/bin/brr-route replay
    
  • Start the desired resolver software (your software or pre-installed software

      /usr/local/bin/brr-resolver <knot|named>
    

On e1-brr

  • run replay/traffic generation tool of choice

Traffic generation tools

When replaying or generating traffic, the traffic should be sent to one of the B-Root service addresses. These are:

  • 2023: 170.247.170.2 / 2801:1b8:10::b
  • 2017: 199.9.14.201 / 2001:500:200::b
  • 2004: 192.228.79.201 / 2001:500:84::b

If the sending software needs to generate more than 65 thousand simultaneous connections, the interface between e1-brr and b1-brr has additional local addresses that can be used to facilitate this. Addresses from the rance of 172.16.90.5 to 172.16.90.79 allow for over 4 millions unique source address/port combinations.

DNSPERF

On e1-brr:

dnsperf -d /usr/share/dnsperf/queryfile-example-current -s 199.9.14.201 -t 30 -S 1

see the dnsperf man page for additional information.

LDPlayer

TBD: provide details on how to replay a stored trace

Decoder: d1-brr

Decoder funtionality has not been implemented. If you have a use case for the decoder, please reach out to us.