每年一定要经历的大作业....肝了两天写出来. 先看看18年的作业要求吧, 每年都不一样
实现中文域名的解析,例如:主页.北邮.教育.中国(与 www.bupt.edu.cn 对应);
至少支持 4 个顶级域,至少实现三级域名的解析。程序需要实现的实体有:client、 至少 6 个 DNS server。
支持的 Resource Record 类型:A、MX、CNAME;对于 MX 类型的查询,要求在 Additional Section 中携带对应 IP 地址;
支持的解析方法:迭代解析;
支持 cache,打印查询的 trace 记录(查询路径、服务器响应时间);
传输层协议:
client 与 local DNS server 之间:TCP; DNS server 之间:UDP;应用层协议:DNS
要求通信过程中使用的所有 DNS 报文必须能够用 wireshark 正确解析;
server的数据维护方式可采用文件;
书写完整的设计文档,参考 Sample-Project-Report.pdf;
程序中应包含详细的代码注释,使用良好的编程风格;
程序运行稳定,支持错误处理,如:命令无效、参数缺失、同名处理、空白字符; 12. 每两人一组,分工完成,将设计文档和源代码文件经打包、压缩后按以下规则命名:
dns_2010211501_10211234&10215678_李宁&张安.tar.gz
其实不算复杂, 主要是字节流处理的问题, 网络传输会有大端序小端序的问题, 还有就是tcp的粘包问题要注意
最后检查的时候是老师带着手底下的研究生助教一