|
|
最近偶尔玩一点在线对战游戏,发现延迟在100-110 ms左右,一直用的是x86软路由拨号,于是换用硬路由拨号,发现延迟降到了30ms-50ms应该是我玩的游戏的正常水平,因此思考软路由是否是作为主路由的一个好的选择。希望和大家探讨研究,帮我指出我的问题。
所用系统为esir编译的2020版。
首先是对延迟产生原因的思考,硬路由有专门的硬件加速,速度快,软路由没有专门转发的硬件,只能通过操作系统在软件层面实现转发。借用OSI参考模型,硬路由通过硬件传输到网络层,而软路由虽然理论上也是到网络层,但由于数据包要通过操作系统来进行判断分流等操作,因此我从某种角度上认为其已经到达应用层,再层层封装,产生了大量时间消耗。
然后,我想是否有必要将软路由作为主路由。玩软路由的目的主要应该是:加速部分网络(比如加速游戏,部分网站等),NAS,内网服务器,内网穿透,再就是做一些路由层面的过滤。我认为大概这些就是最常用的了吧。而又都可以通过旁路网关的方式实现。如果作为旁路网关,还不怕配置出错等问题导致断网被家人讨伐(上个月断网一周,白天上班晚上修网(悲))。当然做旁路由配置上会繁琐一点,部分情况可能会多一层NAT,这也是旁路由一大缺点。
再就是软路由小包转发效率低的问题,这也是没有硬件加速的硬伤,不过大概没多少人有那么高的转发需求?除了像打游戏这样对延迟极其敏感的上网行为,平时上个网站看个视频之类的应该也没有太高的要求吧。
用来跑宽带上行的就不讨论了,毕竟不算正常使用,我也更倾向于网络稳定,不搞那玩意就不多说。
综上,我认为,如果对网络延迟要求不高,只是用来加速部分网络访问的话,可能做旁路由会更好一点。如果对延迟要求不高,并且也不希望NAT类型太差,做主路由好?希望大家可以讨论,指出问题。
|
|