我正在玩自己的DNS服务器。 我注意到我在UDP上遇到重复请求(相同的问题域和相同的txid)
这是我自己的私人网络。我通过在chromes中加载20个标签来测试它。 我通常只看到给定数据包的2-3个重复项(如果有的话)。
处理这些请求的正确方法是什么?删除它们或发回重复的回复? 这只是UDP不可靠吗?或者客户端(如果我的服务器太慢)使用相同的txid重试?
答案 0 :(得分:1)
如果它只有一两个副本,它们可能是因为第一个响应UDP数据包在前往提问者的途中丢失了,合理的事情是重新发送。如果它有数百个重复,可能有人试图用你进行放大攻击,你真的不应该重新发送。
答案 1 :(得分:1)
Chrome正在重试,因为它在超时期限内没有得到您的回复,这在几年前曾经是6秒但从那时起可能已经发生了变化(铬源可用在线审查,很容易阅读。
您应该始终从最近的缓存中发回一个重复的答案,以防重试的原因是实际丢弃的数据包 - 在本地网络上极不可能,但我假设您要编写一个弹性服务器。