ip數(shù)據(jù)報重組算法_第1頁
已閱讀1頁,還剩0頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、第19卷第6期1998年12月j數(shù)技量坦J啦n肚InstituteEdI】咖m(N咖Seldom)IP數(shù)據(jù)報重組算法蘇群(江西高校出版社330046)lP即網(wǎng)際網(wǎng)協(xié)議的任務是數(shù)據(jù)報的分段與重組。在一般情況下數(shù)據(jù)報是不需要分段的,當在傳精選徑中遘薊只能傳送小包的鏈路層協(xié)議時,分段就韭得不可避免。在接收主機的IP層將所有的分段收集起來并重新組成一個完整的數(shù)據(jù)報的過程中,需要在lP摸塊中實現(xiàn)數(shù)據(jù)報的重組算擊。以往實現(xiàn)的算法可能是十分復雜的其中

2、包括對每一個分段的跟蹤,而當每一個新分段到來時需要用不同的方法將它與現(xiàn)有的分段進行匹配。實際上這種算法可以做得十分簡單它可將跟蹤分段的工作減至最低限度,而且對緩沖區(qū)的要求也降低到只要能夠容納最終數(shù)據(jù)報的太小就可以了為了了解吼下所舟紹的算法,讀者必須對lP數(shù)據(jù)報的格式及分段與重組的原理比較了解為了描述這種算法,菝們先將一個概念確定一下。一個還未裝配完成的數(shù)據(jù)報包古一些已經(jīng)到達的八位組,但還有一些八位組的位置是空置的,我們把這些空置的八位組

3、元位置稱為空隙,而空隙頭代表空障的第一個^位組的順序碼,空隙尾代表空障最后一個八位組的順序碼,而表述在一個空隙的一對空隙頭和空瞬尾稱為空隙描述符。而且裁們設定所有空隙描述符都在一個空隙描述符剜表內。算法的一般形式表述如下:當一個分段到選之后、它將會填充一個或幾個空隙,我們將會檢查空障描述符的每一項擊挾定是否有的項會因為空隙被填充而箍刪掉。最終會有一個分段的到來使得所有項都被刪掉,此時一個數(shù)據(jù)報的重組就完成了這個算法將分兩個部分,第一部分

4、是對接收的分段進行扯理,確定它是否可以填充一個或幾個空隙,第二部分則包括空隙描述符的管理。一、分殷處理算涪一個接收到的分段可用幾種方法填充空隙。最常見的是,它可以填充整個一個空隙,也有可能在空隙的頭部或尾部留下一個比較小的新空隙,或者在兩頭都留下新空隙?;谝陨显蛟谝粋€新的分段到達時,我們就要進行多種測試但實際上,我們可以表達為只進行四種副試就可了。當數(shù)據(jù)報最早的分段到來時我們將啟動這個算法,在這之前,找們將韌始億空酵描述符列表,這時

5、空晾頭表述為零,空隙尾為無窮大(實際上只要比576大就行了)。以下步驟表述了算法的執(zhí)行過程,其中分段頭表示分段第一個^位組的胍申號,分段尾表示最后八位組的順序號Ⅷ19№6Dec19981、從空掰c描述符列表中選擇下一個空隙描述符,若沒有,剜跳至步驟8;2、若分段頭大于空隙尾,則眺至步驟1;3、若分段尾大于空隙頭則眈至步驟1;(若以上兩個判斷中有一個不成立,則此分段不會覆蓋刊空隙上我們可吼不再進行其它步驟,而轉向下一個空隙描述符);4、從

6、空掰c描述符列表中刪擊當前描述符;(由于分段將覆蓋當前空瓊的一部或全部,所我們將它刪去在下兩步我們將決定是否建立一個新的空隙描述符);5、若分段頭大于空隙頭,則刨建一個新的空隙描述符,其中隙頭保持不變而空隙尾等于分段頭減1;6若分段尾小于空隙尾,則創(chuàng)建一個新的空隙描述符,其空隙尾保持不變,而空隙頭等于分段尾;7、返回步驟1;8、若空隙描述符已全部被刪除剮數(shù)據(jù)報箍重組完畢可將其傳送到高一緞協(xié)議娃理。二、空隙描述符管理吼上所描述的算法中,除

7、了增加或硪少空隙描述符表中的描述符卅,并未過多地涉及于此。但由于在空隙插述符的數(shù)量上并無限i可吼想象對于空隙描述符的管理將是其中最耗資源的部分。這兒有一個較簡單的扯理方法即將空隙描述符放^空隙車身中去。為了存缺一對空隙描述符將在空隙中預占2個^位組,另外,還需要另外兩個^位組去與空隙描述符列表對應起來。除了以上所述的算法和描述符管理的部分,在重組過程中還有兩個部分應加以注意的。首先當一個分段箍接收到時,尋找到與之關聯(lián)的重組緩沖區(qū)是程關鍵

8、的。對應的重組緩沖區(qū)由以下條件來標識:源地址目的地址上層協(xié)議識尉號數(shù)據(jù)包識別號,只有上幾項都符合才可判斷分段是屬于某個數(shù)據(jù)包的另一個問題是定時器的問題,當數(shù)據(jù)包的最初分段到達時啟動定時器當超過時間上限后該數(shù)據(jù)包仍未重組完畢,則可將些數(shù)據(jù)丟棄向瓊地址發(fā)送ICMP消息。上述只是該算法的一個簡單闡述具體實現(xiàn)還有艟于具體的調試環(huán)境。(責任枝時:秦良)維普資訊第19卷第6期1998年12月j數(shù)技量坦J啦n肚InstituteEdI】咖m(N咖Se

9、ldom)IP數(shù)據(jù)報重組算法蘇群(江西高校出版社330046)lP即網(wǎng)際網(wǎng)協(xié)議的任務是數(shù)據(jù)報的分段與重組。在一般情況下數(shù)據(jù)報是不需要分段的,當在傳精選徑中遘薊只能傳送小包的鏈路層協(xié)議時,分段就韭得不可避免。在接收主機的IP層將所有的分段收集起來并重新組成一個完整的數(shù)據(jù)報的過程中,需要在lP摸塊中實現(xiàn)數(shù)據(jù)報的重組算擊。以往實現(xiàn)的算法可能是十分復雜的其中包括對每一個分段的跟蹤,而當每一個新分段到來時需要用不同的方法將它與現(xiàn)有的分段進行匹配。

10、實際上這種算法可以做得十分簡單它可將跟蹤分段的工作減至最低限度,而且對緩沖區(qū)的要求也降低到只要能夠容納最終數(shù)據(jù)報的太小就可以了為了了解吼下所舟紹的算法,讀者必須對lP數(shù)據(jù)報的格式及分段與重組的原理比較了解為了描述這種算法,菝們先將一個概念確定一下。一個還未裝配完成的數(shù)據(jù)報包古一些已經(jīng)到達的八位組,但還有一些八位組的位置是空置的,我們把這些空置的八位組元位置稱為空隙,而空隙頭代表空障的第一個^位組的順序碼,空隙尾代表空障最后一個八位組的順

11、序碼,而表述在一個空隙的一對空隙頭和空瞬尾稱為空隙描述符。而且裁們設定所有空隙描述符都在一個空隙描述符剜表內。算法的一般形式表述如下:當一個分段到選之后、它將會填充一個或幾個空隙,我們將會檢查空障描述符的每一項擊挾定是否有的項會因為空隙被填充而箍刪掉。最終會有一個分段的到來使得所有項都被刪掉,此時一個數(shù)據(jù)報的重組就完成了這個算法將分兩個部分,第一部分是對接收的分段進行扯理,確定它是否可以填充一個或幾個空隙,第二部分則包括空隙描述符的管理

12、。一、分殷處理算涪一個接收到的分段可用幾種方法填充空隙。最常見的是,它可以填充整個一個空隙,也有可能在空隙的頭部或尾部留下一個比較小的新空隙,或者在兩頭都留下新空隙。基于以上原因在一個新的分段到達時,我們就要進行多種測試但實際上,我們可以表達為只進行四種副試就可了。當數(shù)據(jù)報最早的分段到來時我們將啟動這個算法,在這之前,找們將韌始億空酵描述符列表,這時空晾頭表述為零,空隙尾為無窮大(實際上只要比576大就行了)。以下步驟表述了算法的執(zhí)行過

13、程,其中分段頭表示分段第一個^位組的胍申號,分段尾表示最后八位組的順序號Ⅷ19№6Dec19981、從空掰c描述符列表中選擇下一個空隙描述符,若沒有,剜跳至步驟8;2、若分段頭大于空隙尾,則眺至步驟1;3、若分段尾大于空隙頭則眈至步驟1;(若以上兩個判斷中有一個不成立,則此分段不會覆蓋刊空隙上我們可吼不再進行其它步驟,而轉向下一個空隙描述符);4、從空掰c描述符列表中刪擊當前描述符;(由于分段將覆蓋當前空瓊的一部或全部,所我們將它刪去在

14、下兩步我們將決定是否建立一個新的空隙描述符);5、若分段頭大于空隙頭,則刨建一個新的空隙描述符,其中隙頭保持不變而空隙尾等于分段頭減1;6若分段尾小于空隙尾,則創(chuàng)建一個新的空隙描述符,其空隙尾保持不變,而空隙頭等于分段尾;7、返回步驟1;8、若空隙描述符已全部被刪除剮數(shù)據(jù)報箍重組完畢可將其傳送到高一緞協(xié)議娃理。二、空隙描述符管理吼上所描述的算法中,除了增加或硪少空隙描述符表中的描述符卅,并未過多地涉及于此。但由于在空隙插述符的數(shù)量上并無

15、限i可吼想象對于空隙描述符的管理將是其中最耗資源的部分。這兒有一個較簡單的扯理方法即將空隙描述符放^空隙車身中去。為了存缺一對空隙描述符將在空隙中預占2個^位組,另外,還需要另外兩個^位組去與空隙描述符列表對應起來。除了以上所述的算法和描述符管理的部分,在重組過程中還有兩個部分應加以注意的。首先當一個分段箍接收到時,尋找到與之關聯(lián)的重組緩沖區(qū)是程關鍵的。對應的重組緩沖區(qū)由以下條件來標識:源地址目的地址上層協(xié)議識尉號數(shù)據(jù)包識別號,只有上幾

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論