网络世界中常用的两个词 - 数据包和帧。
任何人都可以详细说明这两个词之间的区别吗?
希望这可能听起来很愚蠢但是这意味着如下
数据包是网络OSI模型第3层(网络层 - IP数据包)的PDU协议传送单元。
帧是OSI模型的第2层(数据链路)的PDU。
答案 0 :(得分:73)
数据包和框架是Protocol data units (PDUs)
给network layers的名称细分是传输层中的数据单位(TCP / UDP in 互联网案例)
数据包是网络层中的数据单位 (如果是因特网的IP)
框架是链接层中的数据单位(例如,Wifi, 蓝牙,以太网等)。
答案 1 :(得分:15)
数据包是网络承载的格式化数据单元的通用术语。它不一定连接到特定的OSI模型层。
例如,在物理层(第1层)上的以太网协议中,数据单元称为"以太网数据包",其具有Ethernet frame(第2层)作为其有效载荷。但是网络层(第3层)的数据单位也称为"数据包"。
帧也是数据传输的单位。在计算机网络中,该术语仅用于数据链路层(第2层)的上下文中。
数据包和帧之间的另一个语义差异是,一个帧用头和一个预告片封装你的有效载荷,就像一个帧中的绘画一样,而一个数据包通常只有一个头。
但最后他们的意思大致相同,并且在谈论不同的层时,这种区别被用来避免混淆和重复。
答案 2 :(得分:6)
实际上,当我们谈论参考模型(或协议栈)层时,通常使用五个词:data
,segment
,packet
,frame
和{ {1}}。 PDU(bit
)一词用于指OSI模型不同层中的数据包。因此,PDU给出了数据包的抽象概念。 PDU在不同的层中具有不同的含义,但我们仍可以将其用作通用术语。
当我们提出您的问题时,我们可以使用通用词Protocol Data Unit
来调用所有这些,但是如果您想在给定的层上专门调用它们:
答案 3 :(得分:4)
考虑TCP over ATM。 ATM使用48字节帧,但显然TCP数据包可能比这大。帧是通过数据链路(以太网,ATM)作为一个单元发送的数据块。数据包是作为一个单元在其上面的层(IP)上发送的数据块。如果数据链路专门针对IP,如以太网和WiFi,则这些将是相同的大小,数据包将对应于帧。
答案 4 :(得分:2)
分组
数据包是在Internet或任何其他数据包交换网络上的源和目标之间路由的数据单位。当任何文件(电子邮件,HTML文件,图形交换格式文件,统一资源定位器请求等)从Internet上的一个地方发送到另一个地方时,TCP / IP的传输控制协议(TCP)层划分将文件转换为" chunks"路由的有效大小。这些数据包中的每一个都是单独编号的,并包含目标的Internet地址。给定文件的各个分组可以通过因特网传播不同的路由。当它们全部到达时,它们被重新组装成原始文件(通过接收端的TCP层)。
框
1)在电信领域,帧是在网络点之间传输的数据,作为一个单元,具有寻址和必要的协议控制信息。帧通常是逐位串行传输的,并且包含一个报头字段和一个拖车字段,该字段是" frame"数据。 (某些控制帧不包含数据。)
2)在时分复用(TDM)中,帧是时分期内事件的完整周期。
3)在电影和视频录制和播放中,帧是记录和播放的一系列图像中的单个图像。
4)在计算机视频显示技术中,帧是发送到显示图像渲染设备的图像。它从帧缓冲区不断更新或刷新,帧缓冲区是视频RAM中高度可访问的部分。
5)在人工智能(AI)应用程序中,框架是一组数据,其中包含有关特定对象,过程或图像的信息。一个例子是虹膜打印视觉识别系统,用于识别某些银行自动柜员机的用户。该系统将潜在用户的数据帧与其授权用户数据库中的帧进行比较。