六、TCP會話終止
若要關(guān)閉連接,應(yīng)設(shè)置數(shù)據(jù)報頭重的FIN控制標(biāo)志,需采用包含F(xiàn)IN數(shù)據(jù)段和ACK數(shù)據(jù)段的二次握手,因此要終止一個TCP支持的整個過程,需要實施4次交換,以終止兩個雙向會話。也可以用三次握手來終止(四次握手中的二、三兩次合并為一次)。
[NextPage]
七、TCP重傳
關(guān)于確認(rèn)號的一個小細(xì)節(jié):如果接收到序列號為1500到3000以及3400到3500的數(shù)據(jù)段,那么確認(rèn)號應(yīng)當(dāng)為3001.這是因為未接收到3001到3399之間的數(shù)據(jù)段,此時準(zhǔn)備接收的下一個數(shù)據(jù)段的序列號為3001.
TCP的標(biāo)準(zhǔn)實施流程是:主機(jī)傳輸數(shù)據(jù)段,并將數(shù)據(jù)段的副本列入重新發(fā)送隊列,然后啟動計時器。當(dāng)接收到數(shù)據(jù)確認(rèn)信息時,主機(jī)將從隊列中刪除對應(yīng)數(shù)據(jù)段;如果到及時器超時還沒有收到確認(rèn)信息,將重新傳輸數(shù)據(jù)段。
現(xiàn)在的主機(jī)還有一項備選功能:選擇性確認(rèn)。如果兩臺主機(jī)都支持選擇性確認(rèn)功能,目的主機(jī)便可以確認(rèn)間斷數(shù)據(jù)段中得數(shù)據(jù),那么源主機(jī)就只要傳輸丟失的數(shù)據(jù)。
八、TCP的擁塞控制
主要要清楚的就是動態(tài)窗口大小控制,來使得每個TCP會話有最佳的窗口大小。
九、UDP協(xié)議:低開銷通信
UDP是一種簡單協(xié)議,提供了基本的傳輸層功能。與TCP相比,UDP開銷極低,因為UDP是無連接的,并且不提供復(fù)雜的重新傳輸、排序和流量控制機(jī)制。
與TCP的通信機(jī)制不同,由于UDP是無連接的協(xié)議,因此通信發(fā)生之前不建立會話。UDP是基于事務(wù)的,換言之,應(yīng)用程序要發(fā)送數(shù)據(jù)時,它僅是發(fā)送數(shù)據(jù)而已。由于不建立會話,因此一旦數(shù)據(jù)和端口號準(zhǔn)備就緒,UDP就可以生成數(shù)據(jù)報并遞交給網(wǎng)絡(luò)層,并在網(wǎng)絡(luò)上尋址和發(fā)送。
因為UDP不進(jìn)行排序,所以數(shù)據(jù)到達(dá)的時候只是按先來后到的順序進(jìn)行排列。如果數(shù)據(jù)的順序?qū)?yīng)用程序很重要,那么應(yīng)用程序只能自己標(biāo)志數(shù)據(jù)的正確順序,并決定如何處理這些數(shù)據(jù)。
TCP與UDP的關(guān)鍵區(qū)別在于可靠性。