网络七层协议/OSI七层模型

大熊 发表于: 2021-04-29   最后更新时间: 2021-05-07 09:57:55  
{{totalSubscript}} 订阅,55 游览

七层网络模型

七层网络模型就是OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO组织在1985年研究的网络互连模型。是用来将世界各地计算机关联到一起通信的模型,该模型一共定了7层,简单来说,七层网络模型就是用来解决如何在不同主机之间进行通信的。

OSI七层参考模型的各个层次的划分遵循下列原则:

1、同一层中的各网络节点都有相同的层次结构,具有同样的功能。
2、同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信。
3、七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。
4、不同节点的同等层按照协议实现对等层之间的通信。

从最底层到最高层分别是物理层, 数据链路层, 网络层, 传输层, 会话层, 表示层, 应用层

如图所示:
screenshot

物理层:

解决两个硬件之间怎么通信的问题,常见的物理媒介有光纤、电缆、中继器等。它主要定义物理设备标准,如网线的接口类型、光纤的接口类型、各种传输介质的传输速率等。

它的主要作用是传输比特流(就是由1、0转化为电流强弱来进行传输,到达目的地后在转化为1、0,也就是我们常说的数模转换与模数转换)。这一层的数据叫做比特。

数据链路层:

在计算机网络中由于各种干扰的存在,物理链路是不可靠的。该层的主要功能就是:通过各种控制协议,将有差错的物理信道变为无差错的、能可靠传输数据帧的数据链路。

它的具体工作是接收来自物理层的位流形式的数据,并封装成帧,传送到上一层;同样,也将来自上层的数据帧,拆装为位流形式的数据转发到物理层。这一层的数据叫做帧。

网络层:

计算机网络中如果有多台计算机,怎么找到要发的那台?如果中间有多个节点,怎么选择路径?这就是路由要做的事。

该层的主要任务就是:通过路由选择算法,为报文(该层的数据单位,由上一层数据打包而来)通过通信子网选择最适当的路径。这一层定义的是IP地址,通过IP地址寻址,所以产生了IP协议。

传输层:

当发送大量数据时,很可能会出现丢包的情况,另一台电脑要告诉是否完整接收到全部的包。如果缺了,就告诉丢了哪些包,然后再发一次,直至全部接收为止。

简单来说,传输层的主要功能就是:监控数据传输服务的质量,保证报文的正确传输。

会话层:

虽然已经可以实现给正确的计算机,发送正确的封装过后的信息了。但我们总不可能每次都要调用传输层协议去打包,然后再调用IP协议去找路由,所以我们要建立一个自动收发包,自动寻址的功能。于是会话层出现了:它的作用就是建立和管理应用程序之间的通信。

表示层:

表示层负责数据格式的转换,将应用处理的信息转换为适合网络传输的格式,或者将来自下一层的数据转换为上层能处理的格式。

应用层:

应用层是计算机用户,以及各种应用程序和网络之间的接口,其功能是直接向用户提供服务,完成用户希望在网络上完成的各种工作。前端同学对应用层肯定是最熟悉的。

两个主机之间的通信

两个主机之间的通信

物理层对应的物理实体就是网线,水晶头。数据链路层对应的物理实体就是交换机,网络层对应的是路由器。

想象一个数据包从一个主机发送出来,经过网线水晶头(物理层),再经过交换机(数据链路层),然后通过路由器(网络层),到达另一个主机。

之后,这个数据包将离开物理硬件,完全进入到软件的范畴了。这个包是是用tcp或者udp来进行传输(传输层),然后两个主机开始建立会话并管理会话(会话层),然后解决不同系统之间的识别问题(表示层),最后到达应用(应用层)来处理这个数据包。

(end)



您需要解锁本帖隐藏内容请: 点击这里
本帖隐藏的内容


上一条: Linux 守护进程daemon和nohup
下一条: OSI模型与TCP/IP协议的区别

提问