TCP面向连接中的“连接”和“可靠”与“不可靠”
轉載自:http://blog.csdn.net/haizhongyun/article/details/7621199點擊打開鏈接
連接是對狀態(tài)的保持
實際上就是在客戶端和服務器端都維護一個變量,這個變量維護現(xiàn)在數(shù)據(jù)傳輸?shù)臓顟B(tài),例如傳輸了哪些數(shù)據(jù),下一次需要傳輸哪些數(shù)據(jù),等等,并不是真的我們想象中的真的有什么東西連接著這兩端,因為無論對于有連接還是無連接,都有網(wǎng)線連著呢(不包括無線網(wǎng)),所以連接根本就不是是否真的有什么東西把他們連接起來,真實的含義就是我上面說的,兩邊維護一個狀態(tài)變量。
UDP通訊有四個參數(shù):源IP、源端口、目的IP和目的端口。而TCP通訊至少有有六個參數(shù):源IP、源端口、目的IP和目的端口,以及序列號和應答號。
序列號和應答號是TCP通訊特有的參數(shù),TCP通訊利用序列號和應答號來保持和確認數(shù)據(jù)的關聯(lián)與正確性,是在三次握手中確定的,不正確的序列號和應答號會導致無法正常通訊。因此對TCP連接的連接概念可以簡單理解成為同UDP通訊相比,用序列號和應答號確定了相互之間的連接特征,來保證數(shù)據(jù)傳輸?shù)恼_性。
TCP保證可靠,面向連接而UDP不保證可靠,非面向連接,UDP的報頭長度遠遠小于TCP的報頭長度。TCP使用了三種基礎機制來實現(xiàn)面向連接的服務:1 使用序列號進行標記,以便TCP接收服務在向目的應用傳遞數(shù)據(jù)之前修正錯序的報文排序;2 TCP使用確認,校驗,和定時器系統(tǒng)提供可靠性。3 TCP在應用層數(shù)據(jù)上附加了一個報頭,報頭包括序列號字段和這些機制的其他一些必要信息,如叫做端口號的地址字段,該字段可以標識數(shù)據(jù)的源點和目標應用程序。
UDP發(fā)出去的包是不管的,對方也不會應答是否收到.TCP發(fā)出包之后對方會應答是否完整收到
可以在發(fā)包的時候采取類似創(chuàng)建TCP連接那樣的操作,發(fā)消息,然后對方給一個ACK,然后發(fā)消息方再發(fā)一個ACK,這樣算發(fā)送成功。
通過最簡單的重傳確認即可達到QQ現(xiàn)在做到的效果,簡單說就是發(fā)送方一直發(fā)送數(shù)據(jù),直到收到接收方的反饋再停止即可。?
總結
以上是生活随笔為你收集整理的TCP面向连接中的“连接”和“可靠”与“不可靠”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 农业大数据中心建设可行性方案
- 下一篇: python爬虫实例