qian奇岸微信二维码 如您需要快速报价 请加技术经理微信 服务热线
13501992972
"MENU"
首页 > 行业新闻 > 正文

发觉近期常有人提及打开 IPv6 联接速度比较慢问题

奇岸开发
ahqian.com
10/28/2022
wechat

无需加好友免费技术支持

发觉近期常有人提及打开 IPv6 联接速度比较慢问题。现阶段,内的确有适用。 IPv6 服务器、CDN 连接点不足,IPv6 国际带宽比 IPv4 网络带宽小,但是不会开启国内网站卡。一般,这个问题说明您存在总体目标云服务器连接中 PMTU 黑洞。

有关 PMTU 黑洞MTU (Maximum transmission unit) 三层数据文件最大的规格能通过一个链接(包含 IP 包头市)。以太网接口默认设置 MTU 是 1500 字节数,但是你与目标服务器之间的路径很有可能低于 MTU 1500 的链接。最小路径 MTU 值是成条路径 PMTU 值。分享外包装时路由器超出 MTU 大小的小包会被分为残片( Fragmentation ),换句话说,一个大包包能被分为好几个不得超过 MTU 传送小包时,传输速度也会降低。

智能终端在承揽的时候也能设 DF ( Don"t Fragment )标识告知路由器不必分片。这时,正中间路由器将遗失超出 MTU 回应一个包 ICMP Fragmentation Needed 信息。接到这个包后,发布者下一次会收小包,这一过程称为 PMTU Discovery 。现实生活中由此可见 HTTPS ( TLS )绝大多数总流量全是戴的 DF 标识的。

但是,网络上有大量中间设备没有回复所谓安全性或者没有恰当配置 ICMP Fragmentation Needed 这也使得在浏览某些网站时,假如某一包大小超过 PMTU,这将被无声的抛下,直至他们被无声的抛下,直至 TCP 协议书发觉请求超时网络丢包重新传输比较慢。在这样的情况下,大家可以这么说你与总体目标服务器之间存有路径 PMTU 黑洞。

除此之外,IPv6 也就是说,不兼容分片可以看作 IPv6 下边每一个包全是戴的 DF 标识的。碰到包时,正中间路由器尺寸超过 MTU 应回复状况 ICMPv6 Packet Too Big 信息。一样,由于种种原因,一些中间设备可能立即网络丢包且不回复 ICMPv6 Packet Too Big 信息,直至 TCP 协议书发觉请求超时网络丢包重新传输。。。

为何 IPv4 并没有这个问题 IPv4 也有这个问题,我不止一次见到朋友说他的软路由系统浏览一些网站特别慢,换回来硬路由器是正常。主要是因为大部分家庭用路由器默认设置 IPv4 中的 TCP 打开了 MSS (maximum segment size) Clamping (应用 OpenWRT 软路由系统的小伙伴可以在网络设置中寻找 MSS Clamping 电源开关)。MSS Clamping 就是针对 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 包开展 MSS Clamping,这造成了浏览 IPv6 假如网址存在路径中, PMTU 黑洞开启迟缓。

前不久我帮朋友配备配置 IPv6 宽带光猫和家庭用路由器的固定件难题时会发觉,在我国应用 IPv6 感受不太理想。我打算花费时间开一个专业的文章来讨论各种问题,探讨废弃物生产商。现阶段,如果你想要在我国有梦想的感受 IPv6.你需要将宽带光猫改成桥接模式并用它 OpenWRT 或是 VyOS 这种对 IPv6 适用更加好的软路由系统。

附:在根据 Linux 路由器开启MSS Clamping的指令:

全自动MSS,假定PPPOE虚插口是pppoe0iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o pppoe0 -j TCPMSS --clamp-mss-to-pmtuip6tables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o pppoe0 -j TCPMSS --clamp-mss-to-pmtu

手动式特定MSS,假定PPPOE虚插口是pppoe0$ iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o pppoe0 -j TCPMSS --set-mss 1452$ ip6tables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o pppoe0 -j TCPMSS --set-mss 1432

RouterOS里设定MSS指令pppoe-out1是wan口,1420一定要MSS请结合必须改动值。

/ipv6 firewall mangle add chain=forward out-interface=pppoe-out1 protocol=tcp tcp-flags=syn action=change-mss new-mss=1420

UBNT Edgerouter 系列MSS设定方式:

set firewall options mss-clamp6 interface-type pppoeset firewall options mss-clamp6 mss 1420

热度969

了解更多发觉近期常有人提及打开 IPv6 联接速度比较慢问题欢迎联系奇岸开发客服。

奇岸开发可定制企业官网小程序、小程序商城、餐饮外卖小程序、预约小程序、多门店小程序、分销小程序及个人小程序。

微信二维码

微信长按识别或扫一扫,无需加好友直接咨询,企业网站开发、网站托管维护、企业管理系统开发、微信小程序制作、域名主机、网站备案、网站改版等提供专业技术解答。

精彩推荐

猜你喜欢