高考结束了,我回来了
前言
国内,此处指大陆地区
这里强调的是目标 IP 为国内 IP 的情况(比如我手头有一台因为『流量费太贵』而食之无味弃之可惜的广州良心云 BGP 机器),是因为我不确定功夫王对于 UDP 流量会不会有特殊照顾,这样就会让不可控参数多了一个,可能会比较麻烦,所以直接假设是『国内 IP 到国内 IP ,不考虑过 Wall 』的情况可能比较好
这里的 UDP包括但不限于KCP 等 UDP-Based 的协议(但是我直觉上认为 KCP 等(算是五层?)协议和直接用 UDP (四层)协议的区别不是一星半点,主要是 KCP 多了拥塞控制和多倍发包等功能,理论上比直接用 UDP 更加『流氓』,不确定是否需要分开讨论?)
问题的出现
正好,浏览各种技术文章发现,包括 OpenVPN 在内的一大批传统 VPN 协议(注意,不是酸酸之类的代理协议)特别强调『最好使用 UDP ,实在不行再用 TCP ,因为 TCP-in-TCP 不是个好主意』(比较极端的一个例子就是 WireGuard ,压根没有做 TCP 的支持,除非你用魔改版本比如 TunSafe ),所以我在想,可不可以试着用 UDP 取代 TCP (以避免 TCP-in-TCP )做我家到那台广州机器之间的桥梁,以降低那么一点延迟,更加适用于对延迟敏感的场景?
有趣的一点来了,国内的运营商,据我所知,跑 UDP 流量的风评一向不太好,据说有极端地区完全屏蔽了 UDP ,或者说是包出省就丢。当然这个原因之一是 UDP 本身算是比较流氓的(可以向任意二元组发包)。我好奇的一点是,这样的待遇是对于目标 IP 是非国内 IP 才有,还是说压根就不看 IP ,只要是对于 UDP 流量就一律疯狂丢包?
如果是后者,那我不必额外试验了,老老实实用 TCP 比较好
