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