55

网络术语中使用哪些单位?我们在哪里使用它们?

我知道以下内容 - 但我不确定它们的含义是什么:

  • 分段
  • 分割
  • 框架
  • 数据报

它们可以分配给特定的 OSI 层吗?是不是更复杂?

4

7 回答 7

87

取自Richard Stevens 等人的 TCP/IP Illustrated: Vol 1 中的第 1.2 节,考虑 4 层 TCP/IP 堆栈:

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

Segment:如果传输协议是 TCP,那么从 TCP 发送到网络层的数据单位称为Segment

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

:物理层表示。

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

Fragment:我的猜测是,当一个数据单元被协议分割以适应 MTU 大小时,生成的数据单元称为Fragments。但我猜。

于 2012-07-24T18:28:47.940 回答
8

这些术语用于指代我们所指的 OSI 层,数据保持不变,但标头和尾标被添加或删除。

在物理层(即物理层)中,实际数据以“位”为单位,即 0 和 1。

当它到达数据链路层或第 2 层时,它变成了“帧”,其中添加了源和目标 MAC 地址。

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

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

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

因此,当有人说网络设备正在接收“帧”时,您就知道该设备是交换机。

路由器接收数据包并处理它。

于 2016-06-10T06:28:51.420 回答
4

上面的答案是完整的。尽管如此,如果我没记错的话,我认为数据包这个术语来自数据包交换......

有 2 种类型:

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

分组交换是一种数字网络通信方法,它将所有传输的数据——无论内容、类型或结构——分组到适当大小的块中,称为数据包。(维基)

我会自己定义它,但只是为了确定

所以这里是数据包术语。关于片段,我同意Josua Schmid 的回答。

于 2013-11-30T16:50:36.923 回答
2

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

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

  • HDLC 帧在开始和结束时具有标志以及位填充
    机制
  • 以太网帧使用前导码和 SFD
  • GFP 使用 HEC 帧描述,如 ATM

一个信元,就像在 ATM 中一样,只是为了多介绍一个术语,是一个固定长度的帧。

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

一个应用程序数据流可以分成多个。段在数据报上承载,然后段被重新组合到原始应用程序流中。这通常由 TCP 层完成。因此,在 TCP 中,我们在数据链路帧上通过 IP 数据报在 TCP 段上使用应用程序流。在 UDP 中没有分段,所以 UDP 数据报是一对一映射到 IP 数据报上的。

于 2015-06-30T08:47:18.630 回答
1

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

传输层:如果是 TCP 则为分段,如果是 UDP 则为数据报 网络层:如果拆分,则可以使用数据报,片段(它仍然是数据报) 数据链路层:MAC 子层中的帧,LLC 子层中的帧或位(取决于什么级别与您一起工作,它们不可互换)物理层:位

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

希望这可以帮助。

于 2015-02-17T00:49:35.960 回答
1

数据报是……一个自包含的、独立的数据实体,它携带足够的信息,可以从源计算机路由到目标计算机,而不依赖于该源计算机和目标计算机以及传输网络之间的早期交换。(……在 UDP 中使用)

一个段是……一个协议数据单元,它由一个 TCP 标头和一个来自(上)应用层的应用数据块(数据包)组成

于 2016-06-08T03:57:33.400 回答
0

数据包:网络中源和目标之间通信的基本单位是数据包。数据包是 OSI 模型中网络层内的数据单元。数据包位于网络层

片段:数据包通常可以大于最大大小,因此每个数据包也被分成更小的数据片段,称为片段。网络层负责分片。

:段是一个数据包的碎片,每个数据包都有一个 TCP 标头。段提高了网络性能的效率并提高了安全性。段位于传输层中。

:类似于数据包,帧是网络中消息的一小部分。帧是 OSI 模型的数据链路层中使用的数据单位。

数据报:数据报表示网络中传输的数据单元。在网络中传输的数据被分成更小的部分,称为数据报。传输

另外,还有一些class bit,这个在一个Physical layer

于 2022-02-01T11:10:02.073 回答