專利名稱:水聲傳感器網(wǎng)絡的數(shù)據(jù)包及傳輸方法
技術領域:
本發(fā)明涉及的是一種水下通過聲音進行無線通訊的傳感器網(wǎng)絡的數(shù)據(jù)包格式。本發(fā)明也涉及一種水下通過聲音進行無線通訊的傳感器網(wǎng)絡的數(shù)據(jù)傳輸方法。
背景技術:
水聲通訊由于延遲大,帶寬窄,錯誤率高,普通的陸上無線通訊協(xié)議無法直接應用于該領域。錯誤率高導致數(shù)據(jù)包經(jīng)常需要重傳。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種可以減少重傳的數(shù)據(jù)的水聲傳感器網(wǎng)絡的數(shù)據(jù)包。本發(fā)明的目的還在于提供一種水聲傳感器網(wǎng)絡的數(shù)據(jù)包的傳輸方法。本發(fā)明的目的是這樣實現(xiàn)的本發(fā)明的水聲傳感器網(wǎng)絡的數(shù)據(jù)包為每個數(shù)據(jù)包由包頭部分、包頭校驗部分和數(shù)據(jù)部分組成,其中包頭部分包括地址信息,包頭校驗部分僅包含關于包頭部分的校驗信息,數(shù)據(jù)部分為相等長度的一個或多個數(shù)據(jù)塊,每個數(shù)據(jù)塊分別由傳輸數(shù)據(jù)部分和該部分的校驗信息組成。發(fā)明的水聲傳感器網(wǎng)絡的數(shù)據(jù)包的傳輸方法為1.每個數(shù)據(jù)包由包頭部分、包頭校驗部分和數(shù)據(jù)部分組成,發(fā)送節(jié)點將要發(fā)送數(shù)據(jù)時,將數(shù)據(jù)部分分成多個相等數(shù)據(jù)塊;每個數(shù)據(jù)塊有單獨的校驗部分,沒有關于全部數(shù)據(jù)的校驗數(shù)據(jù),設置有單獨針對幀頭的校驗部分,數(shù)據(jù)包的后部是重傳的屬于以前發(fā)送包的數(shù)據(jù)塊、包含表示自身位置的所屬包的序號和在所屬包中的數(shù)據(jù)塊序號;2.當節(jié)點收到一個數(shù)據(jù)包時,首先檢查數(shù)據(jù)包中的包頭校驗部分,如果校驗不正確,則發(fā)回ack包,要求重傳數(shù)據(jù)包,該過程結束;否則,說明包頭信息正確,繼續(xù)檢查數(shù)據(jù)部分;如果數(shù)據(jù)全部接收正確,則發(fā)送ack包通知發(fā)送節(jié)點數(shù)據(jù)包正確接收,并且報告上層協(xié)議正確接收到一個數(shù)據(jù)包;如果有一個或多個數(shù)據(jù)塊接收不正確,則發(fā)送ack包,通知發(fā)送節(jié)點哪些數(shù)據(jù)塊需要重傳;3.當發(fā)送節(jié)點收到目的節(jié)點發(fā)來的ack包時,判斷是否需要重傳整個數(shù)據(jù)包、還是某幾個數(shù)據(jù)塊;如果需要重傳整個數(shù)據(jù)包,則再一次發(fā)送數(shù)據(jù)包,如果只需發(fā)送數(shù)據(jù)包中的幾個數(shù)據(jù)塊,則將需重傳的每個數(shù)據(jù)塊加上表示自身位置的原來的包序號和在原來包中的數(shù)據(jù)塊序號,并且與將要發(fā)送的新數(shù)據(jù)塊組成一個數(shù)據(jù)包進行發(fā)送;如果通過ack包知道整個數(shù)據(jù)包已經(jīng)被正確接收,則通知上層協(xié)議,已經(jīng)正確發(fā)送數(shù)據(jù)包;4.當發(fā)送節(jié)點重傳某個數(shù)據(jù)包或某個數(shù)據(jù)包中的數(shù)據(jù)塊達到預設的重傳次數(shù)后, 則丟棄這個數(shù)據(jù)包,并向上層協(xié)議報告該數(shù)據(jù)包傳輸失敗。本發(fā)明的水聲傳感器網(wǎng)絡的數(shù)據(jù)包的基本思想是把以前大塊的傳輸數(shù)據(jù)分成幾個相等長度的數(shù)據(jù)塊,分別進行校驗,這樣可以在水聲網(wǎng)絡這樣易發(fā)生傳輸錯誤的環(huán)境中, 減少重傳的數(shù)據(jù)量。
附圖是本發(fā)明的水聲傳感器網(wǎng)絡的數(shù)據(jù)包的示意圖。
具體實施例方式下面舉例對本發(fā)明做更詳細的描述本發(fā)明的水聲傳感器網(wǎng)絡的數(shù)據(jù)包把大塊的傳輸數(shù)據(jù)分成幾個相等長度的數(shù)據(jù)塊,分別進行校驗。即每個數(shù)據(jù)包由包頭部分,包頭校驗部分和數(shù)據(jù)部分組成。其中包頭部分與其它類似協(xié)議一樣,包括地址信息,數(shù)據(jù)包長度,包序號等。包頭校驗部分僅包含關于包頭部分的校驗信息。數(shù)據(jù)部分由兩部分組成。前部是屬于本次發(fā)送包的相等長度的一個或多個數(shù)據(jù)塊,每個數(shù)據(jù)塊分別由傳輸數(shù)據(jù)部分和該部分的校驗信息組成。該部分最后一個數(shù)據(jù)塊可能較小。數(shù)據(jù)部分的后一部分包含0或多個數(shù)據(jù)塊,是重傳的以前傳輸失敗的數(shù)據(jù)塊,這些數(shù)據(jù)塊的結構與前部數(shù)據(jù)塊結構基本一樣,只是多了自身隸屬的原來的包序號和在原包中的數(shù)據(jù)塊序號等。如附圖所示。發(fā)明的水聲傳感器網(wǎng)絡的數(shù)據(jù)包的傳輸方法為1.發(fā)送節(jié)點將要發(fā)送數(shù)據(jù)時,按上述要求組織數(shù)據(jù)包。與其他數(shù)據(jù)格式的區(qū)別在于將數(shù)據(jù)部分分成多個相等數(shù)據(jù)塊,最后一個數(shù)據(jù)塊可以不相等。每個數(shù)據(jù)塊有單獨的校驗部分,沒有關于全部數(shù)據(jù)的校驗數(shù)據(jù),增加了單獨針對幀頭的校驗部分。包的后部是重傳的屬于以前發(fā)送包的數(shù)據(jù)塊,其中增加了表示自身位置的所屬包的序號和在所屬包中的數(shù)據(jù)塊序號。2.當節(jié)點收到一個數(shù)據(jù)包時,首先檢查包中的包頭校驗部分,如果校驗不正確,則發(fā)回ack包,要求重傳該包,該過程結束。否則,說明包頭信息正確。繼續(xù)檢查數(shù)據(jù)部分。根據(jù)各個數(shù)據(jù)塊的校驗信息,可以知道哪些數(shù)據(jù)塊接收正確,哪些接收錯誤。如果數(shù)據(jù)全部接收正確,則發(fā)送ack包通知發(fā)送節(jié)點該包正確接收,并且報告上層協(xié)議正確接收到一個數(shù)據(jù)包。如果有一個或多個數(shù)據(jù)塊接收不正確,則發(fā)送ack包,通知發(fā)送節(jié)點哪些數(shù)據(jù)塊需要重傳。3.當發(fā)送節(jié)點收到目的節(jié)點發(fā)來的ack包時,可以知道是否需要重傳整個包,還是某幾個數(shù)據(jù)塊。如果需要重傳整個包,則再一次發(fā)送該包,如果只需發(fā)送包中的幾個數(shù)據(jù)塊,則將需重傳的每個數(shù)據(jù)塊加上表示自身位置的原來的包序號和在原來包中的數(shù)據(jù)塊序號,并且與將要發(fā)送的新數(shù)據(jù)塊組成一個數(shù)據(jù)包進行發(fā)送。如果通過ack包知道整個包已經(jīng)被正確接收,則通知上層協(xié)議,已經(jīng)正確發(fā)送該數(shù)據(jù)包。4.當發(fā)送節(jié)點重傳某個數(shù)據(jù)包或某個包中的數(shù)據(jù)塊達到預設的重傳次數(shù)后,則丟棄這個包,并向上層協(xié)議報告該包傳輸失敗。
權利要求
1.一種水聲傳感器網(wǎng)絡的數(shù)據(jù)包,其特征是每個數(shù)據(jù)包由包頭部分、包頭校驗部分和數(shù)據(jù)部分組成,其中包頭部分包括地址信息,包頭校驗部分僅包含關于包頭部分的校驗信息,數(shù)據(jù)部分為相等長度的一個或多個數(shù)據(jù)塊,每個數(shù)據(jù)塊分別由傳輸數(shù)據(jù)部分和該部分的校驗信息組成。
2.一種水聲傳感器網(wǎng)絡的數(shù)據(jù)包的傳輸方法,其特征是(1).每個數(shù)據(jù)包由包頭部分、包頭校驗部分和數(shù)據(jù)部分組成,發(fā)送節(jié)點將要發(fā)送數(shù)據(jù)時,將數(shù)據(jù)部分分成多個相等數(shù)據(jù)塊;每個數(shù)據(jù)塊有單獨的校驗部分,沒有關于全部數(shù)據(jù)的校驗數(shù)據(jù),設置有單獨針對幀頭的校驗部分,數(shù)據(jù)包的后部是重傳的屬于以前發(fā)送包的數(shù)據(jù)塊、包含表示自身位置的所屬包的序號和在所屬包中的數(shù)據(jù)塊序號;(2).當節(jié)點收到一個數(shù)據(jù)包時,首先檢查數(shù)據(jù)包中的包頭校驗部分,如果校驗不正確, 則發(fā)回ack包,要求重傳數(shù)據(jù)包,該過程結束;否則,說明包頭信息正確,繼續(xù)檢查數(shù)據(jù)部分;如果數(shù)據(jù)全部接收正確,則發(fā)送ack包通知發(fā)送節(jié)點數(shù)據(jù)包正確接收,并且報告上層協(xié)議正確接收到一個數(shù)據(jù)包;如果有一個或多個數(shù)據(jù)塊接收不正確,則發(fā)送ack包,通知發(fā)送節(jié)點哪些數(shù)據(jù)塊需要重傳;(3).當發(fā)送節(jié)點收到目的節(jié)點發(fā)來的ack包時,判斷是否需要重傳整個數(shù)據(jù)包、還是某幾個數(shù)據(jù)塊;如果需要重傳整個數(shù)據(jù)包,則再一次發(fā)送數(shù)據(jù)包,如果只需發(fā)送數(shù)據(jù)包中的幾個數(shù)據(jù)塊,則將需重傳的每個數(shù)據(jù)塊加上表示自身位置的原來的包序號和在原來包中的數(shù)據(jù)塊序號,并且與將要發(fā)送的新數(shù)據(jù)塊組成一個數(shù)據(jù)包進行發(fā)送;如果通過ack包知道整個數(shù)據(jù)包已經(jīng)被正確接收,則通知上層協(xié)議,已經(jīng)正確發(fā)送數(shù)據(jù)包;(4).當發(fā)送節(jié)點重傳某個數(shù)據(jù)包或某個數(shù)據(jù)包中的數(shù)據(jù)塊達到預設的重傳次數(shù)后,則丟棄這個數(shù)據(jù)包,并向上層協(xié)議報告該數(shù)據(jù)包傳輸失敗。
全文摘要
本發(fā)明提供的是水聲傳感器網(wǎng)絡的數(shù)據(jù)包及傳輸方法。每個數(shù)據(jù)包由包頭部分、包頭校驗部分和數(shù)據(jù)部分組成,其中包頭部分包括地址信息,包頭校驗部分僅包含關于包頭部分的校驗信息,數(shù)據(jù)部分為相等長度的一個或多個數(shù)據(jù)塊,每個數(shù)據(jù)塊分別由傳輸數(shù)據(jù)部分和該部分的校驗信息組成。本發(fā)明的基本思想是把以前大塊的傳輸數(shù)據(jù)分成幾個相等長度的數(shù)據(jù)塊,分別進行校驗,這樣可以在水聲網(wǎng)絡這樣易發(fā)生傳輸錯誤的環(huán)境中,減少重傳的數(shù)據(jù)量。
文檔編號H04W28/06GK102255713SQ20111020726
公開日2011年11月23日 申請日期2011年7月24日 優(yōu)先權日2011年7月24日
發(fā)明者姚念民, 馬海峰 申請人:哈爾濱工程大學