Skip to content

RFC 5661 - Network File System (NFS) Version 4 Minor Version 1 Protocol

读完了 RFC 7530,抓包时却发现 NULL 后接的 EXCHANGE_ID 操作找不到,才知道这是 NFSv4.1 的内容。

https://www.snia.org/sites/default/files/ESF/Part2-Advances%20in%20NFS%20%E2%80%93%20NFSv4.1%20and%20pNFS%5B1%5D.pdf

NFSv4.1 introduces Sessions

Major extensions introduced in NFS version 4 minor version 1 include Sessions, Directory Delegations, and parallel NFS (pNFS).

NFS version 4 minor version 1 has no dependencies on NFS version 4 minor version 0, and it is considered a separate protocol.

接下来,我们针对 NFSv4.1 引入的 Sessions 进行学习

Session

目录中,可以看到有关 Session 的改变:

  • 第二章:核心基础设施
  • 第八章:状态管理(新增章节)

第二章详细介绍了 Session 的概念:

Limited trunking over multiple network paths.

The NFSv4.1 client can associate an arbitrary number of connections with the session, and thus provide trunking (Section 2.10.5).

先前的协议不能充分利用多条网络路径。NFSv4.1 客户端可在会话中联结任意数量的连接以实现多条网络路径的聚合。

A session is a dynamically created, long-lived server object created by a client and used over time from one or more transport connections.

会话的定义:为一个客户端动态分配,长期保持,在多个传输连接中复用。

A client may have one or more sessions associated with it so that client-associated state may be accessed using any of the sessions associated with that client's client ID, when connections are associated with those sessions

客户端可以建立多个会话,连接和会话之间也没有一一对应的限制。

Client ID and Session Association