關(guān)鍵詞:網(wǎng)絡(luò)時(shí)鐘之TCP連接的建立與終止
1、時(shí)鐘組網(wǎng)TCP連接的建立過(guò)程:
要使用TCP協(xié)議進(jìn)行時(shí)鐘通信,在傳輸數(shù)據(jù)之前,要先建立一條TCP連接。 TCP連接的建立過(guò)程和打電話的過(guò)程類似。例如,你要給朋友張三打電話(建立與張三的連接),先撥通張三的號(hào)碼(發(fā)送初始化報(bào)文段);張三接通,習(xí)慣的問(wèn)一聲:“喂"(服務(wù)器端發(fā)送一個(gè)帶確認(rèn)的初始化報(bào)文段);你聽(tīng)到后也說(shuō)一聲:“喂"(接到服務(wù)器帶確認(rèn)的初始化報(bào)文段);然后就可以把你想說(shuō)的事情告訴張三。網(wǎng)絡(luò)時(shí)鐘TCP連接的建立是一個(gè)分為三個(gè)步驟的過(guò)程,稱為“三次握手過(guò)程"。 其示意圖描述了這樣一個(gè)“三次握手過(guò)程",該圖中主機(jī)A要發(fā)起一個(gè)和主機(jī)B之間的TCP連接。
(1)主機(jī)時(shí)鐘A先向主機(jī)時(shí)鐘B發(fā)送一個(gè)初始化報(bào)文段,這個(gè)報(bào)文段是一個(gè)控制報(bào)文段,不包括任何數(shù)據(jù),這個(gè)報(bào)文段可以形式化的表示成“SYN, ISN = 100,MSS = 1024", 這個(gè)報(bào)文段有以下特點(diǎn):
● 控制標(biāo)志位中的SYN位置1,表示這是一個(gè)初始化報(bào)文段;此時(shí)序號(hào)字段中的序號(hào)稱為初始序列號(hào)(Initiative Sequence Number,ISN),本例中 ISN 為 100;
● 沒(méi)有數(shù)據(jù)字段;
● 其他控制標(biāo)志位均必須置0;由于ACK位、UGR位都置0,所以確認(rèn)序號(hào)字段、緊急指針字段都沒(méi)有意義,一般全部置0;
● 選項(xiàng)字段為MSS報(bào)文段長(zhǎng)度值,告訴服務(wù)器端發(fā)送報(bào)文段時(shí),發(fā)送的數(shù)據(jù)量不能大于這個(gè)值。
(2)當(dāng)主機(jī)時(shí)鐘B收到主機(jī)時(shí)鐘A發(fā)來(lái)的初始化報(bào)文段后,它知道主機(jī)A要建一個(gè)到它的TCP連接,也要向主機(jī)A發(fā)送一個(gè)初始化報(bào)文段。由于要遵循“帶重傳的肯定確認(rèn)"傳輸原則,除了SYN位置1外,它的ACK位也要置1,序號(hào)字段內(nèi)容是它的初始序列號(hào),本例為300,
確認(rèn)字段應(yīng)該是A的ISN加1,即101。所以它的報(bào)文段表示為“SYN,ISN = 300,ACK = 101,MSS=1024"。
(3)A收到B的初始化報(bào)文段,要發(fā)送一個(gè)對(duì)應(yīng)的確認(rèn)報(bào)文段,這時(shí),它不在是初始化報(bào)文,不用設(shè)置SYN位,它的序號(hào)SEQ應(yīng)該是101,ACK位置1,確認(rèn)序號(hào)為 301。可以表示為“SEQ = 101,ACK = 301"。 這樣,一個(gè)從主機(jī)時(shí)鐘A到主機(jī)B時(shí)鐘的TCP連接就建成了。
2、時(shí)鐘組網(wǎng)TCP連接的終止
當(dāng)主機(jī)A向主機(jī)B發(fā)送*部數(shù)據(jù)之后,就要發(fā)起終止連接的操作了。由于TCP連接的數(shù)據(jù)傳輸是全雙工數(shù)據(jù)傳輸,因此,任何一方都可以自己停止發(fā)送,但是仍然可以接收另一臺(tái)主機(jī)發(fā)來(lái)的數(shù)據(jù),直到它也停止發(fā)送。整個(gè)連接關(guān)閉的過(guò)程如圖所示。
接上面的例子,假定主機(jī)A主機(jī)B發(fā)送了 299 個(gè)報(bào)文段,則主機(jī)B向主機(jī)A發(fā)送的個(gè)數(shù)據(jù)段確認(rèn)報(bào)文的序號(hào)是599,確認(rèn)號(hào)應(yīng)該是 400。 主機(jī) A 沒(méi)有數(shù)據(jù)要發(fā)送了,就要發(fā)送一個(gè) FIN 數(shù)據(jù)流結(jié)束報(bào)文段,其中控制標(biāo)志位中的FIN位置1,表示發(fā)送方數(shù)據(jù)流結(jié)束;ACK標(biāo)志位置1,確認(rèn)序號(hào)位600,序號(hào)是400。報(bào)文段可以表示為“FIN,SEQ=400,ACK=600"。 主機(jī)B收到該FIN報(bào)文,要發(fā)送一個(gè)確認(rèn)報(bào)文段,ACK置1,SEQ = 600,ACK = 401,報(bào)文段表示為“ACK=401"。 主機(jī)B也沒(méi)有數(shù)據(jù)要發(fā)送了,就發(fā)送自己的FIN報(bào)文段,SEQ = 600,ACK = 401,報(bào)文段表示為“FIN,SEQ=601,ACK=401"。 主機(jī)A確認(rèn)該FIN報(bào)文段,SEQ = 401,ACK = 601。
【返回】
仟漁 |
同類優(yōu)質(zhì)產(chǎn)品
會(huì)員登錄X請(qǐng)輸入賬號(hào) 請(qǐng)輸入密碼 請(qǐng)輸驗(yàn)證碼 收藏該商鋪X提示X您的留言已提交成功!我們將在第一時(shí)間回復(fù)您~
中美貿(mào)易網(wǎng) 設(shè)計(jì)制作,未經(jīng)允許翻錄必究 .Copyright(C) http://www.trinidezines.com,All rights reserved. 以上信息由企業(yè)自行提供,信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性由相關(guān)企業(yè)負(fù)責(zé),中美貿(mào)易網(wǎng)對(duì)此不承擔(dān)任何保證責(zé)任。溫馨提示:為規(guī)避購(gòu)買風(fēng)險(xiǎn),建議您在購(gòu)買產(chǎn)品前務(wù)必確認(rèn)供應(yīng)商資質(zhì)及產(chǎn)品質(zhì)量。 |
所有評(píng)論僅代表網(wǎng)友意見(jiàn),與本站立場(chǎng)無(wú)關(guān)。