深入淺出 路由 MTU MRU MSS 設定
MTU
通訊術語 最大傳輸單元(Maximum Transmission Unit,MTU)是指一種通訊協議的某一層上面所能透過的最大資料包大小(以位元組為單位)
MTU 不行太大也不能太小 要剛剛合適
比如:一個資料總長是 2999位元組
MTU 為1500時 這個資料被 拆成 1500 為標準的一段 分 1500+1499 2段 傳送完畢
MTU 為1400 時 這個資料被 拆成 1400 為標準的一段 分 1400+1400+199 3段 傳送完畢
所以太小了 傳送就不效率了...
比如:一個資料總長是 9999位元組
MTU 為15000時 這個資料被 拆成 15000 為標準的一段 分 15000 1段 傳送完畢
但是包太大 傳送過程中 被干擾 或者 丟包了 就需要重新傳送了
所以太大了 傳送就也不效率了...
百兆網路 預設的MTU世界標準為最大1500 (PS:千兆也有巨幀 比如4k 6k 9k 甚至16k 不過要純千兆環境才可以)
MRU Maximum-Receive-Unit (MRU) 和MTU一樣 可以簡單理解為 一個接受 一個傳送 值而已
所以一般 路由設定 MTU MRU 相同值即可
如果測試 MTU 適合呢?
同最簡單的方法就行了...
ping命令 用到2個引數 -l 就是包的大小 -f 不允許分段傳送
例子我這裡要測試 ADSL 的 最佳MTU值
-l 引數一般 從 1472 逐步減少 (MTU最大值是1500 減去28包頭就是1472了)
複製程式碼
這裡可以看出 1465 的包太大了 要分段傳送 1464 就剛剛好
複製程式碼
MSS是報文傳輸
MSS + 20 位元組 IP包頭 + 20位元組TCP頭 就是 MTU了...
那麼我的最佳MSS就是 MTU 減去40 1492-40 = 1452
1452就是我最佳的MSS了...
小結:
ping -l 的值 + 28 就是最佳 MTU值
MTU 減去 40 就是 最佳MSS值[@more@]
通訊術語 最大傳輸單元(Maximum Transmission Unit,MTU)是指一種通訊協議的某一層上面所能透過的最大資料包大小(以位元組為單位)
MTU 不行太大也不能太小 要剛剛合適
比如:一個資料總長是 2999位元組
MTU 為1500時 這個資料被 拆成 1500 為標準的一段 分 1500+1499 2段 傳送完畢
MTU 為1400 時 這個資料被 拆成 1400 為標準的一段 分 1400+1400+199 3段 傳送完畢
所以太小了 傳送就不效率了...
比如:一個資料總長是 9999位元組
MTU 為15000時 這個資料被 拆成 15000 為標準的一段 分 15000 1段 傳送完畢
但是包太大 傳送過程中 被干擾 或者 丟包了 就需要重新傳送了
所以太大了 傳送就也不效率了...
百兆網路 預設的MTU世界標準為最大1500 (PS:千兆也有巨幀 比如4k 6k 9k 甚至16k 不過要純千兆環境才可以)
MRU Maximum-Receive-Unit (MRU) 和MTU一樣 可以簡單理解為 一個接受 一個傳送 值而已
所以一般 路由設定 MTU MRU 相同值即可
如果測試 MTU 適合呢?
同最簡單的方法就行了...
ping命令 用到2個引數 -l 就是包的大小 -f 不允許分段傳送
例子我這裡要測試 ADSL 的 最佳MTU值
-l 引數一般 從 1472 逐步減少 (MTU最大值是1500 減去28包頭就是1472了)
-
- C:>ping -l 1465 -f qq.com
- Pinging qq.com [119.147.15.55] with 1465 bytes of data:
- Packet needs to be fragmented but DF set.
- Packet needs to be fragmented but DF set.
- Packet needs to be fragmented but DF set.
- Packet needs to be fragmented but DF set.
- Ping statistics for 119.147.15.55:
- Packets: Sent = 4, Received = 0, Lost = 4 (100% loss),
- C:>ping -l 1464 -f qq.com
- Pinging qq.com [119.147.15.55] with 1464 bytes of data:
- Reply from 119.147.15.55: bytes=1464 time=34ms TTL=56
- Reply from 119.147.15.55: bytes=1464 time=36ms TTL=56
- Reply from 119.147.15.55: bytes=1464 time=36ms TTL=56
- Reply from 119.147.15.55: bytes=1464 time=34ms TTL=56
- Ping statistics for 119.147.15.55:
- Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
- Approximate round trip times in milli-seconds:
- Minimum = 34ms, Maximum = 36ms, Average = 35ms
這裡可以看出 1465 的包太大了 要分段傳送 1464 就剛剛好
- 1464 + 28 = 1492
- 1492 就是我這裡 ADSL的最佳 MTU MRU了...
MSS是報文傳輸
MSS + 20 位元組 IP包頭 + 20位元組TCP頭 就是 MTU了...
那麼我的最佳MSS就是 MTU 減去40 1492-40 = 1452
1452就是我最佳的MSS了...
小結:
ping -l 的值 + 28 就是最佳 MTU值
MTU 減去 40 就是 最佳MSS值[@more@]
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23590362/viewspace-1040050/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- MTU設定
- 深入淺出FE(十四)深入淺出websocketWeb
- 深入淺出 Viewport 設計原理View
- 手動為網路介面設定 MTU 大小
- 深入淺出——MVCMVC
- 深入淺出mongooseGo
- HTTP深入淺出HTTP
- 深入淺出IO
- 深入淺出 RabbitMQMQ
- 深入淺出PromisePromise
- ArrayList 深入淺出
- mysqldump 深入淺出MySql
- 深入淺出decorator
- 深入淺出 ZooKeeper
- 機器學習深入淺出機器學習
- 深入淺出HTTPHTTP
- http 深入淺出HTTP
- 深入淺出 ARCore
- 深入淺出 synchronizedsynchronized
- 深入淺出WebpackWeb
- 深入淺出 blockBloC
- block深入淺出BloC
- 淺讀-《深入淺出Nodejs》NodeJS
- 淺入深出Vue:路由Vue路由
- 路由設定路由
- 深入淺出 Java 併發程式設計 (1)Java程式設計
- 深入淺出 Java 併發程式設計 (2)Java程式設計
- 《深入淺出webpack》有感Web
- 深入淺出 Laravel MacroableLaravelMac
- 反射的深入淺出反射
- Flutter | 深入淺出KeyFlutter
- 深入淺出 CSS 動畫CSS動畫
- 深入淺出:HTTP/2HTTP
- 深入淺出 Laravel EchoLaravel
- 深入淺出Spark JoinSpark
- 深入淺出 ThreadLocalthread
- 深入淺出JavaScript之thisJavaScript
- 深入淺出談 socket