网络协议分层

经典五层模型(客户端)

五层模型在服务端时,与客户端顺序相反

物联网五层架构 物联网五层模型_传输层


低三层
  • 物理层主要的作用就是定义物理设备如何去传输数据
  • 简单来说物理层是什么呢?就是我们电脑的硬件,我们的网卡端口,网线以及我们网线连出去之后,要有一条光缆来为我们把数据传输到互联网,可能经过好几千公里的这种情况下,把数据传输到对面的一个服务器上面,所以这些物理的内容是必须要有的,没有物理我们的软件是没有办法去使用的,所以呢,物理层就是这些硬件设备相关的东西
  • 数据链路层是在我们的通信实体之间建立数据链路的连接
  • 那么怎么理解呢?就是说我们用物理是可以把两台机器连接在一起的,那么也要有一个软件服务,帮我们去通过物理的设备去创建一个电路的连接,也就是说这两边可以去传输数据,这边呢,数据链路层基本上就是我们最基础的电脑的传输数据呢,就是0101之类的
  • 网络层是为数据节点之间的传输创建一个逻辑电路
  • 那么逻辑电路它会包含一些,比如说我们从我的电脑要去访问百度的服务器,那么我们如何去寻找百度这台服务器它所在的地址,它就是一个逻辑关系,那么这个关系是在网络层为我们去创建的
  • 底三层对于web服务来讲不是很重要,了解即可

传输层

  • 主要有两个协议,TCP/IP协议、UDP协议,在更多的情况下,我们使用的基本上是TCP/IP协议,因为它是一个更可靠的一个协议,帮我们去传输数据。
  • 传输层为我们提供了端到端的一个服务
  • 是什么概念呢?就是我们建立起了从我们自己的电脑到百度的服务器之间的这么一个连接之后,它们两端如何去传输一个数据,它的传输数据的方式都是在这一层进行一个定义的,我们传输的数据有可能很小,有可能很大,那么如果传输的数据大,一次性我们不能把这么大的数据传输过去,那么我们要分包要分片,这些分片之后的数据传输到那边之后,又要进行一个组装,组装这个过程就这些它的协议的定义,它如何去组装,如何去传输,都是在传输层进行一个定义
  • 传输层向高层屏蔽了下层数据的通信的细节
  • 什么概念呢?因为我们HTTP协议是实现在TCP/IP协议基础上,我们HTTP协议要阐述一个数据,我们只需要非常简单的,比如说在浏览器里面输入一个url,它就会自动去发送相关的一些数据到服务器端,然后服务器端能够解析这些数据返回给我们的浏览器,然后把页面显示出来,那么我们输入URL这个过程其实涉及到了一系列的数据的拼装以及去传输,那么这个过程我们作为浏览器端、我们作为用户、或者说我们作为网页的开发者,不需要知道它里面到底是怎么去分片,它怎么去跟服务器创建一个连接的关系,这些内容我们是完全不需要知道的,因为这是传输层它已经把我们封装掉的
  • 还有就是比如说我们创建一个AJAX请求,那么AJAX请求也是一个HTTP的请求,我们使用AJAX的POST的方式去传输一些数据,那么这些数据如果比较大的时候,它也是一次性它传输不完的,那么它如何去进行一个传输,如何能够可靠的把我们想要的信息传输给服务器,服务器返回信息又如何可靠的给我们拿到,那么这个过程都传输层帮我们去实现了,所以我们HTTP协议层是不需要关心的,虽然说不需要关心,但是如果你能更好的去理解陈述它的一个传输的过程,那这个时候可能对于在某一些细节上面去实现一个性能更高的HTTP协议的使用方式,可能会是有非常大的帮助的

应用层

  • 为应用软件提供了很多服务
  • 就是我们最主要的HTTP协议在这个层级上去实现的,它为我们应用软件提供了很多服务,我们写网页的时候,我们使用HTTP协议去发送请求,我们其实是非常方便的,只要去new一个request,然后就可以去把一些数据通过比如说post的get的方式去发送到服务端,这就是应用层的HTTP协议帮我们实现HTTP协议,然后我们只要去使用HTTP协议相关的一些工具,就可以帮我们去传输一些数据
  • 构建于TCP协议之上的
  • 所以呢,它的传输的方式最终都是要落实于在TCP/IP协议上面
  • 它屏蔽了网络传输相关的一些细节
  • 那么就跟我们TCP,帮我们屏蔽了说HTTP协议,它数据如何去发送的这些细节一样,我们在使用HTTP协议的时候,具体的网络传输的细节,那么我们也是不需要去真正的理解的
这就是我们今年的5层网络传输模型的一个分层方式,以及每一层他基本上主要干的一些事情,那么这些是相对于一篇理念的东西,大家可能先有一个概念