欧洲变态另类zozo,欧美xxxx做受欧美gaybdsm,欧洲熟妇色xxxx欧美老妇软件,免费人成视频xvideos入口 ,欧美.日韩.国产.中文字幕

歡迎光臨本站
我們一直在努力

IPv6開啟后Wi-Fi速度變慢或無法打開網(wǎng)頁的解決辦法

有些用戶遇到光貓或者路由器開啟ipv6后,發(fā)現(xiàn)電腦手機(jī)手機(jī)無線連接wifi上網(wǎng)慢,有時候網(wǎng)頁都打不開了,比如今日頭條、云閃付、京東金融的部分頁面慢得像烏龜爬,云閃付簽到頁面直接打不開,下面來講講解決辦法。

IPv6

發(fā)現(xiàn)最近經(jīng)常有人提到開啟 IPv6 連接速度慢的問題。目前國內(nèi)確實存在支持 IPv6 的服務(wù)器、CDN 節(jié)點不夠多,IPv6 國際帶寬比 IPv4 帶寬小的問題,但也不至于會打開國內(nèi)網(wǎng)站都卡。通常情況下遇到這個問題說明你到目標(biāo)服務(wù)器的鏈路上存在 PMTU 黑洞。

關(guān)于 PMTU 黑洞
MTU (Maximum transmission unit) 是一條鏈路上可以通過的三層數(shù)據(jù)包的最大尺寸(包含 IP 包頭)。以太網(wǎng)上默認(rèn)的 MTU 是 1500 字節(jié),但是你和目標(biāo)服務(wù)器之間的路徑上可能存在小于 MTU 1500 的鏈路。這條路徑上最小的 MTU 值就是整條路徑的 PMTU 值。路由器在轉(zhuǎn)發(fā)包時,超過 MTU 大小的包會被分片( Fragmentation ),也就是一個大包會被分切為多個不超過 MTU 的小包進(jìn)行傳輸,傳輸效率會下降。

終端設(shè)備在發(fā)包時,也可以設(shè)置 DF ( Don’t Fragment )標(biāo)記來告訴路由器不要分片。這時中間路由器會丟掉超過 MTU 的包,回復(fù)一條 ICMP Fragmentation Needed 消息。發(fā)送者收到這個包后,下次就會發(fā)小一點的包,這個過程叫做 PMTU Discovery ?,F(xiàn)實中可以看到 HTTPS ( TLS )的流量大都是帶 DF 標(biāo)記的。

然而,互聯(lián)網(wǎng)上有大量的中間設(shè)備為了所謂的“安全”或者沒有正確配置,不回應(yīng) ICMP Fragmentation Needed 包,這使得訪問某些網(wǎng)站時如果某個包的大小超過了 PMTU,會被無聲地丟棄,直到 TCP 協(xié)議發(fā)現(xiàn)超時丟包進(jìn)行重傳,這非常緩慢。遇到這種情況,我們可以說你和目標(biāo)服務(wù)器的路徑上存在 PMTU 黑洞。

此外,IPv6 不支持分片,換句話說可以理解為 IPv6 下所有的包都是帶 DF 標(biāo)記的。中間路由器在遇到包尺寸大于 MTU 的情況時,應(yīng)該回應(yīng) ICMPv6 Packet Too Big 消息。同樣的,由于種種原因,某些中間設(shè)備可能會直接丟包而不回應(yīng) ICMPv6 Packet Too Big 消息,直到 TCP 協(xié)議發(fā)現(xiàn)超時丟包進(jìn)行重傳。

為什么 IPv4 沒有這個問題?
其實 IPv4 也有這個問題,我不只一次見網(wǎng)友說自己搭的軟路由訪問某些網(wǎng)站非常慢,而換回硬路由就正常。這是因為多數(shù)家用路由器默認(rèn)對 IPv4 下的 TCP 開啟了 MSS (maximum segment size) Clamping (使用 OpenWRT 軟路由的朋友們可以在防火墻設(shè)置中找到 MSS Clamping 開關(guān))。MSS Clamping 是針對 PMTU 黑洞的 Workaround,簡單來說就是 TCP 握手時有個 MSS 字段決定單個 TCP 包的最大尺寸。路由器可以通過嗅探 TCP 握手包,把 MSS 值改小,使最終的三層 IP 包的尺寸( MSS+TCP 頭大小+IP 頭大小)不超過某個特定的值。

總結(jié):
現(xiàn)在國內(nèi) ISP 一般都是通過 PPPoE 虛擬撥號建立 WAN 口連接的。Ethernet 的默認(rèn) MTU 是 1500,但是 PPPoE 隧道有 8 個 bytes 的開銷,所以 PPPoE 虛連接的 MTU 就是 1500-8=1492,減掉 IPv4 包頭( 20 字節(jié))和 TCP 包頭( 20 字節(jié)),可以得知 IPv4 下需要把 MSS 設(shè)為 1452 以下。

IPv6 的包頭是 40 字節(jié),所以 IPv6 下需要把 MSS 設(shè)為 1432 以下。

這時問題來了,目前很多光貓、家用路由器對 IPv6 的優(yōu)化很差,不支持對 IPv6 下的 TCP 包進(jìn)行 MSS Clamping,這就導(dǎo)致訪問 IPv6 網(wǎng)站時,若路徑中存在 PMTU 黑洞,則打開很慢。

我前段時間幫朋友配置 IPv6 時發(fā)現(xiàn)了很多光貓、家用路由器的固件問題,使得國內(nèi)使用 IPv6 的體驗不太理想。我打算抽空專門開一個帖子去討論這些問題,聲討那些垃圾廠家。目前來看,要想在國內(nèi)比較理想地體驗 IPv6,你需要把光貓改為橋接模式,并使用 OpenWRT 或者 VyOS 這類對 IPv6 支持較好的軟路由。

附:在基于 Linux 的路由器啟用MSS Clamping 的命令:

自動MSS,假設(shè)PPPOE虛接口是pppoe0
iptables -t mangle -A POSTROUTING -p tcp –tcp-flags SYN,RST SYN -o pppoe0 -j TCPMSS –clamp-mss-to-pmtu

ip6tables -t mangle -A POSTROUTING -p tcp –tcp-flags SYN,RST SYN -o pppoe0 -j TCPMSS –clamp-mss-to-pmtu

手動指定MSS,假設(shè)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里設(shè)置MSS的命令。其中pppoe-out1是wan口,1420是要MSS值,請根據(jù)需要修改。
/ipv6 firewall mangle add chain=forward out-interface=pppoe-out1 protocol=tcp tcp-flags=syn action=change-mss new-mss=1420

UBNT Edgerouter 系列的MSS設(shè)置方法:
set firewall options mss-clamp6 interface-type pppoe
set firewall options mss-clamp6 mss 1420

版權(quán)聲明:本文采用知識共享 署名4.0國際許可協(xié)議 [BY-NC-SA] 進(jìn)行授權(quán)
文章名稱:《IPv6開啟后Wi-Fi速度變慢或無法打開網(wǎng)頁的解決辦法》
文章鏈接:http://www.ljxxtl.cn/kaquan-baike/wifi-luyou/90410.html
本站資源僅供個人學(xué)習(xí)交流,請于下載后24小時內(nèi)刪除,不允許用于商業(yè)用途,否則法律問題自行承擔(dān)。