Files
mdg-filius/packages/core/test/scenarios/dns-recursive.scenario.json
T
julian.kiedaischandClaude Opus 5.5 313786e738 feat(core): recursive DNS server after Java, measured with Java FILIUS
The resolver runs on the events now (a query, its dnsQueryTimeout, its
answer at the socket); the blocking resolveDns waits for it, and a
recursive server uses it: its own records, else the zone's name server
from its records, else its own DNS server, else a referral
(DNSServer.answerWithRemoteData).

DnsRun plays five stories on the new dns-recursive network. Measured and
not taken: a server that is its zone's name server asks itself, which asks
itself again, without end (the client times out, then every level floods
its own DNS server); Java guards only the step through its own DNS server.
The core asks itself in neither step. That story is compared up to the
client's query (JAVA_UNTIL).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 18:46:32 +00:00

143 lines
3.7 KiB
JSON

{
"seed": 51,
"nodes": [
{
"id": "00000000-0000-0000-0000-000000000101",
"kind": "pc",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000111",
"label": "eth0"
}
]
},
{
"id": "00000000-0000-0000-0000-000000000102",
"kind": "pc",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000112",
"label": "eth0"
}
]
},
{
"id": "00000000-0000-0000-0000-000000000103",
"kind": "pc",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000113",
"label": "eth0"
}
]
},
{
"id": "00000000-0000-0000-0000-000000000104",
"kind": "pc",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000114",
"label": "eth0"
}
]
},
{
"id": "00000000-0000-0000-0000-000000000105",
"kind": "networkSwitch",
"ports": [
{
"id": "00000000-0000-0000-0000-000000000121",
"label": "sw1"
},
{
"id": "00000000-0000-0000-0000-000000000122",
"label": "sw2"
},
{
"id": "00000000-0000-0000-0000-000000000123",
"label": "sw3"
},
{
"id": "00000000-0000-0000-0000-000000000124",
"label": "sw4"
},
{
"id": "00000000-0000-0000-0000-000000000125",
"label": "sw5"
}
]
}
],
"links": [
{
"id": "00000000-0000-0000-0000-00000000F001",
"sourceNode": "00000000-0000-0000-0000-000000000101",
"sourcePort": "00000000-0000-0000-0000-000000000111",
"targetNode": "00000000-0000-0000-0000-000000000105",
"targetPort": "00000000-0000-0000-0000-000000000121"
},
{
"id": "00000000-0000-0000-0000-00000000F002",
"sourceNode": "00000000-0000-0000-0000-000000000102",
"sourcePort": "00000000-0000-0000-0000-000000000112",
"targetNode": "00000000-0000-0000-0000-000000000105",
"targetPort": "00000000-0000-0000-0000-000000000122"
},
{
"id": "00000000-0000-0000-0000-00000000F003",
"sourceNode": "00000000-0000-0000-0000-000000000103",
"sourcePort": "00000000-0000-0000-0000-000000000113",
"targetNode": "00000000-0000-0000-0000-000000000105",
"targetPort": "00000000-0000-0000-0000-000000000123"
},
{
"id": "00000000-0000-0000-0000-00000000F004",
"sourceNode": "00000000-0000-0000-0000-000000000104",
"sourcePort": "00000000-0000-0000-0000-000000000114",
"targetNode": "00000000-0000-0000-0000-000000000105",
"targetPort": "00000000-0000-0000-0000-000000000124"
}
],
"devices": {
"00000000-0000-0000-0000-000000000101": {
"ip": "192.168.0.20",
"mask": "255.255.255.0",
"dns": "192.168.0.10"
},
"00000000-0000-0000-0000-000000000102": {
"ip": "192.168.0.10",
"mask": "255.255.255.0",
"dns": "192.168.0.11"
},
"00000000-0000-0000-0000-000000000103": {
"ip": "192.168.0.11",
"mask": "255.255.255.0"
},
"00000000-0000-0000-0000-000000000104": {
"ip": "192.168.0.21",
"mask": "255.255.255.0",
"dns": "192.168.0.99"
}
},
"dnsServers": {
"00000000-0000-0000-0000-000000000102": {
"records": [
"web.filius.de A 192.168.0.30",
"filius.de MX mail.filius.de",
"mail.filius.de A 192.168.0.31",
"schule.de NS ns.schule.de",
"ns.schule.de A 192.168.0.11",
"filius.de NS ns.filius.de",
"ns.filius.de A 192.168.0.10"
],
"recursive": true
},
"00000000-0000-0000-0000-000000000103": {
"records": [
"www.schule.de A 192.168.0.40"
]
}
},
"steps": []
}