Mtu
為什麼將 MTU 從 1500 降低到 1499 可以讓我訪問大多數網站?
我遇到了這個問題,當 mtu 設置為 1500 時,我只能連接到 google.com 和 ibm.com 等網站,但如果我嘗試連接到其他任何網站,它只會顯示一個空白頁面。當 mtu 降低到 1499 時,它開始工作。我很好奇為什麼會這樣,如果將 mtu 設置為 1499 是否會在未來引起問題?我實際上對此了解不多,我只是聽說過,正在尋找一個好的解釋。
當我得到關於為什麼 MTU 僅下降 1 個字節的解釋時,我將用解釋更新我的問題。
這可能意味著您上游的某些其他設備具有較小的 mtu,並且有人錯誤地配置了防火牆以阻止所有 ICMP,從而阻止該路徑的MTU 發現。
許多天真的網路管理員似乎認為 ICMP 沒有目的,您可以完全阻止它而不會產生任何影響。
更具體地說,正在發生的事情是 IP 數據報在其標頭中設置了 DF(不分片)標誌。然後,他們在您和目的地之間的路徑上的某處點擊網關,該網關的 MTU 小於發送者使用的 MTU。該網關需要進一步對數據報進行分段,因此它發送 ICMP 類型 4 消息,這實質上意味著,“我需要對這些數據包進行分段,但你說不要。因此目的地無法到達。”
原始發送者沒有收到這些 ICMP 數據包,因為路徑上的某些網關已(愚蠢地)配置為阻止所有 ICMP。所以發件人不知道他的數據包沒有通過並坐在那裡等待……等待。最終有些事情會超時。通常是人類首先超時。:)