‘壹’ OSI参考模型的数据封装过程
OSI参考模型中每个层次接收到上层传递过来的数据后都要将本层次的控制信息加入数据单元的头部,一些层次还要将校验和等信息附加到数据单元的尾部,这个过程叫做封装。
每层封装后的数据单元的叫法不同,在应用层、表示层、会话层的协议数据单元统称为data(数据),在传输层协议数据单元称为segment(数据段),在网络层称为packet(数据包),数据链路层协议数据单元称为frame(数据帧),在物理层叫做bits(比特流)。
当数据到达接收端时,每一层读取相应的控制信息根据控制信息中的内容向上层传递数据单元,在向上层传递之前去掉本层的控制头部信息和尾部信息(如果有的话)。此过程叫做解封装。
这个过程逐层执行直至将对端应用层产生的数据发送给本端的相应的应用进程。
以用户浏览网站为例说明数据的封装、解封装过程。
当用户输入要浏览的网站信息后就由应用层产生相关的数据,通过表示层转换成为计算机可识别的ASCII码,再由会话层产生相应的主机进程传给传输层。传输层将以上信息作为数据并加上相应的端口号信息以便目的主机辨别此报文,得知具体应由本机的哪个任务来处理;在网络层加上IP地址使报文能确认应到达具体某个主机,再在数据链路层加上MAC地址,转成bit流信息,从而在网络上传输。报文在网络上被各主机接收,通过检查报文的目的MAC地址判断是否是自己需要处理的报文,如果发现MAC地址与自己不一致,则丢弃该报文,一致就去掉MAC信息送给网络层判断其IP地址;然后根据报文的目的端口号确定是由本机的哪个进程来处理,这就是报文的解封装过程。
‘贰’ 以下哪些正确描述了 osi 数据封装的过程
OSI七层模型分别为应用层、表示层、会话层、传输层、网络层、数据链路层、物理层。作用分别为:应用层为用户的应用程序提供接入网络的接口。表示层将用户数据进行相应的编码或格式转换。会话层区分通信中的不同上层程序,为每个进程建立单独的链接,并维护和管理通信的过程。传输层为数据的可靠传输提供一种安全可靠的方式。网络层完成数据在网络中的实际传输,确定地址和最佳路径数据链路层使用硬件地址来定位远程主机,传输数据并进行必要的流量控制和差错校验。物理层传输比特流。将链路层的数据用高低不同的电平值表示发送到物理线路上。物理层规定了设备的接口形状、针脚个数、针脚不同电平值的含义。最初的计算机网络每家厂商迪标准都不同,这就造成了不同厂商的计算机在互连时难以互通的情况。这样就形成了一个个的由同一家厂商计算机构成的孤岛网络,而不同厂商的网络难以互联。这样限制了计算机和网络的发展。因而ISO组织制定了开放式系统互联模型(OSI),旨在使所有遵循该标准的厂商生产的设备具有通用性。从而使不同厂商的设备互联称为显示。OSI采用分层设计的方式,将一个复杂的网络问题划分成了多个小的问题。使网络的维护更利于实现、使网络技术更利于更新。但由于OSI的标准实在是太严格了,目前还没有完全按照OSI标准设计的网络。但是,OSI给设计网络和网络排错提供了一个非常好的模型和思路-------一个完整的应该具备哪些功能?该功能在哪个层次?通过这样的思考方式很容易定位网络的故障。也很容易的来衡量出一个现实的网络是否完善。OSI模型中的通信过程。主机A向主机B发送数据,该数据的产生肯定是一个应用层的程序产生的,如IE浏览器或者Email的客户端等等。这些程序在应用层需要有不同的接口,IE是浏览网页的使用HTTP协议,那么HTTP应用层为浏览网页的软件留下的网络接口。Email客户端使用smtp和pop3协议来收发电子邮件,所以smtp和pop3就是应用层为电子邮件的软件留下的接口。我们假设A向B发送了一封电子邮件,因此主机A会使用smtp协议来处理该数据,即在数据前加上SMTP的标记,以便使对端在收到后知道使用什么软件来处理该数据。应用层将数据处理完成后会交给下面的表示层,表示层会进行必要的格式转换,使用一种通信双方都能识别的编码来处理该数据。同时将处理数据的方法添加在数据中,以便对端知道怎样处理数据。表示层处理完成后,将数据交给下一层会话层,会话层会在A主机和B主机之间建立一条只用于传输该数据的会话通道,并监视它的连接状态,直到数据同步完成,断开该会话。注意:A和B之间可以同时有多条会话通道出现,但每一条都和其他的不能混淆。会话层的作用就是有法来区别不同的会话通道。会话通道建立后,为了保证数据传输中的可靠性,就需要在数据传输的构成当中对数据进行不要的处理,如分段,编号,差错校验,确认、重传等等。这些方法的实现必须依赖通信双方的控制,传输层的作用就是在通信双方之间利用上面的会话通道传输控制信息,完成数据的可靠传输。网络层是实际传输数据的层次,在网络层中必须要将传输层中处理完成的数据再次封装,添加上自己的地址信息和对端接受者的地址信息,并且要在网络中找到一条由自己到接收者最好的路径。然后按照最佳路径发送到网络中。数据链路层将网络层的数据再次进行封装,该层会添加能唯一标识每台设备的地址信息(MAC地址),是这个数据在相邻的两个设备之间一段一段的传输。最终到达目的地。物理层将数据链路层的数据转换成电流传输的物理线路。通过物理线路传递的B主机后,B主机会将电信号转换成数据链路层的数据,数据链路层再去掉本层的硬件地址信息和其他的对端添加的内容上交给网络层,网络层同样去掉对端网络层添加的内容后上交给自己的上层。最终数据到达B主机的应用层应用层看到数据使用smtp协议封装,就知道应用电子邮件的软件来处理。两个OSI参考模型之间的通行看似是水平的,但实际上数据的流动过程是有最高层垂直的向下交给相邻的下层的过程。只有最下面的物理层进行了实际的通行。而其他层次只是一种相同层次使用相同协议的虚通信。学习OSI应掌握,分层、协议、实体、服务、接口、虚通信等多个概念。封装指将本层控制信息添加在数据前的一种行为。解封装指接收方将对端添加的控制信息去除的行为。
‘叁’ 写出OSI七层封装和解封装的过程
OSI(Open System Interconnection)参考模型把网络分为七层:
1.物理层(Physical Layer)
物理层主要传输原始的比特流,集线器(Hub)是本层的典型设备;
2.数据链路层(Data Link Layer)
数据链路层负责在两个相邻节点间无差错的传送以帧为单位的数据,本层的典型设备是交换机(Switch);
3.网络层(Network Layer)
网络层主要完成的工作是:选择合适的网间路由和交换节点,网络层将数据层提供的帧组成数据包,包中封装有网络层包头,包头中含有逻辑地址信息(源主机和目标主机的网络地址),典型设备是路由器(Router);
4.传输层(Transport Layer)
传输层为两个端系统(即源主机和目标主机)的回话提供建立,维护和取消传输连接的功能.这一层传输的信息以报文为单位.
5.会话层(Session Layer)
会话层及以上层中数据传送的单位不再另外命名,统称为报文.
会话层管理进程之间的会话过程,即负责建立,管理,终止进程之间的会话.会话层还通过在数据中插入校验点来实现数据的同步.
6.表示层(Presentation Layer)
表示层负责对上层数据进行转换,以保证一个主机的应用层的数据可以被另一个主机的应用层理解.表示层的数据转换包括对数据的加密,解密,压缩,解压和格式转换.
7.应用层(Application Layer)
应用层确定进程之间通信的实际用途;
‘肆’ 简述数据通过计算机网络的通信过程。
过程:电脑将数据封装上一定的头部,转换成0,1等二进制信号在线路上传播给路由器,路由器根据路由表转发数据,直达目的主机,再拆去头部信息,将纯的数据交给应用程序。
c/s(客户机/服务器)有三个主要部件:数据库服务器、客户应用程序和网络。服务器负责有效地管理系统的资源,其任务集中于:
1.数据库安全性的要求
2.数据库访问并发性的控制
3.数据库前端的客户应用程序的全局数据完整性规则
4.数据库的备份与恢复
客户端应用程序的的主要任务是:
1.提供用户与数据库交互的界面
2.向数据库服务器提交用户请求并接收来自数据库服务器的信息
3.利用客户应用程序对存在于客户端的数据执行应用逻辑要求
4.网络通信软件的主要作用是,完成数据库服务器和客户应用程序之间的数据传输。
三层C/S结构是将应用功能分成表示层、功能层和数据层三部分。
解决方案是:对这三层进行明确分割,并在逻辑上使其独立。
在三层C/S中, 表示层 是应用的用户接口部分,它担负着用户与应用间的对话功能。它用于检查用户从键盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使用图形用户接口 (GUI),操作简单、易学易用。在变更用户接口时,只需改写显示控制和数据检查程序,而不影响其他两层。检查的内容也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑。
功能层 相当于应用的本体,它是将具体的业务处理逻辑地编入程序中。表示层和功能层之间的数据交往要尽可能简洁。
数据层 就是DBMS,负责管理对数据库数据的读写。DBMS必须能迅速执行大量数据的更新和检索。现在的主流是关系数据库管理系统 (RDBMS)。因此一般从功能层传送到数据层的要求大都使用SQL语言。
在三层或N层C/S结构中,中间件 (Middleware) 是最重要的部件。所谓中间件是一个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架。它的功能是在客户机和服务器或者服务器和服务器之间传送数据,实现客户机群和服务器群之间的通信。其工作流程是:在客户机里的应用程序需要驻留网络上某个服务器的数据或服务时,搜索此数据的C/S应用程序需访问中间件系统。该系统将查找数据源或服务,并在发送应用程序请求后重新打包响应,将其传送回应用程序。随着网络计算模式的发展,中间件日益成为软件领域的新的热点。中间件在整个分布式系统中起数据总线的作用,各种异构系统通过中间件有机地结合成一个整体。每个C/S环境,从最小的LAN环境到超级网络环境,都使用某种形式的中间件。无论客户机何时给服务器发送请求,也无论它何时应用存取数据库文件,都有某种形式的中间件传递C/S链路,用以消除通信协议、数据库查询语言、应用逻辑与操作系统之间潜在的不兼容问题。
三层C/S结构的优势主要表现在以下几个方面:
1.利用单一的访问点,可以在任何地方访问站点的数据库;
2.对于各种信息源,不论是文本还是图形都采用相同的界面;
3.所有的信息,不论其基于的平台,都可以用相同的界面访问;
4.可跨平台操作;
5.减少整个系统的成本;
6.维护升级十分方便;
7.具有良好的开放性;
8.系统的可扩充性良好;
9.进行严密的安全管理;
10.系统管理简单,可支持异种数据库,有很高的可用性。
‘伍’ 在数据封装时,每一层都会对数据进行怎样的处理
数据封装
(Data Encapsulation)
数据封装是指将协议数据单元(PDU)封装在一组协议头和尾中的过程。在 OSI 7层参考模型中,每层主要负责与其它机器上的对等层进行通信。该过程是在“协议数据单元”(PDU)中实现的,其中每层的 PDU 一般由本层的协议头、协议尾和数据封装构成。
每层可以添加协议头和尾到其对应的 PDU 中。协议头包括层到层之间的通信相关信息。协议头、协议尾和数据是三个相对的概念,这主要取决于进行信息单元分析的各个层。例如,传输头(TH)包含只有传输层可以看到的信息,而位于传输层以下的其它所有层将传输头作为各层的数据部分进行传送。在网络层,一个信息单元由层3协议头(NH)和数据构成;而数据链路层中,由网络层(层3协议头和数据)传送下去的所有信息均被视为数据。换句话说,特定 OSI 层中信息单元的数据部分可能包含由上层传送下来的协议头、协议尾和数据。
例如,如果计算机 A 要将应用程序中的某数据发送至计算机 B 应用层。计算机 A 的应用层联系任何计算机 B 的应用层所必需的控制信息,都是通过预先在数据上添加协议头。结果信息单元,其包含协议头、数据、可能包含协议尾,被发送至表示层,表示层再添加为计算机 B 的表示层所理解的控制信息的协议头。信息单元的大小随着每一层协议头和协议尾的添加而增加,这些协议头和协议尾包含了计算机 B 的对应层要使用的控制信息。在物理层,整个信息单元通过网络介质传输。
计算机 B 中的物理层接收信息单元并将其传送至数据链路层;然后 B 中的数据链路层读取包含在计算机 A 的数据链路层预先添加在协议头中的控制信息;其次去除协议头和协议尾,剩余部分被传送至网络层。每一层执行相同的动作:从对应层读取协议头和协议尾,并去除,再将剩余信息发送至高一层。应用层执行完后,数据就被传送至计算机 B 中的应用程序接收端,最后收到的正是从计算机 A 应用程所发送的数据。
网络分层和数据封装过程看上去比较繁杂,但又是相当重要的体系结构,它使得网络通信实现模块化并易于管理。
解封装正好是封装的反向操作,把封装的数据包还原成数据.
‘陆’ 简述数据封装与解封装的过程
一、数据封装的过程大致如下:
1、用户信息转换为数据,以便在网络上传输。
2、数据转换为数据段,并在发送方和接收方主机之间建立一条可靠的连接。
3、数据段转换为数据包或数据报,并在报头中放上逻辑地址,这样每一个数据包都可以通过互联网络进行传输。
4、数据包或数据报转换为帧,以便在本地网络中传输。在本地网段上,使用硬件地址唯一标识每一台主机。
5、帧转换为比特流,并采用数字编码和时钟方案。
二、数据解封装的过程
仍然以OSI模型为例来说明数据解封装的过程。数据的接收端从物理层开始,进行与发送端相反的操作,称为“解封装”,如下图所示,最终使应用层程序获取数据信息,使得两点之间的一次单向通信完成。
需要说明的是,应用最为广泛的TCP/IP协议可以看作是OSI协议层的简化,它分为四层:数据链路层、网络层、传输层、应用层,其各层对应的数据封装与OSI大同小异。
(6)计算机网络各层次通信中数据封装的过程是扩展阅读:
一、原理
数据封装是指将协议数据单元(PDU)封装在一组协议头和尾中的过程。在OSI7层参考模型中,每层主要负责与其它机器上的对等层进行通信。该过程是在“协议数据单元”(PDU)中实现的,其中每层的 PDU 一般由本层的协议头、协议尾和数据封装构成。
每层可以添加协议头和尾到其对应的 PDU 中。协议头包括层到层之间的通信相关信息。协议头、协议尾和数据是三个相对的概念,这主要取决于进行信息单元分析的各个层。例如,传输头(TH)包含只有传输层可以看到的信息,而位于传输层以下的其它所有层将传输头作为各层的数据部分进行传送。
在网络层,一个信息单元由层3协议头(NH)和数据构成;而数据链路层中,由网络层(层3协议头和数据)传送下去的所有信息均被视为数据。换句话说,特定 OSI 层中信息单元的数据部分可能包含由上层传送下来的协议头、协议尾和数据。
二、数据封装协议
SDH网络中封装协议有多种,最常用的有PPP/HDLC、LAPS、GFP。某一些设备厂商的专有封装协议。
1、PPP/HDLC协议
为点到点协议,它要利用HDLC(高速数据链路控制)协议来封装帧,用字节同步的方式把HDLC帧映射入SDH的VC中,成为VC的净荷。
在POS系统中,可用来承载IP数据;在SDH系统中,用来承载以太帧。
2、LAPS协议
为链路接入协议,这种方式特别用于SDH链路承载以太帧,它与HDLC十分相似。
G3、FP协议
为通用帧协议,是一种链路层标准。这种封装协议可以承载所有的数据业务,是一种可以透明地将各种数据信号封装进现有网络的技术,可以替代众多不同的封装方法,有利于各厂商设备之间的互联互通。
GFP采用不同的业务数据封装方法对不同的业务数据进行封装。包括帧映射(GFP-F)和透明传输(GFP-T)两种模式。
‘柒’ 关于网络传输过程的数据封装
数据封装(Data Encapsulation)是指将协议数据单元(PDU)封装在一组协议头和尾中的过程。在OSI七层参考模型中,每层主要负责与其它机器上的对等层进行通信。该过程是在协议数据单元(PDU)中实现的,其中每层的PDU一般由本层的协议头、协议尾和数据封装构成本文选自WireShark数据包分析实战详解清华大学出版社。
为了帮助用户更清楚的理解数据封装过程,下面通过一个实例来说明这个过程。假设某个公司局域网使用以太网,当员工从局域网的FTP服务器下载一个文件时,该文件从FTP服务器到员工主机的传输过程如图1.17所示本文选自WireShark数据包分析实战详解清华大学出版社。
在图1.17中,FTP服务器作为数据的发送端,员工主机作为数据的接收端。下面分别介绍数据发送和接收处理过程。
1.数据发送处理过程数据封装协议数据单元封装WireShark数据包分析
(1)应用层将数据交给传输层,传输层添加上TCP的控制信息(称为TCP头部),这个数据单元称为段(Segment),加入控制信息的过程称为封装。然后,将段交给网络层。
(2)网络层接收到段,再添加上IP头部,这个数据单元称为包(Packet)。然后,将包交给数据链路层。
(3)数据链路层接收到包,再添加上MAC头部和尾部,这个数据单元称为帧(Frame)。然后,将帧交给物理层。
(4)物理层将接收到的数据转化为比特流,然后在网线中传送。
2.数据接收处理过程数据封装协议数据单元封装WireShark数据包分析
(1)物理层接收到比特流,经过处理后将数据交给数据链路层。
(2)数据链路层将接收到的数据转化为数据帧,再除去MAC头部和尾部,这个除去控制信息的过程称为解封装,然后将包交给网络层。
(3)网络层接收到包,再除去IP头部,然后将段交给传输层。
(4)传输层接收到段,再除去TCP头部,然后将数据交给应用层。
从以上传输过程中,可以总结出以下几点。如下所示:
(1)发送方数据处理的方式是从高层到底层,逐层进行数据封装。
(2)接收方数据处理的方式是从底层到高层,逐层进行数据解封装。
(3)接收方的每一层只把对该层有意义的数据拿走,或者说每一层只能处理发送方同等层的数据,然后把其余的部分传递给上一层,这就是对等层通信的概念本文选自WireShark数据包分析实战详解清华大学出版社数据封装协议数据单元封装WireShark数据包分析。
‘捌’ 网络层封装的过程是什么
1.高层数据 应用层/表示层/会话层
2.TCP头部|高层数据 传输层
3.IP包头|数据 网络层
4.LLC头部|数据|FCS LLC子层 数据
5.MAC头部|数据|FCS MAC子层 链路层
比特流 物理层
‘玖’ 简述osi/rm数据封装过程
第一层:物理层(PhysicalLayer),规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。具体地讲,机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息是,DTE和DCE双放在各电路上的动作系列。
在这一层,数据的单位称为比特(bit)。
属于物理层定义的典型规范代表包括:EIA/TIA RS-232、EIA/TIA RS-449、V.35、RJ-45等。
第二层:数据链路层(DataLinkLayer):在物理层提供比特流服务的基础上,建立相邻结点之间的数据链路,通过差错控制提供数据帧(Frame)在信道上无差错的传输,并进行各电路上的动作系列。
数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理地址寻址、数据的成帧、流量控制、数据的检错、重发等。
在这一层,数据的单位称为帧(frame)。
数据链路层协议的代表包括:SDLC、HDLC、PPP、STP、帧中继等。
第三层是网络层
在计算机网络中进行通信的两个计算机之间可能会经过很多个数据链路,也可能还要经过很多通信子网。网络层的任务就是选择合适的网间路由和交换结点, 确保数据及时传送。网络层将数据链路层提供的帧组成数据包,包中封装有网络层包头,其中含有逻辑地址信息- -源站点和目的站点地址的网络地址。
如果你在谈论一个IP地址,那么你是在处理第3层的问题,这是“数据包”问题,而不是第2层的“帧”。IP是第3层问题的一部分,此外还有一些路由协议和地址解析协议(ARP)。有关路由的一切事情都在第3层处理。地址解析和路由是3层的重要目的。网络层还可以实现拥塞控制、网际互连等功能。
在这一层,数据的单位称为数据包(packet)。
网络层协议的代表包括:IP、IPX、RIP、OSPF等。
第四层是处理信息的传输层。第4层的数据单元也称作数据包(packets)。但是,当你谈论TCP等具体的协议时又有特殊的叫法,TCP的数据单元称为段(segments)而UDP协议的数据单元称为“数据报(datagrams)”。这个层负责获取全部信息,因此,它必须跟踪数据单元碎片、乱序到达的数据包和其它在传输过程中可能发生的危险。第4层为上层提供端到端(最终用户到最终用户)的透明的、可靠的数据传输服务。所为透明的传输是指在通信过程中传输层对上层屏蔽了通信传输系统的具体细节。
传输层协议的代表包括:TCP、UDP、SPX等。
第五层是会话层
这一层也可以称为会晤层或对话层,在会话层及以上的高层次中,数据传送的单位不再另外命名,统称为报文。会话层不参与具体的传输,它提供包括访问验证和会话管理在内的建立和维护应用之间通信的机制。如服务器验证用户登录便是由会话层完成的。
第六层是表示层
这一层主要解决拥护信息的语法表示问题。它将欲交换的数据从适合于某一用户的抽象语法,转换为适合于OSI系统内部使用的传送语法。即提供格式化的表示和转换数据服务。数据的压缩和解压缩, 加密和解密等工作都由表示层负责。
第七层应用层,应用层为操作系统或网络应用程序提供访问网络服务的接口。
应用层协议的代表包括:Telnet、FTP、HTTP、SNMP等。