开启ipv6网速反而变慢了[ipv6开启好还是禁用好]

发表时间:2023-12-15 05:48:02
0 0

发现最近经常有人提到开启IPv6连接速度慢的问题。目前国内确实存在支持IPv6的服务器、CDN节点不够多,IPv6国际带宽比IPv4带宽小的问题,但也不至于会打开国内网站都卡。通常情况下遇到这个问题说明你到目标服务器的链路上存在PMTU黑洞。

关于PMTU黑洞MTU(Maximumtransmissionunit)是一条链路上可以通过的三层数据包的最大尺寸(包含IP包头)。以太网上默认的MTU是1500字节,但是你和目标服务器之间的路径上可能存在小于MTU1500的链路。这条路径上最小的MTU值就是整条路径的PMTU值。路由器在转发包时,超过MTU大小的包会被分片(Fragmentation),也就是一个大包会被分切为多个不超过MTU的小包进行传输,传输效率会下降。

终端设备在发包时,也可以设置DF(Don’tFragment)标记来告诉路由器不要分片。这时中间路由器会丢掉超过MTU的包,回复一条ICMPFragmentationNeeded消息。发送者收到这个包后,下次就会发小一点的包,这个过程叫做PMTUDiscovery。现实中可以看到HTTPS(TLS)的流量大都是带DF标记的。

然而,互联网上有大量的中间设备为了所谓的“安全”或者没有正确配置,不回应ICMPFragmentationNeeded包,这使得访问某些网站时如果某个包的大小超过了PMTU,会被无声地丢弃,直到TCP协议发现超时丢包进行重传,这非常缓慢。遇到这种情况,我们可以说你和目标服务器的路径上存在PMTU黑洞。

此外,IPv6不支持分片,换句话说可以理解为IPv6下所有的包都是带DF标记的。中间路由器在遇到包尺寸大于MTU的情况时,应该回应ICMPv6PacketTooBig消息。同样的,由于种种原因,某些中间设备可能会直接丢包而不回应ICMPv6PacketTooBig消息,直到TCP协议发现超时丢包进行重传。。。

为什么IPv4没有这个问题其实IPv4也有这个问题,我不只一次见网友说自己搭的软路由访问某些网站非常慢,而换回硬路由就正常。这是因为多数家用路由器默认对IPv4下的TCP开启了MSS(maximumsegmentsize)Clamping(使用OpenWRT软路由的朋友们可以在防火墙设置中找到MSSClamping开关)。MSSClamping是针对PMTU黑洞的Workaround,简单来说就是TCP握手时有个MSS字段决定单个TCP包的最大尺寸。路由器可以通过嗅探TCP握手包,把MSS值改小,使最终的三层IP包的尺寸(MSS+TCP头大小+IP头大小)不超过某个特定的值。

总结现在国内ISP一般都是通过PPPoE虚拟拨号建立WAN口连接的。Ethernet的默认MTU是1500,但是PPPoE隧道有8个bytes的开销,所以PPPoE虚连接的MTU就是1500-8=1492,减掉IPv4包头(20字节)和TCP包头(20字节),可以得知IPv4下需要把MSS设为1452以下。

IPv6的包头是40字节,所以IPv6下需要把MSS设为1432以下。

这时问题来了,目前很多光猫、家用路由器对IPv6的优化很差,不支持对IPv6下的TCP包进行MSSClamping,这就导致访问IPv6网站时,若路径中存在PMTU黑洞,则打开很慢。

我前段时间帮朋友配置IPv6时发现了很多光猫、家用路由器的固件问题,使得国内使用IPv6的体验不太理想。我打算抽空专门开一个帖子去讨论这些问题,声讨那些垃圾厂家。目前来看,要想在国内比较理想地体验IPv6,你需要把光猫改为桥接模式,并使用OpenWRT或者VyOS这类对IPv6支持较好的软路由。

附:在基于Linux的路由器启用MSSClamping的命令:

自动MSS,假设PPPOE虚接口是pppoe0iptables-tmangle-APOSTROUTING-ptcp–tcp-flagsSYN,RSTSYN-opppoe0-jTCPMSS–clamp-mss-to-pmtuip6tables-tmangle-APOSTROUTING-ptcp–tcp-flagsSYN,RSTSYN-opppoe0-jTCPMSS–clamp-mss-to-pmtu

手动指定MSS,假设PPPOE虚接口是pppoe0$iptables-tmangle-APOSTROUTING-ptcp–tcp-flagsSYN,RSTSYN-opppoe0-jTCPMSS–set-mss1452$ip6tables-tmangle-APOSTROUTING-ptcp–tcp-flagsSYN,RSTSYN-opppoe0-jTCPMSS–set-mss1432

RouterOS里设置MSS的命令。其中pppoe-out1是wan口,1420是要MSS值,请根据需要修改。

/ipv6firewallmangleaddchain=forwardout-interface=pppoe-out1protocol=tcptcp-flags=synaction=change-mssnew-mss=1420

UBNTEdgerouter系列的MSS设置方法:

setfirewalloptionsmss-clamp6interface-typepppoesetfirewalloptionsmss-clamp6mss1420

赞(0)打赏

01Facebook(脸书-外国版的人人网)Facebook是美国的一个社会化网络站点,中文网名译为“脸谱网”,于2004年2月由马克·扎克伯格与他的哈佛大学室友创建,总部位于…

自古以来,中国人都是最为注重礼仪,重视感情的。所以,逢年过节,带着礼物走亲访友就成了一个不成文的习惯。而在这些礼物中,最为突出的就要属烟酒糖茶了。不过,烟酒糖茶在这些年里也成为了…

过年在家的时候,发现电池鼓包了,上周刚去AppleStore换了电池,本文记录一下电池维修的过程。背景介绍我的电脑是MacBookPro2018,是18年7…

如果你还不会用微信支付或支付宝支付,可能都会有人笑话你,移动支付时代,谁还不会用这个?可是,在使用微信支付的时候,也是会存在一些套路的,我们稍有不慎,就会被套路进去。比方说:我们…

对于很多手游玩家来说,玩过的游戏千千万,但最爱的始终是那么几款。比如在B站UP主星球数据发布的2023年1月手游热度排行榜中,《王者荣耀》继续蝉联第一,凭借756977热度值登顶,…

大家都知道,芦荟胶是从天然芦荟里提取出来的,它不仅可以起到舒缓肌肤、镇静消炎的作用,还可以有效地消除痘印。除此之外,当我们不小心烫伤或者是划破伤口时,可以在伤口处抹上芦荟胶,也有着…

SEO专员2023年2月25日•投稿00投稿

代驾需要什么条件才可以加入(代驾需要什么条件一个月能拿多少钱)

代驾软件和代驾系统上市以来,陆续接到过很多客户的咨询,经常会问到“代驾公司怎么注册?需要什么条件?”,很多人都不了解开公司的一些流程,下面为您详细解答。1、租凭办公场所种类民宅…

味道哥2023年10月12日00投稿

seo优化收费怎么做(seo优化收费的3大价格解析)

SEO关键词优化一般都是依照关键词指数而收费的,关键词指数越高,价格越高。而且每个外包公司的服务、技术等都会存在差异,所以优化关键词预期作用也是不同的。SEO关键词优化的价格是多…

SEO专员2023年10月23日00

声明:本文图片、文字、视频等内容来源于互联网,本站无法甄别其准确性,建议谨慎参考,本站不对您因参考本文所带来的任何后果负责!本站尊重并保护知识产权,本文版权归原作者所有,根据《信息网络传播权保护条例》,如果我们转载内容侵犯了您的权利,请及时与我们联系,我们会做删除处理,谢谢。

全部评论 0条
请先登录发表后评论(·ω·)
表情
发表
1页,跳至

金币

主题
最新发表
返回顶部