|
這次以無(wú)線模塊為例說(shuō)明數(shù)據(jù)分割。
假設(shè)無(wú)線模塊是CC1100,發(fā)送緩存是64字節(jié);現(xiàn)在呢,有一篇長(zhǎng)度是1500字節(jié)的文章要發(fā)送。很明顯的一包數(shù)據(jù)是發(fā)送不了一篇文章的。
1500/64 = 23.4375,至少要發(fā)送24包數(shù)據(jù)。
話又說(shuō)回來(lái),數(shù)據(jù)包要不要編號(hào)呢?需要。因?yàn)槲恼碌慕M織有先后順序。好,我們這里用一個(gè)字節(jié)給數(shù)據(jù)包編號(hào)。
1500/63 = 23.809523809523809523809523809524,需要發(fā)出24包數(shù)據(jù)
采用TCP協(xié)議發(fā)送數(shù)據(jù)。因?yàn)槲恼聝?nèi)容是不可丟失了,一個(gè)標(biāo)點(diǎn)符號(hào)都不行。
TCP開(kāi)始從第一包,發(fā)送數(shù)據(jù)。直到最后一包數(shù)據(jù)。
完成后,如果中間有數(shù)據(jù)包沒(méi)有被應(yīng)答,則開(kāi)啟第二輪數(shù)據(jù)發(fā)送。此時(shí),只發(fā)送沒(méi)有被應(yīng)答的數(shù)據(jù)包。
分割出來(lái)的數(shù)據(jù),被稱(chēng)為T(mén)CP段
傳輸控制協(xié)議(TCP)通常從應(yīng)用程序中得到大段的信息數(shù)據(jù),然后將它分割成若干個(gè)數(shù)據(jù)段。TCP會(huì)為這些數(shù)據(jù)段編號(hào)并排序,這樣,在目的方的TCP協(xié)議棧才可以將這些數(shù)據(jù)段再重新組成原來(lái)應(yīng)用數(shù)據(jù)的結(jié)構(gòu)。
由于TCP采用的是虛電路連接方式,這些數(shù)據(jù)段在被發(fā)送出去后,發(fā)送方的TCP會(huì)等待接收方TCP給出一個(gè)確認(rèn)性應(yīng)答,那些沒(méi)有收到確認(rèn)應(yīng)答的數(shù)據(jù)段將被重新發(fā)送。
|
|