六、TCP會(huì)話終止

若要關(guān)閉連接,應(yīng)設(shè)置數(shù)據(jù)報(bào)頭重的FIN控制標(biāo)志,需采用包含F(xiàn)IN數(shù)據(jù)段和ACK數(shù)據(jù)段的二次握手,因此要終止一個(gè)TCP支持的整個(gè)過(guò)程,需要實(shí)施4次交換,以終止兩個(gè)雙向會(huì)話。也可以用三次握手來(lái)終止(四次握手中的二、三兩次合并為一次)。

[NextPage]

七、TCP重傳

關(guān)于確認(rèn)號(hào)的一個(gè)小細(xì)節(jié):如果接收到序列號(hào)為1500到3000以及3400到3500的數(shù)據(jù)段,那么確認(rèn)號(hào)應(yīng)當(dāng)為3001.這是因?yàn)槲唇邮盏?001到3399之間的數(shù)據(jù)段,此時(shí)準(zhǔn)備接收的下一個(gè)數(shù)據(jù)段的序列號(hào)為3001.

TCP的標(biāo)準(zhǔn)實(shí)施流程是:主機(jī)傳輸數(shù)據(jù)段,并將數(shù)據(jù)段的副本列入重新發(fā)送隊(duì)列,然后啟動(dòng)計(jì)時(shí)器。當(dāng)接收到數(shù)據(jù)確認(rèn)信息時(shí),主機(jī)將從隊(duì)列中刪除對(duì)應(yīng)數(shù)據(jù)段;如果到及時(shí)器超時(shí)還沒(méi)有收到確認(rèn)信息,將重新傳輸數(shù)據(jù)段。

現(xiàn)在的主機(jī)還有一項(xiàng)備選功能:選擇性確認(rèn)。如果兩臺(tái)主機(jī)都支持選擇性確認(rèn)功能,目的主機(jī)便可以確認(rèn)間斷數(shù)據(jù)段中得數(shù)據(jù),那么源主機(jī)就只要傳輸丟失的數(shù)據(jù)。

八、TCP的擁塞控制

主要要清楚的就是動(dòng)態(tài)窗口大小控制,來(lái)使得每個(gè)TCP會(huì)話有最佳的窗口大小。

九、UDP協(xié)議:低開(kāi)銷通信

UDP是一種簡(jiǎn)單協(xié)議,提供了基本的傳輸層功能。與TCP相比,UDP開(kāi)銷極低,因?yàn)閁DP是無(wú)連接的,并且不提供復(fù)雜的重新傳輸、排序和流量控制機(jī)制。

與TCP的通信機(jī)制不同,由于UDP是無(wú)連接的協(xié)議,因此通信發(fā)生之前不建立會(huì)話。UDP是基于事務(wù)的,換言之,應(yīng)用程序要發(fā)送數(shù)據(jù)時(shí),它僅是發(fā)送數(shù)據(jù)而已。由于不建立會(huì)話,因此一旦數(shù)據(jù)和端口號(hào)準(zhǔn)備就緒,UDP就可以生成數(shù)據(jù)報(bào)并遞交給網(wǎng)絡(luò)層,并在網(wǎng)絡(luò)上尋址和發(fā)送。

因?yàn)閁DP不進(jìn)行排序,所以數(shù)據(jù)到達(dá)的時(shí)候只是按先來(lái)后到的順序進(jìn)行排列。如果數(shù)據(jù)的順序?qū)?yīng)用程序很重要,那么應(yīng)用程序只能自己標(biāo)志數(shù)據(jù)的正確順序,并決定如何處理這些數(shù)據(jù)。

TCP與UDP的關(guān)鍵區(qū)別在于可靠性。

分享到

yuanjiaju

相關(guān)推薦