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