Closed spongebob888 closed 1 year ago
这个应该是quic库报的错,跟协议应该没什么关系。不过我在测试的时候完全没看到这个问题,我猜有可能跟使用bbr有什么关联。具体的要去挖quinn源码这个报错的地方才能知道。
我稍微看了下源码,https://github.com/quinn-rs/quinn/blame/389d7ce5067fbef460f0730861340b15f13d4803/quinn-proto/src/connection/mod.rs#L1952, 这个dedup好像没什么问题,我感觉是因为你的网络通信延迟/丢包导致这条warning然后体验速度变慢,而不是这个warning本身导致的问题。有可能是bbr的发包频率比一般情况下高,然后导致消息重发然后接收端收到重复的消息,你可以试试revert那个bbr的commit看看还会不会出错。但是这个duplicate包本身这个问题是无法避免的,只要你的网络环境够烂,duplicate非常多也不意外。
确实,晚高峰的时候容易报这个错误。我查了下QUIC协议,协议是允许重复发包的,所以这应该是个安全的Warning。不过 BBR 只管发包,不管接收包,如果是接收端报错应该不是服务端BBR的问题(我使用xray客户端,没有bbr)。
我发现当使用QUIC + Trojan 一段时间后,总是会报警告:
出现这个警告时,延迟会高出许多,体验上感觉速度变慢了。并且这个警告一旦出现,每次发生数据传输都会 发生该警告。这个问题 leaf 也存在。见 eycorsican/leaf#349 ps: 我使用xray作为客户端