當前位置:首頁 » 網路連接 » 計算機網路裡面的演算法

計算機網路裡面的演算法

發布時間: 2024-01-24 11:34:21

計算機網路中的距離向量演算法(RIP)的基本原理

RIP協議採用距離向量演算法,在實際使用中已經較少適用。在默認情況下,RIP使用一種非常簡單的度量制度:距離就是通往目的站點所需經過的鏈路數,取值為1~15,數值16表示無窮大。RIP進程使用UDP的520埠來發送和接收RIP分組。RIP分組每隔30s以廣播的形式發送一次,為了防止出現「廣播風暴」,其後續的的分組將做隨機延時後發送。在RIP中,如果一個路由在180s內未被刷,則相應的距離就被設定成無窮大,並從路由表中刪除該表項。RIP分組分為兩種:請求分組和響應分組。

⑵ 計算機網路中相與是什麼演算法

在計算機網路中相與運算就是同為1時結果為1,其他都為0。取反就是0和1交換就行了。

網路地址和主機地址的演算法: 把子網掩碼轉換為2進制,然後與IP相與,就能得到網路地址。主機地址就是除去網路地址的部分。

計算機網路是指將地理位置不同的具有獨立功能的多台計算機及其外部設備,通過通信線路連接起來,在網路操作系統,網路管理軟體及網路通信協議的管理和協調下,實現資源共享和信息傳遞的計算機系統。

⑶ 網路加密的演算法是什麼

就是網路在傳輸數字信號得時候0101代碼之間的運算得出某個關鍵值就成為了網路的安全碼。

⑷ 距離矢量路由演算法 (計算機網路題

通過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)。

(4)計算機網路裡面的演算法擴展閱讀:

路由演算法的度量標准:

路由演算法使用了許多種不同的度量標准去決定最佳路徑。復雜的路由演算法可能採用多種度量來選擇路由,通過一定的加權運算,將它們合並為單個的復合度量、再填入路由表中,作為尋徑的標准。

通常所使用的度量有:路徑長度、可靠性、時延、帶寬、負載、通信成本等。

路徑長度:

路徑長度是最常用的路由。一些路由協議允許網管給每個網路連接人工賦以代價值,這種情況下,路由長度是所經過各個鏈接的代價總和。

可靠性:

可靠性,在路由演算法中指網路連接的可依賴性(通常以位誤率描述),有些網路連接可能比其它的失效更多,網路失效後,一些網路連接可能比其它的更易或更快修復。

路由延遲:

路由延遲指分組從源通過網路到達目的所花時間。很多因素影響到延遲,包括中間的網路連接的帶寬、經過的每個路由器的埠隊列、所有中間網路連接的擁塞程度以及物理距離。

帶寬

帶寬指連接可用的流通容量。在其它所有條件都相等時,10Mbps的乙太網鏈接比64kbps的專線更可取。雖然帶寬是鏈接可獲得的最大吞吐量,但是通過具有較大帶寬的鏈接做路由不一定比經過較慢鏈接路由更好。

負載:

負載指網路資源,如路由器的繁忙程度。負載可以用很多方面計算,包括CPU使用情況和每秒處理分組數。持續地監視這些參數本身也是很耗費資源的。

通信代價:

通信代價是另一種重要的metric,尤其是有一些公司可能關心運作費用甚於關心性能。即使線路延遲可能較長,他們也寧願通過自己的線路發送數據而不採用昂貴的公用線路。

參考資料來源:網路-路由演算法

⑸ 計算機網路。A,B,C網段的網路范圍和主機數,和計算方法

關於A類,B類,C類IP地址的網段和主機數的計算方法
IP地址是一個32位的二進制數,由四個八位欄位組成。每個IP地址包括兩部分:一部分為網路標識(網路號),一部分為主機標識(主機號)。

A類地址前8位為網路標識,後24位為主機標識,網段與主機數的計算方法如下:

A類網段計算:
根據規定,A類地址的網路標識必須以「0」開頭。那麼其網段數應該為0XXXXXXX.YYYYYYYY.YYYYYYYY.YYYYYYYY即後面有七位數字,因為是二進制數,所以網段數應該為:
27,即2的7次冪個網段,等於128,即網段應該是0—127之間。而網路空間計算都必須「減2」,這是因為要扣除兩個保留地址:二進制數里全是「0」和全是「1」的要保留。「0」做為網路號,「1」做為廣播號。所以A類地址的網段為1—126.
所以網段數為27-2=126.
A類主機數計算:
因為後面24位是主機標識,所以主機數應該是224,即2的24次冪
224=412=166=2563=16777216,扣除兩個保留地址後,主機最大數應該是16777214個。
綜上所述,A類IP地址范圍應該是:1.0.0.1~126.255.255.254
其中紅色的為網路標識,綠色為主機標識
B類地址前16位為網路標識,後16位為主機標識,網段與主機數的計算方法如下:
B類網段計算:
根據規定,B類地址的網路標識必須以「10」開頭。那麼其網段數應該為10XXXXXX.XXXXXXXX.YYYYYYYY.YYYYYYYY即後面有14位數字,因為是二進制數,所以網段數應該為:
214,即2的14次冪個網段,等於16384,扣除兩個全「0」,全「1」的保留地址,所以B類網路可以有16382個網段。
而轉換成十進制後, IP地址的第一個小數點前的數字應該是多少呢?因為第一段是10XXXXXX,所以應該是26個,即2的6次冪,等於64個。127是被保留網段暫不使用,所以網段應該是從128開始,到128+64-1=191,其中192是保留網段。即十進制IP的第一段數字是在128—191之間。
B類主機數計算:
因為後面16位是主機標識,所以主機數應該是216,即2的16次冪
216=48=164=2562=65536,扣除兩個保留地址後,主機最大數應該是65534個。
綜上所述,B類IP地址范圍應該是:128.0.0.1~191.255.255.254

其中紅色的為網路標識,綠色為主機標識
C類地址前24位為網路標識,後8位為主機標識,網段與主機數的計算方法如下:
C類網段計算:
根據規定,C類地址的網路標識必須以「110」開頭。那麼其網段數應該為110XXXXX.XXXXXXXX.XXXXXXXX.YYYYYYYY即後面有21位數字,因為是二進制數,所以網段數應該為:
221,即2的21次冪個網段,等於2097152,扣除兩個全「0」,全「1」的保留地址,所以B類網路可以有2097150個網段。
而轉換成十進制後,IP地址的第一個小數點前的數字應該是多少呢?因為第一段是110XXXXX,所以應該是25個,即2的5次冪,等於32個。所以網段應該是從192開始,到192+32-1=223,224作為保留欄位。即十進制IP的第一段數字是在192—223之間。
C類主機數計算:
因為後面8位是主機標識,所以主機數應該是28,即2的8次冪
28=44=162=2562,扣除兩個保留地址後,主機最大數應該是254個。
綜上所述,C類IP地址范圍應該是:192.0.0.1~223.255.255.254

⑹ 計算機網路的最短路徑演算法有哪些對應哪些協議

用於解決最短路徑問題的演算法被稱做「最短路徑演算法」,有時被簡稱作「路徑演算法」。最常用的路徑演算法有:
Dijkstra演算法、A*演算法、SPFA演算法、Bellman-Ford演算法和Floyd-Warshall演算法,本文主要介紹其中的三種。

最短路徑問題是圖論研究中的一個經典演算法問題,旨在尋找圖(由結點和路徑組成的)中兩結點之間的最短路徑。
演算法具體的形式包括:

確定起點的最短路徑問題:即已知起始結點,求最短路徑的問題。

確定終點的最短路徑問題:與確定起點的問題相反,該問題是已知終結結點,求最短路徑的問題。在無向圖中該問題與確定起點的問題完全等同,在有向圖中該問題等同於把所有路徑方向反轉的確定起點的問題。
確定起點終點的最短路徑問題:即已知起點和終點,求兩結點之間的最短路徑。

全局最短路徑問題:求圖中所有的最短路徑。
Floyd

求多源、無負權邊的最短路。用矩陣記錄圖。時效性較差,時間復雜度O(V^3)。

Floyd-Warshall演算法(Floyd-Warshall algorithm)是解決任意兩點間的最短路徑的一種演算法,可以正確處理有向圖或負權的最短路徑問題。
Floyd-Warshall演算法的時間復雜度為O(N^3),空間復雜度為O(N^2)。

Floyd-Warshall的原理是動態規劃:

設Di,j,k為從i到j的只以(1..k)集合中的節點為中間節點的最短路徑的長度。

若最短路徑經過點k,則Di,j,k = Di,k,k-1 + Dk,j,k-1;

若最短路徑不經過點k,則Di,j,k = Di,j,k-1。

因此,Di,j,k = min(Di,k,k-1 + Dk,j,k-1 , Di,j,k-1)。

在實際演算法中,為了節約空間,可以直接在原來空間上進行迭代,這樣空間可降至二維。

Floyd-Warshall演算法的描述如下:

for k ← 1 to n do

for i ← 1 to n do

for j ← 1 to n do

if (Di,k + Dk,j < Di,j) then

Di,j ← Di,k + Dk,j;

其中Di,j表示由點i到點j的代價,當Di,j為 ∞ 表示兩點之間沒有任何連接。

Dijkstra

求單源、無負權的最短路。時效性較好,時間復雜度為O(V*V+E),可以用優先隊列進行優化,優化後時間復雜度變為0(v*lgn)。
源點可達的話,O(V*lgV+E*lgV)=>O(E*lgV)。

當是稀疏圖的情況時,此時E=V*V/lgV,所以演算法的時間復雜度可為O(V^2) 。可以用優先隊列進行優化,優化後時間復雜度變為0(v*lgn)。
Bellman-Ford

求單源最短路,可以判斷有無負權迴路(若有,則不存在最短路),時效性較好,時間復雜度O(VE)。

Bellman-Ford演算法是求解單源最短路徑問題的一種演算法。

單源點的最短路徑問題是指:給定一個加權有向圖G和源點s,對於圖G中的任意一點v,求從s到v的最短路徑。

與Dijkstra演算法不同的是,在Bellman-Ford演算法中,邊的權值可以為負數。設想從我們可以從圖中找到一個環

路(即從v出發,經過若干個點之後又回到v)且這個環路中所有邊的權值之和為負。那麼通過這個環路,環路中任意兩點的最短路徑就可以無窮小下去。如果不處理這個負環路,程序就會永遠運行下去。 而Bellman-Ford演算法具有分辨這種負環路的能力。
SPFA

是Bellman-Ford的隊列優化,時效性相對好,時間復雜度O(kE)。(k< 與Bellman-ford演算法類似,SPFA演算法採用一系列的鬆弛操作以得到從某一個節點出發到達圖中其它所有節點的最短路徑。所不同的是,SPFA演算法通過維護一個隊列,使得一個節點的當前最短路徑被更新之後沒有必要立刻去更新其他的節點,從而大大減少了重復的操作次數。
SPFA演算法可以用於存在負數邊權的圖,這與dijkstra演算法是不同的。

與Dijkstra演算法與Bellman-ford演算法都不同,SPFA的演算法時間效率是不穩定的,即它對於不同的圖所需要的時間有很大的差別。
在最好情形下,每一個節點都只入隊一次,則演算法實際上變為廣度優先遍歷,其時間復雜度僅為O(E)。另一方面,存在這樣的例子,使得每一個節點都被入隊(V-1)次,此時演算法退化為Bellman-ford演算法,其時間復雜度為O(VE)。
SPFA演算法在負邊權圖上可以完全取代Bellman-ford演算法,另外在稀疏圖中也表現良好。但是在非負邊權圖中,為了避免最壞情況的出現,通常使用效率更加穩定的Dijkstra演算法,以及它的使用堆優化的版本。通常的SPFA。