DNS via brevduer: Den mest absurde protokolstack du vil elske
DNS via brevduer: Den mest vanvittige protokolstak du nogensinde vil elske
Lad mig starte med en tilståelse: Jeg har brugt en pinligt stor del af min tid på at læse et IETF-udkast ved navn "DNS over Avian Carriers (DoAC)" – og jeg angrer ingenting.
For dem der ikke kender fornøjelsen, er IETF den organisation der udarbejder de tekniske standarder bag det moderne internet. Deres dokumenter er typisk tætte, metodiske og dybt seriøse. Så når du støder på et udkast der alvorligt foreslår at bruge brevduer til at oversætte domænenavne, så lægger du mærke til det – ikke fordi det er praktisk, men fordi det afslører noget fascinerende om hvordan vi tænker over netværksprotokoller.
Protokolstakken som tiden glemte
Historien begynder i 1990 med RFC 1149, som introducerede IP over Avian Carriers (IPoAC). Ja, IETF udgav en formel specifikation for at sende IP-datagrammer via brevduer. Dokumentet indeholder pakketab-estimationer ("cirka 55% uvægtet"), latensberegninger og throughput-sammenligninger. Det blev opdateret i 2001 med RFC 2549 (Quality of Service-understøttelse for luftbårne transportører) og igen i 2011 med RFC 6214 (IPv6-kompatibilitet).
Dette var ikke jokes – det var legitim eksperimentel protokoller, komplet med fungerende implementeringer og virkelige tests. Universiteter og hackergrupper har faktisk udrullet duenetværk til underholdning og uddannelse.
Men her er problemet: i tre årtier havde denne protokolstak en massiv hull. Du kunne sende IP-pakker via due, men du kunne ikke oversætte domænenavne. Uden DNS skulle hver destination hardkodes som IP-adresse direkte på fuglen. Forestil dig at forklare dine netværksadministratorer at tilføjelse af en ny server krævede fysisk at omskole dine duer.
DoAC: DNS til fuglene
DoAC-udkastet forsøger at løse dette med karakteristisk teknisk alvor. Det definerer:
- Message formats til DNS-forespørgsler og svar der kan vedhæftes duer
- AA (Avian Authority) Resource Record til publicering af dueslag-adresser
- Retransmissionsadfærd der tager højde for den uforudsigelige natur af luftbåren levering
- Bootstrapping-procedurer inklusive "Duen af sidste udvej" til initial resolver-opdagelse
Opmærksomheden på detaljer er ærligt talt imponerende. Afsnit 5.2 diskuterer "Resolver Discovery Without Prior State" og erkender at din første due ikke kan vide hvor den skal finde en DNS-server, fordi den ikke har DNS til at slå det op. Løsningen? En forudkonfigureret nøddue.
Sikkerhedsovervejelser der lyder som en naturfilm
Hvor DoAC virkelig brillerer, er i sikkerhedsanalysen. Udkastet identificerer trusler inklusive:
- Hawk-in-the-Middle attacks hvor et rovdyr opsnapper din forespørgsel undervejs
- Pigeon spoofing og den foreslåede løsning "Plumage-Based Authentication"
- Loft hijacking hvor en angriber overtager kontrollen med din destination
- Denial of Flight attacks (DoF) –essentially en DDoS, bare for fugle
- Den sultne kat som fysisk lag-trussel (beskriver sig selv)
- Replay attacks via taxidermied carrier (nogen sender en død due med gamle cachede svar)
Jeg ville faktisk betale penge for at se et red team forsøge nogle af disse angrebsvektorer.
Hvad dette faktisk fortæller os
Her er pointen med absurde tekniske dokumenter: de er ofte mere oplysende end fornuftige. DoAC tvinger dig til at konfrontere antagelser du aldrig indså du lavede.
Når du bruger DNS i dag, stoler du implicit på:
- Din ISPs resolvers ikke lyver for dig
- Pakkerne ikke bliver opsnappet eller ændret
- Serverne er tilgængelige når du har brug for dem
- Den fysiske infrastruktur ikke fejler katastrofalt
DoAC gør alle disse implicitte tillidserklæringer eksplicitte – og absurde. Et duenetværk giver ingen mening i produktionssystemer, men øvelsen i at designe til det afslører præcis hvor meget vi afhænger af infrastruktur vi tager for givet.
Den egentlige lærdom
Der er en lektion her til udviklere der bygger moderne systemer, særligt dem der arbejder med edge computing, mesh-netværk eller intermitterende forbindelse:
Hver protokol antager en underliggende transport med specifikke egenskaber. Når de egenskaber ændrer sig, har du brug for nye protokoller.
DNS over TCP/IP antager pålidelig, hurtig pakkelevering. DNS over Avian Carriers antager... ja, at dine pakker til sidst vil ankomme, formodentlig, måske. DoAC-udkastet er ikke bare en joke – det er en påmindelse om at "altid-online, lav-latens, høj-pålidelighed" er en luksus, ikke en konstant.
For startups der bygger applikationer til emerging markets, landlige områder eller katastrofescenarier, er det vigtigt at forstå disse afvejninger. IETF brugte 30 år på at tænke over hvad der sker når dit netværk er en flok duer. Det arbejde kan være mere relevant end du tror.
Har du nogensinde stødt på en protokol der fik dig til at sætte spørgsmålstegn ved dine antagelser om hvordan netværk fungerer? Del din favorit absurde RFC i kommentarerne. Og hvis du fandt en taxidermeret due med DNS-records vedhæftet, må du endelig fortælle os hvordan det gik.