網站無法打開(開啟IPv6變卡)

#頭條創作挑戰賽#標題:開啟IPv6變卡?網頁打不開?如何絲滑地使用IPv6?隻需一個步驟【好玩的網絡-IPv6專題5】摘要DNS工作原理IPv4和IPv6 DNS的區別,以及DNS服務器對IPv4和IPv6的支持情況DNS的各種記錄簡介,A記錄、AAAA記錄、CNAME記錄客戶端(如Web瀏覽器)發送的DNS請求DNS服務器對IPv4和IPv6 DNS請求的反應,以及反應時間引入IPv6後,發現打開網頁卡頓,應該如何設置站內視頻傳送門往期精彩回顧:IPv6-1 每傢每戶都有的IPv6,你會用嗎?下載加速?校園網免流?內網穿透瞭?IPv6-2 IPv6是否安全?IPv6哪些技術可防網絡攻擊?IPv6的安全使用方法!IPv6-3 給你傢裡每一粒灰塵都分配一個公網IP:IPv6與IPv4到底哪裡不同?fe80是幹嘛的?IPv6-4 IPv6網頁打不開?fe80 ping不通?IPv6的通訊以及基本使用方法!Hi,大傢好,我是旋律果子,一個專註於網絡技術的Geek。關於IPv6的視頻已經出瞭4期瞭,感興趣的小夥伴可以點點往期回顧。這一期是第5期視頻,主要講一下有粉絲說的IPv6網絡卡頓的問題,開始之前先回復一下IPv6第3期的一個問題。1.更正第三期的一個問題第三期在講IPv6地址分配的時候,提到瞭運營商分配的前綴一般是64位,在視頻中顯示的畫面也有問題。評論區有粉絲指出來這裡面的問題,這裡統一更正回復說明一下。1.1第一點要說明的是內外網前綴是否一致的問題。路由器的Wan口上獲得的公網IPv6地址和Lan口以及內網設備獲得的公網IPv6,雖然他們都是公網IPv6,前綴長度也是64,但是他們的前綴並不是一樣的。路由器Wan口獲得的公網IPv6隻能路由器本身用,路由器Lan口獲得的公網IPv6和內網設備的公網IPv6前綴是一樣的。大傢可以把視頻暫停下來看一下區別。1.2第二點要說的是運營商分配的IPv6前綴長度的問題。我們看到IPv6地址的64位,但是運營商下發的前綴長度不一定是64位的,比如,大傢可以看這裡,在武漢電信分配的IPv6前綴就是56位的,所以上一期說的傢庭用戶的1800億億個公網ip,在這個基礎上還得乘以2的8次方,一共是2的72次方個公網IP。這個56位的前綴怎麼用呢,如果你有多個內網,可以給不同的接口上分配一個64位的公網IPv6地址塊,這個就比較牛逼瞭。這個前綴才是給路由器的Lan口和內網設備配置地址用的,再強調一下,給內網分配的地址並不是用的路由器Wan口的前綴。1.3第三點是,如果運營商不給你下發前綴,那麼你隻有主路由能獲得公網IPv6,內網設備是無法獲得公網IPv6的。內網就隻能像IPv4那樣用網絡地址轉換NAT瞭。這就產生瞭另外一個問題,如果你的光貓是路由模式,光貓的lan已經代理瞭前綴,那麼你的內部如果還有路由器的話,是無法獲得到前綴的,內網設備就沒辦法分配公網IPv6地址瞭。所以你的網絡中,包括光貓,有且隻能有一個路由器。要麼你的光貓是路由模式,其他所有路由器全部橋接模式。要麼光貓橋接模式,其他路由器有一個撥號上網,並給下面的設備分配IPv6地址。這些地方確實是有問題的,再次感謝這位粉絲的指出的問題,歡迎大傢評論區交流。2.如何正確配置IPv6這一期,我們聊一下,為什麼,很多人開瞭IPv6,發現通過瀏覽器訪問網頁,卡卡的,或者不能打開網頁。那麼,我們該如何正確配置IPv6呢?2.1 找原因:開啟IPv6為什麼會變卡?開啟IPv6為什麼網頁打不開?之前我們講過網絡協議棧的OSI模型,分析問題常用這個模型。我們先從最直觀的地方開始找原因。我們發出去的數據包遠距離傳輸時,都是工作在網絡層,所以我們最直觀的測試,就是測一下網絡層的速率。測網絡層連通性,以及延遲,可以用最常用的ping命令。一般來說,我們訪問遠程主機,如果你知道這個主機的IPv4和IPv6地址,你可以試著同時ping一下,很多時候,你會發現IPv6地址的延遲和IPv4的延遲,相差不過1毫秒。這說明開啟IPv6後,那些很大的延遲,根本就不是IPv6性能本身的問題,同時也不是網絡層的問題。所以,我們繼續往上找原因。當我們訪問一個網站時,訪問的是網站的域名。如果想把數據包發到這個位置,我們需要知道對方的IP地址。DNS就是將域名解析為IP地址的服務器。那麼,是DNS查詢的速度過慢造成的嗎?在查詢之前,我們先講一個被很多人誤解的地方。大傢可以把答案寫在評論區。使用IPv6瀏覽網頁,一定要配置IPv6的dns地址嗎?給大傢3秒鐘思考一下。其實是不需要的。果子之前也出過DNS的視頻,我們在電腦上填寫,或者是被路由器分配的DNS地址,隻是DNS服務器本身的地址,並不意味著填寫IPv6的DNS才能解析出IPv6。我們填寫的這個DNS地址隻是讓我們找到DNS服務器的位置,所以這個DNS地址,無論是IPv4地址還是IPv6地址,隻要能引導我們的電腦找到這個DNS服務器的位置,目標就完成瞭。那一個域名對應的IPv6地址在哪裡儲存的呢?在DNS服務器上可以儲存很多記錄,其中A記錄儲存瞭IPv4地址,AAAA記錄儲存瞭IPv6地址,CNAME記錄儲存瞭CDN域名。瀏覽器訪問一個網站時,如果發現自己有IPv6地址,會同時去查詢一個網站域名的A記錄和AAAA記錄。2.2IPv6 DNS解析現在以IPv6為例,說一下DNS服務器面對DNS請求的反應。如果DNS服務器支持AAAA記錄並且存在記錄,那麼會立即返回解析結果,正常解析;如果DNS支持AAAA記錄,但是發現域名沒有對應的IPv6地址,那麼會立即返回空的AAAA記錄的,如果DNS不支持AAAA記錄,不去處理IPv6的解析,那麼就不會返回AAAA記錄,並且會超時。IPv4和IPv6都有這3種情況。所以一共是3的平方,也就是9種情況。另外應用程序一般會優先使用IPv6。這樣就形成瞭下面的表格:如果一個DNS服務器沒有返回AAAA記錄,而A記錄正常解析先到達,那麼瀏覽器會等待AAAA記錄到達,如果沒有等到AAAA記錄,並且沒有收到回復並且超時,才會去使用A記錄的IPv4去訪問。如果AAAA記錄正常返回並且為空,瀏覽器會直接選擇IPv4進行訪問,不會繼續等待。從這個表格來看,一般IPv4的解析都是正常的,所以表格的下面兩行幾乎不用考慮。所以就剩下上面這三種情況。當IPv6功能開啟時,如果DNS服務器不支持AAAA記錄,或者AAAA記錄到DNS服務器的過程中丟包,那麼就很容易出現第一行的第3種情況,這樣就導致非常卡瞭。如果一個域名沒有AAAA記錄,那麼dns服務器會返回一個空記錄,這時瀏覽器就不會繼續等待,直接使用IPv4進行訪問,速度也快。所以,不怕DNS說,“我這裡沒有你要的IPv6”,怕就怕,DNS服務器什麼話都不說,那我們就得幹等著瞭。2.3 原因:如果DNS服務器出瞭問題,解析出錯誤的IPv6地址,服務器的IPv6網絡也有問題的話,就會出現網絡打不開的情況瞭。如果涉及到CNAME記錄和CDN,情況要更加復雜一些,也會變得更慢。知道瞭這個原理,我們就很好排查故障原因瞭。你們可以觀察一下自己的DNS服務器,是否很好的支持IPv6,在macos系統中,可以使用dig命令來測試。在windows系統中,可以使用nslookup來測試。不少傢用路由器為瞭提升DNS解析的速度,在自己這裡搭建瞭一個DNS緩存服務器,相當於路由器本身是一個DNS服務器。路由器會通過DHCP將自己的IP地址作為DNS服務器分配給終端設備。你可以觀察一下,你的DNS地址是不是路由器的lan口IP地址。傢用路由器經歷瞭長期的更新迭代,在IPv4的時代還好,現在一般沒什麼問題。但是在IPv6時代,不少傢用路由器還沒做好準備,對IPv6的支持也不是很完善,導致DNS緩存服務器對IPv6的支持不好,所以,隻要一開IPv6,就卡頓。2.4優化IPv6配置,解決網頁卡頓/打不開那麼,說到這裡,解決方案就很簡單瞭,直接給自己的電腦設置公用DNS就可以瞭,比如騰訊dnspod的地址,119.29.29.29。最好是直接在路由器的DHCP服務器中設置DNS地址,將DNS地址設置為119.29.29.29,這樣,接入局域網的設備,就能自動被分配設置好的DNS地址瞭。設置好這些後,大傢再來看看,在開啟IPv6的情況下,是否流暢。歡迎評論區留言!以上是針對大多數用戶的情況。還有一部分用戶,傢裡開瞭特殊的上網環境,而這些特殊的線路不支持IPv6,卻默認IPv6優先,導致問題出現,這些也有解決的辦法,就是不知道視頻發不發得出來瞭,不過可以先點個關註。這就是本期視頻的全部內容瞭,如果IPv6能保持較好的熱度,IPv6系列會一直出,希望大傢多多支持。我是旋律果子,一個網絡極客,我們下期再見。關註博主,學習更多網絡知識!還有更多實戰經驗等著你!圖文編輯: 旋律果子 貓小爪旋律果子: 網絡Geek/Linux開發者/中國科學院大學在讀博士/科技數碼博主/國傢水利水電二級建造師/優質科技領域創作者

本文出自快速备案,转载时请注明出处及相应链接。

本文永久链接: https://www.175ku.com/41437.html