All projects
2023 · Software Engineer
DNS System (Resolver + Primary/Secondary + Zone Transfer)
Implemented a DNS-like distributed naming service with recursive/iterative resolution, caching, and zone transfer over TCP between primary and secondary servers.
Results
- Designed and implemented DNS query/response PDUs and debug/log formats.
- Implemented resolver behavior (iterative + recursive) and authoritative server roles (SP/SS).
- Implemented TCP zone transfer protocol and replication flow (SS bootstraps from SP).
- Built config/database parsing and a cache module to speed repeated queries.
Overview
Built a multi-component DNS system in Python: client queries over UDP; resolver performs iterative/recursive resolution via root/top-level/authoritative servers; primary and secondary servers support replication via a custom TCP zone-transfer protocol.
Implemented structured config/data parsing, logging, and a cache layer; organized components using an MVC-style module split.
My work
- Implemented core UDP request/response loop for DNS queries and response construction.
- Implemented TCP zone transfer handshake + streaming of database entries.
- Built file parsers for server configuration, root servers list, and zone database format.
- Implemented logging and error/timeout handling to support reproducible testing.
Technologies
- Python 3.10
- Sockets (UDP/TCP)
- Linux
- Logging
- Config Parsing