MSS 是TCP選項(xiàng)中最經(jīng)常出現(xiàn),,也是最早出現(xiàn)的選項(xiàng),。MSS選項(xiàng)占4byte,。MSS是每一個(gè)TCP報(bào)文段中數(shù)據(jù)字段的最大長度,,注意:只是數(shù)據(jù)部分的字段,不包括TCP的頭部,。TCP在三次握手中,,每一方都會通告其期望收到的MSS(MSS只出現(xiàn)在SYN數(shù)據(jù)包中)如果一方不接受另一方的MSS值則定位默認(rèn)值536byte。
MSS值太小或太大都是不合適,。太小,,例如MSS值只有1byte,那么為了傳輸這1byte數(shù)據(jù),,至少要消耗20字節(jié)IP頭部+20字節(jié)TCP頭部=40byte,,這還不包括其二層頭部所需要的開銷,顯然這種數(shù)據(jù)傳輸效率是很低的,。MSS過大,,導(dǎo)致數(shù)據(jù)包可以封裝很大,那么在IP傳輸中分片的可能性就會增大,,接受方在處理分片包所消耗的資源和處理時(shí)間都會增大,,如果分片在傳輸中還發(fā)生了重傳,那么其網(wǎng)絡(luò)開銷也會增大,。因此合理的MSS是至關(guān)重要的,。MSS的合理值應(yīng)為保證數(shù)據(jù)包不分片的最大值。對于以太網(wǎng)MSS可以達(dá)到1460byte.
不MSS相似的在IP層也有一個(gè)類似的概念---MTU(Maximum Transfer Unit)下圖可以清晰翻譯MSS不MTU 的關(guān)系:
MTU=MSS+TCP Header+IP Header.事實(shí)是發(fā)送方和接收方存在很多中間設(shè)備,,那MSS是如何協(xié)商的呢,?
請看下圖:
|