RIP路由協(xié)議原型系統(tǒng)的實現(xiàn)謝剛_第1頁
RIP路由協(xié)議原型系統(tǒng)的實現(xiàn)謝剛_第2頁
RIP路由協(xié)議原型系統(tǒng)的實現(xiàn)謝剛_第3頁
RIP路由協(xié)議原型系統(tǒng)的實現(xiàn)謝剛_第4頁
RIP路由協(xié)議原型系統(tǒng)的實現(xiàn)謝剛_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、課程設計報告課程名稱:計算機網(wǎng)絡設計題目:RIP路由協(xié)議原型系統(tǒng)的實現(xiàn)系 別:計算機與信息工程學院專 業(yè):物聯(lián)網(wǎng)專業(yè)組 別:第五組-起止日期:起14年6月8日2022年6月14日-指導教師:劉進軍計算機科學與技術系二.一四年制勢 長謝剛學 號88班 級2022級物聯(lián)網(wǎng)別計算機與信息工程學 院專 業(yè)物聯(lián)網(wǎng)專業(yè)勢 員謝剛指導教師老師劉進軍課程設計目的1) 進一步理解動態(tài)內(nèi)部網(wǎng)關協(xié)議RIP的工作原理.2) 學會將所學知識聯(lián)合運用,如本次RIP協(xié)議原型系統(tǒng)的設計即是將網(wǎng)絡與數(shù)據(jù)結構圖及C編程語言相結合.3提升團隊合作水平,發(fā)揮每一名組員的長處.4體會做一個工程的流程包括前期的資料收集,系統(tǒng) 要求分析,

2、系統(tǒng)實現(xiàn)的語言選擇及實現(xiàn)方法的討論等.課程設計所需 環(huán)境1) Windows操作系統(tǒng)平臺2) VC+珊譯環(huán)境3) Cisco Packet Tracer仿真軟件課程設計任務 要求1實現(xiàn)一個RIP路由協(xié)議的原型系統(tǒng)2播送發(fā)布本地節(jié)點的路由信息3其它節(jié)點接收信息并選擇最優(yōu)路徑4支持最大不超過15跳的特性5動態(tài)支持網(wǎng)絡拓撲結構的變化如增加路由節(jié)點課程設計工作進度方案序 號起止日期工作內(nèi)容分工情況12022年6月8日2022年6月9日展開思路討論工作并搜集 相關資料參考相關資料獨立完 成22022年6月9日 2022年6月10日分析課程設計要求,確定 目標參考相關資料獨立完 成32022年6月10日

3、2022年6月11日設計軟件功能模塊參考相關資料獨立完 成42022年6月11日2022年6月12日編寫代碼、實現(xiàn)功能模塊參考相關資料獨立完 成52022年6月12日 2022年6月13日系統(tǒng)整合以及測試參考相關資料獨立完 成62022年6月13日 2022年6月14日完成課程設計文檔參考相關資料獨立完 成教研室審核意見:3教研室主任簽字:年課程設計任務書目 錄1. 引言 .42. 系統(tǒng)開發(fā)分析 .4系統(tǒng)需求分析 .4系統(tǒng)設計原理 43. 系 統(tǒng) 功 能 描 述 與 軟 件 模 塊 劃分 .54. 系統(tǒng)設計詳細 .5程序流程圖 6程序源代碼 75. 設 計 過 程 關 鍵 問 題 及 其 解

4、決 方法 .10如何實現(xiàn)播送本地路由及更新動態(tài)更新路由表 .10 如何在網(wǎng)絡拓撲結構改變后實現(xiàn)動態(tài)更新維護路由表 .116. 程 序 設 計 結 果 界 面 演示 11設計結果演示 .117. 課 程 設 計 總 結 與 體會 15總結 .15體會 .17致 謝 17參考文獻 18RIP Routing information Protocol ,路由信息協(xié)議是應用較早、使用較普遍 的內(nèi)部網(wǎng)關協(xié)議Interior Gateway Protocol , IGP,適用于小型同類網(wǎng)絡的一個自治系 統(tǒng)AS內(nèi)的路由信息的傳遞.RIP協(xié)議是基于距離矢量算法DistanceVectorAlgorithms

5、的,在默認情況下,RIP使用一種非常簡單的度量制度:距離就是通往目的站點所需經(jīng)過的 鏈路數(shù),取值為115,數(shù)值16表示無窮大.它使用“跳數(shù),即 metric來衡量到達目標 地址的路由距離.這種協(xié)議的路由器只關心自己周圍的世界,只與自己相鄰的路由器交換信息,范圍限制在15跳15度之內(nèi),再遠,它就不關心了.RIP進程使用UDP的520端口來發(fā)送和接收 RIP分組.RIP分組每隔30s以播送的形式發(fā)送一次,為了預防出現(xiàn)“播送風 暴,其后續(xù)的的分組將做隨機延時后發(fā)送.在 RIP中,如果一個路由在 180s內(nèi)未被刷, 那么相應的距離就被設定成無窮大,并從路由表中刪除該表項.RIP應用于OSI網(wǎng)絡七層模型

6、的網(wǎng)絡層.RIP是一個用于路由器和主機間交換路由信息的距離向量協(xié)議,目前最新的版本 為v4,也就是RIPv4.2 .系統(tǒng)開發(fā)分析系統(tǒng)需求分析1 .實現(xiàn)一個RIP路由協(xié)議的原型系統(tǒng).2 .播送發(fā)布本地節(jié)點的路由信息.3 .其它節(jié)點接收信息并選擇最優(yōu)路徑.4 .支持最大不超過15跳的特性.5 .動態(tài)支持網(wǎng)絡拓撲結構的變化如增加路由節(jié)點系統(tǒng)設計原理RIP協(xié)議是動態(tài)路由協(xié)議,其運行至路由器中,而路由器是運行路由協(xié)議軟件的專用硬 件,它的主要功能可以分成兩局部:路由選擇和分組轉發(fā).其中路由選擇是根底. 一個路由器對到來的每一個分組先選擇適宜的路由,然后才能依據(jù)此路由進行正確的轉發(fā),本次課程設計就是設計有

7、著廣泛的使用范圍的動態(tài)路由協(xié)議RIP協(xié)議體統(tǒng)原型.它是距離向量協(xié)議中的一種,屬于內(nèi)部網(wǎng)關協(xié)議.運行協(xié)議的相鄰路由器通過彼此之間交換路由信息RIP的距離向量,從而知道網(wǎng)絡的連接情況,實現(xiàn)各個網(wǎng)絡之間的連通,這也是距離向量名稱的由來. Distance Vector 運行協(xié)議的每個路由器都要維護一張自己的路由RIP表,該路由表是相應于與它直接相聯(lián)和通過路由器相連的網(wǎng)絡連接情況而動態(tài)變化的.因此協(xié)議屬于動態(tài)路由協(xié)RIP議.路由器根據(jù)路由表對發(fā)給它的包進行轉發(fā),從而實現(xiàn)IP路由功能.3 .系統(tǒng)功能描述與系統(tǒng)模塊劃分本設計實現(xiàn)的RIP路由協(xié)議的原型系統(tǒng)功能主要包括,一:初始化每個路由器的路由表信息.即在

8、使用者輸入網(wǎng)絡拓撲結構中的路由節(jié)點數(shù)及鏈路數(shù)后,系統(tǒng)首先會自動生成每個節(jié)點到其相鄰路由節(jié)點的路由信息,具體包括:目的地址、跳數(shù)、下一跳,初始設置相鄰節(jié) 點的跳數(shù)為1.二:當路由器的初始路由表建立后,接下來就開始進行鄰接節(jié)點的路由信 息播送,即路由節(jié)點將自身的路由表信息播送至其相鄰的節(jié)點,具體的播送信息是將每一條路由的目的地址不變, 跳數(shù)加一,嚇一跳修改為自身路由器接口的名稱進行傳送,收到播送信息的路由表對收到的每一條路由信息進行判斷,分兩大情況:假設原來的路由表中沒有目的網(wǎng)絡N,那么將該項添加到路由表中,否那么即在該路由表中有到目的網(wǎng)絡N的信息,那么觀察下一條此時分兩種小情況1:假設嚇一跳與原

9、路由表項相同,那么無條件進行更新. 2:假設嚇一跳與原路由表項不相同,那么假設收到的路由信息中距離 d小于路由表中的距離, 那么進行更新.還有對于接受的路由信息跳數(shù) >=16的信息,那么將跳數(shù)置為16,說明不可達.三:動態(tài)改變網(wǎng)絡拓撲結構,即當由于實際需要,需增設路由節(jié)點時,系統(tǒng)會根據(jù)增設的路由節(jié)點數(shù)、名稱、鏈路數(shù),首先進行新增設節(jié)點的路由表信息初始化,而后將該節(jié)點的路由信息想鄰接節(jié)點進行播送,隨后整個網(wǎng)絡節(jié)點向鄰接節(jié)點進行路由信息播送, 這樣經(jīng)過幾輪播送后, 每一個節(jié)點都接收到了新增路由節(jié)點的最小路徑信息,從而實現(xiàn)了路由表的動態(tài)維護與創(chuàng)建.4 .系統(tǒng)設計詳細4.1 程序流程圖程序源碼由

10、于系統(tǒng)的設計涉及到網(wǎng)絡拓撲圖的存儲,所以本設計采用數(shù)據(jù)結構中圖的存儲思想來 進行拓撲結構的存儲,輸出.下面是系統(tǒng)設計的主要代碼:首先分別設置了 4種類型的結構體,以來表示鏈路信息、路由表、路由器,網(wǎng)絡拓撲圖.#include<>#include<>#define MAX_VERTEX_NUM 15#define MAX 15#include <iostream>typedef struct ArcCell;i.t0=end;for(i=0;i<i+)dj=10000;for(k=0;k<k+)dj=1;ji.adj=1;exnum;i+)if(c

11、ompare(s,(*G).vexi.r)=1) return i;return -1;exi.tm.distance!=0;m+);copy(*G).vexi.tm.destination,(*G).vexj.r);(*G).vexi.tm.distance=1;copy(*G).vexi.tm.nextjump,(*G).vexi.r);(*G).vexi.tm+1=end;for(n=0;(*G).vexj.tn.distance!=0;n+);copy(*G).vexj.tn.destination,(*G).vexi.r);(*G).vexj.tn.distance=1;copy(*

12、G).vexj.tn.nextjump,(*G).vexj.r);(*G).vexj.tn+1=end;exnum;i+)for(j=0;j<(*G).vexnum;j+) if(*G).arcsij.adj=1)exi.tk.distance!=0;k+)exi.tk.destination);=(*G).vexi.tk.distance+1;if>16) =16;copy,(*G).vexi.r);count=0;for(h=0;(*G).vexj.th.distance!=0;h+) (if(compare,(*G).vexj.r)=1)exj.th.destination,

13、=1) (count+;if(compare(*G).vexj.th.nextjump,=1) (*G).vexj.th.distance=;else if(*G).vexj.th.distance>(*G).vexj.th.distance=;copy(*G).vexj.th.nextjump,;if(count=0)(copy(*G).vexj.th.destination,;(*G).vexj.th.distance=;copy(*G).vexj.th.nextjump,;(*G).vexj.th+1=end;exi.r,(*G).vexj.r);printG(G);exnum+(

14、*G).vexnum.r);(*G).vexnum+(*G).vexnum.t0=end;(*G).vexnum+=nVexNum;(*G).arcnum+=nArcNum;for(k=0;k<nArcNum;k+)rcsij.adj=1;(*G).arcsji.adj=1;initRoute(G,i,j);for(i=0;i<(*G).vexnum;i+)exnum;j+)(if(*G).arcsij.adj!=1)(*G).arcsij.adj=10000;Exchange(G);exnum;i+) (10printf("t路t 由 t 器$:坨,(*6),3疝.);

15、printf(" 目的地址tt 距離tt 下一跳nn");for(j=0;(*G).vexi.tj.distance!=0;j+)printf("%sttt%dtt%snn",(*G).vexi.tj.destination,(*G).vexi.tj .distance,(*G).vexi.tj.nextjump);printf("nn");istance!=0;i+)printf("%sttt%dtt%snn",i.destination,i.distance,i.nextjump); printf("

16、nn");程序輸入數(shù)據(jù)界面與按下ENTER鍵后各路由表的初始路由信息如圖1-2clAfis members(:n d. t:/C + < Mmh二區(qū)b B 巴 ! J O目的土恤目抑廿it目的地址假設需在心有網(wǎng)珞拓力結構中地加新的節(jié)點.羸“事些char>Graph丸氏 bugVLLKiT>ArcCell t ypifilpfiinclud includJ ttdf>Fiinie 1#dpf iKLnclud'i typedel->UHod*;type," UHg(char, int CharJTHDfle; t ypPllFfTHade

17、 e copy(ch4.接下來改變原始網(wǎng)絡拓撲結構,增加新的路由節(jié)點,如圖 1-3中拓撲結構所示:11圖1-3運行命令后輸入如下:輸入新增第1個路由器名稱:v4輸入新增路由節(jié)點后第 1條鏈路的兩端路由器的名稱:v2 v4增加路由結點輸入界面如圖1-4所示:圖1-4按下ENTER1程序進行v4路由器的路由表信息初始化及路由信息播送:V4路由表初始信息動態(tài)生成如圖1-7 :圖1-5V2向v4播送信息如圖1-6所示:12圖1-6幾輪播送信息結束后,各路由節(jié)點路由信息如下列圖1-7與1-8所示:圖1-813圖1-9#鍵,按以上步驟繼續(xù)5.假設還需要在原有的網(wǎng)絡拓撲結構中繼續(xù)增加新的節(jié)點,再輸入 操作,

18、能實現(xiàn)不斷增加路由結點以及鏈路,并將路由表的持續(xù)更新.7.課程設計總結與體會總結本次課程設計是我懂得了RIP適用于小型同類網(wǎng)絡的一個自治系統(tǒng)AS內(nèi)的路由信息的傳遞路由實現(xiàn)時, 而RIP作為一個系統(tǒng)長駐進程daemorj而存在于路由器中, 負責 從網(wǎng)絡系統(tǒng)的其它路由器接收路由信息,從而對本地IP層路由表作動態(tài)的維護,保證IP層發(fā)送報文時選擇正確的路由.同時負責播送本路由器的路由信息,通知相鄰路由器作相應的修改體會這次課程設計完成了 rip路由協(xié)議原型系統(tǒng)的實現(xiàn),方案中路由節(jié)點能夠利用播送發(fā)布14 本地節(jié)點的路由信息,其它節(jié)點接收信息并選擇最優(yōu)路徑.本次設計查閱了許多案例,學到許多知識,原先很多不懂的東西,都有了初步的了解.這次課程設計使我覺得收獲挺大的.之前的學習僅限于課本,網(wǎng)絡的很多東西都只知道其然而不知道

溫馨提示

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

評論

0/150

提交評論