下面是一個MSS交互的例子,在三次握手的過程中兩個主機捎帶了不同的MSS值,192.168.189.22接口的MTU值為1500,192.168.189.21接口的MTU值為1454。
下面的內核流程展示了MSS的設置過程。
1) 初始化MSS
2) 客戶端發送syn
3) Server端接收到SYN的處理
4)Server端構建SYN+ACK,
5) Client接收到SYN+ACK,根據Server端發送過來的mss計算mss_cache
6) 服務器端接收到client端三次握手的ACK報文,確定最終的tp->mss_cache的值
7) 後續數據的發送,根據mss_cache的值進行填充,但是這裡也有判斷以防PMTU發生變化