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