OSI模型如何运作

时间:2018-09-05 05:31:53

标签: networking ethernet osi

美好的一天!

我正在研究OSI模型。

我有一些困惑的问题。

在网络层,数据可以分为多个数据包,然后重新组合。

重组意味着要“按顺序”进行组装,但是数据包在UDP(传输层协议)中可能会乱序。

我的问题是:

  • 您在哪里重新组装小包?
  • 如果您在网络层工作,为什么UDP出故障?
  • 网络层和传输层做什么

1 个答案:

答案 0 :(得分:0)

您要混合使用不同的功能和层。

在网络层中,超大数据包可以被分段,由目的地的网络层重新组合。此功能解决了在跳到跳传输期间MTU可能变得小于实际数据包的问题(在IPv4中-IPv6删除了此功能,有利于路径MTU发现)。

传输层中,存在诸如TCP的(面向连接的)协议,这些协议将连续的数据流划分为可被源和目的地跟踪的段。当所有必要的段均已到达时,数据流将由目标重构。丢失的细分会通过跟踪重新发送。

UDP数据报可能会在此过程中需要分段,从而需要由目的地进行重组。但是,如果其中一个片段丢失,则不会进行重组,也不会将数据报传递给应用程序-它会丢失。

UDP是一种“即发即弃”协议,用于传输数据报。不同的数据报可能采用不同的网络路由,可能导致它们乱序到达。

TCP段丢失时,目的地无法确认。这使源重新发送该段。携带分段的数据包是否需要分段并不重要-仅当所有分段都到达时,重组后的分段才传递给TCP。然后,TCP对该段进行ACK并将数据传递给应用程序。

TCP还可以重建段的顺序,因此数据流与发送的数据完全相同。为此,对段进行编号,并且当它们无序到达时,TCP(传输)层将重新使用它们。