❶ dvhop 演算法中,定位誤差跟信標節點的個數與通信距離關系 我模擬出來的結果不太正確 哪位大俠指點下
你運行下這個程序,應該是正確的。
%~~~~~~~~~~ DV-Hop演算法 ~~~~~~~~~~ ~~~~~~~~~~ ~~~~~~~~~~
% BorderLength-----正方形區域的邊長,單位:m
% NodeAmount-------網路節點的個數
% BeaconAmount---信標節點數
% Sxy--------------用於存儲節點的序號,橫坐標,縱坐標的矩陣
%Beacon----------信標節點坐標矩陣;BeaconAmount*BeaconAmount
%UN-------------未知節點坐標矩陣;2*UNAmount
% Distance------未知節點到信標節點距離矩陣;2*BeaconAmount
%h---------------節點間初始跳數矩陣
%X---------------節點估計坐標初始矩陣,X=[x,y]'
% R------------------節點的通信距離,一般為10-100m
clear,close all;
BorderLength=100;
NodeAmount=100;
BeaconAmount=8;
UNAmount=NodeAmount-BeaconAmount;
R=50;
% D=zeros(NodeAmount,NodeAmount);%未知節電到信標節點距離初始矩陣;BeaconAmount行NodeAmount列
h=zeros(NodeAmount,NodeAmount);%初始跳數為0;BeaconAmount行NodeAmount列
X=zeros(2,UNAmount);%節點估計坐標初始矩陣
%~~~~~~~~~在正方形區域內產生均勻分布的隨機拓撲~~~~~~~~~~~~~~~~~~~~
C=BorderLength.*rand(2,NodeAmount);
%帶邏輯號的節點坐標
Sxy=[[1:NodeAmount];C];
Beacon=[Sxy(2,1:BeaconAmount);Sxy(3,1:BeaconAmount)];%信標節點坐標
UN=[Sxy(2,(BeaconAmount+1):NodeAmount);Sxy(3,(BeaconAmount+1):NodeAmount)];%未知節點坐標
%畫出節點分布圖
plot(Sxy(2,1:BeaconAmount),Sxy(3,1:BeaconAmount),'r*',Sxy(2,(BeaconAmount+1):NodeAmount),Sxy(3,(BeaconAmount+1):NodeAmount),'k.')
xlim([0,BorderLength]);
ylim([0,BorderLength]);
title('* 紅色信標節點 . 黑色未知節點')
%~~~~~~~~~~~~~~~~~~~~~~~~~~~~初始化節點間距離、跳數矩陣~~~~~~~~~~~~~~~~~~~~~~
for i=1:NodeAmount
for j=1:NodeAmount
Dall(i,j)=((Sxy(2,i)-Sxy(2,j))^2+(Sxy(3,i)-Sxy(3,j))^2)^0.5;%所有節點間相互距離
if (Dall(i,j)<=R)&(Dall(i,j)>0)
h(i,j)=1;%初始跳數矩陣
elseif i==j
h(i,j)=0;
else h(i,j)=inf;
end
end
end
%~~~~~~~~~~~最短路經演算法計算節點間跳數~~~~~~~~~~~~~~~~~~~~
for k=1:NodeAmount
for i=1:NodeAmount
for j=1:NodeAmount
if h(i,k)+h(k,j)<h(i,j)%min(h(i,j),h(i,k)+h(k,j))
h(i,j)=h(i,k)+h(k,j);
end
end
end
end
h
%~~~~~~~~~~~~~求每個信標節點的校正值~~~~~~~~~~~~~~~~~~~~~~~~~~
h1=h(1:BeaconAmount,1:BeaconAmount);
D1=Dall(1:BeaconAmount,1:BeaconAmount);
for i=1:BeaconAmount
dhop(i,1)=sum(D1(i,:))/sum(h1(i,:));%每個信標節點的平均每跳距離
end
D2=Dall(1:BeaconAmount,(BeaconAmount+1):NodeAmount);%BeaconAmount行UNAmount列
for i=1:BeaconAmount
for j=1:UNAmount
if min(D2(:,j))==D2(i,j)
Dhop(1,j)=D2(i,j);%未知節點從最近的信標獲得校正值
end
end
end
Dhop
%~~~~~~~~~~~~~~~~用跳數估計距離~~~~~~~~~~~~~~~~~~~
hop1=h(1:BeaconAmount,(BeaconAmount+1):NodeAmount)%未知節點到信標跳數,BeaconAmount行UNAmount列
for i=1:UNAmount
hop=Dhop(1,i);%hop為從最近信標獲得的校正值
Distance(:,i)=hop*hop1(:,i);%%Beacon行UN列;
end
% %~~~~~~~~~~~~~~~~~最小二乘法求未知點坐標~~~~~~~~~~~~~~~~~~~~~~~~
d=Distance;
for i=1:2
for j=1:(BeaconAmount-1)
a(i,j)=Beacon(i,j)-Beacon(i,BeaconAmount);
end
end
A=-2*(a');
% d=d1';
for m=1:UNAmount
for i=1:(BeaconAmount-1)
B(i,1)=d(i,m)^2-d(BeaconAmount,m)^2-Beacon(1,i)^2+Beacon(1,BeaconAmount)^2-Beacon(2,i)^2+Beacon(2,BeaconAmount)^2;
end
X1=inv(A'*A)*A'*B;
X(1,m)=X1(1,1);
X(2,m)=X1(2,1);
end
UN
X
for i=1:UNAmount
error(1,i)=(((X(1,i)-UN(1,i))^2+(X(2,i)-UN(2,i))^2)^0.5);
end
figure;plot(error,'-o')
title('每個未知節點的誤差')
error=sum(error)/UNAmount
Accuracy=error/R
❷ 什麼是ad hoc 計算方法
http://ke..com/view/28428.htm
Ad hoc Ad hoc網路
摘要:本文首先介紹了Ad hoc網路的特點和應用領域。然後對Ad hoc網路的體系結構進行了研究,給出了結點和網路的幾種組織結構。最後對Ad hoc網路面臨的特殊問題進行了深入分析,並對這些問題的影響及引發的研究方向進行了討論。
關鍵詞 Ad hoc網路 自組織 多跳 體系結構
1 引言
我們經常提及的移動通信網路一般都是有中心的,要基於預設的網路設施才能運行。例如,蜂窩移動通信系統要有基站的支持;無線區域網一般也工作在有AP接入點和有線骨幹網的模式下。但對於有些特殊場合來說,有中心的移動網路並不能勝任。比如,戰場上部隊快速展開和推進,地震或水災後的營救等。這些場合的通信不能依賴於任何預設的網路設施,而需要一種能夠臨時快速自動組網的移動網路。Ad hoc網路可以滿足這樣的要求。
Ad hoc網路的前身是分組無線網(Packet Radio Network)。對分組無線網的研究源於軍事通信的需要,並已經持續了近20年。早在1972年,美國DARPA(Defense Advanced Research Project Agency)就啟動了分組無線網(PRNET,Packet Radio NETwork)項目,研究分組無線網在戰場環境下數據通信中的應用。項目完成之後,DAPRA又在1993年啟動了高殘存性自適應網路(SURAN,SURvivable Adaptive Network)項目。研究如何將prnet的成果加以擴展,以支持更大規模的網路,還要開發能夠適應戰場快速變化環境下的自適應網路協議。1994年,DARPA又啟動了全球移動信息系統(GloMo,Globle Mobile Information Systems)項目。在分組無線網已有成果的基礎上對能夠滿足軍事應用需要的、可快速展開、高抗毀性的移動信息系統進行全面深入的研究,並一直持續至今。1991年成立的IEEE802.11標准委員會採用了「Ad hoc網路」一詞來描述這種特殊的對等式無線移動網路。
在Ad hoc網路中,結點具有報文轉發能力,結點間的通信可能要經過多個中間結點的轉發,即經過多跳(MultiHop),這是Ad hoc網路與其他移動網路的最根本區別。結點通過分層的網路協議和分布式演算法相互協調,實現了網路的自動組織和運行。因此它也被稱為多跳無線網(MultiHop Wireless Network)、自組織網路(SelfOrganized Network)或無固定設施的網路(Infrastructureless Network)。
2 Ad hoc網路的特點和應用
2.1 Ad hoc網路的特點
Ad hoc網路是一種特殊的無線移動網路。網路中所有結點的地位平等,無需設置任何的中心控制結點。網路中的結點不僅具有普通移動終端所需的功能,而且具有報文轉發能力。與普通的移動網路和固定網路相比,它具有以下特點:
1.無中心:Ad hoc網路沒有嚴格的控制中心。所有結點的地位平等,即是一個對等式網路。結點可以隨時加入和離開網路。任何結點的故障不會影響整個網路的運行,具有很強的抗毀性。
2.自組織:網路的布設或展開無需依賴於任何預設的網路設施。結點通過分層協議和分布式演算法協調各自的行為,結點開機後就可以快速、自動地組成一個獨立的網路。
3.多跳路由:當結點要與其覆蓋范圍之外的結點進行通信時,需要中間結點的多跳轉發。與固定網路的多跳不同,Ad hoc網路中的多跳路由是由普通的網路結點完成的,而不是由專用的路由設備(如路由器)完成的。
4.動態拓撲:Ad hoc網路是一個動態的網路。網路結點可以隨處移動,也可以隨時開機和關機,這些都會使網路的拓撲結構隨時發生變化。
這些特點使得Ad hoc網路在體系結構、網路組織、協議設計等方面都與普通的蜂窩移動通信網路和固定通信網路有著顯著的區別。
2.2 Ad hoc網路的應用領域
由於Ad hoc網路的特殊性,它的應用領域與普通的通信網路有著顯著的區別。它適合被用於無法或不便預先鋪設網路設施的場合、需快速自動組網的場合等。針對Ad hoc網路的研究是因國事應用而發起的。因此,軍事應用仍是Ad hoc網路的主要應用領域,但是民用方面,Ad hoc網路也有非常廣泛的應用前景。它的應用場合主要有以下幾類:
2 Ad hoc網路
1.軍事應用:軍事應用是Ad hoc網路技術的主要應用領域。因其特有的無需架設網路設施、可快速展開、抗毀性強等特點,它是數字人戰場通信的首選技術。Ad hoc網路技術已經成為美軍戰術互聯網的核心技術。美軍的近期數字電台和無線互聯網控制器等主要通信裝備都使用了Ad hoc網路技術。
2.感測器網路:感測器網路是Ad hoc網路技術的另一大應用領域。對於很多應用場合來說感測器網路只能使用無線通信技術。而考慮到體積和節能等因素,感測器的發射功率不可能很大。使用Ad hoc網路實現多跳通信是非常實用的解決方法。分散在各處的感測器組成Ad hoc網路,可以實現感測器之間和與控制中心之間的通信。這在爆炸殘留物檢測等領域具有非常廣闊的應用前景。
3.緊急和臨時場合:在發生了地震、水災、強熱帶風暴或遭受其他災難打擊後,固定的通信網路設施(如有線通信網路、蜂窩移動通信網路的基站等網路設施、衛星通信地球站以及微波接力站等)可能被全部摧毀或無法正常工作,對於搶險救災來說,這時就需要Ad hoc網路這種不依賴任何固定網路設施又能快速布設的自組織網路技術。類似地,處於邊遠或偏僻野外地區時,同樣無法依賴固定或預設的網路設施進行通信。Ad hoc網路技術的獨立組網能力和自組織特點,是這些場合通信的最佳選擇。
4.個人通信:個人區域網(PAN,Personal Area Network)是Ad hoc網路技術的另一應用領域。不僅可用於實現PDA、手機、手提電腦等個人電子通信設備之間的通信,還可用於個人區域網之間的多跳通信。藍牙技術中的超網(Scatternet)就是一個典型的例子。
5.與移動通信系統的結合:Ad hoc網路還可以與蜂窩移動通信系統相結合,利用移動台的多跳轉發能力擴大蜂窩移動通信系統的覆蓋范圍、均衡相鄰小區的業務、提高小區邊緣的數據速率等。
在實際應用中,Ad hoc網路除了可以單獨組網實現局部的通信外,它帶可以作為末端子網通過接入點接入其他的固定或移動通信網路,與Ad hoc網路以外的主機進行通信。因此,Ad hoc網路也可以作為各種通信網路的無線接入手段之一。
3 Ad hoc網路的體系結構
3.1 結點結構
Ad hoc網路中的結點不僅要具備普通移動終端的功能,還要具有服文轉發能力,即要具備路由器的功能。因此,就完成的功能而言可以將結點分為主機、路由器和電台三部分。其中主機部分完成普通移動終端的功能,包括人機介面、數據處理等應用軟體。而路由器部分主要負責維護網路的拓撲結構和路由信息,完成報文的轉發功能。電台部分為信息傳輸提供無線信道支持。從物理結構上分,結構可以被分為以下幾類:單機機單電台、單主機多電台、多主機單電台和多主機多電台。手持機一般採用的單主機單電台的簡單結構。作為復雜的車載台,一個結點可能包括通信車內的多個主機。多電台不僅可以用來構建疊加的網路,還可用作網關結點來互聯多個Ad hoc網路。
3.2 網路結構
Ad hoc網路一般有兩種結構:平面結構和分級結構。
在平面結構中,所有結點的地位平等,所以又可以稱為對等式結構。
分級結構中,網路被刈分為簇。每個簇由一個簇頭和多個簇成員組成。這些簇頭形成了高一級的網路。在高一級網路中,又可以分簇,再次形成更高一級的網路,直至最高級。在分級結構中,簇頭結點負責簇間數據的轉發。簇頭可以預先指定,也可以由結點使用演算法自動選舉產生。
分級結構的網路又可以被分為單頻分級和多頻分級兩種。單頻率分級網路中,所有結點使用同一個頻率通信。為了實現簇頭之間的通信,要有網關結點(同時屬於兩個簇的結點)的支持。而在多頻率分組網路中,不同級採用不同的通信頻率。低級結點的通信范圍較小,而高級結點要覆蓋較大的范圍。高級的結點同時處於多個級中,有多個頻率,用不同的頻率實現不同級的通信。在兩級網路中,簇頭結點有兩個頻率。頻率1用於簇頭與簇成員的通信。而頻率2用於簇頭之間的通信。分級網路的每個結點都可以成為簇頭,所以需要適當的簇頭選舉演算法,演算法要能根據網路拓撲的變化重新分簇。
平面結構的網路比較簡單,網路中所有結點是完全對等的,原則上不存在瓶頸,所以比較健壯。它的缺點是可擴充性差:每一個結點都需要知道到達其他所有結點的路由。維護這些動態變化的路由信息需要大量的控制消息。在分級結構的網路中,簇成員的功能比較簡單,不需要維護復雜的路由信息。這大大減少了網路中路由控制信息的數量,因此具有很好的可擴充性。由於簇頭結點可以隨時選舉產生,分級結構也具有很強的抗毀性。分級結構的缺點是,維護分級結構需要結點執行簇頭選舉演算法,簇頭結點可能會成為網路的瓶頸。
因此,當網路的規模較小時,可以採用簡單的平面式結構;而當網路的規模增大時,應用分級結構。美軍在其戰術互聯網中使用近期數字電台(NTDR,Near Term Digital Radio)組網時採用的就是雙頻分級結構。
[編輯本段]Ad Hoc類問題
個性化問題,就是那些不能用一種已經被充分研究的演算法來解決的問題。每個個性化問題都是不同的;沒有具體的或者一般的演算法能夠解決這類問題。
當然,這使得問題個個有趣,而後讓每個人面對一個新的挑戰。解決此問題可能需要一種新的數據結構或者一套不尋常的循環或條件的組合。有時候,這些問題所需要的解決方案是十分罕見的,或至少很少遇到的。
個性化問題通常需要認真審題,有時候做題者會因要將題目中的細枝末節仔細聯系起來而放棄此題。
個性化問題仍然需要合理的優化和某種程度上的分析,例如避免使用五層嵌套的循環。
[編輯本段]Ad Hoc網路中的關鍵技術
1. 信道接入技術:Ad Hoc網路的無線信道是多跳共享的多點信道,所以不同於普通網路的共享廣播信道、點對點無線信道和蜂窩移動通信系統中由基站控制的無線信道。該技術控制節點如何接入無線信道。信道接入技術主要是解決隱藏終端和暴露終端問題,影響比較大的有MACA協議,控制信道和數據信道分裂的雙信道方案和基於定向天線的MAC協議,以及一些改進的MAC協議。
2. 網路體系結構:網路主要是為數據業務設計的,沒有對體系結構做過多考慮,但是當Ad Hoc網路需要提供多種業務並支持一定的QoS時,應當考慮選擇最為合適的體系結構,並需要對原有協議棧重新進行設計。
3. 路由協議:Ad Hoc路由面臨的主要挑戰是傳統的保存在結點中的分布式路由資料庫如何適應網路拓撲的動態變化。Ad Hoc網路中多跳路由是由普通節點協作完成的,而不是由專用的路由設備完成的。因此,必須設計專用的、高效的無線多跳路由協議。目前,一般普遍得到認可的代表性成果有DSDV、WRP、AODV、DSR、TORA和ZRP等。至今,路由協議的研究仍然是Ad Hoc網路成果最集中的部分。
4. QoS保證:Ad Hoc網路出現初期主要用於傳輸少量的數據信息。隨著應用的不斷擴展,需要在Ad Hoc網路中傳輸多媒體信息。多媒體信息對時延和抖動等都提出了很高要求,即需要提供一定的QoS保證。Ad Hoc網路中的QoS保證是系統性問題,不同層都要提供相應的機制。
5. 多播/組播協議:由於Ad Hoc網路的特殊性,廣播和多播問題變得非常復雜,它們需要鏈路層和網路層的支持。目前這個問題的研究己經取得了階段性進展。
6. 安全性問題:由於Ad Hoc網路的特點之一就是安全性較差,易受竊聽和攻擊,因此需要研究適用於Ad Hoc網路的安全體系結構和安全技術。
7. 網路管理:Ad Hoc網路管理涉及面較廣,包括移動性管理、地址管理和服務管理等,需要相應的機制來解決節點定位和地址自動配置等問題。
8. 節能控制:可以採用自動功率控制機制來調整移動節點的功率,以便在傳輸范圍和干擾之間進行折衷;還可以通過智能休眠機制,採用功率意識路由和使用功耗很小的硬體來減少節點的能量消耗。
❸ 這是用matlab編程的么 如下代碼
應該是matlab
❹ 神經網路演算法原理
4.2.1 概述
人工神經網路的研究與計算機的研究幾乎是同步發展的。1943年心理學家McCulloch和數學家Pitts合作提出了形式神經元的數學模型,20世紀50年代末,Rosenblatt提出了感知器模型,1982年,Hopfiled引入了能量函數的概念提出了神經網路的一種數學模型,1986年,Rumelhart及LeCun等學者提出了多層感知器的反向傳播演算法等。
神經網路技術在眾多研究者的努力下,理論上日趨完善,演算法種類不斷增加。目前,有關神經網路的理論研究成果很多,出版了不少有關基礎理論的著作,並且現在仍是全球非線性科學研究的熱點之一。
神經網路是一種通過模擬人的大腦神經結構去實現人腦智能活動功能的信息處理系統,它具有人腦的基本功能,但又不是人腦的真實寫照。它是人腦的一種抽象、簡化和模擬模型,故稱之為人工神經網路(邊肇祺,2000)。
人工神經元是神經網路的節點,是神經網路的最重要組成部分之一。目前,有關神經元的模型種類繁多,最常用最簡單的模型是由閾值函數、Sigmoid 函數構成的模型(圖 4-3)。
儲層特徵研究與預測
以上演算法是對每個樣本作權值修正,也可以對各個樣本計算δj後求和,按總誤差修正權值。
❺ 路由器是什麼
路由器是一種連接多個網路或網段的網路設備,它能將不同網路或網段之間的數據信息進行「翻譯」,以使它們能夠相互「讀」懂對方的數據,從而構成一個更大的網路。
路由器有兩大典型功能,即數據通道功能和控制功能。數據通道功能包括轉發決定、背板轉發以及輸出鏈路調度等,一般由特定的硬體來完成;控制功能一般用軟體來實現,包括與相鄰路由器之間的信息交換、系統配置、系統管理等。
多少年來,路由器的發展有起有伏。90年代中期,傳統路由器成為制約網際網路發展的瓶頸。ATM交換機取而代之,成為IP骨幹網的核心,路由器變成了配角。進入90年代末期,Internet規模進一步擴大,流量每半年翻一番,ATM網又成為瓶頸,路由器東山再起,Gbps路由交換機在1997年面世後,人們又開始以Gbps路由交換機取代ATM交換機,架構以路由器為核心的骨幹網。
附:路由器原理及路由協議
近十年來,隨著計算機網路規模的不斷擴大,大型互聯網路(如Internet)的迅猛發展,路由技術在網路技術中已逐漸成為關鍵部分,路由器也隨之成為最重要的網路設備。用戶的需求推動著路由技術的發展和路由器的普及,人們已經不滿足於僅在本地網路上共享信息,而希望最大限度地利用全球各個地區、各種類型的網路資源。而在目前的情況下,任何一個有一定規模的計算機網路(如企業網、校園網、智能大廈等),無論採用的是快速以大網技術、FDDI技術,還是ATM技術,都離不開路由器,否則就無法正常運作和管理。
1 網路互連
把自己的網路同其它的網路互連起來,從網路中獲取更多的信息和向網路發布自己的消息,是網路互連的最主要的動力。網路的互連有多種方式,其中使用最多的是網橋互連和路由器互連。
1.1 網橋互連的網路
網橋工作在OSI模型中的第二層,即鏈路層。完成數據幀(frame)的轉發,主要目的是在連接的網路間提供透明的通信。網橋的轉發是依據數據幀中的源地址和目的地址來判斷一個幀是否應轉發和轉發到哪個埠。幀中的地址稱為「MAC」地址或「硬體」地址,一般就是網卡所帶的地址。
網橋的作用是把兩個或多個網路互連起來,提供透明的通信。網路上的設備看不到網橋的存在,設備之間的通信就如同在一個網上一樣方便。由於網橋是在數據幀上進行轉發的,因此只能連接相同或相似的網路(相同或相似結構的數據幀),如乙太網之間、乙太網與令牌環(token ring)之間的互連,對於不同類型的網路(數據幀結構不同),如乙太網與X.25之間,網橋就無能為力了。
網橋擴大了網路的規模,提高了網路的性能,給網路應用帶來了方便,在以前的網路中,網橋的應用較為廣泛。但網橋互連也帶來了不少問題:一個是廣播風暴,網橋不阻擋網路中廣播消息,當網路的規模較大時(幾個網橋,多個乙太網段),有可能引起廣播風暴(broadcasting storm),導致整個網路全被廣播信息充滿,直至完全癱瘓。第二個問題是,當與外部網路互連時,網橋會把內部和外部網路合二為一,成為一個網,雙方都自動向對方完全開放自己的網路資源。這種互連方式在與外部網路互連時顯然是難以接受的。問題的主要根源是網橋只是最大限度地把網路溝通,而不管傳送的信息是什麼。
1.2 路由器互連網路
路由器互連與網路的協議有關,我們討論限於TCP/IP網路的情況。
路由器工作在OSI模型中的第三層,即網路層。路由器利用網路層定義的「邏輯」上的網路地址(即IP地址)來區別不同的網路,實現網路的互連和隔離,保持各個網路的獨立性。路由器不轉發廣播消息,而把廣播消息限制在各自的網路內部。發送到其他網路的數據茵先被送到路由器,再由路由器轉發出去。
IP路由器只轉發IP分組,把其餘的部分擋在網內(包括廣播),從而保持各個網路具有相對的獨立性,這樣可以組成具有許多網路(子網)互連的大型的網路。由於是在網路層的互連,路由器可方便地連接不同類型的網路,只要網路層運行的是IP協議,通過路由器就可互連起來。
網路中的設備用它們的網路地址(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分組送到路由器上
2 路由原理
當IP子網中的一台主機發送IP分組給同一IP子網的另一台主機時,它將直接把IP分組送到網路上,對方就能收到。而要送給不同IP於網上的主機時,它要選擇一個能到達目的子網上的路由器,把IP分組送給該路由器,由路由器負責把IP分組送到目的地。如果沒有找到這樣的路由器,主機就把IP分組送給一個稱為「預設網關(default gateway)」的路由器上。「預設網關」是每台主機上的一個配置參數,它是接在同一個網路上的某個路由器埠的IP地址。
路由器轉發IP分組時,只根據IP分組目的IP地址的網路號部分,選擇合適的埠,把IP分組送出去。同主機一樣,路由器也要判定埠所接的是否是目的子網,如果是,就直接把分組通過埠送到網路上,否則,也要選擇下一個路由器來傳送分組。路由器也有它的預設網關,用來傳送不知道往哪兒送的IP分組。這樣,通過路由器把知道如何傳送的IP分組正確轉發出去,不知道的IP分組送給「預設網關」路由器,這樣一級級地傳送,IP分組最終將送到目的地,送不到目的地的IP分組則被網路丟棄了。
目前TCP/IP網路,全部是通過路由器互連起來的,Internet就是成千上萬個IP子網通過路由器互連起來的國際性網路。這種網路稱為以路由器為基礎的網路(router based network),形成了以路由器為節點的「網間網」。在「網間網」中,路由器不僅負責對IP分組的轉發,還要負責與別的路由器進行聯絡,共同確定「網間網」的路由選擇和維護路由表。
路由動作包括兩項基本內容:尋徑和轉發。尋徑即判定到達目的地的最佳路徑,由路由選擇演算法來實現。由於涉及到不同的路由選擇協議和路由選擇演算法,要相對復雜一些。為了判定最佳路徑,路由選擇演算法必須啟動並維護包含路由信息的路由表,其中路由信息依賴於所用的路由選擇演算法而不盡相同。路由選擇演算法將收集到的不同信息填入路由表中,根據路由表可將目的網路與下一站(nexthop)的關系告訴路由器。路由器間互通信息進行路由更新,更新維護路由表使之正確反映網路的拓撲變化,並由路由器根據量度來決定最佳路徑。這就是路由選擇協議(routing protocol),例如路由信息協議(RIP)、開放式最短路徑優先協議(OSPF)和邊界網關協議(BGP)等。
轉發即沿尋徑好的最佳路徑傳送信息分組。路由器首先在路由表中查找,判明是否知道如何將分組發送到下一個站點(路由器或主機),如果路由器不知道如何發送分組,通常將該分組丟棄;否則就根據路由表的相應表項將分組發送到下一個站點,如果目的網路直接與路由器相連,路由器就把分組直接送到相應的埠上。這就是路由轉發協議(routed protocol)。
路由轉發協議和路由選擇協議是相互配合又相互獨立的概念,前者使用後者維護的路由表,同時後者要利用前者提供的功能來發布路由協議數據分組。下文中提到的路由協議,除非特別說明,都是指路由選擇協議,這也是普遍的習慣。
3 路由協議
典型的路由選擇方式有兩種:靜態路由和動態路由。
靜態路由是在路由器中設置的固定的路由表。除非網路管理員干預,否則靜態路由不會發生變化。由於靜態路由不能對網路的改變作出反映,一般用於網路規模不大、拓撲結構固定的網路中。靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路由優先順序最高。當動態路由與靜態路由發生沖突時,以靜態路由為准。
動態路由是網路中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更新路由器表的過程。它能實時地適應網路結構的變化。如果路由更新信息表明發生了網路變化,路由選擇軟體就會重新計算路由,並發出新的路由更新信息。這些信息通過各個網路,引起各路由器重新啟動其路由演算法,並更新各自的路由表以動態地反映網路拓撲變化。動態路由適用於網路規模大、網路拓撲復雜的網路。當然,各種動態路由協議會不同程度地佔用網路帶寬和CPU資源。
靜態路由和動態路由有各自的特點和適用范圍,因此在網路中動態路由通常作為靜態路由的補充。當一個分組在路由器中進行尋徑時,路由器首先查找靜態路由,如果查到則根據相應的靜態路由轉發分組;否則再查找動態路由。
根據是否在一個自治域內部使用,動態路由協議分為內部網關協議(IGP)和外部網關協議(EGP)。這里的自治域指一個具有統一管理機構、統一路由策略的網路。自治域內部採用的路由選擇協議稱為內部網關協議,常用的有RIP、OSPF;外部網關協議主要用於多個自治域之間的路由選擇,常用的是BGP和BGP-4。下面分別進行簡要介紹。
3.1 RIP路由協議
RIP協議最初是為Xerox網路系統的Xerox parc通用協議而設計的,是Internet中常用的路由協議。RIP採用距離向量演算法,即路由器根據距離選擇路由,所以也稱為距離向量協議。路由器收集所有可到達目的地的不同路徑,並且保存有關到達每個目的地的最少站點數的路徑信息,除到達目的地的最佳路徑外,任何其它信息均予以丟棄。同時路由器也把所收集的路由信息用RIP協議通知相鄰的其它路由器。這樣,正確的路由信息逐漸擴散到了全網。
RIP使用非常廣泛,它簡單、可靠,便於配置。但是RIP只適用於小型的同構網路,因為它允許的最大站點數為15,任何超過15個站點的目的地均被標記為不可達。而且RIP每隔30s一次的路由信息廣播也是造成網路的廣播風暴的重要原因之一。
3.2 OSPF路由協議
80年代中期,RIP已不能適應大規模異構網路的互連,0SPF隨之產生。它是網間工程任務組織(1ETF)的內部網關協議工作組為IP網路而開發的一種路由協議。
0SPF是一種基於鏈路狀態的路由協議,需要每個路由器向其同一管理域的所有其它路由器發送鏈路狀態廣播信息。在OSPF的鏈路狀態廣播中包括所有介面信息、所有的量度和其它一些變數。利用0SPF的路由器首先必須收集有關的鏈路狀態信息,並根據一定的演算法計算出到每個節點的最短路徑。而基於距離向量的路由協議僅向其鄰接路由器發送有關路由更新信息。
與RIP不同,OSPF將一個自治域再劃分為區,相應地即有兩種類型的路由選擇方式:當源和目的地在同一區時,採用區內路由選擇;當源和目的地在不同區時,則採用區間路由選擇。這就大大減少了網路開銷,並增加了網路的穩定性。當一個區內的路由器出了故障時並不影響自治域內其它區路由器的正常工作,這也給網路的管理、維護帶來方便。
3.3 BGP和BGP-4路由協議
BGP是為TCP/IP互聯網設計的外部網關協議,用於多個自治域之間。它既不是基於純粹的鏈路狀態演算法,也不是基於純粹的距離向量演算法。它的主要功能是與其它自治域的BGP交換網路可達信息。各個自治域可以運行不同的內部網關協議。BGP更新信息包括網路號/自治域路徑的成對信息。自治域路徑包括到達某個特定網路須經過的自治域串,這些更新信息通過TCP傳送出去,以保證傳輸的可靠性。
為了滿足Internet日益擴大的需要,BGP還在不斷地發展。在最新的BGp4中,還可以將相似路由合並為一條路由。
3.4 路由表項的優先問題
在一個路由器中,可同時配置靜態路由和一種或多種動態路由。它們各自維護的路由表都提供給轉發程序,但這些路由表的表項間可能會發生沖突。這種沖突可通過配置各路由表的優先順序來解決。通常靜態路由具有默認的最高優先順序,當其它路由表表項與它矛盾時,均按靜態路由轉發。
4 路由演算法
路由演算法在路由協議中起著至關重要的作用,採用何種演算法往往決定了最終的尋徑結果,因此選擇路由演算法一定要仔細。通常需要綜合考慮以下幾個設計目標:
——(1)最優化:指路由演算法選擇最佳路徑的能力。
——(2)簡潔性:演算法設計簡潔,利用最少的軟體和開銷,提供最有效的功能。
——(3)堅固性:路由演算法處於非正常或不可預料的環境時,如硬體故障、負載過高或操作失誤時,都能正確運行。由於路由器分布在網路聯接點上,所以在它們出故障時會產生嚴重後果。最好的路由器演算法通常能經受時間的考驗,並在各種網路環境下被證實是可靠的。
——(4)快速收斂:收斂是在最佳路徑的判斷上所有路由器達到一致的過程。當某個網路事件引起路由可用或不可用時,路由器就發出更新信息。路由更新信息遍及整個網路,引發重新計算最佳路徑,最終達到所有路由器一致公認的最佳路徑。收斂慢的路由演算法會造成路徑循環或網路中斷。
——(5)靈活性:路由演算法可以快速、准確地適應各種網路環境。例如,某個網段發生故障,路由演算法要能很快發現故障,並為使用該網段的所有路由選擇另一條最佳路徑。
路由演算法按照種類可分為以下幾種:靜態和動態、單路和多路、平等和分級、源路由和透明路由、域內和域間、鏈路狀態和距離向量。前面幾種的特點與字面意思基本一致,下面著重介紹鏈路狀態和距離向量演算法。
鏈路狀態演算法(也稱最短路徑演算法)發送路由信息到互聯網上所有的結點,然而對於每個路由器,僅發送它的路由表中描述了其自身鏈路狀態的那一部分。距離向量演算法(也稱為Bellman-Ford演算法)則要求每個路由器發送其路由表全部或部分信息,但僅發送到鄰近結點上。從本質上來說,鏈路狀態演算法將少量更新信息發送至網路各處,而距離向量演算法發送大量更新信息至鄰接路由器。
由於鏈路狀態演算法收斂更快,因此它在一定程度上比距離向量演算法更不易產生路由循環。但另一方面,鏈路狀態演算法要求比距離向量演算法有更強的CPU能力和更多的內存空間,因此鏈路狀態演算法將會在實現時顯得更昂貴一些。除了這些區別,兩種演算法在大多數環境下都能很好地運行。
最後需要指出的是,路由演算法使用了許多種不同的度量標准去決定最佳路徑。復雜的路由演算法可能採用多種度量來選擇路由,通過一定的加權運算,將它們合並為單個的復合度量、再填入路由表中,作為尋徑的標准。通常所使用的度量有:路徑長度、可靠性、時延、帶寬、負載、通信成本等
5 新一代路由器
由於多媒體等應用在網路中的發展,以及ATM、快速乙太網等新技術的不斷採用,網路的帶寬與速率飛速提高,傳統的路由器已不能滿足人們對路由器的性能要求。因為傳統路由器的分組轉發的設計與實現均基於軟體,在轉發過程中對分組的處理要經過許多環節,轉發過程復雜,使得分組轉發的速率較慢。另外,由於路由器是網路互連的關鍵設備,是網路與其它網路進行通信的一個「關口」,對其安全性有很高的要求,因此路由器中各種附加的安全措施增加了CPU的負擔,這樣就使得路由器成為整個互聯網上的「瓶頸」。
傳統的路由器在轉發每一個分組時,都要進行一系列的復雜操作,包括路由查找、訪問控製表匹配、地址解析、優先順序管理以及其它的附加操作。這一系列的操作大大影響了路由器的性能與效率,降低了分組轉發速率和轉發的吞吐量,增加了CPU的負擔。而經過路由器的前後分組間的相關性很大,具有相同目的地址和源地址的分組往往連續到達,這為分組的快速轉發提供了實現的可能與依據。新一代路由器,如IP Switch、Tag Switch等,就是採用這一設計思想用硬體來實現快速轉發,大大提高了路由器的性能與效率。
新一代路由器使用轉發緩存來簡化分組的轉發操作。在快速轉發過程中,只需對一組具有相同目的地址和源地址的分組的前幾個分組進行傳統的路由轉發處理,並把成功轉發的分組的目的地址、源地址和下一網關地址(下一路由器地址)放人轉發緩存中。當其後的分組要進行轉發時,茵先查看轉發緩存,如果該分組的目的地址和源地址與轉發緩存中的匹配,則直接根據轉發緩存中的下一網關地址進行轉發,而無須經過傳統的復雜操作,大大減輕了路由器的負擔,達到了提高路由器吞吐量的目標。
❻ 無線網路(Wi-Fi) 畢業設計
相關範文:
無線感測器網路自身定位演算法開題報告
1.概述:
無線感測器網路(WSNs)是由許多感測器節點通過自組織的形式組成的一種特殊的Ad-hoc網路,每一個感測器節點由數據採集模塊、數據處理和控制模塊、通信模塊和供電模塊等組成,此外還可能包括與應用相關的其他部分,比如定位系統、動力系統等。藉助於內置多樣的感測器,可以測量溫度、濕度、氣壓、化學等我們感興趣的物理現象。
2.研究動機:
感測器節點的自身定位是感測器網路應用的基礎。例如目標監測與跟蹤、基於位置信息的路由、智能交通、物流管理等許多應用都要求網路節點預先知道自身的位置,並在通信和協作過程中利用位置信息完成應用要求。若沒有位置信息,感測器節點所採集的數據幾乎是沒有應用價值的。所以,在無線感測器網路的應用中,節點的定位成為關鍵的問題。
3.研究意義:
最早期的基於無線網路的室內定位系統,都採用了額外的硬體和設備,如AT&T Cambridge的Active Bat系統,採用了超聲波測距技術,定位的物體攜帶由控制邏輯、無線收發器和超聲波換能器組成的稱為Bat的設備,發出的信號由安裝在房間天花板上的超聲波接收器接收,所有接收器通過有線網路連接;在微軟的RADAR系統中,定位目標要攜帶具有測量RF信號強度的感測器,還要有基站定期發送RF信號,在事先實現的RF信號的資料庫中查詢實現定位;MIT開發了最早的鬆散耦合定位系統Cricket,錨節點(預先部署位置的節點)隨機地同時發射RF和超聲波信號,RF信號中包括該錨節點的位置,未知節點接收這些信號,然後使用TDOA技術測量與錨節點的距離來實現定位。
以上系統都需要事先的網路部署或數據生成工作,無法適用於Ad-hoc網路。現階段研究較多的是不基於測距(Range-free)的定位演算法,這樣就無需增加額外的硬體,還可以減小感測器節點的體積。
4.研究目標:
(1) 較小的能耗
感測器節點所攜帶能源有限和不易更換的特點要求定位演算法應該是低能耗的。
(2) 較高的定位精度
這是衡量定位演算法的一個重要指標,一般以誤差與無線射程的比值來計算,20%表示定位誤差相當於節點無線射程的20%。
(3) 計算方式是分布式的
分布式的定位演算法,即計算節點位置的工作在節點本地完成,分布式演算法可以應用於大規模的感測器網路。
(4) 較低的錨節點密度
錨節點定位通常依賴人工部署或GPS實現。大量的人工部署不適合Ad-hoc網路,而且錨節點的成本比普通節點要高兩個數量級。
(5) 較短的覆蓋時間。
5.參考文獻:
《無線感測器網路:體系結構與協議》作者:Edgar H. Callaway. Jr
《無線感測器網路的理論及應用》作者:王殊
《無線感測器網路節點定位演算法研究》作者:端木慶敏 Publish: 2007-10-18 Hits:591
《無線感測器網路定位演算法研究》作者:申屠明2007-07-11
《無線感測器網路節點自身定位演算法的研究(碩士)》來自:中國文檔網
《無線感測器網路DV-Hop定位演算法的改進》作者:龔思來2007年07月13日
其他相關:
http://www.jianshewang.com/lunwen/cheng/txx/200811/2200.html
僅供參考,請自借鑒
希望對您有幫助
❼ 簡述路由器工作的特點
路由器分本地路由器和遠程路由器,本地路由器是用來連接網路傳輸介質的,如光纖、同軸電纜、雙絞線;遠程路由器是用來連接遠程傳輸介質,並要求相應的設備,如電話線要配數據機,無線要通過無線接收機、發射機。
工作原理示例
(1)工作站A將工作站B的地址12.0.0.5連同數據信息以數據包的形式發送給路由器1。
(2)路由器1收到工作站A的數據包後,先從包頭中取出地址12.0.0.5,並根據路徑表計算出發往工作站B的最佳路徑:R1->R2->R5->B;並將數據包發往路由器2。
(3)路由器2重復路由器1的工作,並將數據包轉發給路由器5。
(4)路由器5同樣取出目的地址,發現12.0.0.5就在該路由器所連接的網段上,於是將該數據包直接交給工作站B。
(5)工作站B收到工作站A的數據包,一次通信過程宣告結束。
❽ 路由器工作原理詳細介紹
路由器的工作原理 (你要的詳細介紹,只有粘貼了)
本文通過闡述TCP/IP網路中路由器的基本工作原理,介紹了IP路由器的幾大功能,給出了靜態路由協議和動態路由協議,以及內部網關協議和外部網關協議的概念,同時簡要介紹了目前最常見的RIP、OSPF、BGP和BGP-4這幾種路由協議,然後描述路由演算法的設計目標和種類,著重介紹了鏈路狀態法和距向量法。在文章的最後,扼要講述新一代路由器的特徵。
近十年來,隨著計算機網路規模的不斷擴大,大型互聯網路(如Internet)的迅猛
發展,路由技術在網路技術中已逐漸成為關鍵部分,路由器也隨之成為最重要的網路設
備。用戶的需求推動著路由技術的發展和路由器的普及,人們已經不滿足於僅在本地網
絡上共享信息,而希望最大限度地利用全球各個地區、各種類型的網路資源。而在目前
的情況下,任何一個有一定規模的計算機網路(如企業網、校園網、智能大廈等),無
論採用的是快速以大網技術、FDDI技術,還是ATM技術,都離不開路由器,否則就無法
正常運作和管理。
1 網路互連
把自己的網路同其它的網路互連起來,從網路中獲取更多的信息和向網路發布自己
的消息,是網路互連的最主要的動力。網路的互連有多種方式,其中使用最多的是網橋
互連和路由器互連。
1.1 網橋互連的網路
網橋工作在OSI模型中的第二層,即鏈路層。完成數據幀(frame)的轉發,主要目
的是在連接的網路間提供透明的通信。網橋的轉發是依據數據幀中的源地址和目的地址
來判斷一個幀是否應轉發和轉發到哪個埠。幀中的地址稱為「MAC」地址或「硬體」
地址,一般就是網卡所帶的地址。
網橋的作用是把兩個或多個網路互連起來,提供透明的通信。網路上的設備看不到
網橋的存在,設備之間的通信就如同在一個網上一樣方便。由於網橋是在數據幀上進行
轉發的,因此只能連接相同或相似的網路(相同或相似結構的數據幀),如乙太網之
間、乙太網與令牌環(token ring)之間的互連,對於不同類型的網路(數據幀結構不
同),如乙太網與X.25之間,網橋就無能為力了。
網橋擴大了網路的規模,提高了網路的性能,給網路應用帶來了方便,在以前的網
絡中,網橋的應用較為廣泛。但網橋互連也帶來了不少問題:一個是廣播風暴,網橋不
阻擋網路中廣播消息,當網路的規模較大時(幾個網橋,多個乙太網段),有可能引起
廣播風暴(broadcasting storm),導致整個網路全被廣播信息充滿,直至完全癱瘓。
第二個問題是,當與外部網路互連時,網橋會把內部和外部網路合二為一,成為一個網
,雙方都自動向對方完全開放自己的網路資源。這種互連方式在與外部網路互連時顯然
是難以接受的。問題的主要根源是網橋只是最大限度地把網路溝通,而不管傳送的信息
是什麼。
1.2 路由器互連網路
路由器互連與網路的協議有關,我們討論限於TCP/IP網路的情況。
路由器工作在OSI模型中的第三層,即網路層。路由器利用網路層定義的「邏輯」
上的網路地址(即IP地址)來區別不同的網路,實現網路的互連和隔離,保持各個網路
的獨立性。路由器不轉發廣播消息,而把廣播消息限制在各自的網路內部。發送到其他
網路的數據先被送到路由器,再由路由器轉發出去。
IP路由器只轉發IP分組,把其餘的部分擋在網內(包括廣播),從而保持各個網路
具有相對的獨立性,這樣可以組成具有許多網路(子網)互連的大型的網路。由於是在
網路層的互連,路由器可方便地連接不同類型的網路,只要網路層運行的是IP協議,通
過路由器就可互連起來。
網路中的設備用它們的網路地址(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分組送到路由器上。
2 路由原理
當IP子網中的一台主機發送IP分組給同一IP子網的另一台主機時,它將直接把IP分
組送到網路上,對方就能收到。而要送給不同IP子網上的主機時,它要選擇一個能到達
目的子網上的路由器,把IP分組送給該路由器,由路由器負責把IP分組送到目的地。如
果沒有找到這樣的路由器,主機就把IP分組送給一個稱為「預設網關(default
gateway)」的路由器上。「預設網關」是每台主機上的一個配置參數,它是接在同一
個網路上的某個路由器埠的IP地址。
路由器轉發IP分組時,只根據IP分組目的IP地址的網路號部分,選擇合適的埠,
把IP分組送出去。同主機一樣,路由器也要判定埠所接的是否是目的子網,如果是,
就直接把分組通過埠送到網路上,否則,也要選擇下一個路由器來傳送分組。路由器
也有它的預設網關,用來傳送不知道往哪兒送的IP分組。這樣,通過路由器把知道如何
傳送的IP分組正確轉發出去,不知道的IP分組送給「預設網關」路由器,這樣一級級地
傳送,IP分組最終將送到目的地,送不到目的地的IP分組則被網路丟棄了。
目前TCP/IP網路,全部是通過路由器互連起來的,Internet就是成千上萬個IP子
網通過路由器互連起來的國際性網路。這種網路稱為以路由器為基礎的網路(router
based network),形成了以路由器為節點的「網間網」。在「網間網」中,路由器不
僅負責對IP分組的轉發,還要負責與別的路由器進行聯絡,共同確定「網間網」的路由
選擇和維護路由表。
路由動作包括兩項基本內容:尋徑和轉發。尋徑即判定到達目的地的最佳路徑,由
路由選擇演算法來實現。由於涉及到不同的路由選擇協議和路由選擇演算法,要相對復雜一
些。為了判定最佳路徑,路由選擇演算法必須啟動並維護包含路由信息的路由表,其中路
由信息依賴於所用的路由選擇演算法而不盡相同。路由選擇演算法將收集到的不同信息填入
路由表中,根據路由表可將目的網路與下一站(nexthop)的關系告訴路由器。路由器
間互通信息進行路由更新,更新維護路由表使之正確反映網路的拓撲變化,並由路由器
根據量度來決定最佳路徑。這就是路由選擇協議(routing protocol),例如路由信息
協議(RIP)、開放式最短路徑優先協議(OSPF)和邊界網關協議(BGP)等。
轉發即沿尋徑好的最佳路徑傳送信息分組。路由器首先在路由表中查找,判明是否
知道如何將分組發送到下一個站點(路由器或主機),如果路由器不知道如何發送分組
,通常將該分組丟棄;否則就根據路由表的相應表項將分組發送到下一個站點,如果目
的網路直接與路由器相連,路由器就把分組直接送到相應的埠上。這就是路由轉發協
議(routed protocol)。
路由轉發協議和路由選擇協議是相互配合又相互獨立的概念,前者使用後者維護的
路由表,同時後者要利用前者提供的功能來發布路由協議數據分組。下文中提到的路由
協議,除非特別說明,都是指路由選擇協議,這也是普遍的習慣。
3 路由協議
典型的路由選擇方式有兩種:靜態路由和動態路由。
靜態路由是在路由器中設置的固定的路由表。除非網路管理員干預,否則靜態路由
不會發生變化。由於靜態路由不能對網路的改變作出反映,一般用於網路規模不大、拓
撲結構固定的網路中。靜態路由的優點是簡單、高效、可靠。在所有的路由中,靜態路
由優先順序最高。當動態路由與靜態路由發生沖突時,以靜態路由為准。
動態路由是網路中的路由器之間相互通信,傳遞路由信息,利用收到的路由信息更
新路由器表的過程。它能實時地適應網路結構的變化。如果路由更新信息表明發生了網
絡變化,路由選擇軟體就會重新計算路由,並發出新的路由更新信息。這些信息通過各
個網路,引起各路由器重新啟動其路由演算法,並更新各自的路由表以動態地反映網路拓
撲變化。動態路由適用於網路規模大、網路拓撲復雜的網路。當然,各種動態路由協議
會不同程度地佔用網路帶寬和CPU資源。
靜態路由和動態路由有各自的特點和適用范圍,因此在網路中動態路由通常作為靜
態路由的補充。當一個分組在路由器中進行尋徑時,路由器首先查找靜態路由,如果查
到則根據相應的靜態路由轉發分組;否則再查找動態路由。
根據是否在一個自治域內部使用,動態路由協議分為內部網關協議(IGP)和外部
網關協議(EGP)。這里的自治域指一個具有統一管理機構、統一路由策略的網路。自
治域內部採用的路由選擇協議稱為內部網關協議,常用的有RIP、OSPF;外部網關協議
主要用於多個自治域之間的路由選擇,常用的是BGP和BGP-4。下面分別進行簡要介紹。
3.1 RIP路由協議
RIP協議最初是為Xerox網路系統的Xerox parc通用協議而設計的,是Internet中常
用的路由協議。RIP採用距離向量演算法,即路由器根據距離選擇路由,所以也稱為距離
向量協議。路由器收集所有可到達目的地的不同路徑,並且保存有關到達每個目的地的
最少站點數的路徑信息,除到達目的地的最佳路徑外,任何其它信息均予以丟棄。同時
路由器也把所收集的路由信息用RIP協議通知相鄰的其它路由器。這樣,正確的路由信
息逐漸擴散到了全網。
RIP使用非常廣泛,它簡單、可靠,便於配置。但是RIP只適用於小型的同構網路,
因為它允許的最大站點數為15,任何超過15個站點的目的地均被標記為不可達。而且
RIP每隔30s一次的路由信息廣播也是造成網路的廣播風暴的重要原因之一。
3.2 OSPF路由協議
80年代中期,RIP已不能適應大規模異構網路的互連,0SPF隨之產生。它是網間工
程任務組織(IETF)的內部網關協議工作組為IP網路而開發的一種路由協議。
0SPF是一種基於鏈路狀態的路由協議,需要每個路由器向其同一管理域的所有其它
路由器發送鏈路狀態廣播信息。在OSPF的鏈路狀態廣播中包括所有介面信息、所有的量
度和其它一些變數。利用0SPF的路由器首先必須收集有關的鏈路狀態信息,並根據一定
的演算法計算出到每個節點的最短路徑。而基於距離向量的路由協議僅向其鄰接路由器發
送有關路由更新信息。
與RIP不同,OSPF將一個自治域再劃分為區,相應地即有兩種類型的路由選擇方式
:當源和目的地在同一區時,採用區內路由選擇;當源和目的地在不同區時,則採用區
間路由選擇。這就大大減少了網路開銷,並增加了網路的穩定性。當一個區內的路由器
出了故障時並不影響自治域內其它區路由器的正常工作,這也給網路的管理、維護帶來
方便。
3.3 BGP和BGP-4路由協議
BGP是為TCP/IP互聯網設計的外部網關協議,用於多個自治域之間。它既不是基於
純粹的鏈路狀態演算法,也不是基於純粹的距離向量演算法。它的主要功能是與其它自治域
的BGP交換網路可達信息。各個自治域可以運行不同的內部網關協議。BGP更新信息包括
網路號/自治域路徑的成對信息。自治域路徑包括到達某個特定網路須經過的自治域串
,這些更新信息通過TCP傳送出去,以保證傳輸的可靠性。
為了滿足Internet日益擴大的需要,BGP還在不斷地發展。在最新的BGp4中,還可
以將相似路由合並為一條路由。
3.4 路由表項的優先問題
在一個路由器中,可同時配置靜態路由和一種或多種動態路由。它們各自維護的路
由表都提供給轉發程序,但這些路由表的表項間可能會發生沖突。這種沖突可通過配置
各路由表的優先順序來解決。通常靜態路由具有默認的最高優先順序,當其它路由表表項與
它矛盾時,均按靜態路由轉發。
4 路由演算法
路由演算法在路由協議中起著至關重要的作用,採用何種演算法往往決定了最終的尋徑
結果,因此選擇路由演算法一定要仔細。通常需要綜合考慮以下幾個設計目標:
(1)最優化:指路由演算法選擇最佳路徑的能力。
(2)簡潔性:演算法設計簡潔,利用最少的軟體和開銷,提供最有效的功能。
(3)堅固性:路由演算法處於非正常或不可預料的環境時,如硬體故障、負載過高
或*作失誤時,都能正確運行。由於路由器分布在網路聯接點上,所以在它們出故障時
會產生嚴重後果。最好的路由器演算法通常能經受時間的考驗,並在各種網路環境下被證
實是可靠的。
(4)快速收斂:收斂是在最佳路徑的判斷上所有路由器達到一致的過程。當某個
網路事件引起路由可用或不可用時,路由器就發出更新信息。路由更新信息遍及整個網
絡,引發重新計算最佳路徑,最終達到所有路由器一致公認的最佳路徑。收斂慢的路由
演算法會造成路徑循環或網路中斷。
(5)靈活性:路由演算法可以快速、准確地適應各種網路環境。例如,某個網段發
生故障,路由演算法要能很快發現故障,並為使用該網段的所有路由選擇另一條最佳路
徑。
路由演算法按照種類可分為以下幾種:靜態和動態、單路和多路、平等和分級、源路
由和透明路由、域內和域間、鏈路狀態和距離向量。前面幾種的特點與字面意思基本一
致,下面著重介紹鏈路狀態和距離向量演算法。
鏈路狀態演算法(也稱最短路徑演算法)發送路由信息到互聯網上所有的結點,然而對
於每個路由器,僅發送它的路由表中描述了其自身鏈路狀態的那一部分。距離向量演算法
(也稱為Bellman-Ford演算法)則要求每個路由器發送其路由表全部或部分信息,但僅發
送到鄰近結點上。從本質上來說,鏈路狀態演算法將少量更新信息發送至網路各處,而距
離向量演算法發送大量更新信息至鄰接路由器。
由於鏈路狀態演算法收斂更快,因此它在一定程度上比距離向量演算法更不易產生路由
循環。但另一方面,鏈路狀態演算法要求比距離向量演算法有更強的CPU能力和更多的內存
空間,因此鏈路狀態演算法將會在實現時顯得更昂貴一些。除了這些區別,兩種演算法在大
多數環境下都能很好地運行。
最後需要指出的是,路由演算法使用了許多種不同的度量標准去決定最佳路徑。復雜
的路由演算法可能採用多種度量來選擇路由,通過一定的加權運算,將它們合並為單個的
復合度量、再填入路由表中,作為尋徑的標准。通常所使用的度量有:路徑長度、可靠
性、時延、帶寬、負載、通信成本等。
5 新一代路由器
由於多媒體等應用在網路中的發展,以及ATM、快速乙太網等新技術的不斷採用,
網路的帶寬與速率飛速提高,傳統的路由器已不能滿足人們對路由器的性能要求。因為
傳統路由器的分組轉發的設計與實現均基於軟體,在轉發過程中對分組的處理要經過許
多環節,轉發過程復雜,使得分組轉發的速率較慢。另外,由於路由器是網路互連的關
鍵設備,是網路與其它網路進行通信的一個「關口」,對其安全性有很高的要求,因此
路由器中各種附加的安全措施增加了CPU的負擔,這樣就使得路由器成為整個互聯網上
的「瓶頸」。
傳統的路由器在轉發每一個分組時,都要進行一系列的復雜*作,包括路由查找、
訪問控製表匹配、地址解析、優先順序管理以及其它的附加操作。這一系列的操作大大影響
了路由器的性能與效率,降低了分組轉發速率和轉發的吞吐量,增加了CPU的負擔。而
經過路由器的前後分組間的相關性很大,具有相同目的地址和源地址的分組往往連續到
達,這為分組的快速轉發提供了實現的可能與依據。新一代路由器,如IP Switch、
Tag Switch等,就是採用這一設計思想用硬體來實現快速轉發,大大提高了路由器的性
能與效率。
新一代路由器使用轉發緩存來簡化分組的轉發操作。在快速轉發過程中,只需對一
組具有相同目的地址和源地址的分組的前幾個分組進行傳統的路由轉發處理,並把成功
轉發的分組的目的地址、源地址和下一網關地址(下一路由器地址)放人轉發緩存中。
當其後的分組要進行轉發時,應先查看轉發緩存,如果該分組的目的地址和源地址與轉
發緩存中的匹配,則直接根據轉發緩存中的下一網關地址進行轉發,而無須經過傳統的
復雜操作,大大減輕了路由器的負擔,達到了提高路由器吞吐量的目標。