计算机网络:TCP和UDP的对比
生活随笔
收集整理的這篇文章主要介紹了
计算机网络:TCP和UDP的对比
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
1. 什么是TCP?TCP(Transmission Control Protocol,傳輸控制協(xié)議)是面向連接的、可靠的字節(jié)流服務(wù),也就是說,在收發(fā)數(shù)據(jù)前,必須和對(duì)方建立可靠的連接。這一過程和打電話類似:先撥號(hào)振鈴,等待對(duì)方接電話,說喂,再說自己是誰(shuí)。在因特網(wǎng)協(xié)議族(Internet protocol suite)中,TCP層是位于IP層之上,應(yīng)用層之下的傳輸層。 ? ? ? ? ? ?面向有連接2. 什么是UDP?UDP (User Datagram Protocol,用戶數(shù)據(jù)報(bào)協(xié)議),是OSI(Open System Interconnection,開放式系統(tǒng)互聯(lián)) 參考模型中一種非連接的傳輸層協(xié)議,提供面向事務(wù)的簡(jiǎn)單不可靠信息傳送服務(wù),傳輸數(shù)據(jù)之前源端和終端不建立連接,當(dāng)它想傳送時(shí)就簡(jiǎn)單地去抓取來自應(yīng)用程序的數(shù)據(jù),并盡可能快地把它扔到網(wǎng)絡(luò)上,故也不安全。 ? ? ? ? ? ?面向無連接3. TCP三次握手過程?1、 主機(jī)A通過向主機(jī)B 發(fā)送一個(gè)含有同步序列號(hào)的標(biāo)志位的數(shù)據(jù)段給主機(jī)B,向主機(jī)B 請(qǐng)求建立連接,通過這個(gè)數(shù)據(jù)段,主機(jī)A告訴主機(jī)B 兩件事:我想要和你通信;你可以用哪個(gè)序列號(hào)作為起始數(shù)據(jù)段來回應(yīng)我。2、 主機(jī)B 收到主機(jī)A的請(qǐng)求后,用一個(gè)帶有確認(rèn)應(yīng)答(ACK)和同步序列號(hào)(SYN)標(biāo)志位的數(shù)據(jù)段響應(yīng)主機(jī)A,也告訴主機(jī)A兩件事:一是:我已經(jīng)收到你的請(qǐng)求了,你可以傳輸數(shù)據(jù)了;二是:你要用哪佧序列號(hào)作為起始數(shù)據(jù)段來回應(yīng)我;3 、主機(jī)A收到這個(gè)數(shù)據(jù)段后,再發(fā)送一個(gè)確認(rèn)應(yīng)答,確認(rèn)已收到主機(jī)B 的數(shù)據(jù)段:“我已收到回復(fù),我現(xiàn)在要開始傳輸實(shí)際數(shù)據(jù)了”;這樣3次握手就完成了,主機(jī)A和主機(jī)B 就可以傳輸數(shù)據(jù)了。3次握手的特點(diǎn):沒有應(yīng)用層的數(shù)據(jù);SYN這個(gè)標(biāo)志位只有在TCP建產(chǎn)連接時(shí)才會(huì)被置1;握手完成后SYN標(biāo)志位被置0;4. TCP四次揮手過程?TCP建立連接要進(jìn)行3次握手,而斷開連接要進(jìn)行4次1 、當(dāng)主機(jī)A完成數(shù)據(jù)傳輸后,將控制位FIN置1,提出停止TCP連接的請(qǐng)求;2、? 主機(jī)B收到FIN后對(duì)其作出響應(yīng),確認(rèn)這一方向上的TCP連接將關(guān)閉,將ACK置1;3、 由B 端再提出反方向的關(guān)閉請(qǐng)求,將FIN置1;4 、主機(jī)A對(duì)主機(jī)B的請(qǐng)求進(jìn)行確認(rèn),將ACK置1,雙方向的關(guān)閉結(jié)束;【名詞解釋】ACK ?TCP報(bào)頭的控制位之一,對(duì)數(shù)據(jù)進(jìn)行確認(rèn).確認(rèn)由目的端發(fā)出,用它來告訴發(fā)送端這個(gè)序列號(hào)之前的數(shù)據(jù)段都收到了。比如,確認(rèn)號(hào)為X,則表示前X-1個(gè)數(shù)據(jù)段都收到了,只有當(dāng)ACK=1時(shí),確認(rèn)號(hào)才有效,當(dāng)ACK=0時(shí),確認(rèn)號(hào)無效,這時(shí)會(huì)要求重傳數(shù)據(jù),保證數(shù)據(jù)的完整性;SYN ?同步序列號(hào),TCP建立連接時(shí)將這個(gè)位置1;FIN ?發(fā)送端完成發(fā)送任務(wù)位,當(dāng)TCP完成數(shù)據(jù)傳輸需要斷開時(shí),提出斷開連接的一方將這位置1;總結(jié):TCP使用面向連接的通信方式,大大提高了數(shù)據(jù)通信的可靠性,使發(fā)送數(shù)據(jù)端和接收端在數(shù)據(jù)正式傳輸前就有了交互,為數(shù)據(jù)正式傳輸打下了可靠的基礎(chǔ)。5. TCP與UDP的區(qū)別?1、TCP基于連接,而UDP基于無連接的;?2、對(duì)系統(tǒng)資源的要求:TCP較多(TCP有20個(gè)字節(jié)信息包),UDP少(UDP信息包只有8個(gè)字節(jié));?3、UDP程序結(jié)構(gòu)較簡(jiǎn)單;?4、TCP是字節(jié)流模式,而UDP是數(shù)據(jù)報(bào)文模式?;5、TCP保證數(shù)據(jù)正確性,安全可靠,并且保證數(shù)據(jù)順序,而UDP可能丟包,而且UDP不保證數(shù)據(jù)順序。
總結(jié)
以上是生活随笔為你收集整理的计算机网络:TCP和UDP的对比的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tomcat反向代理,监控,性能优化详细
- 下一篇: python文档自动翻译