-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathV2Ray-04.html
1 lines (1 loc) · 40.6 KB
/
V2Ray-04.html
1
<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=2"><meta name="theme-color" content="#222"><meta name="generator" content="Hexo 5.4.0"><link rel="apple-touch-icon" sizes="180x180" href="/images/favicon-32x32.png"><link rel="icon" type="image/png" sizes="32x32" href="/images/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/images/favicon-16x16.png"><link rel="mask-icon" href="/images/favicon-32x32.png" color="#222"><link rel="stylesheet" href="/css/main.css"><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&display=swap&subset=latin,latin-ext"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/[email protected]/css/all.min.css" integrity="sha256-2H3fkXt6FEmrReK448mDVGKb3WW2ZZw35gI7vqHOE4Y=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/animate.min.css" integrity="sha256-PR7ttpcvz8qrF57fur/yAx1qXMFJeJFiA6pSzWi0OIE=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/[email protected]/dist/jquery.fancybox.min.css" integrity="sha256-Vzbj7sDDS/woiFS3uNKo8eIuni59rjyNGtXfstRzStA=" crossorigin="anonymous"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/nprogress.css" integrity="sha256-no0c5ccDODBwp+9hSmV5VvPpKwHCpbVzXHexIkupM6U=" crossorigin="anonymous"><script src="https://cdn.jsdelivr.net/npm/[email protected]/nprogress.js" integrity="sha256-a5YRB27CcBwBFcT5EF/f3E4vzIqyHrSR878nseNYw64=" crossorigin="anonymous"></script><script class="next-config" data-name="main" type="application/json">{"hostname":"www.wrysmile.cn","root":"/","images":"/images","scheme":"Gemini","version":"8.5.0","exturl":false,"sidebar":{"position":"left","display":"post","padding":18,"offset":12},"copycode":true,"bookmark":{"enable":true,"color":"#222","save":"manual"},"fancybox":true,"mediumzoom":false,"lazyload":false,"pangu":false,"comments":{"style":"tabs","active":null,"storage":true,"lazyload":false,"nav":null},"motion":{"enable":true,"async":false,"transition":{"post_block":"fadeIn","post_header":"fadeInDown","post_body":"fadeInDown","coll_header":"fadeInLeft","sidebar":"fadeInUp"}},"prism":false,"i18n":{"placeholder":"搜索...","empty":"没有找到任何搜索结果:${query}","hits_time":"找到 ${hits} 个搜索结果(用时 ${time} 毫秒)","hits":"找到 ${hits} 个搜索结果"},"path":"/search.xml","localsearch":{"enable":true,"trigger":"auto","top_n_per_article":1,"unescape":false,"preload":false}}</script><script src="/js/config.js"></script><meta name="description" content="介绍 本文介绍一些搭建 V2ray 服务器时的一些拓展内容 主要是针对于搭建服务器的进阶教程的讲解 原文大部分内容搬运自 无主界 注意:请不要进行任何商业行为,产生任何后果都与本人无关"><meta property="og:type" content="article"><meta property="og:title" content="小白教程:V2Ray搭建服务器之拓展资料"><meta property="og:url" content="https://www.wrysmile.cn/V2Ray-04.html"><meta property="og:site_name" content="Wrysmile 的博客"><meta property="og:description" content="介绍 本文介绍一些搭建 V2ray 服务器时的一些拓展内容 主要是针对于搭建服务器的进阶教程的讲解 原文大部分内容搬运自 无主界 注意:请不要进行任何商业行为,产生任何后果都与本人无关"><meta property="og:locale" content="zh_CN"><meta property="og:image" content="https://i.loli.net/2020/03/17/Ob4sTLfPCV2G6eo.png"><meta property="og:image" content="https://i.loli.net/2020/03/17/TpOsDLqZwiRYVPz.png"><meta property="og:image" content="https://i.loli.net/2020/03/17/Cv3oOSg89XUKdR6.png"><meta property="article:published_time" content="2020-03-17T08:27:43.000Z"><meta property="article:modified_time" content="2023-01-31T10:23:56.202Z"><meta property="article:author" content="Zhang Yangeng"><meta property="article:tag" content="服务器"><meta property="article:tag" content="翻墙"><meta property="article:tag" content="V2Ray"><meta name="twitter:card" content="summary"><meta name="twitter:image" content="https://i.loli.net/2020/03/17/Ob4sTLfPCV2G6eo.png"><link rel="canonical" href="https://www.wrysmile.cn/V2Ray-04.html"><script class="next-config" data-name="page" type="application/json">{"sidebar":"","isHome":false,"isPost":true,"lang":"zh-CN","comments":true,"permalink":"https://www.wrysmile.cn/V2Ray-04.html","path":"V2Ray-04.html","title":"小白教程:V2Ray搭建服务器之拓展资料"}</script><script class="next-config" data-name="calendar" type="application/json">""</script><title>小白教程:V2Ray搭建服务器之拓展资料 | Wrysmile 的博客</title><script>!function(e,t,o,c,i,a,n){e.DaoVoiceObject=i,e[i]=e[i]||function(){(e[i].q=e[i].q||[]).push(arguments)},e[i].l=+new Date,a=t.createElement(o),n=t.getElementsByTagName(o)[0],a.async=1,a.src=c,a.charset="utf-8",n.parentNode.insertBefore(a,n)}(window,document,"script",("https:"==document.location.protocol?"https:":"http:")+"//widget.daovoice.io/widget/13e39436.js","daovoice"),daovoice("init",{app_id:"13e39436"}),daovoice("update")</script><noscript><link rel="stylesheet" href="/css/noscript.css"></noscript><link rel="alternate" href="/atom.xml" title="Wrysmile 的博客" type="application/atom+xml"></head><body itemscope itemtype="http://schema.org/WebPage" class="use-motion"><div class="headband"></div><main class="main"><header class="header" itemscope itemtype="http://schema.org/WPHeader"><div class="header-inner"><div class="site-brand-container"><div class="site-nav-toggle"><div class="toggle" aria-label="切换导航栏" role="button"><span class="toggle-line"></span> <span class="toggle-line"></span> <span class="toggle-line"></span></div></div><div class="site-meta"><a href="/" class="brand" rel="start"><i class="logo-line"></i><h1 class="site-title">Wrysmile 的博客</h1><i class="logo-line"></i></a><p class="site-subtitle" itemprop="description">欢迎来到我的个人小屋</p><img class="custom-logo-image" src="/images/favicon-32x32.png" alt="Wrysmile 的博客"></div><div class="site-nav-right"><div class="toggle popup-trigger"><i class="fa fa-search fa-fw fa-lg"></i></div></div></div><nav class="site-nav"><ul class="main-menu menu"><li class="menu-item menu-item-home"><a href="/" rel="section"><i class="fa fa-home fa-fw"></i>首页</a></li><li class="menu-item menu-item-about"><a href="/about/" rel="section"><i class="fa fa-user fa-fw"></i>关于</a></li><li class="menu-item menu-item-tags"><a href="/tags/" rel="section"><i class="fa fa-tags fa-fw"></i>标签</a></li><li class="menu-item menu-item-categories"><a href="/categories/" rel="section"><i class="fa fa-th fa-fw"></i>分类</a></li><li class="menu-item menu-item-archives"><a href="/archives/" rel="section"><i class="fa fa-archive fa-fw"></i>归档</a></li><li class="menu-item menu-item-search"><a role="button" class="popup-trigger"><i class="fa fa-search fa-fw"></i>搜索</a></li></ul></nav><div class="search-pop-overlay"><div class="popup search-popup"><div class="search-header"><span class="search-icon"><i class="fa fa-search"></i></span><div class="search-input-container"><input autocomplete="off" autocapitalize="off" maxlength="80" placeholder="搜索..." spellcheck="false" type="search" class="search-input"></div><span class="popup-btn-close" role="button"><i class="fa fa-times-circle"></i></span></div><div class="search-result-container no-result"><div class="search-result-icon"><i class="fa fa-spinner fa-pulse fa-5x"></i></div></div></div></div></div><div class="toggle sidebar-toggle" role="button"><span class="toggle-line"></span> <span class="toggle-line"></span> <span class="toggle-line"></span></div><aside class="sidebar"><div class="sidebar-inner sidebar-nav-active sidebar-toc-active"><ul class="sidebar-nav"><li class="sidebar-nav-toc">文章目录</li><li class="sidebar-nav-overview">站点概览</li></ul><div class="sidebar-panel-container"><div class="post-toc-wrap sidebar-panel"><div class="post-toc animated"><ol class="nav"><li class="nav-item nav-level-1"><a class="nav-link"><span class="nav-text">介绍</span></a></li><li class="nav-item nav-level-1"><a class="nav-link"><span class="nav-text">一、传输协议</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#1-WebSocket-TLS"><span class="nav-text">1.WebSocket+TLS</span></a><ol class="nav-child"><li class="nav-item nav-level-3"><a class="nav-link" href="#1-WebSocket-ws"><span class="nav-text">(1).WebSocket (ws)</span></a></li><li class="nav-item nav-level-3"><a class="nav-link" href="#2-TLS"><span class="nav-text">(2).TLS</span></a></li></ol></li><li class="nav-item nav-level-2"><a class="nav-link" href="#2-mKCP%E4%BC%AA%E8%A3%85"><span class="nav-text">2.mKCP伪装</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#3-TCP"><span class="nav-text">3.TCP</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#4-h2-HTTP-2"><span class="nav-text">4.h2 (HTTP/2)</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#5-QUIC"><span class="nav-text">5.QUIC</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#6-%E5%B0%8F%E7%BB%93"><span class="nav-text">6.小结</span></a></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link"><span class="nav-text">二、加密方式</span></a><ol class="nav-child"><li class="nav-item nav-level-2"><a class="nav-link" href="#1-AES%E5%8A%A0%E5%AF%86%E6%96%B9%E5%BC%8F"><span class="nav-text">1.AES加密方式</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#2-AES-128-CFB"><span class="nav-text">2.AES-128-CFB</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#3-AES-128-GCM"><span class="nav-text">3.AES-128-GCM</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#4-ChaCha20-Poly1305"><span class="nav-text">4.ChaCha20-Poly1305</span></a></li><li class="nav-item nav-level-2"><a class="nav-link" href="#5-%E5%B0%8F%E7%BB%93"><span class="nav-text">5.小结</span></a></li></ol></li><li class="nav-item nav-level-1"><a class="nav-link"><span class="nav-text">三、本系列文章</span></a></li></ol></div></div><div class="site-overview-wrap sidebar-panel"><div class="site-author site-overview-item animated" itemprop="author" itemscope itemtype="http://schema.org/Person"><img class="site-author-image" itemprop="image" alt="Zhang Yangeng" src="/images/avatar.jpg"><p class="site-author-name" itemprop="name">Zhang Yangeng</p><div class="site-description" itemprop="description">保持独立思考,不卑不亢不怂,长成自己想要的样子!</div></div><div class="site-state-wrap site-overview-item animated"><nav class="site-state"><div class="site-state-item site-state-posts"><a href="/archives/"><span class="site-state-item-count">69</span> <span class="site-state-item-name">日志</span></a></div><div class="site-state-item site-state-categories"><a href="/categories/"><span class="site-state-item-count">13</span> <span class="site-state-item-name">分类</span></a></div><div class="site-state-item site-state-tags"><a href="/tags/"><span class="site-state-item-count">52</span> <span class="site-state-item-name">标签</span></a></div></nav></div><div class="links-of-author site-overview-item animated"><span class="links-of-author-item"><a href="https://github.com/zhangyangeng" title="GitHub → https://github.com/zhangyangeng" rel="external nofollow noopener noreferrer" target="_blank"><i class="fab fa-github fa-fw"></i>GitHub</a> </span><span class="links-of-author-item"><a href="https://weibo.com/u/2294901673" title="weibo → https://weibo.com/u/2294901673" rel="external nofollow noopener noreferrer" target="_blank"><i class="fab fa-weibo fa-fw"></i>weibo</a></span></div><div class="cc-license site-overview-item animated" itemprop="license"><a href="https://creativecommons.org/licenses/by-nc-sa/4.0/zh-cn" class="cc-opacity" rel="external nofollow noopener noreferrer" target="_blank"><img src="https://cdn.jsdelivr.net/npm/@creativecommons/[email protected]/assets/license_badges/small/by_nc_sa.svg" alt="Creative Commons"></a></div><div class="links-of-blogroll site-overview-item animated"><div class="links-of-blogroll-title"><i class="fa fa-globe fa-fw"></i> 推荐网站</div><ul class="links-of-blogroll-list"><li class="links-of-blogroll-item"><a href="http://topbook.cc/" title="http://topbook.cc/" rel="external nofollow noopener noreferrer" target="_blank">Topbook</a></li></ul></div></div></div></div></aside><div class="sidebar-dimmer"></div></header><div class="back-to-top" role="button" aria-label="返回顶部"><i class="fa fa-arrow-up"></i> <span>0%</span></div><div class="reading-progress-bar"></div><a role="button" class="book-mark-link book-mark-link-fixed"></a><noscript><div class="noscript-warning">Theme NexT works best with JavaScript enabled</div></noscript><div class="main-inner post posts-expand"><div class="post-block"><article itemscope itemtype="http://schema.org/Article" class="post-content" lang="zh-CN"><link itemprop="mainEntityOfPage" href="https://www.wrysmile.cn/V2Ray-04.html"><span hidden itemprop="author" itemscope itemtype="http://schema.org/Person"><meta itemprop="image" content="/images/avatar.jpg"><meta itemprop="name" content="Zhang Yangeng"><meta itemprop="description" content="保持独立思考,不卑不亢不怂,长成自己想要的样子!"></span><span hidden itemprop="publisher" itemscope itemtype="http://schema.org/Organization"><meta itemprop="name" content="Wrysmile 的博客"></span><header class="post-header"><h1 class="post-title" itemprop="name headline">小白教程:V2Ray搭建服务器之拓展资料</h1><div class="post-meta-container"><div class="post-meta"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar"></i> </span><span class="post-meta-item-text">发表于</span> <time title="创建时间:2020-03-17 16:27:43" itemprop="dateCreated datePublished" datetime="2020-03-17T16:27:43+08:00">2020-03-17</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-calendar-check"></i> </span><span class="post-meta-item-text">更新于</span> <time title="修改时间:2023-01-31 18:23:56" itemprop="dateModified" datetime="2023-01-31T18:23:56+08:00">2023-01-31</time> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="far fa-folder"></i> </span><span class="post-meta-item-text">分类于</span> <span itemprop="about" itemscope itemtype="http://schema.org/Thing"><a href="/categories/%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91/" itemprop="url" rel="index"><span itemprop="name">科学上网</span></a> </span></span><span id="/V2Ray-04.html" class="post-meta-item leancloud_visitors" data-flag-title="小白教程:V2Ray搭建服务器之拓展资料" title="阅读次数"><span class="post-meta-item-icon"><i class="far fa-eye"></i> </span><span class="post-meta-item-text">阅读次数:</span> <span class="leancloud-visitors-count"></span></span></div><div class="post-meta"><span class="post-meta-item" title="本文字数"><span class="post-meta-item-icon"><i class="far fa-file-word"></i> </span><span class="post-meta-item-text">本文字数:</span> <span>6.3k</span> </span><span class="post-meta-item" title="阅读时长"><span class="post-meta-item-icon"><i class="far fa-clock"></i> </span><span class="post-meta-item-text">阅读时长 ≈</span> <span>6 分钟</span></span></div></div></header><div class="post-body" itemprop="articleBody"><h1>介绍</h1><ul class="lvl-0"><li class="lvl-2">本文介绍一些搭建 V2ray 服务器时的一些拓展内容</li><li class="lvl-2">主要是针对于搭建服务器的进阶教程的讲解</li><li class="lvl-2">原文大部分内容搬运自 <a target="_blank" rel="external nofollow noopener noreferrer" href="https://www.idleleo.com/">无主界</a></li><li class="lvl-2"><font color="#FF0000">注意:请不要进行任何商业行为,产生任何后果都与本人无关</font><span id="more"></span></li></ul><h1>一、传输协议</h1><ul class="lvl-0"><li class="lvl-2"><p>V2Ray 的传输协议非常之多,由于 V2Ray 本质就是一种网络传输数据的应用。因此它可以使用的工具自然也不会少,比如用于网站的 HTTP/HTTPS 协议、更底层的 TCP/UDP 协议等等。这些协议既然存在并且依然在使用,说明它们各有千秋。因此,想要知道你应该使用哪个协议,便需要你对协议本身有一定的了解</p></li></ul><h2 id="1-WebSocket-TLS">1.WebSocket+TLS</h2><ul class="lvl-0"><li class="lvl-2"><p>此协议使用的人并不多,但是笔者是推荐使用此协议的。使用不多的原因是 WebSocket+TLS 协议存在一定的应用难度:你需要知道如何注册、解析域名。但是如果你能搞定域名的问题,搭配现在甚多的一键部署脚本,WebSocket+TLS 是较为简单、可靠的</p></li></ul><h3 id="1-WebSocket-ws">(1).WebSocket (ws)</h3><ul class="lvl-0"><li class="lvl-2"><p>WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议;WebSocket 通信协议于2011年被 IETF 定为标准 RFC 6455,并由 RFC 7936补充规范;WebSocket API 也被 W3C 定为标准。</p></li><li class="lvl-2"><p>WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在WebSocket API中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。</p></li><li class="lvl-2"><p>简单说,WebSocket 解决了 HTTP 协议的部分问题,比如每次请求都携带状态信息(如身份认证等)、请求每次都要携带完整的头部等等。再加上由于 WebSocket 全双工通信,因此能够很好的进行实时通信。用在V2Ray 上时,请求与应答的效率要远高于 HTTP,而 V2Ray 的请求要远高于普通的请求,所以 WebSocket 可以说是一种不错的选择。同时由于 WebSocket 本身已经成熟,因此有 Cloudflare 这类云服务商支持基于 WebSocket 流量的 CDN 服务,这进一步增进了原本的服务器的安全性。</p></li><li class="lvl-2"><p>但是,由于 WebSocket 本身是基于 TCP 协议。既然使用了 TCP,那么自然少不了一些 TCP 的缺点,由于 TCP 协议占据了大多数的网络链接,再者有着复杂的握手机制。虽然保证了链接的可靠性,但也牺牲了效率和带宽,因此在拥堵的网络环境,WebSocket 便不在那么好用了。</p></li><li class="lvl-2"><p>这类的网络拥堵并不仅仅在于客户端,对于 V2Ray 的服务器端更为明显,所以使用这类协议的服务器,最好安装诸如 BBR、锐速等拥塞控制算法,减少拥堵。</p></li><li class="lvl-2"><p>同时,由于 WebSocket 是明文传输,这意味着与服务器的通信内容均可以被第三者探测甚至攻击。因此,这对传输安全带来了隐患。如果仅仅开启 WebSocket ,建议开启伪装,伪装的域名建议为 WebSocket 流量相对较大的网站。</p></li></ul><h3 id="2-TLS">(2).TLS</h3><ul class="lvl-0"><li class="lvl-2"><p>传输层安全性协议(英语:Transport Layer Security,缩写作TLS),及其前身安全套接层(Secure Sockets Layer,缩写作SSL)是一种安全协议,目的是为互联网通信提供安全及数据完整性保障。网景公司(Netscape)在1994年推出首版网页浏览器——网景导航者时,推出 HTTPS 协议,以 SSL 进行加密,这是 SSL 的起源。IETF 将 SSL 进行标准化,1999年公布第一版 TLS 标准文件。随后又公布 RFC 5246 (2008年8月)与 RFC 6176(2011年3月)。在浏览器、邮箱、即时通信、VoIP、网络传真等应用程序中,广泛支持这个协议。主要的网站,如 Google、Facebook 等也以这个协议来创建安全连线,发送数据。目前已成为互联网上保密通信的工业标准。</p></li><li class="lvl-2"><p>SSL 包含记录层(Record Layer)和传输层,记录层协议确定传输层数据的封装格式。传输层安全协议使用X.509认证,之后利用非对称加密演算来对通信方做身份认证,之后交换对称密钥作为会谈密钥(Session key)。这个会谈密钥是用来将通信两方交换的数据做加密,保证两个应用间通信的保密性和可靠性,使客户与服务器应用之间的通信不被攻击者窃听。</p></li><li class="lvl-2"><p>TLS 作用于 HTTP 便诞生出了现今最为常用的协议 HTTPS,那么作用于 WebSocket,自然便成了 WSS,也就是 WebSocket+TLS。</p></li><li class="lvl-2"><p>对于 V2Ray 来说,虽然经过了协议的加密,但是这类流量本身就并不“正常”。试想,你手机连接了 V2ray,大量数据通过协议向一个固定 IP 请求,而数据内容与普通的数据格格不入。这自然会引起部分人的警觉。如果嵌套一个保险箱(TLS),让数据显得和其他请求的数据没什么两样,这样一方面减少了审查者的怀疑,另一方面又加强了数据的安全性。</p></li><li class="lvl-2"><p>当然由于 TLS 本身存在一个加密解密的过程,因此势必会对传输的效率带来影响。不过影响是微乎其微的,想要追求安全,自然也需要一定的牺牲。笔者是推荐这种协议的,如果条件允许,主要推荐 WebSocket+TLS 这个协议。</p></li></ul><h2 id="2-mKCP伪装">2.mKCP伪装</h2><ul class="lvl-0"><li class="lvl-2"><p>这一类协议细分有多种,由于 KCP 拥有控制头,因此可以通过修饰头部进行数据伪装。这类伪装常见的有 SRTP、UTP、DTLS、wechat-video 等。这类伪装并不能决定这类协议本质,因此便不再详细阐述。对于 mKCP 伪装最为重要的影响是 KCP 协议本身。</p></li><li class="lvl-2"><p>KCP 协议是传输层的一个具有可靠性的传输层 ARQ协议。它的设计是为了解决在网络拥堵情况下 TCP 协议的网络速度慢的问题。KCP 力求在保证可靠性的情况下提高传输速度。KCP 协议的关注点主要在控制数据的可靠性和提高传输速度上面,因此 KCP 没有规定下层传输协议,一般用 UDP 作为下层传输协议,KCP 层协议的数据包在 UDP 数据报文的基础上增加控制头。当用户数据很大,大于一个 UDP 包能承担的范围时(大于MSS),KCP 会将用户数据分片存储在多个 KCP 包中。</p></li><li class="lvl-2"><p>KCP 协议与上述的 WebSocket 协议便大大的不同了。由于本身的下层传输协议不同,KCP 通常使用 UDP 而 WebSocket 使用 TCP,因此特性也十分不同。</p></li><li class="lvl-2"><p>WebSocket 在拥堵的网络情况下显得效果不佳,而 KCP 则可以在拥堵的网络下依旧达到一定的速度。所以,在 3G、4G 这类用户多、网络堵的情况下,KCP 甚至可以起到加速的作用。</p></li><li class="lvl-2"><p>但是,这类协议虽然速度快,其本身是基于 UDP 的,UDP 协议本身并不稳定。即便有一定的可靠性,由于使用了 UDP,容易导致产生拥塞。注意,这里的拥塞并不是由于其他的连接引起的,而是协议自身引起的。如果出现拥塞,反而会导致传输效率大打折扣。因此最好启用拥塞控制。同时,由于 UDP 自身容易出现拥塞影响其他连接,又难以进行很好的管控,我们运营商可能会对这类连接阻断,也即是 QoS 。遇到这种情况, KCP 也成了牺牲品,进一步影响了连接的稳定。</p></li><li class="lvl-2"><p>当然由于 KCP 自身容易拥塞的特性,相应的 V2Ray 客户端有 Mux 技术来一定程度解决这类问题。Mux 是推荐开启的,它可以使 KCP 数据更为有条理的整合在一起,提高效率。</p></li></ul><h2 id="3-TCP">3.TCP</h2><ul class="lvl-0"><li class="lvl-2"><p>TCP(Transmission Control Protocol 传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议,由 IETF 的 RFC 793定义。在简化的计算机网络 OSI 模型中,它完成第四层传输层所指定的功能,用户数据报协议(UDP)是同一层内另一个重要的传输协议。在因特网协议族(Internet protocol suite)中,TCP 层是位于 IP 层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是 IP 层不提供这样的流机制,而是提供不可靠的包交换。</p></li><li class="lvl-2"><p>这类协议本身较之其他的 V2Ray 协议更加底层和原始。这对于 V2Ray 的安全性带来了问题。由于本身就是TCP 协议,因此,看到这里大家应该知道了它的缺点在哪里。</p></li><li class="lvl-2"><p>当然没有了上层协议的嵌套,简单的 TCP 协议对于传输效率来说是增加了不少。这也带来一个更为严重的问题,安全。由于实在简单,据了解,审查者已经开始拦截这类数据了。基于安全与网络顺畅考虑,笔者是不推荐的。</p></li></ul><h2 id="4-h2-HTTP-2">4.h2 (HTTP/2)</h2><ul class="lvl-0"><li class="lvl-2"><p>h2 便是 HTTP/2 (原名HTTP/2.0)即超文本传输协议 2.0,是下一代 HTTP 协议。是由互联网工程任务组(IETF)的 Hypertext Transfer Protocol Bis (httpbis)工作小组进行开发。是自1999年 http1.1 发布后的首个更新。HTTP 2.0在2013年8月进行首次合作共事性测试。在开放互联网上 HTTP 2.0 将只用于 https:// 网址,而 http:// 网址将继续使用 HTTP/1 ,目的是在开放互联网上增加使用加密技术,以提供强有力的保护去遏制主动攻击。</p></li><li class="lvl-2"><p>对于 V2Ray,使用 h2 必须同时使用 TLS。h2 本质是 HTTP 协议,对于传统 http1.1 协议传输速度快了不少。h2 的下层协议是 TCP,因此大家应该知道这类协议的共同缺点了。较之类似的 WebSocket 协议,传输效率略逊于 WebSocket。但是它却有比 WebSocket 更加好的伪装,由于大部分网站使用 HTTP 协议,因此 h2+TLS 这种协议能使 V2Ray 流量伪装在正常流量中,并且难以察觉。</p></li></ul><h2 id="5-QUIC">5.QUIC</h2><ul class="lvl-0"><li class="lvl-2"><p>QUIC(Quick UDP Internet Connection)是谷歌制定的一种基于 UDP 的低时延的互联网传输层协议。我们知道,TCP/IP 协议族是互联网的基础。其中传输层协议包括 TCP 和 UDP 协议。与 TCP 协议相比,UDP 更为轻量,但是错误校验也要少得多。这意味着 UDP 往往效率更高(不经常跟服务器端通信查看数据包是否送达或者按序),但是可靠性比不上 TCP。通常游戏、流媒体以及 VoIP 等应用均采用 UDP,而网页、邮件、远程登录等大部分的应用均采用 TCP。</p></li><li class="lvl-2"><p>QUIC 很好地解决了当今传输层和应用层面临的各种需求,包括处理更多的连接,安全性,和低延迟。QUIC 融合了包括 TCP,TLS,HTTP/2 等协议的特性,但基于 UDP 传输。QUIC 的一个主要目标就是减少连接延迟,当客户端第一次连接服务器时,QUIC 只需要 1RTT(Round-Trip Time)的延迟就可以建立可靠安全的连接,相对于 TCP+TLS 的1-3次 RTT 要更加快捷。之后客户端可以在本地缓存加密的认证信息,再次与服务器建立连接时可以实现 0-RTT 的连接建立延迟。QUIC 同时复用了 HTTP/2 协议的多路复用功能(Multiplexing),但由于 QUIC 基于 UDP 所以避免了 HTTP/2 的线头阻塞(Head-of-Line Blocking)问题。因为 QUIC 基于 UDP,运行在用户域而不是系统内核,使得 QUIC 协议可以快速的更新和部署,从而很好地解决了 TCP 协议部署及更新的困难。</p></li><li class="lvl-2"><p>此协议基于 UDP,但较之 KCP 更为可靠。从传输本身来说,笔者是推荐的。但是,由于协议本身太新,这类流量本身就不多,突然出现大量流量指向一个 IP 会如何?相信大家也知道风险。同时由于现今 V2Ray 的 QUIC 并不是真正意义上的 HTTP/3,因此存在一定的兼容问题,笔者并不是很推荐。</p></li></ul><h2 id="6-小结">6.小结</h2><ul class="lvl-0"><li class="lvl-2"><p>对于大部分用户来说,如果有能力搞定域名购买、解析。那么是推荐使用 WebSocket+TLS,可以的话最好再增加 CDN 支持。如果没有办法搞定域名,那么推荐直接使用 WebSocket 伪装或者 mKCP 伪装。</p></li><li class="lvl-2"><p>对于处在拥堵网络,如经常使用 3G、4G 的用户,推荐使用 mKCP 伪装。并且推荐打开 Mux 多路复用。</p></li><li class="lvl-2"><p>对于不在乎服务器被墙的用户来说,推荐直接使用 WebSocket 伪装。</p></li><li class="lvl-2"><p>对于客户端、服务器性能孱弱的用户来说,直接使用 TCP 不使用加密并将 AlterId 值调低是最好的选择。</p></li></ul><h1>二、加密方式</h1><ul class="lvl-0"><li class="lvl-2"><p>对于加密方式/算法来说,一般安全性与性能呈负相关,越是安全越是对性能要求高,这应该是大家的常识。由于现在大部分给出的加密协议的安全性均能达到标准,因此这里主要讨论的最好便是加密性能的优良。</p></li><li class="lvl-2"><p>对于 V2Ray 而言,有三种加密方式:AES-128-CFB、AES-128-GCM、ChaCha20-Poly1305(当然还有不加密)。</p></li></ul><h2 id="1-AES加密方式">1.AES加密方式</h2><ul class="lvl-0"><li class="lvl-2"><p>AES(Advanced Encryption Standard)高级加密标准,这类加密标准是十分常见的对称加密算法。所谓的对称加密算法也就是加密和解密用相同的密钥,具体的加密流程如下图:<br><img src="https://i.loli.net/2020/03/17/Ob4sTLfPCV2G6eo.png" alt="V2ray拓展1.png"></p></li><li class="lvl-2"><p>这里的 AES-128 就是密钥的长度为128位,加密轮数为10轮。</p></li></ul><h2 id="2-AES-128-CFB">2.AES-128-CFB</h2><ul class="lvl-0"><li class="lvl-2"><p>对于 CFB 模式来说,其全称为 Cipher FeedBack模式(密文反馈模式)。在 CFB 模式中,前一个密文分组会被送回到密码算法的输入端。而所谓反馈,这里指的就是返回输入端的意思。以下是其示意图:<br><img src="https://i.loli.net/2020/03/17/TpOsDLqZwiRYVPz.png" alt="V2ray拓展2.png"></p></li><li class="lvl-2"><p>从上图中可以发现,对于 AES-128-CFB 而言其优点在于它隐藏了明文模式,同时它可以及时加密传送小于分组的数据。但它也有缺点,CFB 并不利于并行计算、一个明文单元损坏影响多个单元。</p></li></ul><h2 id="3-AES-128-GCM">3.AES-128-GCM</h2><ul class="lvl-0"><li class="lvl-2"><p>对于 GCM 模式来说,其全称为 Galois/Counter Mode,也就是该对称加密采用 Counter 模式,并带有 GMAC 消息认证码。</p></li><li class="lvl-2"><p>其工作原理是相对较为复杂的,与CFB不同,它可以提供对消息的加密和完整性校验,另外,它还可以提供附加消息的完整性校验。以下是其粗略的示意图:<br><img src="https://i.loli.net/2020/03/17/Cv3oOSg89XUKdR6.png" alt="V2ray拓展3.png"></p></li><li class="lvl-2"><p>对于 GCM 而言其最大的优势便是有利于并行计算,并且有消息的完整性校验。缺点自然是要考虑运行加密时硬件的支持程度。</p></li></ul><h2 id="4-ChaCha20-Poly1305">4.ChaCha20-Poly1305</h2><ul class="lvl-0"><li class="lvl-2"><p>对于 ChaCha20-Poly1305,其全称就是 ChaCha20-Poly1305,它是由 ChaCha20 流密码和 Poly1305 消息认证码(MAC)结合的一种加密算法。</p></li><li class="lvl-2"><p>ChaCha20-Poly1305 是基于 RC4 流加密的一种加密方式,它与 AES 有本质的区别,对于 RC4 而言,已经被证实并不安全,那么为什么还要发展 ChaCha20-Poly1305 呢?原因很简单,兼容性。</p></li><li class="lvl-2"><p>对于精简指令集的 ARM 平台,由于没有 AES-NI 指令集,ChaCha20-Poly1305 在同等配置的手机中表现是 AES 的4倍(ARM v8之后加入了AES指令,所以在ARM v8平台上的设备,AES 方式反而比 chacha20-Poly1305 方式更快,性能更好),这样可减少加密解密所产生的数据量,使得性能更好。</p></li></ul><h2 id="5-小结">5.小结</h2><ul class="lvl-0"><li class="lvl-2"><p>若 V2Ray 客户端运行在普通电脑上,很明显 AES 方式更加的高效。</p></li><li class="lvl-2"><p>若 V2Ray 客户端运行在手机或者软路由上,从上述描述中能很好的看到,AES 和 ChaCha20-Poly1305 的选择需要依据实际情况。一般在近几年的手机/软路由 CPU 中都内置了 AES-NI 指令集,因此使用 ChaCha20-Poly1305 是没有必要的。但对于老手机而言,ChaCha20-Poly1305 则快于 AES,是你的最佳选择。</p></li><li class="lvl-2"><p>所以,对于服务端,一般选择 Auto;对于使用老旧手机的用户而言,毫无疑问,你需要选择 ChaCha20-Poly1305 或者直接选择不加密获得最佳性能;对于使用电脑和近两年新手机的用户而言,选择 AES-128-GCM 效果最佳;对于在乎自己数据安全的用户来说,选择 AES-128-CFB 理论上能更加安全。</p></li></ul><h1>三、本系列文章</h1><ul class="lvl-0"><li class="lvl-2"><p>想要了解V2Ray的服务器购买教程请移步这里:<a href="/V2Ray-01.html" title="[小白教程:V2Ray搭建服务器之服务器的购买]">[小白教程:V2Ray搭建服务器之服务器的购买]</a></p></li><li class="lvl-2"><p>想要了解V2Ray的基础搭建教程请移步这里:<a href="/V2Ray-02.html" title="[小白教程:V2Ray搭建服务器之基础搭建教程]">[小白教程:V2Ray搭建服务器之基础搭建教程]</a></p></li><li class="lvl-2"><p>想要了解V2Ray的进阶优化教程请移步这里:<a href="/V2Ray-03.html" title="[小白教程:V2Ray搭建服务器之进阶优化教程]">[小白教程:V2Ray搭建服务器之进阶优化教程]</a></p></li></ul></div><footer class="post-footer"><div class="reward-container"><div>坚持原创技术分享,您的支持将是对我最大的鼓励!</div><button onclick='document.querySelector(".post-reward").classList.toggle("active")'>赞赏</button><div class="post-reward"><div><img src="https://s2.ax1x.com/2019/01/28/kKrX7T.png" alt="Zhang Yangeng 微信"> <span>微信</span></div><div><img src="https://i.loli.net/2019/01/25/5c4ac75f2e5b7.jpg" alt="Zhang Yangeng 支付宝"> <span>支付宝</span></div></div></div><div class="post-tags"><a href="/tags/%E6%9C%8D%E5%8A%A1%E5%99%A8/" rel="tag"><i class="fa fa-tag"></i> 服务器</a> <a href="/tags/%E7%BF%BB%E5%A2%99/" rel="tag"><i class="fa fa-tag"></i> 翻墙</a> <a href="/tags/V2Ray/" rel="tag"><i class="fa fa-tag"></i> V2Ray</a></div><div class="post-nav"><div class="post-nav-item"><a href="/V2Ray-03.html" rel="prev" title="小白教程:V2Ray搭建服务器之进阶优化教程"><i class="fa fa-chevron-left"></i> 小白教程:V2Ray搭建服务器之进阶优化教程</a></div><div class="post-nav-item"><a href="/V2Ray-01.html" rel="next" title="小白教程:V2Ray搭建服务器之服务器的购买">小白教程:V2Ray搭建服务器之服务器的购买 <i class="fa fa-chevron-right"></i></a></div></div></footer></article></div><div class="comments" id="lv-container" data-id="city" data-uid="MTAyMC80MjQ5Ni8xOTA0Mw=="></div></div></main><footer class="footer"><div class="footer-inner"><div class="copyright">© 2019 – <span itemprop="copyrightYear">2023</span> <span class="with-love"><i class="fa fa-heart"></i> </span><span class="author" itemprop="copyrightHolder">Wrysmile</span></div><div class="wordcount"><span class="post-meta-item"><span class="post-meta-item-icon"><i class="fa fa-chart-line"></i> </span><span>站点总字数:</span> <span title="站点总字数">413k</span> </span><span class="post-meta-item"><span class="post-meta-item-icon"><i class="fa fa-coffee"></i> </span><span>站点阅读时长 ≈</span> <span title="站点阅读时长">6:15</span></span></div><div class="busuanzi-count"><span class="post-meta-item" id="busuanzi_container_site_uv"><span class="post-meta-item-icon"><i class="fa fa-user"></i> </span><span class="site-uv" title="总访客量"><span id="busuanzi_value_site_uv"></span> </span></span><span class="post-meta-item" id="busuanzi_container_site_pv"><span class="post-meta-item-icon"><i class="fa fa-eye"></i> </span><span class="site-pv" title="总访问量"><span id="busuanzi_value_site_pv"></span></span></span></div><script color="0,0,255" opacity="0.5" zindex="-1" count="99" src="https://cdn.jsdelivr.net/npm/canvas-nest.js@1/dist/canvas-nest.js"></script><script type="text/javascript">!function(e,r){function t(){for(var e=0;e<n.length;e++)n[e].alpha<=0?(r.body.removeChild(n[e].el),n.splice(e,1)):(n[e].y--,n[e].scale+=.004,n[e].alpha-=.013,n[e].el.style.cssText="left:"+n[e].x+"px;top:"+n[e].y+"px;opacity:"+n[e].alpha+";transform:scale("+n[e].scale+","+n[e].scale+") rotate(45deg);background:"+n[e].color+";z-index:99999");requestAnimationFrame(t)}var o,n=[];e.requestAnimationFrame=e.requestAnimationFrame||e.webkitRequestAnimationFrame||e.mozRequestAnimationFrame||e.oRequestAnimationFrame||e.msRequestAnimationFrame||function(e){setTimeout(e,1e3/60)},function(t){var a=r.createElement("style");a.type="text/css";try{a.appendChild(r.createTextNode(t))}catch(e){a.styleSheet.cssText=t}r.getElementsByTagName("head")[0].appendChild(a)}(".heart{width: 10px;height: 10px;position: fixed;background: #f00;transform: rotate(45deg);-webkit-transform: rotate(45deg);-moz-transform: rotate(45deg);}.heart:after,.heart:before{content: '';width: inherit;height: inherit;background: inherit;border-radius: 50%;-webkit-border-radius: 50%;-moz-border-radius: 50%;position: fixed;}.heart:after{top: -5px;}.heart:before{left: -5px;}"),o="function"==typeof e.onclick&&e.onclick,e.onclick=function(e){var t,a;o&&o(),t=e,(a=r.createElement("div")).className="heart",n.push({el:a,x:t.clientX-5,y:t.clientY-5,scale:1,alpha:1,color:"rgb("+~~(255*Math.random())+","+~~(255*Math.random())+","+~~(255*Math.random())+")"}),r.body.appendChild(a)},t()}(window,document)</script><script type="text/javascript">var titleTime,OriginTitle=document.title;document.addEventListener("visibilitychange",function(){document.hidden?($('[rel="icon"]').attr("href","/img/TEP.ico"),document.title="╭(°A°`)╮ 页面崩溃啦 ~",clearTimeout(titleTime)):($('[rel="icon"]').attr("href","/favicon.ico"),document.title="(ฅ>ω<*ฅ) 噫又好了~"+OriginTitle,titleTime=setTimeout(function(){document.title=OriginTitle},2e3))})</script></div></footer><script src="https://cdn.jsdelivr.net/npm/[email protected]/lib/anime.min.js" integrity="sha256-XL2inqUJaslATFnHdJOi9GfQ60on8Wx1C2H8DYiN1xY=" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/jquery.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/[email protected]/dist/jquery.fancybox.min.js" integrity="sha256-yt2kYMy0w8AbtF89WXb2P1rfjcP/HTHLT7097U8Y5b8=" crossorigin="anonymous"></script><script src="/js/comments.js"></script><script src="/js/utils.js"></script><script src="/js/motion.js"></script><script src="/js/next-boot.js"></script><script src="/js/bookmark.js"></script><script src="/js/third-party/search/local-search.js"></script><script class="next-config" data-name="nprogress" type="application/json">{"enable":true,"spinner":false}</script><script src="/js/third-party/nprogress.js"></script><script async src="https://busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script><script class="next-config" data-name="leancloud_visitors" type="application/json">{"enable":true,"app_id":"mzhbgeWR9BA3SvqtvaAJulC1-gzGzoHsz","app_key":"xcGndtx2gmyop5yrT6euUk9G","server_url":null,"security":false}</script><script src="/js/third-party/statistics/lean-analytics.js"></script><script src="/js/third-party/comments/livere.js"></script></body></html>