我试图了解OSI和TCP / IP模型之间的关系,并在以下链接中阅读到OSI模型中的链接,即在每一层添加/删除一个标头:
那篇文章详细介绍了在TCP / IP模型的每一层添加/删除的标头,似乎在每一层都添加了一个标头。
我想知道的是:
我已经阅读到OSI和TCP / IP模型都是理论上的;它们以何种方式进行理论计算,并且各自以何种方式在物理上准确?例如,TCP / IP的“应用程序”层对应于OSI的“应用程序/演示/会话”层;由三个组件组成的Applications TCP / IP层的报头是什么,每个组件都被视为OSI的Application / Presentation / Session层的报头?
答案 0 :(得分:1)
该文章具有误导性。并非每一层都只是添加一个标题是不正确的。
每一层都在对上面的层进行某种封装。对于第3层和第4层,至少在这两层是IP和UDP / TCP时,才使用标头完成此封装。但是这些层的封装还包括内容的碎片化,即将大数据散布到多个数据包中。
通信的应用层封装或加密比简单的标头复杂得多,并且取决于特定的应用层或加密协议。
理论上是什么方法,物理上又是什么方法?
这些只是模型。这意味着它们是对现实的简化抽象。尽管它们准确地描述了2..4层,尤其是OSI模型5..7层与当今的现实不符。在创建这些模型时,网络世界变得更加简单,并且OSI模型中的5..7层看起来是开发协议的有用方法。
但是在现实会议中,演示文稿和应用程序都是按照当今的协议混合在一起的:如果HTTPS内容是通过HTTP协议传输的,则该协议随后将在TLS隧道内,但是该隧道可能再次在SOCKS隧道内甚至启动HTTP CONNECT请求(HTTP代理)。像WebSockets这样的第4层协议本质上是在第7层协议HTTP等通道内建立的。甚至还设计了在HTTPS连接内将TLS记录作为JSON交换的设计。
这意味着TCP / IP协议更适合当今的现实,这是因为它更简单并且没有某些预想不到的抽象层,这些抽象层后来证明不被使用。