TCP最大報文段長度MSS


最大報文段長度(MSS)表示TCP傳往另一端的最大數據庫的長度。當一個連接建立時,連接的雙方都要通告各自需要接收的MSS選項(MSS選項只能出現在SYN報文段中)。如果一方不接收來自另一方的MSS值,則MSS就定為默認值536字節(這個默認值允許20字節的IP首部和20字節的TCP首部以適合576字節的IP數據報);

一般來說,如果沒有分段發生,MSS是越大越好(並不總是正確)。報文段越大允許每個報文發送的數據就越多。相對IP和TCP首部有更高的網絡利用率。當TCP發送一個SYN時,或者是因為一個本地應用進程發起一個連接,或者是因為另一端的主機收到了一個連接請求,它將MSS的值設置為出接口上的MTU長度減去固定的IP首部和TCP首部長度。對於以太網來說,MSS值可達1460字節;

如果目的IP地址為“非本地地址”,MSS通常的默認值是536.而區分地址是本地還是非本地是簡單的,如果目的IP地址的網絡號與子網號都與我們相同,則是本地地址;如果目的IP地址的網絡號與我們完全不同,則是非本地地址;如果目的IP地址的網絡號與我們的相同而子網號與我們的不同,則可能是本地的,也可能是非本地的。大多數,TCP實現版都提供一個配置選項,讓系統管理員來說明不同的子網數是屬於本地還是非本地。這個選項的設置將確定MSS可以選擇盡可能大(大到外出接口的MTU長度)或者是默認值536;

MSS讓主機限制另一端發送數據的長度,加上主機也能控制它自己發送數據的長度,這使以較小的MTU連接到一個網絡上的主機避免分段;

只有當一端的主機以小於576字節的MTU直接連接到一個網絡中,避免這種分段才會有效。如果兩端的主機都連接到以太網上,都采用536的MSS,但是中間網絡采用296的MTU,也將會出現分段。路徑MTU發現機制是解決這個問題的唯一辦法;

 

文章來源:<TCP/IP詳解>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM