1.1-TCP協(xié)議
1.1.1-特點(diǎn)
1.面向連接
“面向連接”就是在正式通信前必須要與對(duì)方建立起連接。比如你給別人打電話,必須等線路接通了、對(duì)方拿起話筒才能相互通話。
TCP(Transmission Control Protocol,傳輸控制協(xié)議)是基于連接的協(xié)議,也就是說,在正式收發(fā)數(shù)據(jù)前,必須和對(duì)方建立可靠的連接。一個(gè)TCP連接必須要經(jīng)過三次“對(duì)話”才能建立起來,其中的過程非常復(fù)雜,我們這里只做簡(jiǎn)單、形象的介紹,你只要做到能夠理解這個(gè)過程即可。我們來看看這三次對(duì)話的簡(jiǎn)單過程:主機(jī)A向主機(jī)B發(fā)出連接請(qǐng)求數(shù)據(jù)包:“我想給你發(fā)數(shù)據(jù),可以嗎?”,這是第一次對(duì)話;主機(jī)B向主機(jī) A發(fā)送同意連接和要求同步(同步就是兩臺(tái)主機(jī)一個(gè)在發(fā)送,一個(gè)在接收,協(xié)調(diào)工作)的數(shù)據(jù)包:“可以,你什么時(shí)候發(fā)?”,這是第二次對(duì)話;主機(jī)A再發(fā)出一個(gè)數(shù)據(jù)包確認(rèn)主機(jī)B的要求同步:“我現(xiàn)在就發(fā),你接著吧!”,這是第三次對(duì)話。三次“對(duì)話”的目的是使數(shù)據(jù)包的發(fā)送和接收同步,經(jīng)過三次“對(duì)話”之后,主機(jī)A才向主機(jī)B正式發(fā)送數(shù)據(jù)
2.傳輸可靠
TCP協(xié)議能為應(yīng)用程序提供可靠的通信連接,使一臺(tái)計(jì)算機(jī)發(fā)出的字節(jié)流無差錯(cuò)地發(fā)往網(wǎng)絡(luò)上的其他計(jì)算機(jī),對(duì)可靠性要求高的數(shù)據(jù)通信系統(tǒng)往往使用TCP協(xié)議傳輸數(shù)據(jù)
3.傳輸速度慢
4.應(yīng)用場(chǎng)合:傳輸大量數(shù)據(jù)
1.1.2-工作原理
- 首先客戶端向服務(wù)器發(fā)起一個(gè)建立連接的同步(SYN)請(qǐng)求;
- 服務(wù)器在收到這個(gè)請(qǐng)求后向客戶端回復(fù)一個(gè)同步/確認(rèn)(SYN/ACK)應(yīng)答;
- 客戶端收到此應(yīng)答確認(rèn)之后再向服務(wù)器發(fā)送一個(gè)確認(rèn)(ACK),此時(shí)TCP連接成功建立.
- 一旦初始的三次握手完成,在發(fā)送和接收主機(jī)之間將按順序發(fā)送和確認(rèn)數(shù)據(jù)段,數(shù)據(jù)傳輸完成之后,關(guān)閉連接之前,TCP使用類似的握手過程驗(yàn)證兩個(gè)主機(jī)是否都完成發(fā)送和接收全部數(shù)據(jù)。

1.2-UDP協(xié)議特點(diǎn)
1.面向非連接
2.傳輸不可靠
3.傳輸速度快
4.應(yīng)用場(chǎng)合:傳輸少量數(shù)據(jù)