其實第三次握手的時候,是可以攜帶數(shù)據(jù)的。
但是,第一次、第二次握手不可以攜帶數(shù)據(jù),為什么這樣呢?
大家可以想一個問題,假如第一次握手可以攜帶數(shù)據(jù)的話,如果有人要惡意攻擊服務(wù)器,那他每次都在第一次握手中的 SYN 報文中放入大量的數(shù)據(jù)。因為攻擊者根本就不理服務(wù)器的接收、發(fā)送能力是否正常,然后瘋狂著重復(fù)發(fā) SYN 報文的話,這會讓服務(wù)器花費很多時間、內(nèi)存空間來接收這些報文。
也就是說,第一次握手不可以放數(shù)據(jù),其中一個簡單的原因就是會讓服務(wù)器更加容易受到攻擊了。而對于第三次的話,此時客戶端已經(jīng)處于 ESTABLISHED 狀態(tài)。對于客戶端來說,他已經(jīng)建立起連接了,并且也已經(jīng)知道服務(wù)器的接收、發(fā)送能力是正常的了,所以能攜帶數(shù)據(jù)也沒啥毛病。