熟女俱乐部五十路二区av,又爽又黄禁片视频1000免费,国产卡一卡二卡三无线乱码新区,中文无码一区二区不卡αv,中文在线中文a

關 閉

新聞中心

EEPW首頁 > 工控自動化 > 設計應用 > Ad hoc路由協(xié)議實現(xiàn)研究

Ad hoc路由協(xié)議實現(xiàn)研究

作者: 時間:2009-09-24 來源:網(wǎng)絡 收藏

在類Unix操作系統(tǒng)中,路由功能一般包括2部分。一部分駐留在操作系統(tǒng)內核中,用以基于表驅動的進程,根據(jù)路由表信息,設定正確的地址,將數(shù)據(jù)分組發(fā)往對應的網(wǎng)絡接口,這部分稱為“分組轉發(fā)功能模塊”;另一部分實現(xiàn)的邏輯計算,通過與其他主機交換信息計算出到其他節(jié)點的正確路由,實現(xiàn)真正的尋找路由和維護路由功能,這部分稱為“分組尋址功能模塊”。分組轉發(fā)路由模塊在內核中基于一個內核路由表來工作,每次發(fā)送數(shù)據(jù)分組都要查詢內核路由表,取得對應的下一跳鄰居節(jié)點的地址和對應的網(wǎng)絡接口。內核路由表一般由分組尋路功能模塊操作維護。在查找內核路由表時根據(jù)路由表項轉發(fā)。如果找不到匹配的路由表項,則按缺省路由發(fā)送,一般將網(wǎng)關作為缺省路由的下一跳節(jié)點。如果缺省路由不存在則操作系統(tǒng)將直接丟棄數(shù)據(jù)分組。分組尋路模塊功能負責尋路,它和其他節(jié)點交換信息,采用一定的路由算法計算和維護內核路南表。分組尋路功能模塊既可在內核實現(xiàn),也可在用戶空間實現(xiàn),Linux系統(tǒng)自帶的分組尋路模塊在內核中。分組轉發(fā)功能和分組尋路功能分開后,可在分組轉發(fā)功能模塊不變的情況下,通過修改分組尋路功能模塊用其他代替現(xiàn)有的。
4.3 Netfilter/iptables網(wǎng)絡分組的處理
Netfilter是嵌入在內核IP協(xié)議棧的一系列調用入口,設置在數(shù)據(jù)報處理的路徑上。Netfilter為每種網(wǎng)絡協(xié)議定義一套鉤子函數(shù)(IPv4定義5個子函數(shù)),這些鉤子函數(shù)在數(shù)據(jù)分組流過協(xié)議棧的幾個關鍵點時被調用。在這幾個關鍵點上,協(xié)議把網(wǎng)絡數(shù)據(jù)分組、鉤子函數(shù)及鉤子函數(shù)標號作為參數(shù)調用 Netfilter框架。內核的任何模塊可對每種協(xié)議的一個或多個鉤子進行注冊。當某個數(shù)據(jù)報被傳送至Netfilter框架時,內核能夠檢測是否有模塊對該協(xié)議和鉤子進行注冊。若已注冊則調用該模塊注冊時使用的回調函數(shù),這些模塊就有機會檢查、修改或丟棄該分組及指示Netfilter將該數(shù)據(jù)分組傳入用戶空間的隊列。排隊的數(shù)據(jù)分組被傳遞至用戶空間,在用戶空間異步進行處理。
一個用戶空間進程能夠檢查數(shù)據(jù)分組、修改數(shù)據(jù)分組,甚至還可重新將該數(shù)據(jù)分組通過離開內核的同一個鉤子函數(shù)重新注入內核中。
綜上所述,由于Linux的Netfilter/iptables功能強大,并且與內核結合完美,因此受到廣泛關注并應用于 路由協(xié)議的實現(xiàn)。
4.4 基本問題的解決
Linux體系結構下,在處理無路由分組和更新路由緩存時具有較好的解決途徑。
通過使用一個本地隧道設備Universal TUN/TAP作為這些地址‘接口’過濾無路由分組。再將這些分組緩存在一張由目的地IP地址為索引的Hash隊列。
當路由發(fā)現(xiàn)完成成功后,使用新發(fā)現(xiàn)的路由,內核中的這些分組被恰當?shù)芈酚沙鋈ィ瑥亩^好處理了沒有路由分組。為每個路南表條目在內核外面維護一個時間戳來更新路由緩存。
設計一個route_check的簡單核心模塊維護該表,每個路由出去的分組都將經該模塊,還可查看分組頭并更新對應的時間戳。

本文引用地址:http://www.bjwjmy.cn/article/202642.htm

5 結束語
由于Linux操作系統(tǒng),通過分析當前操作系統(tǒng)的網(wǎng)絡模塊,列出實現(xiàn) 路由協(xié)議所面臨的問題并提出了一種可行的解決方案。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區(qū)

關閉