这是网络框架的正确定义吗?

这是网络框架的正确定义吗?

我理解的网络帧结构是将数据封装到帧中。这意味着获取数据报并为其添加标头。对吗?

答案1

是也不是。

这里的术语有点模糊,所以无需进一步阐述,您的定义存在一些争议。从高度抽象的角度来看,在协议堆栈的任何层,“数据包”都是包含结构化布局的数据块,“帧”是该层协议数据单元的结构化布局,因此第 6 层数据包包含第 6 层“帧”。此术语在维基百科上使用这里这里

以太网链路上的数据包称为以太网数据包,它以以太网帧作为有效载荷进行传输。来源:https://en.wikipedia.org/wiki/Ethernet_frame

然而,这并不是您在日常 IP 网络或互联网中听到的常用术语。

在一般用语中,当谈论现代数据网络时,尤其是与OSI 模型,帧具体来说是第 2 层 PDU,因此第 3 层数据包被封装在帧内,通过将数据包放在帧的数据区域中(第 4 层“段”封装在第 3 层数据包中)。

维基百科也涉及这种术语差异:

在计算机网络的七层 OSI 模型中,数据包严格指第 3 层(网络层)的数据单元。第 2 层(数据链路层)的数据单元的正确术语是帧,而第 4 层(传输层)的数据单元的正确术语是段或数据报。对于通过以太网进行 TCP/IP 通信的情况,TCP 段由一个或多个 IP 数据包承载,每个 IP 数据包由一个或多个以太网帧承载。来源:https://en.wikipedia.org/wiki/Data_packet#Terminology

封装过程与您建议的大致相同;它本质上是在上层数据前面添加一个标头,并附加一个尾部,但确实涉及基于数据包本身的有效载荷校验和等计算。

希望有帮助。

相关内容