会话层与传输层

网络工程 奥西
2021-07-16 20:58:13

似乎两者都做同样的事情(或者在两个主机之间建立会话与在两个主机之间建立连接不同?)那么这里究竟有什么区别让我们将它们视为两个独立的层?!

3个回答

在 Internet 世界中,没有严格遵循 OSI 层。

特别是会话层不是在操作系统堆栈中实现的,而是(或多或少)在应用程序内部(或框架中)实现的。对于 HTTP,请考虑会话 cookie 或会话 URL 参数 - HTTP 客户端会话可以包含大量 TCP 连接。对于 FTP,“会话”是可以产生数据连接的控制连接,依此类推。

我通常解释它的方式是考虑在一台计算机上有两个浏览器的具体示例,它们连接到同一个网站并以不同的用户身份登录。

  • 当网页加载页面和图像时,存在任意数量的传输连接
  • 有两个session,通常用 cookie 或其他什么来标识。

正如 Zac 所说,会话几乎在 Web 浏览器和服务器中,而不是其他任何地方。OSI 模型是为了帮助描述事物,而不是强制要求它们是如何实现的。

那么,传输层负责为应用层提供服务:从运行在源主机上的应用程序获取消息,并通过创建逻辑连接将其传递给目标主机上的相应应用程序

但是会话层更多的是关于主机之间的会话(逻辑连接)管理能力。例如,如果某个主机需要密码验证以进行访问,并且如果提供了凭据,则该会话的密码验证不会再次发生。

该层可以协助同步、对话控制和关键操作管理(例如,在线银行交易)。如果特定应用程序需要会话层中的更多功能,则可以将它们包含在该软件的开发中。