Насколько надежна DNS, когда она использует протокол UDP на транспортном уровне? - PullRequest
0 голосов
/ 01 декабря 2018

Я искал то же самое и получил что-то вроде этого:

"Приложение может использовать UDP и может быть надежным при использовании тайм-аута и повторной отправки на уровне приложения."

Только надежность означаетотправка подтверждений и как насчет выявления поврежденных / дублированных пакетов?Кто-нибудь может объяснить мне глубину этого.

1 Ответ

0 голосов
/ 01 декабря 2018

UDP не является надежным, означает, что UDP не заботится о том, что пакет принимается одноранговым узлом, упорядочение пакетов, дубликатов и т. Д.

Но протокол прикладного уровня сам может заботиться об этом и неНадо полагаться на надежность нижнего уровня.В случае DNS каждый запрос должен приводить ровно к одному ответу, и получение ответа неявно является подтверждением того, что запрос был получен.Кроме того, каждый запрос DNS и ответ вписываются в один пакет UDP - так что переупорядочение не имеет значения.Каждый запрос UDP имеет уникальную комбинацию идентификатора и порта источника, а пакет ответа содержит одинаковые идентификатор и порт - поэтому ясно, какой ответ принадлежит какому запросу.И если ответ не получен в течение некоторого времени, он будет считать, что это либо запрос, либо ответ потерян, и просто повторите попытку с новым запросом.

...