精华内容
下载资源
问答
  • IPv4数据报封装与解封装

    千次阅读 2017-05-11 22:15:10
    IPv4数据报封装和解封装

    摘自:《深入理解计算机网络》 王达著 机械工业出版社
    IPv4数据报格式请点击这里

    IPv4数据报的封装与解封装

    IPv4数据报的封装

    发送端网络层生成的IP数据报还要继续往下传输,到达数据链路层后就要封装成数据帧了。IP数据报的“帧封装”原理很简单,只需要把来自网络层的整个IP数据报(包括包头部分和数据部分)当做数据链路层的数据部分,然后再前面加上与数据链路层对应的协议头即可。以太局域网中,由于数据链路层分成了LLC子层和MAC子层的协议头封装,最终形成数据链路层的以太网MAC帧,如下图所示。在帧头中我们一般要加上源和目的节点的MAC地址,因为数据链路层是通过MAC地址进行寻址的。


    IPv4数据报的封装

    IPv4数据报的封装和解封装流程


    IPv4数据报的封装和解封装流程

    以上所述是经过一个网络的情形,如果一个IP数据报在整个传输过程中要经过几个网络时,怎么办呢?这是其实又涉及到一个解封装的过程。解封装就是由数据链路层的帧格式解封成原始的数据报格式。当源主机发送一个IP数据报经过两个路由器连接的三个网络时的封装和解封过程如下(流程图见上图):
    1. 当源主机发送一个IP数据报时,在内网网络1中传输是以帧形式进行的,所以首先需要把元素的IP数据报封装成帧,在网络1中的链路上进行传输。此时把原来的IP数据报作为整个MAC帧的“数据”部分,然后加上网络1链路层协议的头部信息,作为帧头,即帧头1。
    2. 当帧传输到路由器1连接网络1的接口时,相当于要把帧从数据链路层上传到网络层,于是要对原来的帧进行解封装,去掉帧头和帧尾信息(在有帧尾的情况下),还原出原来的IP数据报,以识别包中的目的地址信息,然后根据路由器中的路由表信息进行路由转发。此时IP数据报的内容都没有改变,包括IP包头部分中的源和目的地址信息等。
    3. 当IP数据报在路由器1中从网络1路由到网络2后,又需要在网络2的链路层进行传输,所以又要重新封装成帧,仍把原来的整个IP数据报作为数据部分,不过此时加上的是网络2链路层的协议头信息作为帧头部,即帧头2。
    4. 当帧传输到路由器2连接网络2的接口时,又相当于从数据链路层到了网络层,所以又要对帧进行解封装,仍旧还原出原来的IP数据报,使路由器2可以识别包中的目的地址信息,只有这样路由器2才能根据其路由表信息进行正确的数据报路由、转发。
    5. 当IP数据报在路由器2从网络2到网络3后,又需要在网络3的链路层进行传输,所以又要重新封装和解封,仍把原来的整个IP数据报作为数据部分,不过此时加上的是网络3链路层的协议头信息作为帧头部,即帧头3。
    6. 当从网络3的数据链路层把帧传输到目的主机时,在目的主机上又会对帧进行解封装,去掉帧头和帧尾,还原出原来的IP数据报,以获取IP数据报中的真正数据。
    从以上的过程可以看出,IP数据报无论经过了多少个网络,整个数据报内容都是不会改变的,包括包头部分的源和目的地址信息。变化的只是在不同网络数据链路上传输的帧头信息,即在不同网络链路上传输的帧源MAC地址会改变,目的MAC地址不会改变。

    展开全文
  • 不同的协议层对数据包有不同的称谓,在传输层叫做段(segment),在网络层叫做数据报(datagram),在链路层叫做帧(frame)加上MAC头,加完后再加上一个FCS校验组成数据帧,就封装完成了,然后在物理层通过Bit来...

    一、图形描述

    (1)OSI七层模型
    这里写图片描述

    这里写图片描述

    (2)TCP/IP五层模型的协议

    这里写图片描述

    (3)数据封装

    不同的协议层对数据包有不同的称谓,在传输层叫做(segment),在网络层叫做数据报(datagram),在链路层叫做(frame)加上MAC头,加完后再加上一个FCS校验组成数据帧,就封装完成了,然后在物理层通过Bit来传输。发到传输介质上,到达目的主机后每层协议再剥掉相应的首部,最后将应用层数据交给应用程序处理。

     

    二、TCP/UDP协议

    TCP (Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复 用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、 流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。TCP支持的应用协议主要 有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系 统)、TFTP(通用文件传输协议)等.
    TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点

    三、OSI的基本概念
    OSI是Open System Interconnect的缩写,意为开放式系统互联。
    OSI七层参考模型的各个层次的划分遵循下列原则:
    1、同一层中的各网络节点都有相同的层次结构,具有同样的功能。
    2、同一节点内相邻层之间通过接口(可以是逻辑接口)进行通信。
    3、七层结构中的每一层使用下一层提供的服务,并且向其上层提供服务。
    4、不同节点的同等层按照协议实现对等层之间的通信。

    第一层:物理层(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等。

    除了层的数量之外,开放式系统互联(OSI)模型与TCP/IP协议有什么区别?

    开放式系统互联模型是一个参考标准,解释协议相互之间应该如何相互作用。TCP/IP协议是美国国防部发明的,是让互联网成为了目前这个样子的标准之一。开放式系统互联模型中没有清楚地描绘TCP/IP协议,但是在解释TCP/IP协议时很容易想到开放式系统互联模型。两者的主要区别如下:

    TCP/IP协议中的应用层处理开放式系统互联模型中的第五层、第六层和第七层的功能。

    TCP/IP协议中的传输层并不能总是保证在传输层可靠地传输数据包,而开放式系统互联模型可以做到。TCP/IP协议还提供一项名为UDP(用户数据报协议)的选择。UDP不能保证可靠的数据包传输。

    TCP/IP协议

    TCP(Transmission Control Protocol)和UDP(User Datagram Protocol)协议属于传输层协议。其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送、可靠性、有效流控、全双工操作和多路复用。通过面向连接、端到端和可靠的数据包发送。通俗说,它是事先为所发送的数据开辟出连接好的通道,然后再进行数据发送;而UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。

    TCP支持的应用协议主要有:Telnet、FTP、SMTP等;UDP支持的应用层协议主要有:NFS(网络文件系统)、SNMP(简单网络管理协议)、DNS(主域名称系统)、TFTP(通用文件传输协议)等。

    TCP/IP协议与低层的数据链路层和物理层无关,这也是TCP/IP的重要特点。

    OSI是Open System Interconnect的缩写,意为开放式系统互联。

    展开全文
  • 数据封装过程

    2019-11-18 15:41:11
    ​数据封装过程大致如下: 1.用户信息转换为数据,以便在网络上传输 2.数据转换为数据段,并在发送方和接收方主机之间建立一条可靠的连接 3.数据段转换为数据包或数据报,并在报头中放上逻辑地址,这样每一个...

    ​数据封装的过程大致如下:

    1.用户信息转换为数据,以便在网络上传输
    2.数据转换为数据段,并在发送方和接收方主机之间建立一条可靠的连接
    3.数据段转换为数据包或数据报,并在报头中放上逻辑地址,这样每一个数据包都可以通过互联网络进行传输
    4.数据包或数据报转换为帧,以便在本地网络中传输。在本地网段上,使用硬件地址唯一标识每一台主机。
    5.帧转换为比特流,并采用数字编码和时钟方案

    在这里插入图片描述

    其中在传输层用TCP头已标示了与一个特定应用的连接,并将数据封装成了数据段;网络层则用IP头标示了已连接的设备网络地址,并可基于此信息进行网络路径选择,此时将数据封装为数据包;到了数据链路层,数据已封装成了数据帧,并用MAC头给出了设备的物理地址,当然还有数据校验等功能字段等;到了物理层,则已封装成为比特流,就成为纯粹的物理连接了。
    仍然以OSI模型为例来说明数据解封装的过程。数据的接收端从物理层开始,进行与发送端相反的操作,称为“解封装”,如下图所示,最终使应用层程序获取数据信息,使得两点之间的一次单向通信完成。
    在这里插入图片描述

    注:
    层次(layer)
    接口(interface)
    体系结构(architecture)
    协议(protocol)

    展开全文
  • OSI模型中的数据封装与解封装过程

    万次阅读 2015-11-18 10:56:47
    数据封装(Data Encapsulation),笼统地讲,就是把业务数据映射到某个封装协议的净荷中,然后填充对应协议的包头,形成封装协议的数据包,并完成速率适配。   在OSI参考模型(7层)中,当一台主机需要传送...

    数据封装(Data Encapsulation),笼统地讲,就是把业务数据映射到某个封装协议的净荷中,然后填充对应协议的包头,形成封装协议的数据包,并完成速率适配。  

        在OSI参考模型(7层)中,当一台主机需要传送用户的数据(DATA)时,数据首先通过应用层的接口进入应用层。在应用层,用户的数据被 加上应用层的报头(Application Header,AH),形成应用层协议数据单元(Protocol Data Unit,PDU),然后被递交到下一层-表示层。表示层并不"关心"上层-应用层的数据格式而是把整个应用层递交的数据包看成是一个整体(应用层数据)进行封装,即加上表示层的报头(Presentation Header,PH)。然后,递交到下层-会话层。




    同样,会话层、传输层、网络层(假设用tcp传输,则是TCP数据+ip包头)、数据链路层(把上一层的TCP数据+ip包头统一称为帧数据,帧头+帧数据+帧尾(CRC))也都要分别给上层递交下来的数据加上自己的报头。它们是:会话层报头(Session Header,SH)、传输层报头(Transport Header,TH)、网络层报头(Network Header,NH)和数据链路层报头(Data link Header,DH)。其中,数据链路层还要给网络层递交的数据加上数据链路层报尾(Data link Termination,DT)形成最终的一帧数据。

    当一帧数据通过物理层传送到目标主机的物理层时(物理层将数据转换成比特流在介质中传递),该主机的物理层把它递交到上层-数据链路层。数据链路层负责去掉数据帧的帧头部DH和尾部DT(同时还进行数据校验)。如果数据没有出错,则递交到上层-网络层。

      
      同样,网络层、传输层、会话层、表示层、应用层也要做类似的工作。最终,原始数据被递交到目标主机的具体应用程序中。


    展开全文
  • 数据封装与解封装过程

    千次阅读 2010-04-17 21:45:02
     既然是封装过程,那么一定是数据的发送方,就像我们人写信一样,写好了信,想要邮寄给朋友,必须要写信封,并且把数据封装到信封里吧?那么就从我们的应用层把纯数据封装了一次,紧接着这封信放进了邮筒,邮局拿出...
  • 网络工作原理及数据传输的封装与解封装过程 计算机网络工作原理:是将地理位置不用的具有独立功能的多台计算机及其外部设备、通过通信线路连接起来 、在网络操作系统、网络管理软件及网络通信协议的管理和调节下,...
  • 如图所示,在OSI参考模型中,当一台主机需要传送用户的数据(DATA)时,数据首先通过应用层的接口进入应用层。在应用层,用户的数据被加上应用层的报头(Application Header,AH),形成应用层协议数据单元...
  • 虽然ICMP、IGMP、TCP、UDP的数据都需要IP协议来封装数据报,但是从功能上划分,ICMP、IGMP与IP同属于网络层,TCP和UDP属于传输层。 参考: 《Linux C 编程一站式学习》 《TCP/IP详解 卷一》
  • TCP/IP协议栈与数据报封装(一)

    千次阅读 2014-09-08 09:16:00
    一、ISO/OSI参考模型 物理层(Physical Layer):...虽然ICMP、IGMP、TCP、UDP的数据都需要IP协议来封装数据报,但是从功能上划分,ICMP、IGMP与IP同属于网络层,TCP和UDP属于传输层。
  • 数据的封装 UDP 封装 TCP 封装 IP 封装 ... 唯一不同的是UDP传给IP的信息单元称作UDP数据报 其中每一层对收到的数据都要增加一些首部信息(有时还要增加尾部信息) 注: 4个字节的32b...
  • OSI参考模型中的数据封装过程

    千次阅读 2008-12-18 14:46:00
    图1-2 OSI参考模型中的数据封装过程如图1-2所示,在OSI参考模型中,当一台主机需要传送用户的数据(DATA)时,数据首先通过应用层的接口进入应用层。在应用层,用户的数据被加上应用层的报头(Application Header,...
  • 数据封装与解封装

    千次阅读 2019-05-22 13:24:00
    数据封装是指将协议数据单元(PDU)封装在一组协议头和尾中的过程。在 OSI7层参考模型中,每层主要负责与其它机器上的对等层进行通信。该过程是在“协议数据单元”(PDU)中实现的,其中每层的 PDU 一般由本层的协议...
  • UDP之数据报发送过程

    千次阅读 2018-12-08 02:15:13
    当应用程序调用send()等一系列系统调用向UDP套接字写数据时,最终会调用到UDP的udp_sendmsg(),这篇笔记就以该函数为入口...UDP数据报不像TCP,它是有边界的,即发送端的一个UDP数据报会完整的也被接收端以一个UDP数...
  • 数据封装

    千次阅读 2013-03-10 02:49:02
    数据封装,一台计算机要想发送数据到另一台计算机,数据首先必须打包,打包过程称为封装封装就是在数据前面加上特定的协议头部。 发送方:当应用程序用TCP传送数据时,数据被送入协议栈中,然后通过每一层直到...
  • 以太网数据封装

    千次阅读 2017-11-09 19:56:42
    以太网数据格式与封装解封  我们在上一文中介绍了以太网5层模型,这一节我想学习一下以太网数据封装与解封的知识,了解以太网数据是如何传输的。 一、数据封装  当我们应用程序用TCP传输数据的时候,数据被送入...
  • GRE封装解封装过程

    千次阅读 2015-07-30 16:34:43
    GRE(Generic Routing Encapsulation,通用路由封装)协议是对某些网络层协议(IPX, AppleTalk, IP,etc.)的数据报文进行封装,使这些被封装数据报文能够在另一个网络层协议(如IP)中传输。  GRE采用了Tunnel...
  • : 在IP数据报封装到以太网帧中进行传输时很有用. 标识(IDENTIFICATION): 16位每个IP数据报都有一个本地唯一的标识符,它由信源机赋予IP数据报。每次自动加1. 标志(FLAGS): 3位,表示该IP数据报...
  • 互联数据包封装/解封装过程(OSI) 一言不合来张图: 注意:1.mac地址只在本地有效,通过路由器传输过程中,mac地址会发生改变2.路由器根据路由表识别目标IP地址网段信息,确认是否可以进行转发,或是进行数据包的丢弃...
  • IP传为网络接口层的数据单元被称为IP数据报;通过以太网传输的比特流称作帧。 封装流程图图下图: UDP数据与TCP数据基本一致,唯一不同的是,UDP传给IP的信息单元称为UDP数据包,并且UDP的首部长为8字节。 在...
  • 标志3位,他们各自的意义如下: 保留段位(2):1位,未使用 不分段位(1):1位,取值:0(允许数据报分段)、1(数据报不能分段) 更多段位(0):1位,取值:0(数据包后面没有包,该包为最后的包)、1(数据包后面有更...
  • 网络数据封装

    千次阅读 2019-06-14 10:49:13
    本文以下图为例,对计算机网络中的数据封装进行一个简单的介绍。 从图中可以看到,数据从发送端系统的协议栈向下,沿着中间的链路层交换机和路由器的协议栈上下,到达接收端系统的协议栈,并沿协议栈向上重构发送...
  • tcp 数据封装

    千次阅读 2010-06-05 11:44:00
    数据封装 <br /> 当主机跨越网络向其他设备传输数据时,就要进行数据封装,就是在OSI...但它们也可以附加在数据字段的尾中。  在OSI模型的每一层,通过封装使每个PDU被附加到数据上,而且每个PD
  • 使用Java实现数据报通讯过程

    千次阅读 2006-06-29 04:25:00
    数据报(Datagram)使网络层数据单元在介质上传输信息的一种逻辑分组格式,它是一种在网络中传播的、独立的、自身包含地址信息的消息,它能否到达目的地,到达的时间,到达时内容是否会变化不能准确知道的。...
  • 数据封装、解封与传输1、数据封装与解封概念封装封装就是在数据网络传输之前,数据被添加上必要的协议信息,用以实现数据的传输。当数据沿着OSI参考模型的层次结构向下传递时,OSI参考模型从传输层开始的每一...
  • 网络数据传输的封装

    千次阅读 2016-03-31 15:43:20
    数据封装(Data Encapsulation)是指将协议数据单元(PDU)封装在一组协议头和尾中的过程。在OSI七层参考模型中,每层主要负责与其它机器...为了帮助用户更清楚的理解数据封装过程,下面通过一个实例来说明这个过程。假
  • 在学习计算机网络时,我们经常会遇到帧、数据包、数据报等名词?有人会问,他们不是都一样的吗,不是都是在网络传输的数据概念吗?其实它们三个还真不一样。那我们赶紧看一下他们之间的区别和联系。 &nbsp; &...
  • IP数据包的封装过程

    2020-06-25 17:10:40
    IP数据包的封装过程 4.1 问题 使用eNSP搭建实验环境,分别在G0/0/0和G0/0/1开始抓包,在PC1上ping PC2 观察分析源IP与目的IP、源MAC与目的MAC的变化 4.2 方案 使用eNSP搭建实验环境,如图-8所示。 图-8 4.3 步骤 ...
  • 网络中IP数据报传输的过程

    千次阅读 2016-03-30 16:51:20
    IP数据报需从主机A上传送到主机B上,主机A首先查找路由表; if(目的主机是与自己在同一个网段内) {  主机A查询自己的ARP表;  if(有该目的IP地址对应的MAC地址的记录)  { 将该MAC地址作为目的MAC地址,封装数据帧...
  • IP传为网络接口层的数据单元被称为IP数据报;通过以太网传输的比特流称作帧。   封装流程图图下图:   UDP数据与TCP数据基本一致,唯一不同的是,UDP传给IP的信息单元称为UDP数据包,并且UDP的首...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 75,694
精华内容 30,277
关键字:

数据报封装过程