Почему NFS использует UDP по умолчанию?

Вы можете определить поведение по всему миру:

$http.defaults.headers.post["Content-Type"] = "application/x-www-form-urlencoded";

. Поэтому вам не нужно переопределять его каждый раз:

$http.post("/handle/post", {
    foo: "FOO",
    bar: "BAR"
}).success(function (data, status, headers, config) {
    // TODO
}).error(function (data, status, headers, config) {
    // TODO
});
24
задан Eddie 25 February 2009 в 19:57
поделиться

6 ответов

  • NFS был первоначально разработан, чтобы использоваться на LAN, где уровни потерь являются очень низкими.
  • UDP быстрее, и имеет меньше служебное
  • , NFS является не сохраняющим состояние, таким образом, просто для клиентов повторить

Примечание, что NFS v3 + может использовать TCP.

24
ответ дан dwc 28 November 2019 в 21:25
поделиться

UDP является значением по умолчанию для NFSv2 (который никто не должен действительно использовать эти дни), но TCP использования NFSv3 по умолчанию. Монтирование TCP более надежно, и Вы знаете, что у Вас есть сетевая проблема намного быстрее, чем с UDP.

6
ответ дан Keltia 28 November 2019 в 21:25
поделиться

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

, Когда UDP используется в качестве транспортного протокола, по-видимому, это было бы до клиента NFS для управления повторными передачами при необходимости.

2
ответ дан LeopardSkinPillBoxHat 28 November 2019 в 21:25
поделиться

UDP используется, когда протокол будет управляемым самим приложением. Приложение может иметь лучшую идею для того, как сделать это, или это может быть быстрее (под особыми условиями приложения). TCP очень хорош, но имеет много издержек, связанных с ним.

1
ответ дан gbarry 28 November 2019 в 21:25
поделиться

Производительность. UDP имеет намного более низкие издержки, чем TCP. С другой стороны, NFS должен обработать надежную передачу самостоятельно тогда (по сравнению с TCP), но поскольку это - протокол для LAN, где проблемы соединения и отбрасывания пакета (или лучше: должен быть), не проблема, она оптимизирована для производительности.

1
ответ дан Kosi2801 28 November 2019 в 21:25
поделиться

UDP-соединение без сохранения состояния минимизирует сетевой трафик, поскольку сервер NFS отправляет client - файл cookie после того, как клиент авторизируется для доступа к общему тому. Этот файл cookie представляет собой случайное значение, которое хранится на стороне сервера и передается вместе с запросами RPC от клиента.

0
ответ дан 28 November 2019 в 21:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: