Packet 和 Frame

一般说来,数据链路层发出的数据包称为frame,地址是链路层的地址,如mac地址;网络层发出的数据包称为packet,地址是网络层地址,如ip地址;传输层发出的数据包称为segment,地址是传输层地址,如TCP的端口号。

数据的封装过程: 1.data 2.segment 3.packet 4.frame 5.bit

对应的协议: 1.application-session (Represen layer is in the middle) layer 2.transprot layer 3.network layer 4.data link layer 5.physical layer

————————————————————

datagram(数据报)与packet(数据包)区别:

datagram(数据报) -- 在网络层中的传输单元(例如IP)。一个datagram可能被压缩成一个或几个packets,在数据链路层中传输。

packet(数据包) -- 封装的基本单元,它穿越网络层和数据链路层的分解面。通常一个packet映射成一个frame,但也有例外:即当数据链路层执行拆分或将几个packet合成一个frame的时候。

二层的PDU叫做Frame; IP的叫做Packet; TCP的叫做Segment; UDP的叫做Datagram。

OSI参考模型的各层传输的数据和控制信息具有多种格式,常用的信息格式包括帧、数据包、数据报、段、消息、元素和数据单元。信息交换发生在对等OSI层之间,在源端机中每一层把控制信息附加到数据中,而目的机器的每一层则对接收到的信息进行分析,并从数据中移去控制信息。

下面是各信息单元的说明:

帧(frame)是一种信息单位,它的起始点和目的点都是数据链路层。

数据包(packet)也是一种信息单位,它的起始和目的地是网络层。

数据报(datagram)通常是指起始点和目的地都使用无连接网络服务的的网络层的信息单元。

段(segment)通常是指起始点和目的地都是传输层的信息单元。

消息(message)是指起始点和目的地都在网络层以上(经常在应用层)的信息单元。

元素(cell)是一种固定长度的信息,它的起始点和目的地都是数据链路层。元素通常用于异步传输模式(ATM)和交换多兆位数据服务(SMDS)网络等交换环境。

数据单元(data unit)指许多信息单元。常用的数据单元有服务数据单元(SDU)、协议数据单元(PDU)。

SDU是在同一机器上的两层之间传送信息。PDU是发送机器上每层的信息发送到接收机器上的相应层(同等层间交流用的)。

时间: 2024-11-08 21:13:58

Packet 和 Frame的相关文章

CCNA学习笔记1---OSI TCP/IP模型

一.网络中实际应用分类 成块数据流:FTP.TFTP.库存更新 无需直接人工交互 带宽很重要,但并非关键性因素 交互式数据流:库存查询,数据库更新 人机交互 响应时间 事实应用数据流:VoIP 视频 人与人的交互 端到端的延时至关重要 二.网络拓扑分类 目前,实际中都是星型,前两种只理论上概念 上图是扩展星型.优点:无中心,分布式.高可用避免单点故障造成网络瘫痪. 三.OSI七层模型 ◆ 理解端到端数据传输的流程 分层优点:1.促进标准化工作,允许各供应商独立开发 2.各层间独立,把网络操作分成

最简单的基于FFmpeg的AVfilter例子(水印叠加)

FFMPEG中有一个类库:libavfilter.该类库提供了各种视音频过滤器.之前一直没有怎么使用过这个类库,最近看了一下它的使用说明,发现还是很强大的,有很多现成的filter供使用,完成视频的处理很方便.在此将它的一个例子基础上完成了一个水印叠加器,并且移植到了VC2010下,方便开发人员学习研究它的使用方法. 该例子完成了一个水印叠加的功能.可以将一张透明背景的PNG图片作为水印叠加到一个视频文件上. 下面直接贴上代码: /* * 最简单的基于FFmpeg的AVFilter例子(叠加水印

转: 最简单的基于FFmpeg的AVfilter例子(水印叠加)

该例子完成了一个水印叠加的功能.可以将一张透明背景的PNG图片作为水印叠加到一个视频文件上. 1. [代码][C/C++]代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65

最简单的基于FFMPEG的转码程序

本文介绍一个简单的基于FFmpeg的转码器.转码器在视音频编解码处理的程序中,属于一个比较复杂的东西.因为它结合了视频的解码和编码.一个视频播放器,一般只包含解码功能:一个视频编码工具,一般只包含编码功能:而一个视频转码器,则需要先对视频进行解码,然后再对视频进行编码,因而相当于解码器和编码器的结合.下图例举了一个视频的转码流程.输入视频的封装格式是FLV,视频编码标准是H.264,音频编码标准是AAC:输出视频的封装格式是AVI,视频编码标准是MPEG2,音频编码标准是MP3.从流程中可以看出

FFMPEG实现的转码程序

本例子是由FFEMPG的doc/example例子transcode.c修改而来,可以根据需求任意转换音视频的编码. 原来的例子的作用更类似于remux,并没有实现转码的功能,只是实现了格式转换,比如ts转avi等.并不能实现音视频编码格式的转换,比如将h264转为mpeg2. FFMPEG转码的实现有多种方式: 一种方式是:流解复用->视频+音频流->解码->YUV/PCM等->视音频编码->重新生成的音视频流->复用->流 另一种方式依赖AVFilter,这一

最简单的基于FFmpeg的内存读写的例子:内存转码器

上篇文章记录了一个基于FFmpeg的内存播放器,可以使用FFmpeg读取并播放内存中的数据.这篇文章记录一个基于FFmpeg的内存转码器.该转码器可以使用FFmpeg读取内存中的数据,转码为H.264之后再将数据输出到内存.关于如何从内存读取数据,以及如何将数据输出到内存,可以参考文章: ffmpeg 从内存中读取数据(或将数据输出到内存) FFmpeg读写内存的关键点有2个:1.       初始化自定义的AVIOContext,指定自定义的回调函数.2.       自己写回调函数.注意函数

TCP中在发送的数据的ACK未回来前,能继续发送其他数据包吗?

##基础## - 对应层数据的名称 - Application  <->  Package - Translation  <->  Segment - Networking   <->  Packet - DataLink     <->  Frame - TCP是一种基于字节流的协议,TCP 中的ACK是接收端期待发送端下一个发来的数据包的序列号 - MSS 是在建立连接时通过SYN数据包中的MSS选项里进行协商的(以太网的MTU能到1500,所以MSS可

帧、报文、报文段、分组、包、数据报的概念区别

分组.包,packet,信息在互联网当中传输的单元,网络层实现分组交付.用抓包工具抓到的一条条记录就是包. 帧,frame,数据链路层的协议数据单元.我们将链路层分组称为帧. 数据报,Datagram,通过网络传输的数据的基本单元,包含一个报头(header)和数据本身,其中报头描述了数据的目的地以及和其它数据之间的关系.可以理解为传输数据的分组.我们将通过网络传输的数据的基本单元称为数据报. 报文段,segment,组成报文的每个分组.我们将运输层分组称为报文段. 报文,message,一般指

基于最简单的FFmpeg采样读取内存读写:存储转

===================================================== 基于最简单的FFmpeg样品系列读写内存列表: 最简单的基于FFmpeg的内存读写的样例:内存播放器 最简单的基于FFmpeg的内存读写的样例:内存转码器 ===================================================== 上篇文章记录了一个基于FFmpeg的内存播放器,能够使用FFmpeg读取并播放内存中的数据. 这篇文章记录一个基于FFmpeg的