【教學】使用PPPoE時,MTU之最佳設定值

第 1 頁,共 3 頁 1 2 3 末頁末頁
顯示結果從第 1 筆 到 10 筆,共計 28 筆
  1. #1
    if2
    if2 目前未上線
    我要光纖到府
    註冊日期
    2003-06-25
    討論區文章
    51

    【教學】使用PPPoE時,MTU之最佳設定值

    轉換成ADSL也已經好幾天了,昨天上網路找了一些資料,針對使用PPPoE時MTU的設定怎樣才是最佳化,在下將心得整理成文章希望對大家有幫助。如有錯誤,歡迎各位指正。

    先來說說什麼是MTU好了,MTU為Maximum Transmission Unit的縮寫。字面解釋為「最大傳輸單位」,也就是我們電腦所送出網路封包的最大長度。過大時,可能在途中需分解,分別到達目的地後再組合起來,效率反而變差。但過小時,一定長度的資料需要分更多次來傳送,效率也無法提高。

    看看下面那張圖1應可以比較清楚,圖中可以看出MTU就是你從軟體送出的封包的最大長度值,最大是1500 bytes,這是針對Ethernet時的狀況。


    圖1. Ethernet封包示意圖

    那使用PPPoE時又是怎樣的情形呢?因為PPPoE需要 6 bytes 的空間儲存資訊,而PPPoE本身就是PPP的衍生,所以PPP所耗用的空間他也一併接收,一般辨識用的資訊會耗用掉 2 bytes ,如果有其他資訊的話最多可以耗用 4 bytes,Mutilink PPP的資訊最多 4 bytes ,最後儲存壓縮和加密的資訊最多也是 4 bytes 所以加一加最多最多會耗用 20 bytes不過一般情形都是如圖2,也就是只有PPPoE和PPP identifies所以共耗用 8 bytes。


    圖2. PPPoE封包示意圖

    翻查資料的結果,目前大概分成兩派,一派人針對MTU的大小,覺得是大就是好,而PPPoE因為需要耗用 8 bytes 所以MTU的最大值就是1492,他們認為設為1492是最佳的值,不過目前沒有找到有哪一篇提出相關理論基礎的實證,所以有待商榷。而另一派則是認為1454是最佳值,為什麼呢?針對這點,我們先看看下面圖3,至於圖3最下面的值就是我們等會要討論的。


    圖3. PPPoE與ISP連接示意圖

    圖3中可以看到,當我們的ADSL數據機要跟ISP那邊溝通時是透過ATM(Asynchronous Transfer Mode,非同步傳輸模式)協定來達成,關於ATM的相關問題在此不多作贅述,有興趣各位可以自行參閱相關書籍或資料。這裡我們把焦點放在ATM網路的Cell的大小,從圖4中我們可以知道,一個ATM Cell的大小是固定為 53 bytes 而真正存放資料的部分是 48 bytes。


    圖4. ATM Cell示意圖

    接下來就是我們要來探討,為什麼MTU設為 1454 bytes時是最佳值,因為ATM Cell是固定的 53 bytes ,而資料是 48 bytes,所以當你的資料要進入ATM網路是會被分成若干個 48 bytes 的區塊,而不足 48 bytes 則是補上PADDING,但因為不足的那一個一定是最後一個,而在ATM架構中的AAL5(ATM Adaptation Layer 5)中,最後一個Cell的最後面必須加上 8 bytes 的SAR(segmentation and re-assembly)就是儲存如何把分割後的這些Cell還原的資訊。

    這樣看來的話當你的MTU設定為1492時,你傳送到ATM的實際資料大小是:

    TCP/IP Payload(就是你的MTU)+ PPP Headers + PPPoE Headers + Ethernet Headers = 1492 + 2 + 6 + 18 = 1518

    而你的封包必須被分成 48 bytes一個等分,所以1518 / 48 = 31 餘 30,最後一個Cell就會如圖5上半部所示,30 + 8(SAR) + 10(Padding)= 48。也就是每個封包會多使用 10 bytes 的空間,10 / 1452 = 0.68% 的空間浪費,為何是1452而不是1492,因為你本身還需要耗掉 40 bytes 來放置TCP/IP的資訊,也就是圖1、圖2中你真正資料的所在MSS。

    那MTU設為1454的時候呢?

    TCP/IP Payload + PPP Headers + PPPoE Headers + Ethernet Headers = 1454 + 2 + 6 + 18 = 1480
    1480 / 48 = 30 餘 40

    所以最後一個Cell的如圖5下半部所示,40 + 8(SAR)= 48,不需要浪費任何空間給padding。各位如有注意到圖上的字樣,NTS的Enternet軟體所採用的MTU就是 1454 bytes。


    圖5. MTU為 1492 bytes 和 1454 bytes時的分割結果

    綜合以上所說,我認為在MTU設為 1454 bytes 時會有比較好的效能。



  2. #2
    會員 jaredlu 的大頭照
    註冊日期
    2001-05-02
    所在地區
    ADSL 12M/1M
    討論區文章
    36
    請問HiNet ADSL非固定制8M/640K供用戶下載的TCP Window Size的設定檔8M_winXP.inf 裡面的值是多少K?因為我有用ROUTER,想要設成一樣.
    設定檔內容如下:
    [version]
    signature="$Windows NT$"

    [DefaultInstall]
    AddReg=TweakTCP

    [TweakTCP]
    HKLM,System\CurrentControlSet\Services\Tcpip\Parameters,TcpWindowSize,0x00010001,00045000

  3. #3
    會員 hertw 的大頭照
    註冊日期
    2001-08-08
    所在地區
    FTTB 12M/4M
    討論區文章
    876
    這個 MTU 我通常都是調到 1300,即使在網路擁塞時也可以有比較好的連線效率。

  4. #4
    if2
    if2 目前未上線
    我要光纖到府
    註冊日期
    2003-06-25
    討論區文章
    51
    最初由 jaredlu 發表
    請問HiNet ADSL非固定制8M/640K供用戶下載的TCP Window Size的設定檔8M_winXP.inf 裡面的值是多少K?因為我有用ROUTER,想要設成一樣.
    設定檔內容如下:
    [version]
    signature="$Windows NT$"

    [DefaultInstall]
    AddReg=TweakTCP

    [TweakTCP]
    HKLM,System\CurrentControlSet\Services\Tcpip\Parameters,TcpWindowSize,0x00010001,00045000
    裡面的是設定RWIN不是MTU,他設定的值是45000。

  5. #5
    if2
    if2 目前未上線
    我要光纖到府
    註冊日期
    2003-06-25
    討論區文章
    51
    最初由 hertw 發表
    這個 MTU 我通常都是調到 1300,即使在網路擁塞時也可以有比較好的連線效率。
    壅塞時用較小的Packet可以在重新送封包時只需要送較少的DATA,不過1300 + 8 + 18 = 1326,分成每48 bytes一等分後餘數是30,和1492一樣會有 10 bytes 的padding可以考慮稍微改一下,避免padding。



  6. #6
    會員 hertw 的大頭照
    註冊日期
    2001-08-08
    所在地區
    FTTB 12M/4M
    討論區文章
    876
    最初由 if2 發表
    壅塞時用較小的Packet可以在重新送封包時只需要送較少的DATA,不過1300 + 8 + 18 = 1326,分成每48 bytes一等分後餘數是30,和1492一樣會有 10 bytes 的padding可以考慮稍微改一下,避免padding。
    我是用固接的,看來設成 1314 會更佳,感謝你的解說!

  7. #7
    小傑
    註冊日期
    2001-07-26
    所在地區
    seednet VDSL2 3M/768K
    討論區文章
    326
    感謝if2兄的文章
    看完if2兄的文章,小弟有一些疑問,
    1492有10 bytes 的padding,那改成1502就不會有padding了,
    可以改成1502嗎??

    MTU有上限嗎??
    一般網路上的資料都說設1454,有特殊原因嗎??
    Thanks:-)

  8. #8
    if2
    if2 目前未上線
    我要光纖到府
    註冊日期
    2003-06-25
    討論區文章
    51
    最初由 jackiemi2 發表
    感謝if2兄的文章
    看完if2兄的文章,小弟有一些疑問,
    1492有10 bytes 的padding,那改成1502就不會有padding了,
    可以改成1502嗎??

    MTU有上限嗎??
    一般網路上的資料都說設1454,有特殊原因嗎??
    Thanks:-)
    有上限,請看圖一和二,上限為 1500 Bytes,但是PPPoE要耗用 8 Bytes,當用PPPoE時最大只能設成 1492 Bytes,所以 1502 Bytes 是不可行的。

    至於設定為 1454 Bytes的原因,相信就是因為我文中所講的情況。

  9. #9
    小傑
    註冊日期
    2001-07-26
    所在地區
    seednet VDSL2 3M/768K
    討論區文章
    326
    最初由 if2 發表
    有上限,請看圖一和二,上限為 1500 Bytes,但是PPPoE要耗用 8 Bytes,當用PPPoE時最大只能設成 1492 Bytes,所以 1502 Bytes 是不可行的。

    至於設定為 1454 Bytes的原因,相信就是因為我文中所講的情況。
    拍謝,沒注意看到最上面的上限1500Bytes了

  10. #10
    mlj
    mlj 目前未上線
    會員
    註冊日期
    2001-07-21
    討論區文章
    7
    昨晚(6/23)分別以MTU值設成1492及1454於
    hinet的ftp站做600MB檔案之下載速度比對
    其中設MTU=1492時,可達800KB/s左右
    而MTU=1454時,僅達770KB/s左右
    why???
    (ps.Hinet ADSL 8M/640K,CT511C-Plus)



第 1 頁,共 3 頁 1 2 3 末頁末頁

類似的主題

  1. uTorrent在bb寬頻(CM)&光特快(CM)的最佳設定
    作者:chih_haohung 所在討論版:-- Cable Modem 心 得 交 流 版
    回覆: 0
    最後發表: 2008-12-27, 09:48 PM
  2. 關於 FTTB PPPoE 的 MTU/MRU 設定
    作者:tompuppy 所在討論版:-- FTTB / FTTC / FTTH 光纖寬頻討論版
    回覆: 3
    最後發表: 2006-08-26, 06:42 AM
  3. 【求助】Hinet 8M/640k與XI2200的最佳設定為何?
    作者:mickey70 所在討論版:---- ADSL 軟 硬 體 技 術
    回覆: 1
    最後發表: 2004-08-04, 12:02 AM
  4. 【建議】EO Video 的最佳設定參數
    作者:ricopeng 所在討論版:-- 多 媒 體 討 論 版
    回覆: 5
    最後發表: 2002-10-01, 01:07 PM
  5. 我的Raspppoe o.95b 版最佳設定法
    作者:dennishsu 所在討論版:---- ADSL 精 華 版
    回覆: 4
    最後發表: 2001-01-28, 01:39 AM

 

utorrent 3m384k

適合ADSL 3M的MTU

pppoe 速度

VDSL 50M speedguide 設定

bb寬頻 mtu 大小

50m vdsl mtu

bb寬頻 mtu

bb 寬頻 pppoe

發表文章規則

  • 不可以發表新主題
  • 不可以回覆文章
  • 不可以上傳附加檔案
  • 不可以編輯自己的文章
  •