中有「UNIX網絡編程」段落中的連接,他說:TCP套接字緩衝區大小也應該是MSS的偶數倍爲
爲了避免浪費潛在的緩衝空間,TCP套接字緩衝區大小 也應該是連接的MSS的偶數倍。某些 實現爲應用程序處理此詳細信息,在建立連接( TCPv2的第902頁)後將套接字緩衝區大小整理爲 。這是在 建立連接之前設置這兩個套接字選項的另一個原因。例如,使用8,192的默認4.4BSD大小 ,並假設以太網的MSS爲1460,則在建立連接 時,兩個套接字 緩衝區都將四捨五入爲8,760(6 x 1,460)。這不是一個關鍵的要求;在多個MSS之上的套接字緩衝區中的附加空間 僅僅是未使用的。
我無法想象如何「浪費潛在的緩衝空間」發生。爲什麼浪費?
如果緩衝區大小不是MSS的偶數倍,會發生什麼情況?
任何人都可以幫我解釋嗎?或者有人可以提供一個例子或場景?
這段話並不是指記憶效率;它指的是TCP數據傳輸效率。 – 2014-09-25 16:13:28
報價並不真實地說出你的第一句話聲稱。這不是我見過的最好的作品,但它同時談論兩種情況:它被「某些實現」四捨五入的情況,以及它不是的情況。 – EJP 2014-09-25 23:20:09