本篇文章主要是供自己和大家复习一下网络参考模型中各个层的作用,介绍各层中的协议,层与层之间如何协作将数据跨端传输。
一 协议分层
网络参考模型可以让人们可以更好的理解和研究网络,指的是将网络在逻辑上以结构化的方式按照协议功能分为若干层,特点是在逻辑上相互隔离,软件和硬件在某层协议的实现方式上不影响其它层的实现方式,参考模型分为因特网参考模型和OSI参考模型,因特网参考模型分别是应用层、传输层、网络层、链路层、物理层;OSI参考模型在因特网模型的基础上多了两层分别是会话层和表示层,这两层位于传输层和应用层之间,OSI参考模型分别是应用层、表示层、会话层、传输层、网络层、链路层、物理层;因特网参考模型的五层名字与之对应OSI参考模型的五层功能大致相同。
二 各层功能
应用层
应用层的协议有很多如http、https、ftp、smtp、mqtt等等,应用层的任务是应用程序使用协议与其他应用程序交换信息分组,应用层的信息分组一般称作报文。
表示层
表示层的作用是让交换的信息分组的含义能够让应用程序解释,因为各个计算机体系结构使用的数据表示法不一样,如果想让各个计算机上面的应用程序相互读懂,就需要一种通用的数据格式,让计算机之间进行互操作,提供的服务有三个内容分别是语法转换,语法选择、接联管理。
会话层
利用传输层建立的服务,使应用建立和保持会话,并提供效验点用来使失效的通信恢复正常,如文件传输的断点续传
传输层
传输层有两个著名的协议,一个是TCP,一个是UDP,TCP提供了面向连接服务会尽可能的保证可靠,会将长报文划分为短报文并拥有拥塞机制,当通信链路拥塞时,抑制传输速率,但因为要保证可靠,会浪费时间,对于需要实时性通信的服务不太友好;UDP提供面向无连接服务是不可靠的,没有TCP的流量控制,拥塞控制功能;在传输层加远端口号和目的端口号。
网络层
网络层有著名的网际协议IP,该协议定义了数据报(网络层分组)中的字段以及端系统,路由如何运用这些字段;在网络层加上原ip和目的ip。
链路层
链路层的作用是将网络层的数据报进行节点移动,也就是说网络层要想将数据报进行跨节点传输就需要链路层,链路层提供的服务取决于该链路的特定链路协议,链路层的分组一般称为帧;在数据链路层转化成数据桢进行校验。
物理层
物理层的作用就是将链路层的帧中的比特通过物理媒介(普通网线,光纤等)跨节点移动;比特在物理层变成信号(电、光、等信号)发送出去。
三 封装
从上图可以看出,一个分组具有2种类型的字段,一个是首部字段,一个是有效载荷字段,有效载荷字段通常是来自上一层的分组,应用层向下层发送一个报文后,运输层收取到报文后,会加上附加信息即首部字段如运输层的H1,网络层的Hn等,所以从逻辑层面看每个下层会包含上层的数据,而实际封装会更加复杂,如一个报文可能要划分为多个段,一个段要划分为多个数据报进行传输。