解释会话层的功能。

会话层服务由功能单元集提供,功能单元集构成会话层。会话层可以理解为一个通用的工具包,用户可以从中选择要使用的工具。

会话层提供的功能如下:

会话建立

会话层的主要功能是在通信用户之间提供和建立连接,称为会话。它可以通过这些会话以可靠和有序的方式传输数据。

它可以在两台计算机之间建立一个会话,用于通信、文件传输、远程登录或其他目的。它可以建立面向连接和无连接的会话,但无连接会话对于面向用户的会话层是没有用的。

会话连接类似于传输连接。会话建立请求必须确保传输连接的建立。当会话被释放时,传输连接也被释放。存在将会话映射到传输连接的三种方式。

一对一映射、多对一映射和一对多映射。在一对一映射中,一个会话使用一个传输连接。在多对一映射中,连续会话使用相同的传输连接,而在一对多映射中,一个会话跨越多个传输连接。

正常数据传输

它是会话层的基本功能。用户实体之间的数据交换可以是双向交替(半双工)或双向同时(全双工)。在半双工模式下,只有一个用户拥有发起数据传输的独占权。相反,在另一种情况下,可以在两个方向上同时传输数据。

对话管理

在某些情况下,会话连接是全双工的,但上层有时以半双工模式进行通信。在这种情况下,会话层必须跟踪轮到谁说话,这被称为对话管理。数据令牌用于实现对话管理。

当半双工会话建立时,通过初始协商确定哪一方先收到令牌。拥有令牌的用户可以传输数据。而另一个保持沉默。当令牌持有者完成传输时,它将令牌传递给其他用户,一旦收到给另一个用户,它现在可以传输数据。在全双工操作的情况下,不使用令牌进行数据传输。

会话发布

为了释放会话连接,使用以下四种变体之一:

  • 用户中止

  • 提供者中止

  • 有序发布

  • 协商发布

在用户中,中止会话连接可以被释放而不是被任何一个用户中止。类似地,在提供者中止中,会话由提供者或多个提供者中止。用户之间存在双向交互;因此在释放连接之前,传输的数据会被传送到它们的目的地。

以这种方式释放,任何用户或提供者都可以请求释放会话连接,其他用户必须接受释放。在协商释放中,拥有释放令牌的用户可以发起释放会话连接的请求。其他用户可以根据条件和要求接受或拒绝会话释放请求。如果它被接受,则会话被释放。

在用户中止和提供者中止中,会话中止而不通知其他实体丢失传输数据。同时,有序放行和协商放行的情况并非如此。提供程序中止发生在致命错误的情况下。

同步

同步确保会话服务用户之间在任何时间点都处于相同的交互状态。如果发生错误或不一致,会话实体将移回已知状态。提供此服务是因为传输层仅屏蔽通信错误而不是上层错误。

为了实现这个目标,同步点被插入到交互中。发送方插入序列号作为同步点,接收方通过发回序列号确认收到。

它与确认不同,因为确认是指协议数据单元的接收。主要和次要同步点用于使通信实例成为对话单元或对话单元内。

前者会立即确认,而后者可能不会。它们都使用标准的序列号,由它们各自的令牌控制。

重新同步

有时需要将对话状态恢复到某些先前定义的状态。这称为后向同步或重新同步。会话层实体也提供它。

重新同步有三个选项:设置、放弃和重新启动。只要可能需要,发送会话用户将继续保存数据以实现同步。当重新同步发生时,所有令牌都恢复到设置同步点时的原始位置。

活动管理

会话层允许用户区分在会话期间执行的活动。用户可以将消息流拆分为多个逻辑单元。这些逻辑单元称为活动,将消息流拆分为活动称为活动管理。

报告

会话层的功能之一是它的意外错误报告功能。它是一种通用机制,如果用户陷入其中,则允许向对等方报告问题。此报告同样适用于用户检测到的错误、协议错误或一些其他意外错误。