TCP與UDP的區(qū)別
TCP與UDP五大主要區(qū)別
TCP(傳輸控制協(xié)議)
1》需要建立連接,形成傳輸數(shù)據(jù)的通道
2》在連接中進行大數(shù)據(jù)傳輸(數(shù)據(jù)大小不受限制)
3》通過三次握手完成連接,是可靠協(xié)議,安全送達袭祟,一旦失敗衔瓮,會由發(fā)送方重新發(fā)送
4》必須建立連接挥萌,效率會稍低
5》需要的系統(tǒng)資源較多悍引,結構較為復雜家肯。
UDP(用戶數(shù)據(jù)報協(xié)議)
1》將數(shù)據(jù)及源和目的封裝在數(shù)據(jù)包中倦挂,不需要建立連接
2》每個數(shù)據(jù)包得大小限制在64KB之內(nèi)
3》因為無需連接畸颅,因此是不可靠協(xié)議
4》不需要建立連接,速度快
5》需要的系統(tǒng)資源較少方援,結構較簡單```
###TCP 連接時三次握手没炒、斷開時四次揮手
#####TCP三次握手過程
主機A通過向主機B 發(fā)送一個含有同步序列號的標志位的數(shù)據(jù)段給主機B ,向主機B 請求建立連接,通過這個數(shù)據(jù)段,主機A告訴主機B 兩件事:我想要和你通信;你可以用哪個序列號作為起始數(shù)據(jù)段來回應我.
主機B 收到主機A的請求后,用一個帶有確認應答(ACK)和同步序列號(SYN)標志位的數(shù)據(jù)段響應主機A,也告訴主機A兩件事:我已經(jīng)收到你的請求了,你可以傳輸數(shù)據(jù)了;你要用哪佧序列號作為起始數(shù)據(jù)段來回應我。
主機A收到這個數(shù)據(jù)段后,再發(fā)送一個確認應答,確認已收到主機B 的數(shù)據(jù)段:"我已收到回復,我現(xiàn)在要開始傳輸實際數(shù)據(jù)了
這樣3次握手就完成了,主機A和主機B 就可以傳輸數(shù)據(jù)了.3次握手的特點沒有應用層的數(shù)據(jù)SYN這個標志位只有在TCP建產(chǎn)連接時才會被置1握手完成后SYN標志位被置0
![三次握手](http://upload-images.jianshu.io/upload_images/4035828-af77fad81e922b4b.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
####TCP斷開連接要進行4次揮手
當主機A完成數(shù)據(jù)傳輸后,將控制位FIN置1,提出停止TCP連接的請求
主機B收到FIN后對其作出響應,確認這一方向上的TCP連接將關閉,將ACK置1
由B 端再提出反方向的關閉請求,將FIN置1
主機A對主機B的請求進行確認,將ACK置1,雙方向的關閉結束.
![四次揮手](http://upload-images.jianshu.io/upload_images/4035828-08d9903cd6dc08b6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)