TCP连接——三次握手和四次断开
1.面向連接
TCP是一個(gè)面向連接的協(xié)議,面向連接是指任何一方向?qū)Ψ桨l(fā)送數(shù)據(jù)前必須先建立通道,比如像打電話一樣:必須要等到對(duì)方的手機(jī)響鈴,并且對(duì)方接聽(tīng)電話時(shí),才能與對(duì)方通信。而UDP則不是面向連接的協(xié)議,基于UDP協(xié)議的通信雙方不需要事先與對(duì)方協(xié)商建立連接,也不管對(duì)方的IP地址與端口號(hào)是否存在,就發(fā)送數(shù)據(jù),這個(gè)處理方式有點(diǎn)像手機(jī)發(fā)短信,不管對(duì)方手機(jī)是否欠費(fèi)或關(guān)機(jī),我們就只管發(fā)送信息。
2.三次握手
第一次握手:客戶端發(fā)送SYN包(序列號(hào)seq=100),等待服務(wù)器的確認(rèn)。
第二次握手:服務(wù)器收到SYN包之后,必須確認(rèn)客戶端,所以就要發(fā)送ACK包(ACK=101),同時(shí),服務(wù)器必須還必須發(fā)送SYN包(序列號(hào)seq=300)等客戶端的確認(rèn)。
第三次握手:客戶端接收到SYN+ACK包之后,向服務(wù)器發(fā)送確認(rèn)包(ACK=301),次包發(fā)送完畢之后,兩者就可以進(jìn)行數(shù)據(jù)交換了。
簡(jiǎn)單的來(lái)說(shuō):
C(客戶端) S(服務(wù)器)
C:發(fā)送SYN給S
S:如果成功,返回給C(SYN+ACK)
C:如果成功,返回給S(ACK)
還可用個(gè)形象的例子說(shuō)下:TCP的 三次握手過(guò)程可以看成是某男生追某女生的過(guò)程。第一次握手就好比是:男生向女生告白,說(shuō)我喜歡你,然后男生等待女生的回應(yīng),第二次握手就好比是:女生收到 男生的告白,而且該女生也喜歡次男生,她就可以給男生回應(yīng),說(shuō):我也喜歡你。第三次握手:男生收到該女生的回應(yīng),大喜,又發(fā)送消息過(guò)去,那我們正式交往 吧!
3.四次斷開(kāi)
1.客戶端發(fā)送數(shù)據(jù)完畢之后,提出要斷開(kāi)連接
2.服務(wù)器收到FIN包后,對(duì)其作出反應(yīng),發(fā)送ACK包,確認(rèn)這一方向的連接將關(guān)閉,
3.等服務(wù)器的應(yīng)用程序做好關(guān)閉準(zhǔn)備時(shí),服務(wù)器反方向發(fā)送FIN包,請(qǐng)求關(guān)閉連接請(qǐng)求,
4.客戶機(jī)對(duì)服務(wù)器發(fā)送的請(qǐng)求進(jìn)行確認(rèn),并發(fā)送ACK包
也可簡(jiǎn)單的概述:
C(客戶端) S(服務(wù)器)
C:發(fā)送FIN給S
S:如果成功,返回給C(ACK)
S:應(yīng)用程序做好關(guān)閉程序準(zhǔn)備,發(fā)送FIN給C
C:如果成功,返回給S(ACK)
同樣也可以用個(gè)形象的例子說(shuō)明:這個(gè)過(guò)程相當(dāng)于男女雙方分手的過(guò)程:1,女方向男方提出分手,等待男方的回應(yīng)2,男方聽(tīng)到這個(gè)消息后,就給女方回應(yīng)說(shuō):好吧!分就分3,過(guò)段時(shí)間,男方突然覺(jué)得很沒(méi)面子,想:“我一個(gè)大老爺們,應(yīng)該是我提出分手”,于是,男方跟女方說(shuō):我們分手吧!4,這時(shí),女方就直接罵了句“神經(jīng)病”。
轉(zhuǎn)載于:https://blog.51cto.com/laoshuxmao/1309288
總結(jié)
以上是生活随笔為你收集整理的TCP连接——三次握手和四次断开的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: ArcGISServer10安装与地图发
- 下一篇: 酷桌面:随身携带你的企业