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