版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、計算機(jī)網(wǎng)絡(luò)作業(yè)教材P128所述的分組轉(zhuǎn)發(fā)算法如下:(1) 從數(shù)據(jù)報的首部提取目的主機(jī)的 IP 地址 D, 得出目的網(wǎng)絡(luò)地址為 N。(2) 若網(wǎng)絡(luò) N 與此路由器直接相連,則把數(shù)據(jù)報直接交付目的主機(jī) D;否則是間接交付,執(zhí)行(3)。(3) 若路由表中有目的地址為 D 的特定主機(jī)路由,則把數(shù)據(jù)報傳送給路由表中所指明的下一跳路由器;否則,執(zhí)行(4)。(4) 若路由表中有到達(dá)網(wǎng)絡(luò) N 的路由,則把數(shù)據(jù)報傳送給路由表指明的下一跳路由器;否則,執(zhí)行(5)。(5) 若路由表中有一個默認(rèn)路由,則把數(shù)據(jù)報傳送給路由表中所指明的默認(rèn)路由器;否則,執(zhí)行(6)。(6) 報告轉(zhuǎn)發(fā)分組出錯。將該算法加以修改便可用于如下圖
2、所示(P130)劃分子網(wǎng)的B類網(wǎng)絡(luò)。該B類網(wǎng)絡(luò)被劃分為三個子網(wǎng),它們分別為145.13.3.0,145.13.7.0和145.13.21.0。可知它們的子網(wǎng)掩碼均為255.255.255.0。修改后的算法如下:(1) 從收到的分組的首部提取目的 IP 地址 D。(2) 先用各網(wǎng)絡(luò)的子網(wǎng)掩碼和D逐比特相“與”,看是否和相應(yīng)的網(wǎng)絡(luò)地址匹配。若匹配,則將分組直接交付。否則就是間接交付,執(zhí)行(3)。(3) 若路由表中有目的地址為 D的特定主機(jī)路由,則將分組傳送給指明的下一跳路由器;否則,執(zhí)行(4)。(4) 對路由表中的每一行的子網(wǎng)掩碼和 D逐比特相“與”,若其結(jié)果與該行的目的網(wǎng)絡(luò)地址匹配,則將分組傳送
3、給該行指明的下一跳路由器;否則,執(zhí)行(5)。(5) 若路由表中有一個默認(rèn)路由,則將分組傳送給路由表中所指明的默認(rèn)路由器;否則,執(zhí)行(6)。(6) 報告轉(zhuǎn)發(fā)分組出錯。用流程圖表示上述算法如下:否否是是開始提取目的IP地址D用子網(wǎng)掩碼與D逐位相“與”直接交付與相應(yīng)網(wǎng)絡(luò)地址匹配?傳送給指明的下一路由器路由表中第行子網(wǎng)掩碼與D逐位相“與”傳送給該行指明的路由器路由表中有目的地址為 D 的特定主機(jī)路由?結(jié)束結(jié)果與該行目的地址匹配?路由表中有 默認(rèn)路由?傳送給指明的默認(rèn)路由器報告分組發(fā)送出錯是是否否用C+實(shí)現(xiàn)該算法,考慮傳送到路由器R2處的IP數(shù)據(jù)報分組,經(jīng)過路由選擇決定如何投遞,編制程序模擬IP數(shù)據(jù)報分
4、組轉(zhuǎn)發(fā)過程。在程序中,以手動方式輸入數(shù)據(jù)分組的目的IP地址D來模擬上述算法中的步驟(1)(D以點(diǎn)分十進(jìn)制形式輸入,在程序中分四部分輸入,每部分以回車結(jié)尾)。設(shè)R2的路由表中,目的IP地址145.13.3.10有對應(yīng)的特定主機(jī)路由,該特定路由指明發(fā)送到145.13.3.10的數(shù)據(jù)分組傳送到路由器R3。同時又設(shè)R2的路由表有默認(rèn)路由,默認(rèn)路由的下一跳也是R3。而對于發(fā)送到網(wǎng)絡(luò)145.13.0.0的數(shù)據(jù)分組均被直接傳送到路由器R1。即路由器R2的路由表如下圖所示:目的主機(jī)所在的網(wǎng)絡(luò)子網(wǎng)掩碼下一跳地址0.0.0.0(默認(rèn))R3145.13.3.10(特定主機(jī))R3R1具體程序代碼如下:#include
5、 <iostream>using namespace std;class A /定義一個基類Apublic:int part1;int part2;int part3;int part4;A subnet_ID; /用于存儲子網(wǎng)號class B:public A /定義B類用于存儲輸入的點(diǎn)分十進(jìn)制IP地址public:void display();void input();D; /D用于存儲輸入的目的主機(jī)IP地址void B:input() /定義input函數(shù),用于輸入?yún)?shù),分四部分輸入,每部分以回國結(jié)束cin>>part1;cin>>part2;cin&
6、gt;>part3;cin>>part4;void B:display() /以點(diǎn)分十進(jìn)制形式顯示IP地址,子網(wǎng)掩碼cout<<part1<<"."cout<<part2<<"."cout<<part3<<"."cout<<part4<<endl;class C /定義C類用于設(shè)定路由表中和項(xiàng)public:void setDEST(int p1,int p2,int p3,int p4);void setSUBNET_MA
7、SK(int a1,int a2,int a3,int a4);A DEST; /DEST為目的主機(jī)地址,類型為AA SUBNET_MASK; /子網(wǎng)掩碼,類型為A;void C:setDEST(int p1,int p2,int p3,int p4)DEST.part1=p1;DEST.part2=p2;DEST.part3=p3;DEST.part4=p4;void C:setSUBNET_MASK(int a1,int a2,int a3,int a4)SUBNET_MASK.part1=a1;SUBNET_MASK.part2=a2;SUBNET_MASK.part3=a3;SUBNE
8、T_MASK.part4=a4;void AND(B IP,C subnet_mask) /AND函數(shù)用于將IP地址和子網(wǎng)掩碼遂位相“與”等到相應(yīng)的子網(wǎng)號A SUB=subnet_mask.SUBNET_MASK;subnet_ID.part1=IP.part1&SUB.part1;subnet_ID.part2=IP.part2&SUB.part2;subnet_ID.part3=IP.part3&SUB.part3;subnet_ID.part4=IP.part4&SUB.part4;int main()C c3;c0.setDEST(0,0,0,0); /
9、為相應(yīng)的路由表項(xiàng)賦值c0.setSUBNET_MASK(255,255,0,0);c1.setDEST(145,13,3,10);c1.setSUBNET_MASK(255,255,255,255);c2.setDEST(145,13,0,0);c2.setSUBNET_MASK(255,255,0,0);cout<<"輸入目的主機(jī)IP地址D:"<<endl;D.input();cout<<"開始路由選擇!"<<endl;cout<<"目的主機(jī)IP地址D為:"D.displa
10、y();int flag=1; /定義一個標(biāo)志,用于差別是否已經(jīng)找到了相應(yīng)的路由表項(xiàng)for(int i=0;i<3;i+)AND(D,ci);if(subnet_ID.part1=ci.DEST.part1&&subnet_ID.part2=ci.DEST.part2&&subnet_ID.part3=ci.DEST.part3&&subnet_ID.part4=ci.DEST.part4)if(i=1) /若對應(yīng)于特定主機(jī)路由表項(xiàng)cout<<"有相應(yīng)的特定主機(jī)路由表項(xiàng),數(shù)據(jù)分組發(fā)送到路由器R3!"<&
11、lt;endl;flag=0;break;if(i=2) /若對應(yīng)于普通路由表項(xiàng)cout<<"找到相應(yīng)路由表項(xiàng),數(shù)據(jù)分組發(fā)送到路由器R1!"<<endl;flag=0;break;if(flag) /未找到完全相符的路由表項(xiàng)則使用默認(rèn)路由cout<<"使用默認(rèn)路由,數(shù)據(jù)分組發(fā)送到路由器R3!"<<endl; return 0;運(yùn)行程序:1、 輸入目的主機(jī)地址為145.13.3.10(表中有對就的特定主機(jī)路由表項(xiàng)),結(jié)果如下圖:2、 輸入目的主機(jī)地址為145.13.21.23,該主機(jī)是圖中劃分了子網(wǎng)的B類網(wǎng)絡(luò)
12、中的一臺主機(jī),據(jù)算法可知數(shù)據(jù)分組應(yīng)傳送到路由器R1,結(jié)果如下圖,可見與預(yù)計結(jié)果相符。3、 輸入其它不是圖中B類網(wǎng)絡(luò)中的任一主機(jī)地址時由算法知應(yīng)該使用默認(rèn)路由,演示時輸入122.204.196.218,運(yùn)行結(jié)果如下,可見與預(yù)計結(jié)果相符。若路由表中沒有配置默認(rèn)路由,則前面所列的路由表中就刪去第一行,并將上述程序代碼加粗下劃線部分修改成如下內(nèi)容:if(flag) /未找到完全相符的路由表項(xiàng),而又沒有默認(rèn)路由則報告出錯cout<<"出錯!未找到完全相符的路由表項(xiàng)或默認(rèn)路由!"<<endl; 此時若再輸入步驟(3)中的主機(jī)IP地址時則會報告出錯,與算法中第六步相對應(yīng)。實(shí)際運(yùn)行如果見下圖:對于發(fā)送到路由器R1處的數(shù)據(jù)分組,其
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 疊合板工藝流程
- 2025新分期付款買賣合同
- 2025授權(quán)合同標(biāo)準(zhǔn)版范文
- 2025裝修工程居間合同
- 2025公路貨物運(yùn)輸合同
- 2025進(jìn)口貨物合同履行注意事項(xiàng)
- 2025勞動合同訂立原則
- 培訓(xùn)收銀員工作流程
- 化妝品銷售業(yè)務(wù)員
- 財務(wù)部年終工作總結(jié)回顧成績展望未來
- 影視作品價值評估-洞察分析
- 公司員工出差車輛免責(zé)協(xié)議書
- 2023年浙江杭州師范大學(xué)附屬醫(yī)院招聘聘用人員筆試真題
- 江蘇某小區(qū)園林施工組織設(shè)計方案
- 口腔執(zhí)業(yè)醫(yī)師定期考核試題(資料)帶答案
- DL∕T 1631-2016 并網(wǎng)風(fēng)電場繼電保護(hù)配置及整定技術(shù)規(guī)范
- 全過程人民民主學(xué)習(xí)心得體會
- 2023年上海期貨交易所招聘筆試題庫及答案解析
- 附圖1岑溪市行政區(qū)劃圖
- word企業(yè)管理封面-可編輯
- 全國醫(yī)療服務(wù)價格項(xiàng)目規(guī)范(2012年版)-工作手冊
評論
0/150
提交評論