因此,我感觉我对应用层和传输层(包括)以下所有层级都有很好的理解。
然而,会话层和表示层,我并没有完全理解。我已经阅读了维基百科中简单的描述,但它没有给出分离这些层级有何用处的例子。
所以:
- 什么是会话层?它是做什么的?在什么情况下,使用会话层比直接与传输层交流更好?
- 什么是表示层?(与上述问题相同)
-亚当
因此,我感觉我对应用层和传输层(包括)以下所有层级都有很好的理解。
然而,会话层和表示层,我并没有完全理解。我已经阅读了维基百科中简单的描述,但它没有给出分离这些层级有何用处的例子。
所以:
-亚当
会话层旨在存储两个连接之间的状态,就像我们在Web编程中使用Cookie一样。
表示层旨在转换不同的格式。当唯一需要担心的格式是字符编码(即ASCII和EBCDIC)时,这更简单。考虑到我们今天拥有的所有不同格式(Quicktime、Flash、PDF),集中化这个层是不可能的。
TCP/IP对这些层没有做任何分配,因为它们真的超出了网络协议的范围。这取决于利用TCP/IP协议栈的应用程序来实现这些功能。
维基百科上没有例子的原因是OSI网络模型的例子并不多。
OSI又一次创建了一个没人使用的标准,所以没有人真正知道应该如何使用它。
如今的Web应用程序很少使用第5-6层,因此你不会听到太多相关信息。TCP/IP协议栈与纯OSI模型略有不同。
TCP/IP被广泛使用的原因之一是OSI过于臃肿和理论化,事实证明,会话层和表示层并不需要作为单独的层。
表现层 表现层代表应用层中与数据表示无关的领域 - 通常,它代表将应用程序格式转换为网络格式或从网络格式转换为应用程序格式的准备或翻译。换句话说,该层“呈现”数据给应用程序或网络。一个很好的例子是加密和解密数据以进行安全传输 - 这发生在第6层。
会话层 当两个设备、计算机或服务器需要“交谈”时,需要创建一个会话,这是在会话层完成的。该层的功能包括建立、协调(例如系统等待响应的时间有多长)和终止会话两端的应用程序之间的通信。
我认为表示层协议定义了数据的格式。这意味着像XML或ASN.1这样的协议。你可以争论视频/音频编解码器是表示层的一部分,尽管这可能朝着应用层发展。
我无法帮助你理解会话层。那总是让我感到困惑。
说实话,在传输层以上的所有内容都有非常模糊的界限。这是因为通常由单个软件应用程序处理。此外,这些层与从A到B传输数据没有直接关联。第4层及以下每个层次在移动数据方面都有非常具体的目的,例如交换、路由、确保数据完整性等。这使得区分这些层变得更容易。
对于表示层:由于大多数通信是在异构系统(操作系统、编程语言、CPU架构)之间完成的,因此我们需要使用统一的独立规范,例如ANS1和BRE。