nfs マウントは tcp では動作しますが、udp では動作しません。

nfs マウントは tcp では動作しますが、udp では動作しません。

私はRaspberry Pi(raspbmc)をSynology NASに接続しています。マウントが2つあります。

192.168.0.5:/volume1/video      /mnt/video      nfs     udp,intr,noatime,rsize=32768,wsize=32768,nolock,nfsvers=3,async 0 0
192.168.0.5:/volume1/video      /mnt/video2     nfs     tcp,intr,noatime,rsize=32768,wsize=32768,nolock,nfsvers=3,async 0 0

どちらのインストール方法も成功しました。

sudo mount -a

エラーは発生しません。 /mnt/videoディレクトリに移動すると、lsステートメントを完了できず、コマンドが中断されます。サブディレクトリが2つしかない非常に小さいディレクトリでもこれを実行できますが、上記の作業には時間がかかります。私が奇妙だと思うのは、これが実際にtcpで動作することです。 (そしてtcpは非常に高速です)

今私はUDPがどのように機能するかを知っていますが、それでもLinuxはファイル共有のためにUDP接続を処理できると思います。そうではありませんか?

答え1

UDP NFS マウントの問題は、rsize と wsize の値がネットワークでパケットの断片化を引き起こし、カーネルでパケット損失を引き起こすことです。http://nfs.sourceforge.net/nfs-howto/ar01s05.html断片化されたパケットオーバーフロー部分。 rsizeとwsizeのパラメータを削除して再インストールしました。

関連情報