2012-07-24 85 views

回答

56

从第1.2节以在TCP/IP Illustrated: Vol 1 by Richard Stevens et al, 考虑4层状TCP/IP堆栈:

 +-------------+-------------------------+ 
     | Application | Telnet, FTP, etc  | 
     +-------------+-------------------------+ 
     | Transport | TCP, UDP    | 
     +-------------+-------------------------+ 
     | Network  | IP, ICMP    | 
     +-------------+-------------------------+ 
     | Link  | drivers, interface card | 
     +-------------+-------------------------+ 

:如果传输协议是TCP,从TCP发送到数据的单元 网络层被称为

数据报:这用于2层。如果网络协议是IP,则数据单元 被称为数据报。在传输层,如果协议是UDP,那么我们在那里也使用数据报 。因此,我们将它们区分为UDP数据报,IP数据报

:物理层表示。

数据包:这是一个更通用的术语,用于传输层或网络层。 TCP数据包UDP数据包IP数据包等等。我还没有看到它代表 物理层数据单元。

片段:这里我的猜测是,当数据的单元是切碎由 协议以适应MTU大小,数据的所得到的单元被称为片段。 但我猜测。

+2

虽然它并不常见,但偶尔会听到“以太网数据包”,例如[在Wireshark wiki上](http://wiki.wireshark.org/Ethernet)。 “Frame”在物理层肯定更为标准。 – 2012-07-24 21:37:25

+0

“协议数据单元”是一种通用的OSI-ish术语,适用于所有这些层级。 – 2012-07-24 21:38:58

+0

我还没有读过这本书,但我应该......但你确定这是从史蒂文斯的书中找到的吗? '从技术的角度来看,这看起来并不完全正确。我认为在TCP/IP参考模型/体系结构中,它是互联网层而不是网络层。网络层是ISO/OSI术语。我想在TCP/IP参考模型中有一个“链路层”,我没有在你的答案中看到。而在ISO OSI ref模型中,第1层(物理层)我听到一个叫'符号'的数据包,第2层是一个帧。 – barlop 2014-11-19 06:35:51

4

上述答案已完成。不过,我认为术语分组从分组交换来了,如果我记得正确的..

有2种类型:

电路交换正在实施电信网络的方法,其中两个网络节点建立专用通信信道(电路)在节点可以通信之前通过网络。该电路保证了信道的全带宽并保持连接的通信会话的持续时间。该电路的功能就好像节点与电路一样物理连接。(维基)

分组交换是数字网络通信方法,其组中的所有传输的数据 - 不管内容,类型或结构 - 成适当大小的块,称为包(维基)

我将不得不定义它自己,但只是要肯定

所以这里是包术语。关于片段我同意与Josua Schmid的答案。

1

我同意上面的答案,但重要的是要强调这是假设TCP/IP堆栈。如果我们使用了OSI模型,这在我看来是比较普遍的,我们将有以下情况:

传输层:段;如TCP,数据报如果UDP 网络层:数据报,片段可如果分割使用(它仍然是数据报) 数据链路层:帧在LLC子层MAC子层,框架或位(取决于你的工作是什么级别,它们是不可互换) 物理层:比特

而作为中提到以前的答案包更通用,它可以用于传输,网络或数据链路层,但不适用于物理层。在这个层面上,它还没有被“包装”。所以我想说这是TCP/IP协议栈模型和OSI模型最大的区别。 OSI模型将物理层从TCP/IP堆栈分解为两层:数据链路和物理层。

希望这会有所帮助。

+0

Upvoting回答与OSI的搭配。然而,我不同意你的“单一最大差异”声明:TCP/IP堆栈模型将数据链路和物理结合到“网络访问”中,这是事实,但它*也*将OSI的前三层应用程序,应用层“。 – Wildcard 2015-10-08 08:15:34

2

作为物理层表示不听起来100%准确。它主要位于物理层之上的数据链路层。

对于更具操作性的定义,我会说帧是一个协议数据单元,它具有确定其边界的方法。实例:

  • HDLC帧具有开始和结束和一个位填充
    机构
  • 以太网帧使用前同步码和SFD标志
  • GFP使用HEC帧描述,如ATM

A cell,就像在ATM中一样,只是多介绍一个词,是一个固定长度的框架。

A 数据包是一种协议数据单元,它依赖于较低层单元来确定其边界。如果需要,它可能完全适合于一个框架或被分解为片段。在后一种情况下,必须设计碎片和重新组装机制。 数据报大部分是数据包的同义词。

应用程序数据流可以分解为。段通过数据报进行传输,然后将段重新组合为原始应用程序流。这通常由TCP层完成。因此,在TCP中,我们通过数据链路帧在IP数据报上有TCP段上的应用程序流。在UDP中没有分段,所以UDP数据报被一对一地映射到IP数据报上。

+0

这可能是一个有用的答案,但请记住,阅读此文的人正试图*清除*基本*术语的混淆,并引入附加术语HDLC,SFD,GFD,HEC和ATM,这是真的没有必要回答这个问题。引入“单元格”是很好的,因为你也包含了一个定义。 – Wildcard 2015-10-08 08:12:28

+1

@Wildcard他介绍了reframe,因为他对25个upvotes的答案有点困惑,所以他说:“Frame as physical layer representation does not sound 100%accurate to me”,他提到了一个更具操作性的定义,而且他技术性很强,因为他不能简化它。但实际上,它要简单得多。我们可以完全抛出错误的框架定义,并在25个答案中给出答案。框架(OSI术语)不是一个物理层的东西,它是一个数据链路层的东西。而且是数据(就像物理上的所有东西)。不需要不同的实际和操作定义! – barlop 2015-10-08 09:06:33

+0

我们可以说在**传输层**中发送的**数据**是**数据包**,它由**标题**(**段**,**数据报**)和**消息**(数据层)? – 2015-12-14 23:31:43

1

数据报是... 一个独立的,独立的数据实体,携带足够的信息从源端路由到目标计算机,而不依赖此源和目标计算机和传输网络之间的早期交换。 (...在UDP使用)

段是.... 它由一个TCP报头和一个应用程序数据块(分组),它来自于(上部)应用层的协议数据单元

+0

你能提供其他问题的答案吗? – 2016-06-08 04:02:55

0

这些术语用于指代我们所指的OSI层,数据保持相同,但是标题和预告片正被添加或删除。

在PHY层即物理层中的实际数据是“位”,即0和1

当它达到它变成“帧”与获取添加源和目的地MAC地址的数据链路层或2层。

当它到达第三层或网络层时,它将成为一个“数据包”,并附有源和目标IP地址。

最后它成为第4层或TCP/IP层的“段”。基本上“段”术语用于TCP连接和UDP的“数据报”。

那么其他图层如:会话,演示文稿和应用程序呢?在这些层中,数据被称为“PDU”或“协议数据单元”。

所以,当有人说,网络设备正在接收一个“帧”,那么你知道该设备是交换机。

路由器收到一个数据包并对其进行处理。