按層次分伍掀,TCP 位于傳輸層掰茶,提供可靠的字節(jié)流服務(wù)。
所謂的字節(jié)流服務(wù)(Byte Stream Service)是指蜜笤,為了方便傳輸濒蒋,將大
塊數(shù)據(jù)分割成以報文段(segment)為單位的數(shù)據(jù)包進行管理。而可
靠的傳輸服務(wù)是指把兔,能夠把數(shù)據(jù)準確可靠地傳給對方沪伙。一言以蔽之,
TCP 協(xié)議為了更容易傳送大數(shù)據(jù)才把數(shù)據(jù)分割县好,而且 TCP 協(xié)議能夠
確認數(shù)據(jù)最終是否送達到對方围橡。
確保數(shù)據(jù)能到達目標
為了準確無誤地將數(shù)據(jù)送達目標處,TCP 協(xié)議采用了三次握手
(three-way handshaking)策略缕贡。用 TCP 協(xié)議把數(shù)據(jù)包送出去后翁授,TCP
不會對傳送后的情況置之不理,它一定會向?qū)Ψ酱_認是否成功送達晾咪。
握手過程中使用了 TCP 的標志(flag) —— SYN(synchronize) 和
ACK(acknowledgement)收擦。
發(fā)送端首先發(fā)送一個帶 SYN 標志的數(shù)據(jù)包給對方。接收端收到后谍倦,
回傳一個帶有 SYN/ACK 標志的數(shù)據(jù)包以示傳達確認信息炬守。最后,發(fā)
送端再回傳一個帶 ACK 標志的數(shù)據(jù)包剂跟,代表“握手”結(jié)束。
若在握手過程中某個階段莫名中斷酣藻,TCP 協(xié)議會再次以相同的順序發(fā)
送相同的數(shù)據(jù)包曹洽。
-------------------------------------------------------------------------------------------------------------------------------------------------
另外,可參考另一份3次握手圖表辽剧,來源:http://www.reibang.com/p/9f3e879a4c9c