跳到主要内容

6.5 Issues for Other Transport Protocols (其他传输协议的问题)

6.5 Issues for Other Transport Protocols (其他传输协议的问题)

某些传输协议 (如 ISO TP4 [3]) 在进行重传时不允许重新分组. 也就是说, 一旦尝试传输某个大小的数据报, 其内容就不能被拆分成更小的数据报进行重传. 在这种情况下, 原始数据报应在不设置 DF 位的情况下重传, 允许其在必要时进行分片以到达目的地. 后续数据报在首次传输时, 大小不应超过路径MTU允许的大小, 并且应设置 DF 位.

Sun 网络文件系统 (Network File System, NFS) 使用远程过程调用 (Remote Procedure Call, RPC) 协议 [11], 在许多情况下, 发送的数据报即使对于第一跳链路也必须进行分片. 这在某些情况下可能会提高性能, 但已知会导致可靠性和性能问题, 尤其是当客户端和服务器被路由器分隔时.

我们建议 NFS 实现在涉及路由器时使用 PMTU 发现. 大多数 NFS 实现允许在挂载时更改 RPC 数据报大小 (间接地, 通过更改有效文件系统块大小), 但可能需要一些修改以支持后续的更改.

此外, 由于单个 NFS 操作不能跨多个 UDP 数据报拆分, 某些操作 (主要是对文件名和目录进行操作的操作) 需要的最小数据报大小可能大于 PMTU. NFS 实现不应将数据报大小降低到此阈值以下, 即使 PMTU 发现建议更低的值. (当然, 在这种情况下, 数据报不应设置 DF 位发送.)