路由分組轉(zhuǎn)發(fā)算法的模擬C++_第1頁
路由分組轉(zhuǎn)發(fā)算法的模擬C++_第2頁
路由分組轉(zhuǎn)發(fā)算法的模擬C++_第3頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、20222022 級物理學(xué)計算機(jī)網(wǎng)絡(luò)作業(yè)P128 所述的分組轉(zhuǎn)發(fā)算法如下:從數(shù)據(jù)報的首部提取目的主機(jī)的 IP 地址 D, 得出目的網(wǎng)絡(luò)地址為 N。N(3)。假設(shè)路由表中有目的地址為 D由器;否則,執(zhí)行(4)。假設(shè)路由表中有到達(dá)網(wǎng)絡(luò) N行(5)。(6)。報告轉(zhuǎn)發(fā)分組出錯。將該算法加以修改便可用于如以下圖所示P130B 類網(wǎng)絡(luò)。該B 145.13.3.0,145.13.7.0 145.13.21.0。255.255.255.0。修改后的算法如下:從收到的分組的首部提取目的 IP 地址 D。D組直接交付。否則就是間接交付,執(zhí)行(3)。假設(shè)路由表中有目的地址為 D執(zhí)行(4)。對路由表中的每一行的子網(wǎng)掩

2、碼和 D則將分組傳送給該行指明的下一跳路由器;否則,執(zhí)行(5)。(6)。報告轉(zhuǎn)發(fā)分組出錯。用流程圖表示上述算法如下:開頭IPD用子網(wǎng)掩碼與 D逐位相“與”是地址匹配?否路由表中有目的是D 的特定主機(jī)路由?直接交付否路由表中第行子網(wǎng)掩 地址匹配?傳送給指明的否下一路由器是傳送給該行指明的路由器是傳送給指明的默認(rèn)路由器否報告分組發(fā)送出錯完畢C+實現(xiàn)該算法,考慮傳送到路由器R2 IP 數(shù)據(jù)報分組,經(jīng)過路由選擇打算IP 數(shù)據(jù)報分組轉(zhuǎn)發(fā)過程。在程序中,以手動方式輸入數(shù)據(jù)分組的目的P 地址D 來模擬上述算法中的步驟D 以點分十進(jìn)制形式輸入,在程序中分四局部輸入,每局部以回車結(jié)尾。R2 IP 145.13.

3、3.10 有對應(yīng)的特定主機(jī)路由,該特定路由145.13.3.10 R3R2 的路由表有默認(rèn)路R3145.13.0.0 的數(shù)據(jù)分組均被直接傳R1。R2 的路由表如以下圖所示:目的主機(jī)所在的網(wǎng)絡(luò)子網(wǎng)掩碼下一跳地址0.0.0.0默認(rèn)255.255.0.0R3145.13.3.10特定主機(jī)255.255.255.255R3145.13.0.0255.255.0.0R1具體程序代碼如下:#includeusingnamespacestd;classA/Apublic:int part1;int part2;int part3;intpart4;Asubnet_ID;/用于存儲子網(wǎng)號classB:publ

4、icA/B IP 地址public:voiddisplay;voidinput;D; IP 地址voidB:input/input 函數(shù),用于輸入?yún)?shù),分四局部輸入,每局部以回國完畢voidB:display/IP 地址,子網(wǎng)掩碼coutpart1“.“; coutpart2“.“; coutpart3“.“; classC/C 類用于設(shè)定路由表中和項public:voidsetDEST(intp1,intp2,intp3,intp4);voidsetSUBNET_MASK(inta1,inta2,inta3,inta4);ADEST; 為AASUBNET_MASK;子網(wǎng)掩碼,類型為A;voi

5、dC:setDEST(intp1,intp2,intp3,intp4)voidC:setSUBNET_MASK(inta1,inta2,inta3,inta4)voidAND(BIP,Csubnet_mask) IP 地址和子網(wǎng)掩碼遂位相“與”等到相應(yīng)的子網(wǎng)號ASUB=subnet_mask.SUBNET_MASK;intmainCc3;c0.setDEST(0,0,0,0);/為相應(yīng)的路由表項賦值c0.setSUBNET_MASK(255,255,0,0);c1.setDEST(145,13,3,10); c2.setDEST(145,13,0,0); IP D:“endl;D.input;

6、cout“開頭路由選擇!“endl; cout“IP 地址D 為:“;D.display;intflag=1;定義一個標(biāo)志,用于差異是否已經(jīng)找到了相應(yīng)的路由表項for(inti=0;i3;i+)AND(D,ci); part3&subnet_ID.part4=ci.DEST.part4)if(i=1)/假設(shè)對應(yīng)于特定主機(jī)路由表項R3!“endl;flag=0;break;if(i=2)/假設(shè)對應(yīng)于一般路由表項R1!“endl;flag=0;break;if(flag)/未找到完全相符的路由表項則使用默認(rèn)路由 cout“使用默認(rèn)路由,數(shù)據(jù)分組發(fā)送到路由器 R3!“endl; return0;運(yùn)行程序:10表中有對就的特定主機(jī)路由表項,結(jié)果如以下圖:145.13.21.23B 類網(wǎng)絡(luò)中的一臺主機(jī),據(jù)算法R1,結(jié)果如以下圖,可見與估量結(jié)果相符。3、輸入其它不是圖中 B類網(wǎng)絡(luò)中的任一主機(jī)地址時由算法知應(yīng)當(dāng)使用默認(rèn)路由,演示時輸入122.204.196.218,運(yùn)行結(jié)果如下,可見與估量結(jié)果相符。劃線局部修改成如下內(nèi)容:if(flag)/未找到完全相符的路由表項,而又沒有默認(rèn)路由則報告出錯!“endl; 以下圖:R1 R1 的路由表列出如下:目的主機(jī)所在的網(wǎng)絡(luò)子網(wǎng)掩碼下一跳地址145.13.3.0255.255.255.0RA145.13.7.0255.255.255.0RB145.13

溫馨提示

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

最新文檔

評論

0/150

提交評論