北京邮电大学 2018 北邮 互联网应用课程设计 大作业 DNS域名解析

这篇博客讲述了作者在北京邮电大学2018年进行的一项大作业——DNS域名解析。作业要求包括实现中文域名解析、支持多级域名和资源记录类型,以及使用TCP和UDP协议。作者强调了字节流处理、网络传输中的字节序问题和TCP粘包问题。在检查阶段,教师和研究生助教会通过wireshark检查代码和数据包内容,作者因此遇到了数据格式问题但最终得以解决。
摘要由CSDN通过智能技术生成

每年一定要经历的大作业....肝了两天写出来. 先看看18年的作业要求吧, 每年都不一样

  1. 实现中文域名的解析,例如:主页.北邮.教育.中国(与 www.bupt.edu.cn 对应);

  2. 至少支持 4 个顶级域,至少实现三级域名的解析。程序需要实现的实体有:client、 至少 6 个 DNS server。

  3. 支持的 Resource Record 类型:A、MX、CNAME;对于 MX 类型的查询,要求在 Additional Section 中携带对应 IP 地址;

  4. 支持的解析方法:迭代解析;

  5. 支持 cache,打印查询的 trace 记录(查询路径、服务器响应时间);

  6. 传输层协议:
    client 与 local DNS server 之间:TCP; DNS server 之间:UDP;

  7. 应用层协议:DNS

    要求通信过程中使用的所有 DNS 报文必须能够用 wireshark 正确解析;

  8. server的数据维护方式可采用文件;

  9. 书写完整的设计文档,参考 Sample-Project-Report.pdf;

  10. 程序中应包含详细的代码注释,使用良好的编程风格;

  11.  程序运行稳定,支持错误处理,如:命令无效、参数缺失、同名处理、空白字符; 12. 每两人一组,分工完成,将设计文档和源代码文件经打包、压缩后按以下规则命名:

    dns_2010211501_10211234&10215678_李宁&张安.tar.gz

其实不算复杂, 主要是字节流处理的问题, 网络传输会有大端序小端序的问题, 还有就是tcp的粘包问题要注意

最后检查的时候是老师带着手底下的研究生助教一起来检查, 检查时运行代码,并且要把注释全删掉接受提问. 每个人需要单独接受提问. 需要注意的是, 试验指导书上只是轻描淡写地说了用wireshark抓包分析, 实际检测的时候真的会用wireshark抓包来看每个数据包的内容! 笔者原先写的时候, 数据格式虽然遵守了规范,但是表示 Resource Record 类型的数据位是自己瞎写的, 抓包出来的数据包解析自然会有问题. 好在现场老师允许你当场改代码...有惊无险吧

啊,不想写了, 之后再补...

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值