Почему при выполнении удаленного вызова процедуры UDP предпочтительнее, чем TCP? - PullRequest
0 голосов
/ 26 декабря 2018

Я читал о RPC.В блоге https://www.cse.iitk.ac.in/users/dheeraj/cs425/lec26.html, рекомендуется использовать UDP над TCP, при удаленном вызове процедуры, почему UDP предпочтительнее, чем TCP?

1 Ответ

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

UDP обычно не предпочитается TCP при выполнении удаленных вызовов процедур.Фактически, большинство реализаций технологий RPC, таких как CORBA, XML-RPC, SOAP, Java RMI, ..., используют TCP, а не UDP в качестве основного транспорта.Здесь предпочтительнее TCP, потому что в отличие от UDP он уже заботится о надежности (имеет дело с потерей пакетов, дублированием, переупорядочением) и может также легко и прозрачно обрабатывать сообщения произвольного размера.

Цитируемый вами блог ссылается на классический Sun-RPCкак используется с NFS и который в основном использовался в локальной сети - в отличие от современных технологий RPC, которые часто используются в более сложных сетевых средах.В такой среде и в настоящее время (давно) UDP предлагал меньшие накладные расходы и быстрее восстанавливал сетевые проблемы, чем TCP, поскольку нет первоначального рукопожатия и необходимые повторные передачи, переупорядочение ... полностью контролируют уровень RPC иможет быть настроен на конкретный случай использования.Таким образом, хотя предпочтение UDP для конкретного RPC в этой среде имеет смысл, нельзя сказать, что UDP следует отдавать предпочтение любому типу RPC.

...