TCP和UDP之間的區(qū)別和聯(lián)系
1.面向連接的TCP
TCP(Transmission Control Protocol,傳輸控制協(xié)議)是基于連接的協(xié)議,也就是說,在正式收發(fā)數(shù)據(jù)前,必須和對方建立可靠的連接。一個TCP連接必須要經(jīng)過三次“對話”才能建立起來,其中的過程非常復(fù)雜,我們這里只做簡單、形象的介紹,你只要做到能夠理解這個過程即可。我們來看看這三次對話的簡單過程:主機(jī)A向主機(jī)B發(fā)出連接請求數(shù)據(jù)包:“我想給你發(fā)數(shù)據(jù),可以嗎?”,這是第一次對話;主機(jī)B向主機(jī)A發(fā)送同意連接和要求同步(同步就是兩臺主機(jī)一個在發(fā)送,一個在接收,協(xié)調(diào)工作)的數(shù)據(jù)包:“可以,你什么時候發(fā)?”,這是第二次對話;主機(jī)A再發(fā)出一個數(shù)據(jù)包確認(rèn)主機(jī)B的要求同步:“我現(xiàn)在就發(fā),你接著吧!”,這是第三次對話。三次“對話”的目的是使數(shù)據(jù)包的發(fā)送和接收同步,經(jīng)過三次“對話”之后,主機(jī)A才向主機(jī)B正式發(fā)送數(shù)據(jù)。
總之,TCP要建立連接必須經(jīng)過三次握手。
優(yōu)點(diǎn):1、面向連接的傳輸;2、數(shù)據(jù)傳輸穩(wěn)定可靠;3、端到端的通信;4、全雙工方式;5、以字節(jié)為單位傳輸
缺點(diǎn):傳輸速度不夠快
2.面向無連接的UDP
“面向非連接”就是在正式通信前不必與對方先建立連接,不管對方狀態(tài)就直接發(fā)送。這與現(xiàn)在風(fēng)行的手機(jī)短信非常相似:你在發(fā)短信的時候,只需要輸入對方手機(jī)號就OK了。
UDP(User Data Protocol,用戶數(shù)據(jù)報(bào)協(xié)議)是與TCP相對應(yīng)的協(xié)議。它是面向非連接的協(xié)議,它不與對方建立連接,而是直接就把數(shù)據(jù)包發(fā)送過去!
每個數(shù)據(jù)包的大小限定在64K以內(nèi)!
優(yōu)點(diǎn):1、傳輸速度快;2、效率高;
缺點(diǎn):數(shù)據(jù)包可能會丟失
小結(jié):正因?yàn)閁DP協(xié)議沒有連接的過程,所以它的通信效果高;但也正因?yàn)槿绱?,它的可靠性不如TCP協(xié)議高。QQ就使用UDP發(fā)消息,因此有時會出現(xiàn)收不到消息的情況。TCP協(xié)議和UDP協(xié)議各有所長、各有所短,適用于不同要求的通信環(huán)境。
新聞熱點(diǎn)
疑難解答
圖片精選