Linux网络管理之基础知识详解(2)

那要怎么办呢?这个时候我们就要说一说OSI的七层协议了。这个协议就是把整个网络连接过程分成7层,每一层都是特别的独立的功能,而且每层的程序代码可以独立撰写。这样一来,当某个小环节出现问题时,只要将该层级的程序代码重新撰写即可。

OSI七层协议,越接近硬件的阶层为底层,越接近应用程序的则是高层。具体如图所示:

Linux网络管理之基础知识详解

4.2 数据传输过程

整个OSI的传送过程就是我们透过应用程序将数据放入途中所示的第七层的包裹内,然后再由第七层放入第六层包裹内,在依次序一直放入至第一层的包裹内,在传送出去给接收端。接收端的主机再从第一个包裹开始拆起,依序拆开所有包裹,再分别交给对应负责的阶层来视察。

既然是包裹,那肯定会有一些表头信息,用来告知对方这里面是什么信息,上层的包裹是放入下层中,所有下层包含上层的表头。数据的封装和解封具体如下图所示:

Linux网络管理之基础知识详解

图1 数据封装

Linux网络管理之基础知识详解

图2 数据解封

4.3 分层作用

看完了OSI的构成和传输情况,接下来我们来聊一聊每一层的作用吧~

分层

 

负责内容

 

物理层

physical

 

由于网络媒体只能传送0与1这种位串,因此物理层必须定义所使用的媒体设备与电压与讯号等,同时还必须了解数据讯框转成位串的编码方式,最后连接实体媒体并传送/接收位串。

 

数据链路层

date link

 

这一层是比较特殊的一个阶层,因为底下是实体的定义,而上层则是软件封装的定义。因此第二层又分为两个子层进行数据的转换动作。

偏硬件媒体部分,主要负责MAC,MAC是网络媒体所能处理的主要数据包裹,这也是最终被物理层编码成位串的数据。目前最长使用的是以太网络协议。

偏向软件的部分则由逻辑连接层控制,主要在多任务处理来自上层的封包数据并转成MAC格式。

 

网络层

network

 

本层通过IP寻址来建立两个节点之间的连接,为源端的运输层送来的分组,选择合适的路由和交换节点,正确无误地按照地址传送给目的端的运输层。就是通常说的IP层。这一层就是我们经常说的IP协议层。IP协议是Internet的基础。

 

传输层

transport

 

定义了发送端与接收端的联机技术(如TCP,UDP技术),同时包括该技术的封包格式,数据封包的传送、流程的控制、传输过程的侦测检查与复原重新传送等等,以确保各个资料封包可以正确无误的到达目的端

 

会话层

session

 

定义了两个地址之间的联机信道之连接与挂断,此外,亦可建立应用程序之对谈、提供其他加强型服务如网络管理、签到签退、对谈之控制等等。如果说传送层是在判断资料封包是否可以正确的到达目标,那么会谈层则是在确定网络服务建立联机的确认

 

表示层

presentation

 

表示层提供各种用于应用层数据的编码和转换功能,确保一个系统的应用层发送的数据能被另一个系统的应用层识别。如果必要,该层可提供一种标准表示形式,用于将计算机内部的多种数据格式转换成通信中采用的标准表示形式。数据压缩和加密也是表示层可提供的转换功能之一。

 

应用层

application

 

应用层本身并不属于应用程序所有,而是在定义应用程序如何进入此层的沟通接口,以将数据接收或传送给应用程序,最终展示给用户。

该层常见的网络协议有:http,https,ftp等。

 
4.4 PDU

PDU(Protocol Data Unit),协议数据单元。是指对等层次之间传递的数据单位。

  物理层的PDU是数据位bit

  数据链路层的PDU是数据帧frame

  网络层的PDU是数据包packet

  传输层的PDU是数据段segment

  其他更高层次的PDU是消息message

在这里,我们还要提到一点,就是数据帧,由于我们的数据链路层主要负责的就是MAC,我们就以MAC帧的格式为例来说明:

MAC帧包括三部分:帧头、数据部分、帧尾。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/13482.html