【发布时间】:2012-07-23 02:21:13
【问题描述】:
网络术语中使用哪些单位?我们在哪里使用它们?
我知道以下内容 - 但我不确定它们的含义:
- 片段
- 段
- 数据包
- 框架
- 数据报
可以将它们分配给特定的 OSI 层吗?是不是更复杂?
【问题讨论】:
标签: networking ip definition osi
网络术语中使用哪些单位?我们在哪里使用它们?
我知道以下内容 - 但我不确定它们的含义:
可以将它们分配给特定的 OSI 层吗?是不是更复杂?
【问题讨论】:
标签: networking ip definition osi
取自 TCP/IP Illustrated: Vol 1 by Richard Stevens et al 中的第 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,单位 数据称为数据报。在传输层,如果协议是UDP,我们使用数据报 也有。因此,我们将它们区分为UDP 数据报、IP 数据报。
Frame:物理层表示。
数据包:这是一个更通用的术语,用于传输层或网络层。 TCP Packet、UDP Packet、IP Packet等我没见过代表 物理层数据单元。
片段:我的猜测是,当一个数据单元被一个 协议以适应 MTU 大小,生成的数据单元称为 Fragments。 但我猜。
【讨论】:
这些术语用于指代我们所指的 OSI 层,数据保持不变,但标头和尾标被添加或删除。
在物理层(即物理层)中,实际数据以“位”为单位,即 0 和 1。
当它到达数据链路层或第 2 层时,它变成“帧”,并添加了源和目标 MAC 地址。
当它到达第三层或网络层时,它变成一个“数据包”,附有源和目标 IP 地址。
最后它在第 4 层或 TCP/IP 层成为“段”。基本上“段”一词用于 TCP 连接,“数据报”用于 UDP。
那么其他层呢,例如:会话、表示和应用程序?在这些层中,数据被称为“PDU”或“协议数据单元”。
因此,当有人说网络设备正在接收“帧”时,您就知道该设备是交换机。
路由器收到一个数据包并处理它。
【讨论】:
上面的答案是完整的。不过,如果我没记错的话,我认为数据包这个术语来自数据包交换..
有两种类型:
电路交换是一种实现电信网络的方法,其中两个网络节点在节点可以通信之前通过网络建立专用通信通道(电路)。该电路保证通道的全带宽,并在通信会话期间保持连接。电路的功能就像节点与电路物理连接一样。(Wiki)
分组交换是一种数字网络通信方法,它将所有传输的数据——无论内容、类型或结构——分组到适当大小的块中,称为数据包。(Wiki)
我会自己定义它,但只是为了确定。
所以这里是数据包术语。关于片段我同意与 Josua Schmid 的回答。
【讨论】:
Frame 作为物理层表示对我来说听起来不是 100% 准确。它主要位于物理之上的数据链路层。
对于更具操作性的定义,我会说帧是一种协议数据单元,它具有确定其边界的方法。例子:
一个cell,就像在ATM中一样,只是为了多介绍一个术语,是一个固定长度的帧。
数据包是一个协议数据单元,它依赖于较低层单元来确定其边界。如果需要,它可能完全适合一帧或分成片段。在后一种情况下,必须设计碎片和重组机制。 Datagram大多是packet的同义词。
应用程序数据流可以分成段。段在数据报上承载,然后段被重新组合到原始应用程序流中。这通常由 TCP 层完成。因此,在 TCP 中,我们在数据链路帧上通过 IP 数据报在 TCP 段上使用应用程序流。 UDP中没有分段,所以UDP数据报是一对一映射到IP数据报上的。
【讨论】:
我同意上面的答案,但重要的是要强调这是假设 TCP/IP 堆栈。如果我们使用我认为更普遍的 OSI 模型,我们会有以下情况:
传输层:如果是 TCP 则分段,如果是 UDP 则为数据报 网络层:Datagram, Fragment 如果拆分可以使用(它仍然是一个数据报) 数据链路层:MAC 子层中的帧、LLC 子层中的帧或位(取决于您使用的级别,它们不可互换) 物理层:位
正如前面的答案中提到的,数据包更通用,它可以用于传输层、网络层或数据链路层,但不能用于物理层。在这个级别,它还没有被“打包”。所以我想说这是 TCP/IP 堆栈模型和 OSI 模型之间最大的区别。 OSI 模型将 TCP/IP 堆栈中的物理层分解为两层:数据链路层和物理层。
希望这会有所帮助。
【讨论】:
一个数据报是.... 一个自包含、独立的数据实体,携带足够的信息,可以从源计算机路由到目标计算机,而不依赖于该源计算机和目标计算机与传输网络之间的早期交换。 (……在 UDP 中使用)
一个段是.... 一个协议数据单元,它包含一个 TCP 头和一个来自(上)应用层的应用数据块(数据包)
【讨论】:
数据包:网络中源和目标之间通信的基本单位是数据包。数据包是 OSI 模型中网络层内的数据单元。数据包位于网络层。
片段:数据包通常可以大于最大大小,因此每个数据包也被分成更小的数据片段,称为片段。 网络层负责分片。
Segment:Segment 是数据包的碎片,每个数据包中都有一个 TCP 标头。段提高了网络性能的效率并提高了安全性。段位于传输层中。
帧:类似于数据包,帧是网络中消息的一小部分。帧是 OSI 模型的数据链路层中使用的数据单位。
数据报:数据报表示网络中传输的数据单元。在网络中传输的数据被分成更小的部分,称为数据报。 运输 层
另外,还有一些类位,这是在一个Physical layer
【讨论】: