我目前正在尝试处理 IP 数据包碎片。我需要以某种方式标记具有某些值的碎片数据包(根据某些信息将它们分类到一个桶中),但是在它们被碎片化后我会收到它们。我不能保证到达片段的顺序,也不能保证我会按顺序收到每个片段。例如,对于数据包 A、B 和 CI 可以按以下顺序接收片段:A1、B1、B2、C1、A2、C2、B3、C4、C3、A4、A3……我不能假设任何事情。
现在我正在使用最简单的方法,并将这些片段保存在列表中。我的问题是,何时(以及是否有可能)我可以知道特定数据包的所有片段都已到达并且我可以从缓存中丢弃该数据包?我可能在 IP 标头字段中遗漏了一些东西......
谢谢您的帮助。