【问题标题】:IP fragments failure on network?网络上的 IP 分段失败?
【发布时间】:2016-12-28 21:57:54
【问题描述】:

试题(没有附加信息):

当一堆 IP 数据报片段通过网络发送,而其中只有一个没有到达目的地时,会发生什么?

我不确定这里是否涉及 ICMP。 ICMP 是否向源发送错误报告报告它需要重新发送相同的片段(仅此一个片段)?

问题出在这里,我不知道 IP 片段是使用 UDP 还是 TCP,因此我不知道问题的答案。

(我已在 networkengineering.stackexchange 上发帖,但我的问题被拒绝了)

【问题讨论】:

  • 正确的答案是“什么都没有”,除非我们将被告知是哪个传输层(如果有的话)正在发送这些数据,而我们没有这样做过;这个问题是题外话。
  • @EJP 这不可能是一道考试题,而且没有给出任何答案选择......
  • 所以向考官投诉。除非传输层是 TCP,否则网络上不会发生任何事情。提供的信息不足,无法以任何其他方式回答。如果这是一个选择题,你应该指出选择是什么。
  • @EJP 假设是TCP?那会发生什么?
  • TCP 将发送一个 ACK​​ 指示它成功接收到连续数据的最后一个序列号,这告诉发送方需要重新发送什么。

标签: tcp udp ip ip-fragmentation


【解决方案1】:

要点:

  • 收到第一个分片触发的定时器超时后,重组主机将丢弃所有分片。
  • 重组主机可能会生成ICMP Time Exceeded (Fragment reassembly time exceeded)
  • 需要已收到第一个片段,ICMP 才能包含触发有效负载的前 8 个字节。除非收到第一个片段,否则 IPv6 不会生成 ICMP Time Exceeded。
  • 对于 IPv6,如果重组后的数据报大于 1500 字节,那么它可能会被静默丢弃。
  • 如果使用了具有可靠传递的更高级别的协议(例如 TCP),则发起主机应重新传输尚未收到确认的数据报。

【讨论】:

    猜你喜欢
    • 2020-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-14
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 2015-04-23
    相关资源
    最近更新 更多