Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"Mark" ymmv-generated packets via edns0 packet-size signature #1

Closed
shane-kerr opened this issue Sep 5, 2016 · 2 comments
Closed

Comments

@shane-kerr
Copy link
Owner

Suggestion from Kato:

Prior to the release of your program to tap a DNS query to one of
IANA root servers and to send its copy to some/many/all of Yeti
servers, I would suggest to "mark" the copied DNS queries so that
we can identify the copied traffic and "natural" traffic.

When we are to test dynamic features (I mean timing issue is involved
such as a proposed experiment where significant number of Yeti Root
servers intentionally become blackholes to see the performance
degradation to the end customers), the copied packets don't comply
with usual timeout characteristics implemented in every DNS server
(full resolver) implementation.

One of the ways to mark the packet is to change the EDNS packet size
negotiation parameter to a strange number such as 3852 (this is just a
random but it rarely be seen in regular traffic and should not induce
fragments).

This should be easy enough to do.

@shane-kerr
Copy link
Owner Author

Other options discussed include:

  • using an experimental EDNS0 option
  • setting a specific source port

NSID was considered, but RFC5001 explicitly forbids clients from putting any data in an NSID option.

@shane-kerr
Copy link
Owner Author

With commits 4788df4, 6ebc202, and ccd4fab the code now supports setting the EDNS0 buffer size.

By default we use 4093, but the administrator can set it to whatever is desired via the -e flag. Setting that to 0 means that we preserve the original value.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant