Это здорово для домашней работы! Ваш учитель честолюбив. Реализация DNS
требует чтения как минимум десяти сложных RFC (не говоря уже о DNSSEC ...)
не ограничьте себя RFC 1034 и 1035, есть обязательные
RFC после (например, 2181 и 2671). Смотрите хороший график из них.
Это авторитетный сервер имен или рекурсивный?
Вы должны сделать это с нуля? Если нет, я настоятельно рекомендую начать
с библиотекой evldns , которая позволяет вам написать
антропритический сервер имен в 200 строк кл.
В противном случае применяется обычный совет: прочитайте исходный код (я предлагаю
nsd для авторитетного сервера и unbound для рекурсивного
один).