㈠ 計算機網路中的路由器使用距離向量演算法
1、假設路由器使用距離向量演算法,下圖給出了網路拓撲及路由器的初始路由表(只包含部分欄位),假設A給B傳了一次路由信息,B處理後又也給C傳了一次路由信息,請在表中填寫經過路由信息交換之後B和C的路由表(相鄰路由器間距離計為1)。
2、B路由器增加2條:10.3.0.0 s0 1
10.4.0.0 s1 1
3、C路由器增加2條:10.3.0.0 s0 2
10.2.0.0 S0 1
㈡ 求距離向量演算法,實現路由表的自動更新,用vb編程實現的
vb不好弄,用c吧
㈢ 距離向量演算法的實現(Java或C++)
希望這個對你有所啟發,盡管是用C編的,你看一下思想。
下載地址: http://download.pudn.com/downloads98/sourcecode/multimedia/streaming/7941968VCD.rar
出處:
http://www.pudn.com/downloads138/sourcecode/internet/tcp_ip/detail594129.html
㈣ 計算機網路中的距離向量演算法(RIP)的基本原理
RIP協議採用距離向量演算法,在實際使用中已經較少適用。在默認情況下,RIP使用一種非常簡單的度量制度:距離就是通往目的站點所需經過的鏈路數,取值為1~15,數值16表示無窮大。RIP進程使用UDP的520埠來發送和接收RIP分組。RIP分組每隔30s以廣播的形式發送一次,為了防止出現「廣播風暴」,其後續的的分組將做隨機延時後發送。在RIP中,如果一個路由在180s內未被刷,則相應的距離就被設定成無窮大,並從路由表中刪除該表項。RIP分組分為兩種:請求分組和響應分組。
㈤ 距離矢量路由演算法 (計算機網路題
通過B到個點的距離為:(11,6,14,18,12,8),因為B到A的距離為5,C到B的距離為6所以C到A的距離更新為5+6=11,C到B的距離沒變為6,C通過B到C的距離為6+8=14,C通過B到D的距離為6+12=18,C通過B到E距離6+6=12,C通過B到F距離為6+2=8。
通過D到個點的距離為:(19,15,9,3,12,13),通過D到A的距離為3+16=19,通過D到B的距離為3+12=15,通過D到C的距離為6+3=9,通過D到D的距離為3,通過D到E的距離為3+9=12,通過D到F的距離為3+10=13。
通過E到個點的距離為:(12,11,8,14,5,9),通過E到A的距離為5+7=12,通過E到B的距離為5+6=11,通過E到C的距離為5+3=8,通過E到D的距離為5+9=14,通過E到Eden距離為5,通過E到F的距離為9。
取到達每一目的地的最小值(C除外)得到: (11, 6,0,3, 5,8)就得出了新的路由表。輸出的路線輸出線路是: (B,,B, -,D,E, B)。
(5)網路配置距離向量演算法擴展閱讀:
路由演算法的度量標准:
路由演算法使用了許多種不同的度量標准去決定最佳路徑。復雜的路由演算法可能採用多種度量來選擇路由,通過一定的加權運算,將它們合並為單個的復合度量、再填入路由表中,作為尋徑的標准。
通常所使用的度量有:路徑長度、可靠性、時延、帶寬、負載、通信成本等。
路徑長度:
路徑長度是最常用的路由。一些路由協議允許網管給每個網路連接人工賦以代價值,這種情況下,路由長度是所經過各個鏈接的代價總和。
可靠性:
可靠性,在路由演算法中指網路連接的可依賴性(通常以位誤率描述),有些網路連接可能比其它的失效更多,網路失效後,一些網路連接可能比其它的更易或更快修復。
路由延遲:
路由延遲指分組從源通過網路到達目的所花時間。很多因素影響到延遲,包括中間的網路連接的帶寬、經過的每個路由器的埠隊列、所有中間網路連接的擁塞程度以及物理距離。
帶寬
帶寬指連接可用的流通容量。在其它所有條件都相等時,10Mbps的乙太網鏈接比64kbps的專線更可取。雖然帶寬是鏈接可獲得的最大吞吐量,但是通過具有較大帶寬的鏈接做路由不一定比經過較慢鏈接路由更好。
負載:
負載指網路資源,如路由器的繁忙程度。負載可以用很多方面計算,包括CPU使用情況和每秒處理分組數。持續地監視這些參數本身也是很耗費資源的。
通信代價:
通信代價是另一種重要的metric,尤其是有一些公司可能關心運作費用甚於關心性能。即使線路延遲可能較長,他們也寧願通過自己的線路發送數據而不採用昂貴的公用線路。
參考資料來源:網路-路由演算法
㈥ 網路中路由器的應用與配置 介紹
網路中路由器的應用與配置
摘 要:路由器是一種連接多個網路或網段的網路設備,它能將不同網路或網段之間的數據信息進行「翻譯」,以使它們能夠相互「讀」懂對方的數據,並能夠高速的選擇信息傳送的線路,大大提高通信速度,減輕網路系統通信負荷,節約網路系統資源,提高網路系統暢通率,從而讓網路系統發揮出更大的效益來。
隨著Internet的迅猛發展,人們已經不滿足於僅在本地網路上共享信息,而希望最大限度地利用全球各個地區、各種類型的網路資源,路由技術在網路技術中已逐漸成為關鍵部分,路由器也隨之成為最重要的網路設備。在目前的情況下,任何一個有一定規模的計算機網路(如企業網、校園網、智能大廈等),無論採用的是快速以大網技術、FDDI技術、還是ATM技術,都離不開路由器,否則就無法正常運作和管理。
一、路由器的工作原理
網路中的設備用它們的網路地址(TCP/IP網路中為IP地址)互相通信。IP地址是與硬體地址無關的「邏輯」地址。路由器只根據IP地址來轉發數據。IP地址的結構有兩部分,一部分定義網路號,另一部分定義網路內的主機號。目前,在Internet網路中採用子網掩碼來確定IP地址中網路地址和主機地址。子網掩碼與IP地址一樣也是32bit,並且兩者是一一對應的,並規定,子網掩碼中數字為「1」所對應的IP地址中的部分為網路號,為「0」所對應的則為主機號。網路號和主機號合起來,才構成一個完整的IP地址。同一個網路中的主機IP地址,其網路號必須是相同的,這個網路稱為IP子網。通信只能在具有相同網路號的IP地址之間進行,要與其它IP子網的主機進行通信,則必須經過同一網路上的某個路由器或網關(gateway)出去。不同網路號的IP地址不能直接通信,即使它們接在一起,也不能通信。路由器有多個埠,用於連接多個IP子網。每個埠的IP地址的網路號要求與所連接的IP子網的網路號相同。不同的埠為不同的網路號,對應不同的IP子網,這樣才能使各子網中的主機通過自己子網的IP地址把要求出去的IP分組送到路由器上。
二、路由器的主要功能
路由動作包括兩項基本內容:尋徑和轉發。尋徑即判定到達目的地的最佳路徑,由路由選擇演算法來實現。為了判定最佳路徑,路由選擇演算法必須啟動並維護包含路由信息的路由表,其中路由信息依賴於所用的路由選擇演算法而不盡相同。路由選擇演算法將收集到的不同信息填入路由表中,根據路由表可將目的網路與下一站(nexthop)的關系告訴路由器。路由器間互通信息進行路由更新,更新維護路由表使之正確反映網路的拓撲變化,並由路由器根據量度來決定最佳路徑。轉發即沿尋徑好的最佳路徑傳送信息分組。路由器首先在路由表中查找,判明是否知道如何將分組發送到下一個站點(路由器或主機),如果路由器不知道如何發送分組,通常將該分組丟棄;否則就根據路由表的相應表項將分組發送到下一個站點,如果目的網路直接與路由器相連,路由器就把分組直接送到相應的埠上。這就是路由轉發協議(routed protocol)。路由轉發協議和路由選擇協議是相互配合又相互獨立的概念,前者使用後者維護的路由表,同時後者要利用前者提供的功能來發布路由協議數據分組。
三、路由選擇協議
典型的路由選擇方式有兩種:靜態路由和動態路由。靜態路由是在路由器中設置的固定的路由表。除非網路管理員干預,否則靜態路由不會發生變化。由於靜態路由不能對網路的改變作出反映,一般用於網路規模不大、拓撲結構固定的網路中。靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路由優先順序最高。當動態路由與靜態路由發生沖突時,以靜態路由為准。動態路由是網路中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實時地適應網路結構的變化。如果路由更新信息表明發生了網路變化,路由選擇軟體就會重新計算路由,並發出新的路由更新信息。這些信息通過各個網路,引起各路由器重新啟動其路由演算法,並更新各自的路由表以動態地反映網路拓撲變化。動態路由適用於網路規模大、網路拓撲復雜的網路。當然,各種動態路由協議會不同程度地佔用網路帶寬和CPU資源。靜態路由和動態路由有各自的特點和適用范圍,因此在網路中動態路由通常作為靜態路由的補充。當一個分組在路由器中進行尋徑時,路由器首先查找靜態路由,如果查到則根據相應的靜態路由轉發分組;否則再查找動態路由。
四、路由演算法
路由演算法按照種類可分為以下幾種:靜態和動態、單路和多路、平等和分級、源路由和透明路由、域內和域間、鏈路狀態和距離向量。鏈路狀態演算法(也稱最短路徑演算法)發送路由信息到互聯網上所有的結點,然而對於每個路由器,僅發送它的路由表中描述了其自身鏈路狀態的那一部分。距離向量演算法(也稱為Bellman-Ford演算法)則要求每個路由器發送其路由表全部或部分信息,但僅發送到鄰近結點上。從本質上來說,鏈路狀態演算法將少量更新信息發送至網路各處,而距離向量演算法發送大量更新信息至鄰接路由器。由於鏈路狀態演算法收斂更快,因此它在一定程度上比距離向量演算法更不易產生路由循環。但另一方面,鏈路狀態演算法要求比距離向量演算法有更強的CPU能力和更多的內存空間,因此鏈路狀態演算法將會在實現時顯得更昂貴一些。除了這些區別,兩種演算法在大多數環境下都能很好地運行。
五、路由器安全維護
利用路由器的漏洞發起攻擊的事件經常發生。路由器攻擊會浪費CPU周期,誤導信息流量,使網路異常甚至陷於癱瘓。因此需要採取相應的安全措施來保護路由器的安全。
①避免口令泄露危機。 據卡內基梅隆大學的CERT/CC(計算機應急反應小組/控制中心)稱,80%的安全突破事件是由薄弱的口令引起的。黑客常常利用弱口令或默認口令進行攻擊。加長口令、選用30到60天的口令有效期等措施有助於防止這類漏洞。
②關閉IP直接廣播。 Smurf攻擊是一種拒絕服務攻擊。在這種攻擊中,攻擊者使用假冒的`源地址向你的網路廣播地址發送一個「ICMP echo」請求。這要求所有的主機對這個廣播請求做出回應。這種情況會降低網路性能。使用no ip source-route關閉IP直接廣播地址。
③禁用不必要的服務。 強調路由器的安全性就不得不禁用一些不必要的本地服務,例如SNMP和DHCP這些用戶很少用到的服務,都可以禁用,只有絕對必要的時候才使用。另外,可能時關閉路由器的HTTP設置,因為HTTP使用的身份識別協議相當於向整個網路發送一個未加密的口令。然而,HTTP協議中沒有一個用於驗證口令或者一次性口令的有效規定。
④限制邏輯訪問。 限制邏輯訪問主要藉助於合理處置訪問控制列表,限制遠程終端會話有助於防止黑客獲得系統邏輯訪問。SSH是優先的邏輯訪問方法,但如果無法避免Telnet,不妨使用終端訪問控制,以限制只能訪問可信主機。因此,用戶需要給Telnet在路由器上使用的虛擬終端埠添加一份訪問列表。
⑤封鎖ICMP ping請求。 控制消息協議(ICMP)有助於排除故障,識別正在使用的主機,這樣為攻擊者提供了用來瀏覽網路設備、確定本地時間戳和網路掩碼以及對OS修正版本作出推測的信息。因此通過取消遠程用戶接收ping請求的應答能力,就能更容易的避開那些無人注意的掃描活動或者防禦那些尋找容易攻擊的目標的「腳本小子」(script kiddies)。
⑥關閉IP源路由。 IP協議允許一台主機指定數據包通過你的網路路由,而不是允許網路組件確定最佳的路徑。這個功能的合法應用是診斷連接故障。但是,這種用途很少得到應用,事實上,它最常見的用途是為了偵察目的對網路進行鏡像,或者用於攻擊者在專用網路中尋找一個後門。除非指定這項功能只能用於診斷故障,否則應該關閉這個功能。
⑦監控配置更改。 用戶在對路由器配置進行改動之後,需要對其進行監控。如果用戶使用SNMP,那麼一定要選擇功能強大的共用字元串,最好是使用提供消息加密功能的SNMP。如果不通過SNMP管理對設備進行遠程配置,用戶最好將SNMP設備配置成只讀。拒絕對這些設備進行寫訪問,用戶就能防止黑客改動或關閉介面。 此外,用戶還需將系統日誌消息從路由器發送至指定伺服器。
總之,路由器在網路中起著舉足輕重的作用,它工作在網路層,可以確定網路上各個數據包的目的地址,並將數據包發往通向目的地的最短路徑上,同時路由器還可以過濾數據包。
㈦ RIP協議的距離向量演算法的有個疑惑
RIP協議採用水平分割法不向路由信息來源方向反向發送路由信息,以防止路由環路的發生。
所以得到信息的路由器都是將跳數加1。
即使沒有採用水平分割法,路由器保存的路由表也是最優的路徑,不會將小的跳數修改為大的跳數,換言之Net2,3,Y仍將保留Net2,3,Y,就如你說的,靠近目標網段的路由器的跳數是小的而不是大的。
㈧ 計算機網路-網路層-內部網關協議RIP
RIP (Routing Information Protocol))是內部網關協議IGP中最先得到廣泛使用的協議,它的中文名稱叫做 路由信息協議 ,但很少被使用。RIP是一種分布式的基於距離向量的路由選擇協議,是互聯網的標准協議,其最大優點就是簡單。
RIP協議要求網路中的每一個路由器都要維護從它自己到其他每一個目的網路的距離記錄(因此,這是一組距離,即「距離向量」)。RIP協議將「 距離 」定義如下:從一路由器到直接連接的網路的距離定義為1。從一路由器到非直接連接的網路的距離定義為所經過的路由器數加1。「加1」是因為到達目的網路後就進行直接交付,而到直接連接的網路的距離已經定義為1。例如路由器R1到網1或網2的距離都是1(直接連接),而到網3的距離是2,到網4的距離是3。
RIP協議的「距離」也稱為「跳數」(hop count)吧,因為每經過一個路由器,跳數就加1。RP認為好的路由就是它通過的路由器的數目少,即「距離短」, RIP允許一條路徑最多隻能包含15個路由器 。因此「距離」等於16時即相當於不可達,可見RIP只適用於小型互聯網。
"需要注意的是,到直接連接的網路的距離也可定義為0(採用這種定義的理由是:路由器在和直接連接在該網路上的主機通信時,不需要經過另外的路由器。既然每經過一個路由器要將距高加1,那麼不再經過路由器的距離就應當為0)。但兩種不同的定義對實現RIP協議並無影響,因為重要的是要找出最短距離,將所有的距離都加1或都減1,對迭擇最佳路由其實是一樣的。"
RIP不能在兩個網格之間同時使用多條路由 ,RIP選擇一條具有最少路由器的路由(即最短路由),哪怕還存在另一條高速(低時廷)但路由器較多的路由。
RIP協議和OSPF協議,都是分布式路由選擇協議。 它們的共同特點就是每一個路由器都要不新地和其他一些路由器交換路由信息。我們一定要弄清以下三個要點,即和哪些路由器交換信息?交換什麼信息?在什麼時候交換信息?
RIP協議的特點是:
(1) 僅和相鄰路由器交換信息 。如果兩個路由器之間的通信不需要經過另一個路由器,那麼這兩個路由器就是相鄰的。RIP協議規定,不相鄰的路由器不交換信息。
(2) 路由器交換的信息是當前本路由器所知道的全部信息,即自己現在的路由表。 也就是說,交換的信息是:「我到本自治系統中所有網路的(最短)距離,以及到每個網路應經過的下一跳路由器」。
(3) 按因定的時間間隔交換路由信息 ,例如,母隔30秒。然後路由器根據收到的路由信息更新路由表。當網路拓撲發生變化時,路由器也及時向相鄰路由器通告拓撲變化後的路由信息。
路由器在剛剛開始工作時,它的路由表是空的,然後路由器就得出到直接相連的幾個網路的距離(這些距離定義為1)。接著,每一個路由器也只和數目非常有限的相鄰路由器交換並更新路由信息。但經過若干次的更新後,所有的路由器最終都會知道到達本自治系統中任何一個網路的最短距離和下一跳路由器的地址。
看起來RIP協議有些奇怪,因為「我的路由表中的信息要依賴於你的,而你的信息又依賴於我的。」然而事實證明,通過這樣的方式一「我告訴別人一些信息,而別人又告訴我一些信息。我再把我知道的更新後的信息告訴別人,別人也這樣把更新後的信息再告訴我」,最後在自治系統中所有的結點都得到了正確的路由選擇信息。在一般情況下,RIP協議可以收斂,並且過程也較快。 「收斂」就是在自治系統中所有的結點都得到正確的路由選信的過程。
路由表中最主要的信息就是: 到某個網鉻的距離(即最短距離),以及應經過的下一跳地址 。路由表更新的原則是找出到每個目的網路的最短距離。這種 更新演算法又稱為距離向量演算法 。
對每一個相鄰路由器發送過來的RIP報文,進行以下步驟:
現在較新的RIP版本是1998年1I月公布的RIP2RFC2453](已成為互聯網標准),新版本協議本身並無多大變化,但性能上有些改進。RIP2可以支持變長子網掩碼和無分類域間路由選擇CIDR。此外,RIP2還提供簡單的鑒別過程支特多播。圖4-32是RP2的報文格式,它和RIP1的首部相同,但後面的路由部分不一樣。
RIP報文由首部和路由部分組成。
RIP的首部佔4個位元組,其中的命令欄位指出報文的意義。例如,1 表示請求路由信息,2表示對請求路由信息的響應或未被請求而發出的路由更新報文,首部後而的「必為0」是為了4位元組字的對齊。
RIP2報文中的路由部分由若干個路由信息組成,每個路由信息需要用20個位元組。 地址族標識符(又稱為地址類別)欄位用來標志所使用的地址協議。 如採用IP地址就令這個欄位的值為2(原來考慮RIP也可用於其他非TCPP協議的情況), 路由標記填入自治系統號ASN (Autonomous System Number))( 自治系統號ASN原來規定為一個16位的號碼(最大的號碼是655),由1ANA分配.現在已經把ASN擴展到32位),這是考慮使RIP有可能收到本自治系統以外的路由選擇信息。再後面指出某個網路地址、該網路的子網掩碼、下一跳路由器地址以及到此網路的距離,一個RIP報文最多可包括25個路由,因而RIP報文的最大長度是4+20×25=504位元組。如超過,必須再用一個RIP報文來傳送。
RIP2還具有簡單的鑒別功能。若使用鑒別功能,則將原來寫入第一個路由信息(20位元組)的位置用作鑒別。這時應將地址族標識符置為全1(即0 xFFFF),而路由標記寫入鑒別類型,剩下的16位元組為鑒別數據。在鑒別數據之後才寫入路由信息,但這時最多隻能再放入24個路由信息。
優點: RIP協議最大的優點就是實現簡單,開銷較小;如果發現更短的路由,這種更新信息傳播的很快。
缺點: 限制了網路的規模,它能使用的最大距離為15(16表示不可達);路由器之間交換的路由信息是路由器中的完整路由表,因而隨著網路規模的擴大,開銷也就增加; 當出現網路故障時,要經過比較長的時間才能將此信息傳送到所有的路由器。
設三個網路通過兩個路由器互連起來,並且都已建立了各自的路由表。圖中路由器交換的信息只給出了我們感興趣的一行內容。路由器R1中的「 1,1,直接 」表示「到網1的距離是1,直接交付」。路由器R2中的「 1,2,R1 」表示「到網1的距離是2,下一跳經過R1」。
現在假定路由器R1到網1的鏈路出了故障,R1無法到達網1。於是路由器R1把到網1的距離改為16(表示到網1不可達),因而在R1的路由表中的相應項目變為「 1,16,直接 」。但是,很可能要經過30秒鍾後R1才把更新信息發送給R2。然而R2可能已經先把自己的路由表發送給了R1,其中有「1,2,R1」這一項。
㈨ 距離向量演算法的路由信息更新方法是
以路由器自身為根節點計算出到達各個節點的路徑成本、當路由器動態地發現了一個新鄰居時,也獲得了來自這個新鄰居所通告的路由信息,路由器將獲得的路由更新信息首先與拓撲表中所記錄的信息進行比較,符合可行條件的路由被放入拓撲表,再將拓撲表中通過後繼路由器的路由加入路由表,通過可行後繼路由器的路由如果在所配置的非等成本路由負載均衡的范圍內,則也加入路由表,否則,保存在拓撲表中作為備擇路由。如果路由器通過不同的路由協議學到了到同一目的地的多條路由,則比較路由的管理距離,管理距離最小的路由為最優路由。當路由信息沒有變化時,EIGRP鄰居間只是通過發送HELLO包,來維持鄰居關系,以減少對網路帶寬的佔用。在發現一個鄰居丟失、一條鏈路不可用時,EIGRP立即會從拓撲表中尋找可行後繼路由器,啟用備擇路由。如果拓撲表中沒有後繼路由器,由於EIGRP 依靠它的鄰居來提供路由信息,在將該路由置為活躍狀態後,向所有鄰居發送查詢數據包。如果某個鄰居有一條到達目的地的路由,那麼它將對這個查詢進行答復,並且不再擴散這個查詢,否則,它將進一步地向它自己的每個鄰居查詢,只有所有查詢都得到答復後,EIGRP 才重新計算路由,選擇新的後繼路由器。距離矢量路由協議有EIGRP、RIP。RIP是只以距離為度量值;EIGRP以距離、帶寬、延時為度量值。
㈩ 距離矢量路由演算法為什麼會出現計數到無窮
所謂距離矢量即是將一條路由信息考慮成一個由目標和距離(用 Metric 來度量)組稱的矢量,每一台路由器從其鄰居處獲得路由信息,並在每一條路由信息上疊加從自己到這個鄰居的距離矢量,從而形成自己的路由信息。 在一個鏈路狀態路由選擇中,一個結點檢查所有直接鏈路的狀態,並將所得的狀態信息發送給網上所有的其他的結點,而不僅僅是發給那些直接相連的結點。每個節點都用這種方式,所有其他的結點從網上接收包含直接鏈路狀態的路由信息。 每當鏈路狀態報報文到達時,路由結點便使用這些狀態信息去更新自己的網路拓撲和狀態「視野圖」,一旦鏈路狀態發生改變,結點對跟新的網路圖利用Dijkstra最短路徑演算法重新計算路由,從單一的報源發出計算到達所有的結點的最短路徑。 看明白了么?最簡單理解。。距離矢量演算法是靜態的。。。鏈路狀態路由演算法是動態的,,隨時改變的。。 距離矢量演算法,一旦相鄰節點發生故障,傳輸就出終止;鏈路狀態路由演算法,一旦相鄰的一個節點發生故障,會自動轉移數據包到另外的節點進行傳輸過程。