家庭数据中心系列 多拨到底能做什么以及如何最大化多拨的收益
本文最后更新于 338 天前,其中的信息可能已经有所发展或是发生改变,如有失效可到评论区留言。

前言

其实专门写个文章来谈多拨,意义也不是很大的样子,主要这个的前提是家庭宽带支持多拨,这个纯属老天爷赏饭吃:看命的。只不过恰好我的家庭数据中心把多拨发挥到了极致,一想毕竟还是有不少网友家宽可以多拨,就干脆写篇文章说说这事,顺便也帮大家把一些概念:什么上行带宽叠加,下行带宽叠加之类的概念顺便理一下。


其实要说多拨,应该先提另外一个概念:多出口链路负载均衡。自从电信联通南北分家以及后来移动,铁通等运营商出现(如果是学校,还多了一个教育网的链路),拉开了多运营商混战的局面,各个运营商之间互相限制访问(跨运营商访问流量是收费的)。那个时候CDN还没普及开来,所以各种企业单位自己建站往往只能利用自己已有的宽带(一般就是电信,联通,移动其中一个,只有少数能同时用2个或者3个,比如银行,证券或者类似这种本来就面向所有用户的单位),然后找合作宽带运营商申请几个公网IP就成,而大的ICP那个时候就会用镜像站点(什么电信镜像站点,联通镜像站点,移动镜像站点)来解决跨运营商访问的问题。

而对于访问者来说,如果访问的站点使用的运营商和自己使用的运营商不是同一个,访问体验就会非常不好。所以这个时候,对于企业单位而言,推出了一个解决方案:多出口链路负载均衡,核心思想是同时引入多个运营商的宽带线路,然后根据你访问站点IP所属的运营商来选择最合适的线路,来达到访问体验最佳的目的(同时还能实现出口链路备份)。而同时因为不同运营商链路带宽、价格都不一样,又需要用策略来平衡外出访问请求对各个运营商出口链路的使用情况。(这是对于访问者单位,对于有多条运营商链路的站点提供单位也有对应的多链路负载均衡访问,就是通过dns解析的方式来引导不同的用户使用不同的运营商链路,这里就提一句,不扯远了)。

为啥要提这个呢?因为其实多拨就是一种特殊多出口链路负载,只不过是同一个运营商的多条链路,并且带宽都一样而已。


多拨

是否有公网IP?

多拨,也应该分两种情形来说:有公网地址和没公网地址。真正有价值的多拨是有公网地址这种情况,比如我家最多能3拨,就有3个IPv4公网地址(我家也有IPv6公网地址,不过这个不需要多拨,一个口启用就行了)。如果是没有公网地址的多拨,可以通过设置合适的链路均衡策略来优化下载和上传(这也要看运营商局端的设置情况,变数很多,看命吧)。不过优化下行也只是适合下行带宽是小带宽,比如100兆,200兆这种情况,一般超过300,500兆的下行,对一般的家庭来说已经不需要折腾下行带宽了,完全足够用了,关键其实是优化上行带宽的使用。

所谓"带宽叠加"

1、下行带宽叠加

多拨其实就没有什么下行带宽叠加的概念,这个对于搞过多出口链路均衡的朋友应该很清楚这点,可以通过合适的出口策略提升下载速度,但是这个提升不是因为下行带宽叠加了,而是因为合理利用了多条出口链路有多个IP地址的优势,并且这个还是有前提条件的:一定是多线程下载,并且下载站点对于下载没有限速。

单线程下载只会从一个出口链路出去,这个下载速度首先取决于下载站点的限制(单线程是否限速?是否允许单IP多线程同时下载?允许单IP多少个线程同时下载?),其次才是自己宽带的下行带宽。如果下载站点对于单线程下载没有速度限制,那么单线程下载的速度限制就来源于宽带的下行带宽了。但是实际上而言,单线程下载(浏览器点击下载)往往速度难说,有快又慢(还分国内国外,国外估计下不动),但是再快一般也不会超过家庭宽带的下行速率,所以这个时候速度瓶颈往往是在下载站点,所以和你家宽下行是200,300,500,还是1000兆下行都没有关系(100还是过分了),这个时候哪怕你是10g都没毛用。(是不是很耳熟,我在上一篇文章提了很多没毛用,来源就在于此)。

如果单线程下载速度的瓶颈是来源于下载站点,那么这个时候多线程下载就可能有用了,如果对方允许的话,例如:

image.png

如果启用了上图的限制,单IP最多3个并发线程(这还是对于有公网地址的用户而言,如果你没公网地址,那肯定是用的nat,最终你能用几个线程访问取决于你当时使用的公网IP上有几个人访问这个站点,如果满了3个,你还访问不了了~),那你用多线程下载的确可以3倍下载速度,但是也仅限于此了。

在这种情况下多拨的威力就发挥出来了:

1、如果你家的宽带支持3拨(就假设3拨吧,以我家为例)

2、如果你家3拨有3个IPv4公网地址(这个其实不是必须,就算获得的是内网地址,最终出去也可能是3个不同的公网IP,因为运营商的IPv4 公网地址池足够大)

3、如果你的多拨负载策略配置得当(怎么个得当法,后面说)

那么理论上你可以达到9倍下载速度(这个不是因为什么带宽叠加,只是因为你有3个公网IP地址)。

只不过,这种现在我相信不是常态了,现在这种正常的下载应该也不多了吧,大部分还是用了p2p。

2、上行带宽叠加

这个比前面所说的下行带宽叠加更缥缈,因为要用到上行带宽的场景往往是绑定你的公网IP来的(比如PT),所以你单次拨号的上行带宽就决定了这个应用的带宽上限,多拨100次也没用。当然,多拨玩PT也是可以的,可以充分利用每条链路的上行带宽(前提有IPv4公网地址,为啥不提ipv6公网地址?除非路由器的端口映射支持ipv6公网到ipv6私网的映射,否则ipv6公网地址都是走的路由,已经和多拨无缘了),只不过麻烦点,要为每个pt的tracker服务器指定不同的出口链路,以前我就是这么搞的,但是现在不搞了,一来太麻烦,几十个pt站。。二来,我已经毕业了。。不再需要上传量~。其实,真缺上传量,不如去买盒子,用家宽挂pt还是以积分为主,所以带宽其实也不重要了。

明确了基本概念,我们继续说多拨。

多拨策略

前面提到了多拨策略配置得当的问题,什么叫得当?其实这个主要是指你怎么利用你的多条出口链路,也从下行和上行2个角度来讲。

1、下行

如果你没什么细节要求,可以直接用”多线负载“的方式复用几条出口链路,这个也有好几个选项,比如:

image.png

image.png

这个大家根据自己的需求选择即可。
也可以用协议分流:
https://www.ikuai8.com/index.php?option=com_content&view=article&id=146&Itemid=253
端口分流:
https://www.ikuai8.com/index.php?option=com_content&view=article&id=147&Itemid=254
域名分流:
https://www.ikuai8.com/index.php?option=com_content&view=article&id=148&Itemid=255
上下行分流:
https://www.ikuai8.com/index.php?option=com_content&view=article&id=149&Itemid=256
这些我就不细说了,大家直接看爱快的官方在线帮助就成,所以我说爱快的在线帮助做得好。

2、上行

这个才是我想说的重点。家庭数据中心的一个核心理念就是用最小的成本实现建站的目的,而且体验还必须很好。我觉得有公网IPv4地址的多拨(有IPv6公网地址也行,只是和多拨没啥关系,以后新起一篇文章来讲),真正能发挥经济效益的地方就是建站了。通过多拨,我可以有3个IPv4公网地址,理论上可以有3个出口,每个出口50兆上行带宽(因为运营商都留有余量,实际每个出口上行60多兆),结合爱快的动态域名功能,可以将不同的站点的访问流量分配到不同的出口上去,实现上行流量的负载分担,这才是有公网地址多拨的最大收益。想想看,180兆上行什么概念,如果是商务光纤得有多贵:)。

家庭数据中心的最大劣势

其实家庭数据中心中建站最大的问题是没有80和443端口。上行带宽的话,就算不多拨,现在我这里60兆,一般而言也完全足够了。自己家里买个64g内存,13代i5的mini主机也不过3000-4000(装个pve,新建一大堆的虚拟机和lxc容器,如果换算成云主机能省多少钱??),性能完爆云主机(当然土豪随意),所以只要解决了80和443端口的问题,家庭数据中心就没阻碍了(除了定期动态IP变更的时候会断个分把钟)。

如何解决80和443的问题?使用cdn。一般是国内云供应商的cdn(需要备案),也可以是cloudflare(经过优化之后cloudflare的访问速度已经可以接受了),cdn的源站是可以指定非80和443端口的,这个就解决了最关键的问题。而多拨可以有多个IPv4公网地址,如果合理分配源站域名对应的出口链路IPv4地址,3拨的情况下可以有180兆(60乘以3,非直接叠加)的上行带宽,这是什么概念?能省多少钱?

注意:多拨这种方式要发挥作用依赖于ipv4公网地址,课时这个在以后估计是越来越难的事情了。目前成都电信要ipv4公网地址每月至少499(399以上的套餐和100的服务费),太不划算了,我的199打死不变套餐,变了(哪怕是升级),估计ipv4公网地址也保不住了。

配置公网访问

发布到公网上的方式,大家需要根据实际环境和自己使用的反向代理选择最适合自己的方式,可以参考我以前的几篇文章:
1、docker系列 使用docker基于NPM搭建自己的反向代理
2、linux面板系列 配置反向代理并使用非443端口进行发布
3、家庭数据中心系列 通过国内备案云主机白嫖cloudflare实现国外快速访问国内站点
4、家庭数据中心系列 通过无公网IP的家庭宽带白嫖cloudflare实现快速建站(通用)

其中第1,2种方式适合有公网ip却没有合法443端口的环境(家庭宽带、未备案的云主机),需要在url后面加非标端口(如果使用cloudflare建站的不需要加端口,但是需要自定义源站端口,这个可以参考:家庭数据中心系列 通过cloudflare的Origin Rules解决建站有公网IP却没有合法的80、443端口的问题)。第3种方式适合有备案的云主机,第4种方式适合所有环境(包括没有公网IP的环境),也是我建议的方式(不管你的环境有没有公网IP,因为这种方式不需要直接在公网上跑https流量)。

博客内容均系原创,转载请注明出处!更多博客文章,可以移步至网站地图了解。博客的RSS地址为:https://blog.tangwudi.com/feed,欢迎订阅;如有需要,可以加入Telegram群一起讨论问题。
暂无评论

发送评论 编辑评论


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

本站已禁用鼠标右键和各种快捷键,代码块内容可以直接在右上角点击复制按钮进行复制

zh_CN