美文网首页
OSI网络七层模型

OSI网络七层模型

作者: 东了个尼 | 来源:发表于2019-08-19 15:28 被阅读0次

如果你读过计算机专业,或者学习过网络通信,那你一定听说过 OSI 模型,它曾无数次让你头大。OSI 是 Open System Interconnection 的缩写,译为“开放式系统互联”。

OSI 模型把网络通信的工作分为 7 层,从下到上分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。

OSI 只是存在于概念和理论上的一种模型,它的缺点是分层太多,增加了网络工作的复杂性,所以没有大规模应用。后来人们对 OSI 进行了简化,合并了一些层,最终只保留了 4 层,从下到上分别是接口层、网络层、传输层和应用层,这就是大名鼎鼎的 TCP/IP 模型。

OSI 七层网络模型和 TCP/IP 四层网络模型的对比

这个网络模型究竟是干什么呢?简而言之就是进行数据封装的。

我们平常使用的程序(或者说软件)一般都是通过应用层来访问网络的,程序产生的数据会一层一层地往下传输,直到最后的网络接口层,就通过网线发送到互联网上去了。数据每往下走一层,就会被这一层的协议增加一层包装,等到发送到互联网上时,已经比原始数据多了四层包装。整个数据封装的过程就像俄罗斯套娃。

当另一台计算机接收到数据包时,会从网络接口层再一层一层往上传输,每传输一层就拆开一层包装,直到最后的应用层,就得到了最原始的数据,这才是程序要使用的数据。

给数据加包装的过程,实际上就是在数据的头部增加一个标志(一个数据块),表示数据经过了这一层,我已经处理过了。给数据拆包装的过程正好相反,就是去掉数据头部的标志,让它逐渐现出原形。

你看,在互联网上传输一份数据是多么地复杂啊,而我们却感受不到,这就是网络模型的厉害之处。我们只需要在代码中调用一个函数,就能让下面的所有网络层为我们工作。

我们所说的 socket 编程,是站在传输层的基础上,所以可以使用 TCP/UDP 协议,但是不能干「访问网页」这样的事情,因为访问网页所需要的 http 协议位于应用层。

两台计算机进行通信时,必须遵守以下原则:

  • 必须是同一层次进行通信,比如,A 计算机的应用层和 B 计算机的传输层就不能通信,因为它们不在一个层次,数据的拆包会遇到问题。
  • 每一层的功能都必须相同,也就是拥有完全相同的网络模型。如果网络模型都不同,那不就乱套了,谁都不认识谁。
  • 数据只能逐层传输,不能跃层。
  • 每一层可以使用下层提供的服务,并向上层提供服务。

相关文章

  • Java远程网络通讯协议之TCP/IP

    OSI七层网络模型 一般我们说的网络模型都是OSI网络模型,而所谓的OSI网络模型一般分为七层,这七层从上到下分别...

  • 聊聊网络模型

    OSI七层模型 网络七层协议,英文Open System Interconnection,简称OSI。OSI七层协...

  • linux网络管理-1

    网络基础 ISO/OSI 七层模型 OSI七层模型TCP/IP四层模型是在ISO/OSI七层模型的基础上演变而来的...

  • http工作原理相关

    1. OSI 七层模型 OSI(Open System Interconnection,开放系统互连)七层网络模型...

  • Linux网络管理技术

    Linux网络管理技术 OSI七层模型和TCP/IP四层模型 OSI七层参考模型,TCP/IP四层参考模型 OSI...

  • 网络模型,http协议,tcp/ip,在浏览器地址栏输入url到

    网络模型 目前公认的网络模型有两种,一种是OSI七层模型,另一种则是TCP/IP四层模型 OSI七层模型:OSI(...

  • Android网络编程总结

    Android网络编程总结 1.网络分层 OSI七层模型OSI七层协议模型主要是:应用层(Application)...

  • 计算机网络

    OSI 七层模型 OSI七层网络模型TCP/IP四层概念模型 图解计算机网络 TCP/UDP TCP(Transm...

  • http

    1.OSI七层模型指什么? OSI七层模型结构:OSI七层模型是通过七个层次化的结构模型使不同的系统不同的网络之间...

  • 网络 - 收藏集 - 掘金

    漫谈网络通信——从 OSI 网络模型到 TCP/IP 协议族 - 前端 - 掘金 OSI七层模型 OSI(Open...

网友评论

      本文标题:OSI网络七层模型

      本文链接:https://www.haomeiwen.com/subject/tszssctx.html