了解Hysteria协议

Hysteria是一款由go编写的非常优秀的“轻量”代理程序,可以针对恶劣环境进行优化的网络工具,比如卫星网络,公共WIFI等,基于修改版的QUIC协议。

我们所熟知的HTTP协议在目前,主流使用的网络协议是HTTP/1.1和HTTP/2。HTTP是一种用于传输超文本的协议,它通过TCP连接在客户端和服务器之间进行通信。

这两种协议在目前并不算新,最新的网络协议是HTTP/3协议,它采用了QUIC协议,相较于HTTP/2,它拥有:

  • 更快的传输速度
  • 更好的性能:包括支持多路复用,头部压缩等技术
  • 更加安全:提供更好的安全性能

2022年6月6日,IETF正式标准化HTTP/3为RFC9114

原项目提供的bench由于图床裂了,找不见,这里放一张网图bench:

image-20231010204005633

随着众多网站和 CDN 的支持,基于 QUIC 的 HTTP/3 正越来越流行。长远来看 UDP 将会替代 TCP 成为承载 Web 流量的主流协议。

QUIC提要

QUIC(读作“quick”)是一个通用的传输层网络协议,最初由Google的Jim Roskind设计。该协议于2012年实现并部署,虽然长期处于互联网草案阶段,但从Chrome浏览器至Google服务器的连接中超过一半的连接都使用了QUIC。其他的大部分浏览器也已经都支持此协议,但可能默认情况下并没有启用。

以往的TCP协议中,TCP会将连接上的任何错误视为阻塞,从而停止进一步传输,哪怕是一个无关痛痒的小错误,TCP设计时被刻意的设计成不知晓其中传输细节的系统,如若对传输的数据有额外要求,比如TLS加密,那么必须要在TCP上层实现,这种上层的协议之间频繁握手,需要大量的交换数据,无疑增大了开销。

而QUIC旨在提供几乎等同于TCP连接的可靠性,使用UDP作为基础,每一个QUIC流是单独控制的,这就表明,在实际运用中,哪怕一个流中出现错误,任然可以为其他流提供服务。并且QUIC实现了自己的流量控制机制,弥补了UDP中没有流量控制的缺点。

部署使用

抛去不是特别复杂的操作环节,搭建好后的Hysteria该如何部署呢?

Linux

  • Docker
  • Arch Linux AUR

Windows,macOS

  • v2rayN(Windows GUI)
  • Clash.Meta
  • NekoRay(macOS)

这里的NekoRay中可以选择sing-box核心,sing-box是全新的下一代通用代理平台,支持Hysteria
而v2rayN中需要导入额外的核心

IOS,Android

  • Shadowrocket(IOS)
  • Clash Meta for Android(Android)

也有其他的方式,但不出意外都需要导入额外的核心,有点麻烦

虽然 Hysteria 支持 UDP 转发,其并不会降低丢包率。 换句话说,目前用 Hysteria 代理 HTTP/3 这样的 QUIC 流量时不会有额外加速效果,传输速度只能由 Web 服务器与浏览器内置的 QUIC 栈的拥塞控制自己决定(通常是 Cubic, Reno 或者 BBR)

最后,使用中遇到的问题可以去官方文档处查看,目前已经到了Hysteria2,欢迎体验。

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇