為什么要規(guī)定一個最大報文段長度MSS呢
發(fā)布時間:2014/9/14 20:18:39 訪問次數(shù):3856
TCP最初只規(guī)定了一種選項,即最大報文段長度MSS (Maximum Segment Size) [RFC79]。請注意MSS這個名詞的含義。MSS是每一個TCP報文段中的數(shù)據(jù)字段的最大長度。數(shù)據(jù)字段加上TCP首部才等于整個的TCP報文段。 REF3225AIDBVRG4所以MSS并不是整個TC報文段的最大長度,麗是“TCP報文段長度減去TCP首部長度”。
為什么要規(guī)定一個最大報文段長度MSS呢?這并不是考慮接收方的接收緩存可能放不卜TCP報文段中的數(shù)據(jù)。實際上,MSS與接收窗口值沒有關(guān)系。我們知道,TCP報文段的數(shù)據(jù)部分,至少要加上40字節(jié)的首部(TCP首部20字節(jié)和lP首部20字節(jié),這里都還沒有考慮首部中的選項部分),才能組裝成一個IP數(shù)據(jù)報。若選擇較小的MSS長度,網(wǎng)絡(luò)的利用率就降低。設(shè)想在極端的情況下,當(dāng)TCP報文段只含有1字節(jié)的數(shù)據(jù)時,在IP層傳輸?shù)?/span>數(shù)據(jù)報的開銷至少有40字節(jié)(包括TCP報文段的首部和IP數(shù)據(jù)報的首部)。這樣,對網(wǎng)絡(luò)的利用率就不會超過l/41。到了數(shù)據(jù)鏈路層還要加上一些開銷。但反過來,若TCP報文段非常長,那么在lP層傳輸時就有可能要分解成多個短數(shù)據(jù)報片。在終點要把收到的各個短數(shù)據(jù)報片裝配成原來的TCP報文段。當(dāng)傳輸出錯時還要進(jìn)行重傳。這些也都會使開銷增大。因此,MSS應(yīng)盡可能大些,只要在lP層傳輸時不需要再分片就行。由于lP數(shù)據(jù)報所經(jīng)歷的路徑是動態(tài)變化的,因此在這條路徑上確定的不需要分片的MSS,如果改走另一條路徑就可能需要進(jìn)行分片。因此最佳的MSS是很難確定的。在連接建立的過程中,雙方都把自己能夠支持的MSS寫入這一字段,以后就按照這個數(shù)值傳送數(shù)據(jù),兩個傳送方向町以有不同的MSS值若主機(jī)未填寫這一項,則MSS的默認(rèn)值是536字節(jié)長。因此,所有在因特網(wǎng)上的主機(jī)都應(yīng)能接受的報文段長度是536 +20(固定首部長度)=556字節(jié)。
隨著因特網(wǎng)的發(fā)展,又陸續(xù)增加了幾個選項。如窗口擴(kuò)大選項、時間戳選項等[RFC1323]。以后又增加了有關(guān)選擇確認(rèn)(SACK)選項[RFC 2018]。這些選項的位置都在的“選項”字段中。
窗口擴(kuò)大選項是為了擴(kuò)大窗口。我們知道,TCP首部中窗口字段長度是16位,因此最大的窗口大小為64 K字節(jié)(見下一節(jié))。雖然這對早期的網(wǎng)絡(luò)是足夠用的,但對于包含衛(wèi)星信道的網(wǎng)絡(luò)㈢,傳播時延和帶寬都很大,要獲得高吞吐率需要更大的窗口大小。
窗口擴(kuò)大選項占3字節(jié),其中有一個字節(jié)表示移位值S。新的窗口值等于TCP首部中的窗口位數(shù)以16增大到(16+S)。移位值允許使用的最大值是14,相當(dāng)于窗口最大值增大到2(16 +14) -1=230—l。
TCP最初只規(guī)定了一種選項,即最大報文段長度MSS (Maximum Segment Size) [RFC79]。請注意MSS這個名詞的含義。MSS是每一個TCP報文段中的數(shù)據(jù)字段的最大長度。數(shù)據(jù)字段加上TCP首部才等于整個的TCP報文段。 REF3225AIDBVRG4所以MSS并不是整個TC報文段的最大長度,麗是“TCP報文段長度減去TCP首部長度”。
為什么要規(guī)定一個最大報文段長度MSS呢?這并不是考慮接收方的接收緩存可能放不卜TCP報文段中的數(shù)據(jù)。實際上,MSS與接收窗口值沒有關(guān)系。我們知道,TCP報文段的數(shù)據(jù)部分,至少要加上40字節(jié)的首部(TCP首部20字節(jié)和lP首部20字節(jié),這里都還沒有考慮首部中的選項部分),才能組裝成一個IP數(shù)據(jù)報。若選擇較小的MSS長度,網(wǎng)絡(luò)的利用率就降低。設(shè)想在極端的情況下,當(dāng)TCP報文段只含有1字節(jié)的數(shù)據(jù)時,在IP層傳輸?shù)?/span>數(shù)據(jù)報的開銷至少有40字節(jié)(包括TCP報文段的首部和IP數(shù)據(jù)報的首部)。這樣,對網(wǎng)絡(luò)的利用率就不會超過l/41。到了數(shù)據(jù)鏈路層還要加上一些開銷。但反過來,若TCP報文段非常長,那么在lP層傳輸時就有可能要分解成多個短數(shù)據(jù)報片。在終點要把收到的各個短數(shù)據(jù)報片裝配成原來的TCP報文段。當(dāng)傳輸出錯時還要進(jìn)行重傳。這些也都會使開銷增大。因此,MSS應(yīng)盡可能大些,只要在lP層傳輸時不需要再分片就行。由于lP數(shù)據(jù)報所經(jīng)歷的路徑是動態(tài)變化的,因此在這條路徑上確定的不需要分片的MSS,如果改走另一條路徑就可能需要進(jìn)行分片。因此最佳的MSS是很難確定的。在連接建立的過程中,雙方都把自己能夠支持的MSS寫入這一字段,以后就按照這個數(shù)值傳送數(shù)據(jù),兩個傳送方向町以有不同的MSS值若主機(jī)未填寫這一項,則MSS的默認(rèn)值是536字節(jié)長。因此,所有在因特網(wǎng)上的主機(jī)都應(yīng)能接受的報文段長度是536 +20(固定首部長度)=556字節(jié)。
隨著因特網(wǎng)的發(fā)展,又陸續(xù)增加了幾個選項。如窗口擴(kuò)大選項、時間戳選項等[RFC1323]。以后又增加了有關(guān)選擇確認(rèn)(SACK)選項[RFC 2018]。這些選項的位置都在的“選項”字段中。
窗口擴(kuò)大選項是為了擴(kuò)大窗口。我們知道,TCP首部中窗口字段長度是16位,因此最大的窗口大小為64 K字節(jié)(見下一節(jié))。雖然這對早期的網(wǎng)絡(luò)是足夠用的,但對于包含衛(wèi)星信道的網(wǎng)絡(luò)㈢,傳播時延和帶寬都很大,要獲得高吞吐率需要更大的窗口大小。
窗口擴(kuò)大選項占3字節(jié),其中有一個字節(jié)表示移位值S。新的窗口值等于TCP首部中的窗口位數(shù)以16增大到(16+S)。移位值允許使用的最大值是14,相當(dāng)于窗口最大值增大到2(16 +14) -1=230—l。
上一篇:用來計算往返時間RTT
熱門點擊
- 以下地址中的哪一個和86.32/12匹配
- 因特網(wǎng)交換點IXP在全球的分布
- 特定主機(jī)路由
- OSI失敗的原因可歸納
- 為什么要規(guī)定一個最大報文段長度MSS呢
- FCS體系結(jié)構(gòu)
- 網(wǎng)絡(luò)前綴
- MF47型指針式萬用表的工作原理
- 為什么A在TIME-WAIT狀態(tài)必須等待2M
- 常用的絞合線的類別、帶寬和典型應(yīng)用
推薦技術(shù)資料
- 自制智能型ICL7135
- 表頭使ff11CL7135作為ADC,ICL7135是... [詳細(xì)]
- 超低功耗角度位置傳感器參數(shù)技術(shù)
- 四路輸出 DC/DC 降壓電源
- 降壓變換器和升降壓變換器優(yōu)特點
- 業(yè)界首創(chuàng)可在線編程電源模塊 m
- 可編程門陣列 (FPGA)智能 電源解決方案
- 高效先進(jìn)封裝工藝
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究