當前位置:首頁 » 操作系統 » 擴散演算法

擴散演算法

發布時間: 2022-09-27 14:19:37

❶ 網橋的分類

第一種802網橋是透明網橋(transparent bridge)或生成樹網橋(spanning tree bridge)。支持這種設計的人首要關心的是完全透明。按照他們的觀點,裝有多個LAN的單位在買回IEEE標准網橋之後,只需把連接插頭插入網橋,就萬事大吉。不需要改動硬體和軟體,無需設置地址開關,無需裝入路由表或參數。總之什麼也不幹,只須插入電纜就完事,現有LAN的運行完全不受網橋的任何影響。這真是不可思議,他們最終成功了。
透明網橋以混雜方式工作,它接收與之連接的所有LAN傳送的每一幀。當一幀到達時,網橋必須決定將其丟棄還是轉發。如果要轉發,則必須決定發往哪個LAN。這需要通過查詢網橋中一張大型散列表裡的目的地址而作出決定。該表可列出每個可能的目的地,以及它屬於哪一條輸出線路(LAN)。在插入網橋之初,所有的散列表均為空。由於網橋不知道任何目的地的位置,因而採用擴散演算法(floodingalgorithm):把每個到來的、目的地不明的幀輸出到連在此網橋的所有LAN中(除了發送該幀的LAN)。隨著時間的推移,網橋將了解每個目的地的位置。一旦知道了目的地位置,發往該處的幀就只放到適當的LAN上,而不再散發。
透明網橋採用的演算法是逆向學習法(backwardlearning)。網橋按混雜的方式工作,故它能看見所連接的任一LAN上傳送的幀。查看源地址即可知道在哪個LAN上可訪問哪台機器,於是在散列表中添上一項。
當計算機和網橋加電、斷電或遷移時,網路的拓撲結構會隨之改變。為了處理動態拓撲問題,每當增加散列表項時,均在該項中註明幀的到達時間。每當目的地已在表中的幀到達時,將以當前時間更新該項。這樣,從表中每項的時間即可知道該機器最後幀到來的時間。網橋中有一個進程定期地掃描散列表,清除時間早於當前時間若干分鍾的全部表項。於是,如果從LAN上取下一台計算機,並在別處重新連到LAN上的話,那麼在幾分鍾內,它即可重新開始正常工作而無須人工干預。這個演算法同時也意味著,如果機器在幾分鍾內無動作,那麼發給它的幀將不得不散發,一直到它自己發送出一幀為止。
到達幀的路由選擇過程取決於發送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:
(1)如果源LAN和目的LAN相同,則丟棄該幀。
(2)如果源LAN和目的LAN不同,則轉發該幀。
(3)如果目的LAN未知,則進行擴散。
為了提高可靠性,有人在LAN之間設置了並行的兩個或多個網橋,但是,這種配置引起了另外一些問題,因為在拓撲結構中產生了迴路,可能引發無限循環。其解決方法就是下面要講的生成樹(spanningtree)演算法。
解決上面所說的無限循環問題的方法是讓網橋相互通信,並用一棵到達每個LAN的生成樹覆蓋實際的拓撲結構。使用生成樹,可以確保任兩個LAN之間只有唯一一條路徑。一旦網橋商定好生成樹,LAN間的所有傳送都遵從此生成樹。由於從每個源到每個目的地只有唯一的路徑,故不可能再有循環。
為了建造生成樹,首先必須選出一個網橋作為生成樹的根。實現的方法是每個網橋廣播其序列號(該序列號由廠家設置並保證全球唯一),選序列號最小的網橋作為根。接著,按根到每個網橋的最短路徑來構造生成樹。如果某個網橋或LAN故障,則重新計算。
網橋通過BPDU(BridgeProtocolDataUnit)互相通信,在網橋做出配置自己的決定前,每個網橋和每個埠需要下列配置數據:
網橋:網橋ID(唯一的標識)
埠:埠ID(唯一的標識)
埠相對優先權
各埠的花費(高帶寬=低花費)
配置好各個網橋後,網橋將根據配置參數自動確定生成樹,這一過程有三個階段:
(1)選擇根網橋
具有最小網橋ID的網橋被選作根網橋。網橋ID應為唯一的,但若兩個網橋具有相同的最小ID,則MAC地址小的網橋被選作根。
(2)在其它所有網橋上選擇根埠
除根網橋外的各個網橋需要選一個根埠,這應該是最適合與根網橋通信的埠。通過計算各個埠到根網橋的花費,取最小者作為根埠。
(3)選擇每個LAN的「指定(designated)網橋」和「指定埠」
如果只有一個網橋連到某LAN,它必然是該LAN的指定網橋,如果多於一個,則到根網橋花費最小的被選為該LAN的指定網橋。指定埠連接指定網橋和相應的LAN(如果這樣的埠多於一個,則低優先權的被選)。
一個埠必須為下列之一:
(1)根埠
(2)某LAN的指定埠
(3)阻塞埠
當一個網橋加電後,它假定自己是根網橋,發送出一個CBPDU(Configuration Bridge Protocol Data Unit),告知它認為的根網橋ID。一個網橋收到一個根網橋ID小於其所知ID的CBPDU,它將更新自己的表,如果該幀從根埠(上傳)到達,則向所有指定埠(下傳)分發。當一個網橋收到一個根網橋ID大於其所知ID的CBPDU,該信息被丟棄,如果該幀從指定埠到達,則回送一個幀告知真實根網橋的較低ID。
當有意地或由於線路故障引起網路重新配置,上述過程將重復,產生一個新的生成樹。 透明網橋的優點是易於安裝,只需插進電纜即大功告成。但是從另一方面來說,這種網橋並沒有最佳地利用帶寬,因為它們僅僅用到了拓撲結構的一個子集(生成樹)。這兩個(或其他)因素的相對重要性導致了802委員會內部的分裂。支持CSMA/CD和令牌匯流排的人選擇了透明網橋,而令牌環的支持者則偏愛一種稱為源路由選擇(source routing)的網橋(受到IBM的鼓勵)。
源路由選擇的核心思想是假定每個幀的發送者都知道接收者是否在同一LAN上。當發送一幀到另外的LAN時,源機器將目的地址的高位設置成1作為標記。另外,它還在幀頭加進此幀應走的實際路徑。
源路由選擇網橋只關心那些目的地址高位為1的幀,當見到這樣的幀時,它掃描幀頭中的路由,尋找發來此幀的那個LAN的編號。如果發來此幀的那個LAN編號後跟的是本網橋的編號,則將此幀轉發到路由表中自己後面的那個LAN。如果該LAN編號後跟的不是本網橋,則不轉發此幀。這一演算法有3種可能的具體實現:軟體、硬體、混合。這三種具體實現的價格和性能各不相同。第一種沒有介面硬體開銷,但需要速度很快的CPU處理所有到來的幀。最後一種實現需要特殊的VLSI晶元,該晶元分擔了網橋的許多工作,因此,網橋可以採用速度較慢的CPU,或者可以連接更多的LAN。
源路由選擇的前提是互聯網中的每台機器都知道所有其他機器的最佳路徑。如何得到這些路由是源路由選擇演算法的重要部分。獲取路由演算法的基本思想是:如果不知道目的地地址的位置,源機器就發布一廣播幀,詢問它在哪裡。每個網橋都轉發該查找幀(discovery frame),這樣該幀就可到達互聯網中的每一個LAN。當答復回來時,途經的網橋將它們自己的標識記錄在答復幀中,於是,廣播幀的發送者就可以得到確切的路由,並可從中選取最佳路由。
雖然此演算法可以找到最佳路由(它找到了所有的路由),但同時也面臨著幀爆炸的問題。透明網橋也會發生有點類似的狀況,但是沒有這么嚴重。其擴散是按生成樹進行,所以傳送的總幀數是網路大小的線性函數,而不象源路由選擇是指數函數。一旦主機找到至某目的地的一條路由,它就將其存入到高速緩沖器之中,無需再作查找。雖然這種方法大大遏制了幀爆炸,但它給所有的主機增加了事務性負擔,而且整個演算法肯定是不透明的。
透明網橋一般用於連接乙太網段,而源路由選擇網橋則一般用於連接令牌環網段。

❷ 什麼是誤差擴散演算法

誤差擴散法由Floyd和 Steinberg於1976年首次提出,其基本思想為先將灰度圖像的當前像素進行閾值比較,得到一個二值輸出,然後將輸入與輸出的像素差以一定的方式擴散到未經處理的區域。

❸ 網橋有什麼用

網橋,這個名詞聽起來好像既熟悉又陌生,它到底是什麼呢?其實網橋是一種連接區域網 (LAN) 段的廉價而便捷的方法。若要了解網橋如何工作,則需要首先了解 LAN 段。LAN 段是連接計算機的網路媒體的單個部分。例如,假設您有三台計算機:計算機 A、計算機 B 和計算機 C。計算機 A 有兩個乙太網卡,而計算機 B 和 C 各有一個乙太網卡。連接 A 和 B 的乙太網電纜將創建一個 LAN 段。另一個連接 A 和 C 的乙太網電纜將創建另一個 LAN 段。 傳統上,如果您需要網路具有多個段,則您有兩個選擇:路由和橋接。IP 路由是連接網路段的常用解決方案。但是,若要安裝 IP 路由,則需要購買硬體路由器或在段之間的交接處安裝計算機以用作路由器。對於每個網路段上的每台計算機而言,IP 路由都要求對 IP 定址進行復雜配置,而且每個網路段都需要配置為獨立的子網。IP 路由是適合於大型網路的解決方案,此時可縮放性很重要,而且需要經驗豐富的人員配置和維護網路。硬體橋接解決方案不一定像 IP 路由一樣進行復雜配置,但是它需要購買額外的硬體橋。如果是家庭或小型辦公網路,則這兩個選擇都不理想,您既不願意購買昂貴的搭橋硬體,也不願意請有經驗的人員管理 IP 路由網路。 相反,網橋允許通過選擇適當的網路連接圖標並單擊"橋接",連接 LAN 段。相似的按鈕允許您啟用橋並將連接添加到該橋。網橋管理整個網路的 LAN 段並創建單個子網。不需要進行配置,不需要購買額外的硬體(如路由器或橋)。在單個子網 IP 網路中,IP 定址、地址分配和名稱解析將被高度簡化。 網橋可以在不同類型的網路媒體之間創建連接。在傳統網路中,如果使用混合媒體類型,則每種媒體都需要一個單獨子網,而且需要在多個網路子網間進行數據包轉發。因為不同的媒體類型要使用不同的協議,所以需要進行數據包轉發。"網橋"自動進行所需的配置,以將信息從一種媒體類型轉發到另一種類型。 Windows XP 計算機上只能存在一個橋,但可以使用它來橋接所有計算機實際允許的網路連接。 "網橋"使用 IEEE 跨越樹演算法 (STA) 建立無循環轉發拓撲。當已搭橋網路中存在多條路徑時,循環可以形成,而且橋的簡單轉發規則將導致轉發風暴,即同一幀將從一條橋到另一條橋進行無止境的中繼。STA 提供自動機制以便在必要時選擇性地禁用單個埠上的橋轉發,以確保轉發拓撲是非循環的。對於跨越樹演算法而言,不必配置網橋。 一、創建網橋: 1.打開"網路連接"( 要打開"網路連接",請單擊"開始",指向"設置",然後雙擊"控制面板",單擊"網路和 Internet 連接",然後單擊"網路連接")。 2.在"LAN 或高速 Internet"下,選擇要將其作為橋的各個部分的每個專用網路連接。 3.右鍵單擊突出顯示的專用網路連接之一,然後單擊"橋接"。 二、將連接添加到網橋 1.打開" 網路連接"。 2.在"網橋"下,右鍵單擊"網橋",然後單擊"屬性"。 3.在"常規"選項卡的"適配器"下,選擇要添加到橋的每個適配器的復選框,然後單擊"確定"。 三、啟用或禁用網橋 1.打開 網路連接。 2.在"網橋"下,右鍵單擊"網橋",然後選擇下面的一項操作: 3.若要啟用"網橋",請單擊"啟用"。 4.若要禁用"網橋",請單擊"禁用"。 四、從網橋刪除連接 1.打開 網路連接。 2.在"網橋"下,右鍵單擊"網橋",然後單擊"屬性"。 3.在"常規"選項卡的"適配器"下,選擇要刪除的適配器旁邊的復選框,然後單擊"確定"。 但是,在這里要注意以下幾個方面:必須以管理員或 Administrators 組成員身份登錄才能完成該過程。如果計算機與網路連接,則網路策略設置也可以阻止您完成此步驟;必須至少選擇兩個合格的網路連接才能使用"橋接"創建橋;已啟用 Internet 連接共享 (ICS) 或 Internet 連接防火牆 (ICF) 的適配器不能成為網橋的一部分,也不會出現在網橋清單中。同樣,"添加到橋"菜單命令只適用於可作為連接添加到網橋的適配器;只有乙太網、IEEE-1394 適配器或者諸如無線這樣的乙太網兼容適配器,以及家庭電話線適配器 (HPNA) 才可以成為網橋的一部分;如果沒有啟用 ICF 或 Internet 連接共享 (ICS),請不要在公用 Internet 連接和專用網路連接之間創建橋,或者將公用 Internet 連接添加到現有網橋。這樣做將在您的網路和 Internet 之間創建不受保護的鏈接,因此您的網路容易受到攻擊;一台計算機上只能創建一個網橋,不過該橋可以容納無數網路連接;無法在運行 Windows 2000 或更早版本 Windows 的計算機上創建橋接;如果從網橋刪除了適配器,而且保留的適配器不足兩個,則網橋不會執行預期的功能,不過將繼續使用系統資源;當以前顯示在"LAN 或高速 Internet"下的網路適配器添加為連接時,它將出現在"網橋"下。提供 Internet 連接的網路適配器(如 DSL 和電纜數據機)不能被橋接,而且將始終出現在"LAN 或高速 Internet"下;在啟用網橋前,必須使用"橋接"創建網橋;如果禁用網橋,則網路上的計算機將無法與其他網路段上的計算機通訊。網路上的某些計算機還可能中斷 Internet 連接;如果從網橋刪除了適配器,而且保留的適配器不足兩個,則網橋不會執行預期的功能,不過將繼續使用系統資源;至少必須有兩個適配器連接到橋才能保證其功能;如果打開了"網路連接"文件夾,也可以從網橋刪除網路連接,在"網橋"下,右鍵單擊要刪除的適配器,然後單擊"從網橋刪除";如果從網橋刪除適配器,而且保留的適配器不足兩個,則網橋不會執行預期的功能,不過將繼續使用系統資源。使用無線或 IEEE-1394 連接的網橋只支持使用網際協議版本 4 (IPv4) 的通信;Internet 連接共享、Internet 連接防火牆、發現和控制,以及網橋在 Windows XP 64-Bit Edition 中都是可用的。 那麼網橋到底能夠達到何種效果和有何應用價值呢?其實通過網橋可以進行網橋的組策略,其大意就是"網橋"使計算機管理員可跨兩個或多個網路連接創建橋,使網路通信可通過橋中包括的所有網路連接,就好像所有這些連接都是同一網路子網的一部分。"組策略"設置將定義系統管理員需要管理的用戶桌面環境的各種組件。禁止在您的 DNS 域網路上安裝和配置,使用網橋確定具有管理許可權的計算機用戶是否可在 DNS 域網路上啟用"網橋"。 只有存在兩個或多個網路適配器時,"網橋"菜單命令"橋接"才是可用的。默認情況下,"網橋"被禁用,但是管理員可以使用網路連接圖標上的菜單啟用它。如果啟?quot;禁止在您的 DNS 域網路上安裝,配置,使用網橋"設置以禁止在域網路上使用"網橋",則因為"橋接"命令已從網路連接圖標的菜單上刪除,所以無法創建"網橋"。禁止許可權有限的計算機用戶配置"網橋",而不管該設置是什麼。 如果在啟用該策略前網路上的計算機中已經存在"網橋",則因為該設置知道位置,所以此橋將繼續存在。只有當計算機連接到該設置最後一次刷新時所連接到的同一 DNS 域網路時,才應用該設置。

❹ 簡述網橋的工作原理

網橋工作在數據鏈路層,將兩個LAN連起來,根據MAC地址來轉發幀,可以看作一個「低層的路由器」(路由器工作在網路層,根據網路地址如IP地址進行轉發)。

遠程網橋通過一個通常較慢的鏈路(如電話線)連接兩個遠程LAN,對本地網橋而言,性能比較重要,而對遠程網橋而言,在長距離上可正常運行是更重要的。

網橋與路由器的比較

網橋並不了解其轉發幀中高層協議的信息,這使它可以同時以同種凡是處理IP、IPX等協議,它還提供了將無路由協議的網路(如NetBEUI)分段的功能。

由於路由器處理網路層的數據,因此它們更容易互連不同的數據鏈路層,如令牌環網段和乙太網段。網橋通常比路由器難控制。象IP等協議有復雜的路由協議,使網管易於管理路由;IP等協議還提供了較多的網路如何分段的信息(即使其地址也提供了此類信息)。而網橋則只用MAC地址和物理拓撲進行工作。因此網橋一般適於小型較簡單的網路。

二、使用原因

許多單位都有多個區域網,並且希望能夠將它們連接起來。之所以一個單位有多個區域網,有以下6個原因:

首先,許多大學的系或公司的部門都有各自的區域網,主要用於連接他們自己的個人計算機、工作站以及伺服器。由於各系(或部門)的工作性質不同,因此選用了不同的區域網,這些系(或部門)之間早晚需相互交往,因而需要網橋。

其次,一個單位在地理位置上較分散,並且相距較遠,與其安裝一個遍布所有地點的同軸電纜網,不如在各個地點建立一個區域網,並用網橋和紅外鏈路連接起來,這樣費用可能會低一些。

第3,可能有必要將一個邏輯上單一的LAN分成多個區域網,以調節載荷。例如採用由網橋連接的多個區域網,每個區域網有一組工作站,並且有自己的文件伺服器,因此大部分通信限於單個區域網內,減輕了主幹網的負擔。

第4,在有些情況下,從載荷上看單個區域網是毫無問題的,但是相距最遠的機器之間的物理距離太遠(比如超過802.3所規定的2.5km)。即使電纜鋪設不成問題,但由於來回時延過長,網路仍將不能正常工作。唯一的辦法是將區域網分段,在各段之間放置網橋。通過使用網橋,可以增加工作的總物理距離。

第5,可靠性問題。在一個單獨的區域網中,一個有缺陷的節點不斷地輸出無用的信息流會嚴重地破壞區域網的運行。網橋可以設置在區域網中的關鍵部位,就像建築物內的放火門一樣,防止因單個節點失常而破壞整個系統。

第6,網橋有助於安全保密。大多數LAN介面都有一種混雜工作方式(promiscuousmode),在這種方式下,計算機接收所有的幀,包括那些並不是編址發送給它的幀。如果網中多處設置網橋並謹慎地攔截無須轉發的重要信息,那麼就可以把網路分隔以防止信息被竊。

三、兼容性問題

有人可能會天真地認為從一個802區域網到另一個802區域網的網橋非常簡單,但實際上並非如此。在802.x到802.y的九種組合中,每一種都有它自己的特殊問題要解決。在討論這些特殊問題之前,先來看一看這些網橋共同面臨的一般性問題。

首先,各種區域網採用了不同的幀格式。這種不兼容性並不是由技術上的原因造成的,而僅僅是由於支持三種標準的公司(Xerox,GM和IBM),沒有一家願意改變自己所支持的標准。其結果是:在不同的區域網間復制幀要重排格式,這需要佔用CPU時間,重新計算校驗和,而且還有可能產生因網橋存儲錯誤而造成的無法檢測的錯誤。

第二個問題是互聯的區域網並非必須按相同的數據傳輸速率運行。當快速的區域網向慢速的區域網發送一長串連續幀時,網橋處理幀的速度要比幀進入的速度慢。網橋必須用緩沖區存儲來不及處理的幀,同時還得提防耗盡存儲器。即使是10Mb/s的802.4到10Mb/s的802.3的網橋,在某種程度上也存在這樣的問題。因為802.3的部分帶寬耗費於沖突。802.3實際上並不是真的10Mb/s,而802.4(幾乎)確實為10Mb/s。

與網橋瓶頸問題相關的一個細微而重要的問題是其上各層的計時器值。假如802.4區域網上的網路層想發送一段很長的報文(幀序列)。在發出最後一幀之後,它開啟一個計時器,等待確認。如果此報文必須通過網橋轉到慢速的802.5網路,那麼在最後一幀被轉發到低速區域網之前,計時器就有可能時間到。網路層可能會以為幀丟失而重新發送整個報文。幾次傳送失敗後,網路層就會放棄傳輸並告訴傳輸層目的站點已經關機。

第三,在所有的問題中,可能最為嚴重的問題是三種802LAN有不同的最大幀長度。對於802.3,最大幀長度取決於配置參數,但對標準的10M/bs系統最大有效載荷為1500位元組。802.4的最大幀長度固定為8191位元組。802.5沒有上限,只要站點的傳輸時間不超過令牌持有時間。如果令牌時間預設為10ms,則最大幀長度為5000位元組。一個顯而易見的問題出現了:當必須把一個長幀轉發給不能接收長幀的區域網時,將會怎麼樣?在本層中不考慮把幀分成小段。所有的協議都假定幀要麼到達要麼沒有到達,沒有條款規定把更小的單位重組成幀。這並不是說不能設計這樣的協議,可以設計並已有這種協議,只是802不提供這種功能。這個問題基本上無法解決,必須丟棄因太長而無法轉發的幀。其透明程度也就這樣了。

四、兩種網橋

1、透明網橋

第一種802網橋是透明網橋(transparentbridge)或生成樹網橋(spanningtreebridge)。支持這種設計的人首要關心的是完全透明。按照他們的觀點,裝有多個LAN的單位在買回IEEE標准網橋之後,只需把連接插頭插入網橋,就萬事大吉。不需要改動硬體和軟體,無需設置地址開關,無需裝入路由表或參數。總之什麼也不幹,只須插入電纜就完事,現有LAN的運行完全不受網橋的任何影響。這真是不可思議,他們最終成功了。

透明網橋以混雜方式工作,它接收與之連接的所有LAN傳送的每一幀。當一幀到達時,網橋必須決定將其丟棄還是轉發。如果要轉發,則必須決定發往哪個LAN。這需要通過查詢網橋中一張大型散列表裡的目的地址而作出決定。該表可列出每個可能的目的地,以及它屬於哪一條輸出線路(LAN)。在插入網橋之初,所有的散列表均為空。由於網橋不知道任何目的地的位置,因而採用擴散演算法(floodingalgorithm):把每個到來的、目的地不明的幀輸出到連在此網橋的所有LAN中(除了發送該幀的LAN)。隨著時間的推移,網橋將了解每個目的地的位置。一旦知道了目的地位置,發往該處的幀就只放到適當的LAN上,而不再散發。

透明網橋採用的演算法是逆向學習法(backwardlearning)。網橋按混雜的方式工作,故它能看見所連接的任一LAN上傳送的幀。查看源地址即可知道在哪個LAN上可訪問哪台機器,於是在散列表中添上一項。

當計算機和網橋加電、斷電或遷移時,網路的拓撲結構會隨之改變。為了處理動態拓撲問題,每當增加散列表項時,均在該項中註明幀的到達時間。每當目的地已在表中的幀到達時,將以當前時間更新該項。這樣,從表中每項的時間即可知道該機器最後幀到來的時間。網橋中有一個進程定期地掃描散列表,清除時間早於當前時間若干分鍾的全部表項。於是,如果從LAN上取下一台計算機,並在別處重新連到LAN上的話,那麼在幾分鍾內,它即可重新開始正常工作而無須人工干預。這個演算法同時也意味著,如果機器在幾分鍾內無動作,那麼發給它的幀將不得不散發,一直到它自己發送出一幀為止。

到達幀的路由選擇過程取決於發送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:

1、如果源LAN和目的LAN相同,則丟棄該幀。

2、如果源LAN和目的LAN不同,則轉發該幀。

3、如果目的LAN未知,則進行擴散。

為了提高可靠性,有人在LAN之間設置了並行的兩個或多個網橋,但是,這種配置引起了另外一些問題,因為在拓撲結構中產生了迴路,可能引發無限循環。其解決方法就是下面要講的生成樹(spanningtree)演算法。

生成樹網橋

解決上面所說的無限循環問題的方法是讓網橋相互通信,並用一棵到達每個LAN的生成樹覆蓋實際的拓撲結構。使用生成樹,可以確保任兩個LAN之間只有唯一一條路徑。一旦網橋商定好生成樹,LAN間的所有傳送都遵從此生成樹。由於從每個源到每個目的地只有唯一的路徑,故不可能再有循環。

為了建造生成樹,首先必須選出一個網橋作為生成樹的根。實現的方法是每個網橋廣播其序列號(該序列號由廠家設置並保證全球唯一),選序列號最小的網橋作為根。接著,按根到每個網橋的最短路徑來構造生成樹。如果某個網橋或LAN故障,則重新計算。

網橋通過BPDU(BridgeProtocolDataUnit)互相通信,在網橋做出配置自己的決定前,每個網橋和每個埠需要下列配置數據:

網橋:網橋ID(唯一的標識)

埠:埠ID(唯一的標識)

埠相對優先權

各埠的花費(高帶寬=低花費)

配置好各個網橋後,網橋將根據配置參數自動確定生成樹,這一過程有三個階段:

1、選擇根網橋

具有最小網橋ID的網橋被選作根網橋。網橋ID應為唯一的,但若兩個網橋具有相同的最小ID,則MAC地址小的網橋被選作根。

2、在其它所有網橋上選擇根埠

除根網橋外的各個網橋需要選一個根埠,這應該是最適合與根網橋通信的埠。通過計算各個埠到根網橋的花費,取最小者作為根埠。

3、選擇每個LAN的「指定(designated)網橋」和「指定埠」

如果只有一個網橋連到某LAN,它必然是該LAN的指定網橋,如果多於一個,則到根網橋花費最小的被選為該LAN的指定網橋。指定埠連接指定網橋和相應的LAN(如果這樣的埠多於一個,則低優先權的被選)。

一個埠必須為下列之一:

1、根埠

2、某LAN的指定埠

3、阻塞埠

當一個網橋加電後,它假定自己是根網橋,發送出一個CBPDU(),告知它認為的根網橋ID。一個網橋收到一個根網橋ID小於其所知ID的CBPDU,它將更新自己的表,如果該幀從根埠(上傳)到達,則向所有指定埠(下傳)分發。當一個網橋收到一個根網橋ID大於其所知ID的CBPDU,該信息被丟棄,如果該幀從指定埠到達,則回送一個幀告知真實根網橋的較低ID。

當有意地或由於線路故障引起網路重新配置,上述過程將重復,產生一個新的生成樹。

2、源路由選擇網橋

透明網橋的優點是易於安裝,只需插進電纜即大功告成。但是從另一方面來說,這種網橋並沒有最佳地利用帶寬,因為它們僅僅用到了拓撲結構的一個子集(生成樹)。這兩個(或其他)因素的相對重要性導致了802委員會內部的分裂。支持CSMA/CD和令牌匯流排的人選擇了透明網橋,而令牌環的支持者則偏愛一種稱為源路由選擇(sourcerouting)的網橋(受到IBM的鼓勵)。

源路由選擇的核心思想是假定每個幀的發送者都知道接收者是否在同一LAN上。當發送一幀到另外的LAN時,源機器將目的地址的高位設置成1作為標記。另外,它還在幀頭加進此幀應走的實際路徑。

源路由選擇網橋只關心那些目的地址高位為1的幀,當見到這樣的幀時,它掃描幀頭中的路由,尋找發來此幀的那個LAN的編號。如果發來此幀的那個LAN編號後跟的是本網橋的編號,則將此幀轉發到路由表中自己後面的那個LAN。如果該LAN編號後跟的不是本網橋,則不轉發此幀。這一演算法有3種可能的具體實現:軟體、硬體、混合。這三種具體實現的價格和性能各不相同。第一種沒有介面硬體開銷,但需要速度很快的CPU處理所有到來的幀。最後一種實現需要特殊的VLSI晶元,該晶元分擔了網橋的許多工作,因此,網橋可以採用速度較慢的CPU,或者可以連接更多的LAN。

源路由選擇的前提是互聯網中的每台機器都知道所有其他機器的最佳路徑。如何得到這些路由是源路由選擇演算法的重要部分。獲取路由演算法的基本思想是:如果不知道目的地地址的位置,源機器就發布一廣播幀,詢問它在哪裡。每個網橋都轉發該查找幀(discoveryframe),這樣該幀就可到達互聯網中的每一個LAN。當答復回來時,途經的網橋將它們自己的標識記錄在答復幀中,於是,廣播幀的發送者就可以得到確切的路由,並可從中選取最佳路由。

雖然此演算法可以找到最佳路由(它找到了所有的路由),但同時也面臨著幀爆炸的問題。透明網橋也會發生有點類似的狀況,但是沒有這么嚴重。其擴散是按生成樹進行,所以傳送的總幀數是網路大小的線性函數,而不象源路由選擇是指數函數。一旦主機找到至某目的地的一條路由,它就將其存入到高速緩沖器之中,無需再作查找。雖然這種方法大大遏制了幀爆炸,但它給所有的主機增加了事務性負擔,而且整個演算法肯定是不透明的。

3、兩種網橋的比較

透明網橋一般用於連接乙太網段,而源路由選擇網橋則一般用於連接令牌環網段。

五、遠程網橋

網橋有時也被用來連接兩個或多個相距較遠的LAN。比如,某個公司分布在多個城市中,該公司在每個城市中均有一個本地的LAN,最理想的情況就是所有的LAN均連接起來,整個系統就像一個大型的LAN一樣。

該目標可通過下述方法實現:每個LAN中均設置一個網橋,並且用點到點的連接(比如租用電話公司的電話線)將它們兩個兩個地連接起來。點到點連線可採用各種不同的協議。辦法之一就是選用某種標準的點到點數據鏈路協議,將完整的MAC幀加到有效載荷中。如果所有的LAN均相同,這種辦法的效果最好,它的唯一問題就是必須將幀送到正確的LAN中。另一種辦法是在源網橋中去掉MAC的頭部和尾部,並把剩下的部分加到點到點協議的有效載荷中,然後在目的網橋中產生新的頭部和尾部。它的缺點是到達目的主機的校驗和並非是源主機所計算的校驗和,因此網橋存儲器中某位損壞所產生的錯誤可能不會被檢測到。

網橋的基本工作原理
數據鏈路層互聯的設備是網橋(bridge),在網路互聯中它起到數據接收、地址過濾與數據轉發的作用,用來實現多個網路系統之間的數據交換。
網橋的基本特徵
1.網橋在數據鏈路層上實現區域網互連;
2.網橋能夠互連兩個採用不同數據鏈路層協議、不同傳輸介質與不同傳輸速率的網路;
3.網橋以接收、存儲、地址過濾與轉發的方式實現互連的網路之間的通信;
4.網橋需要互連的網路在數據鏈路層以上採用相同的協議;
5.網橋可以分隔兩個網路之間的廣播通信量,有利於改善互連網路的性能與安全性。

參考資料
http://www.9iseo.cn
可以來我的Blog http://sc2starcraft.cn找我 咨詢免費

❺ 內部點擴散演算法的演算法步驟

擴散演算法的核心在於擴散過程,擴散過程由擴散網路決定。所謂擴散,是指元素傳遞影響的過程,若元素A擴散到元素B,則當A發生改變時,B也發生改變。
擴散演算法通過在元素之間建立擴散路徑,使元素沿著該路徑向其他元素擴散。每一個元素都沿著指定的路徑擴散,從而使元素間相互發生影響。

❻ 關於網橋的問題

四、兩種網橋

1、透明網橋

第一種802網橋是透明網橋(transparentbridge)或生成樹網橋(spanningtreebridge)。支持這種設計的人首要關心的是完全透明。按照他們的觀點,裝有多個LAN的單位在買回IEEE標准網橋之後,只需把連接插頭插入網橋,就萬事大吉。不需要改動硬體和軟體,無需設置地址開關,無需裝入路由表或參數。總之什麼也不幹,只須插入電纜就完事,現有LAN的運行完全不受網橋的任何影響。這真是不可思議,他們最終成功了。

透明網橋以混雜方式工作,它接收與之連接的所有LAN傳送的每一幀。當一幀到達時,網橋必須決定將其丟棄還是轉發。如果要轉發,則必須決定發往哪個LAN。這需要通過查詢網橋中一張大型散列表裡的目的地址而作出決定。該表可列出每個可能的目的地,以及它屬於哪一條輸出線路(LAN)。在插入網橋之初,所有的散列表均為空。由於網橋不知道任何目的地的位置,因而採用擴散演算法(floodingalgorithm):把每個到來的、目的地不明的幀輸出到連在此網橋的所有LAN中(除了發送該幀的LAN)。隨著時間的推移,網橋將了解每個目的地的位置。一旦知道了目的地位置,發往該處的幀就只放到適當的LAN上,而不再散發。

透明網橋採用的演算法是逆向學習法(backwardlearning)。網橋按混雜的方式工作,故它能看見所連接的任一LAN上傳送的幀。查看源地址即可知道在哪個LAN上可訪問哪台機器,於是在散列表中添上一項。

當計算機和網橋加電、斷電或遷移時,網路的拓撲結構會隨之改變。為了處理動態拓撲問題,每當增加散列表項時,均在該項中註明幀的到達時間。每當目的地已在表中的幀到達時,將以當前時間更新該項。這樣,從表中每項的時間即可知道該機器最後幀到來的時間。網橋中有一個進程定期地掃描散列表,清除時間早於當前時間若干分鍾的全部表項。於是,如果從LAN上取下一台計算機,並在別處重新連到LAN上的話,那麼在幾分鍾內,它即可重新開始正常工作而無須人工干預。這個演算法同時也意味著,如果機器在幾分鍾內無動作,那麼發給它的幀將不得不散發,一直到它自己發送出一幀為止。

到達幀的路由選擇過程取決於發送的LAN(源LAN)和目的地所在的LAN(目的LAN),如下所示:

1、如果源LAN和目的LAN相同,則丟棄該幀。
2、如果源LAN和目的LAN不同,則轉發該幀。
3、如果目的LAN未知,則進行擴散。
為了提高可靠性,有人在LAN之間設置了並行的兩個或多個網橋,但是,這種配置引起了另外一些問題,因為在拓撲結構中產生了迴路,可能引發無限循環。其解決方法就是下面要講的生成樹(spanningtree)演算法。

生成樹網橋

解決上面所說的無限循環問題的方法是讓網橋相互通信,並用一棵到達每個LAN的生成樹覆蓋實際的拓撲結構。使用生成樹,可以確保任兩個LAN之間只有唯一一條路徑。一旦網橋商定好生成樹,LAN間的所有傳送都遵從此生成樹。由於從每個源到每個目的地只有唯一的路徑,故不可能再有循環。

為了建造生成樹,首先必須選出一個網橋作為生成樹的根。實現的方法是每個網橋廣播其序列號(該序列號由廠家設置並保證全球唯一),選序列號最小的網橋作為根。接著,按根到每個網橋的最短路徑來構造生成樹。如果某個網橋或LAN故障,則重新計算。

網橋通過BPDU(BridgeProtocolDataUnit)互相通信,在網橋做出配置自己的決定前,每個網橋和每個埠需要下列配置數據:

網橋:網橋ID(唯一的標識)
埠:埠ID(唯一的標識)
埠相對優先權
各埠的花費(高帶寬=低花費)

配置好各個網橋後,網橋將根據配置參數自動確定生成樹,這一過程有三個階段:

1、選擇根網橋
具有最小網橋ID的網橋被選作根網橋。網橋ID應為唯一的,但若兩個網橋具有相同的最小ID,則MAC地址小的網橋被選作根。

2、在其它所有網橋上選擇根埠
除根網橋外的各個網橋需要選一個根埠,這應該是最適合與根網橋通信的埠。通過計算各個埠到根網橋的花費,取最小者作為根埠。

3、選擇每個LAN的「指定(designated)網橋」和「指定埠」
如果只有一個網橋連到某LAN,它必然是該LAN的指定網橋,如果多於一個,則到根網橋花費最小的被選為該LAN的指定網橋。指定埠連接指定網橋和相應的LAN(如果這樣的埠多於一個,則低優先權的被選)。
一個埠必須為下列之一:

1、根埠
2、某LAN的指定埠
3、阻塞埠
當一個網橋加電後,它假定自己是根網橋,發送出一個CBPDU(),告知它認為的根網橋ID。一個網橋收到一個根網橋ID小於其所知ID的CBPDU,它將更新自己的表,如果該幀從根埠(上傳)到達,則向所有指定埠(下傳)分發。當一個網橋收到一個根網橋ID大於其所知ID的CBPDU,該信息被丟棄,如果該幀從指定埠到達,則回送一個幀告知真實根網橋的較低ID。

當有意地或由於線路故障引起網路重新配置,上述過程將重復,產生一個新的生成樹。

2、源路由選擇網橋

透明網橋的優點是易於安裝,只需插進電纜即大功告成。但是從另一方面來說,這種網橋並沒有最佳地利用帶寬,因為它們僅僅用到了拓撲結構的一個子集(生成樹)。這兩個(或其他)因素的相對重要性導致了802委員會內部的分裂。支持CSMA/CD和令牌匯流排的人選擇了透明網橋,而令牌環的支持者則偏愛一種稱為源路由選擇(sourcerouting)的網橋(受到IBM的鼓勵)。

源路由選擇的核心思想是假定每個幀的發送者都知道接收者是否在同一LAN上。當發送一幀到另外的LAN時,源機器將目的地址的高位設置成1作為標記。另外,它還在幀頭加進此幀應走的實際路徑。

源路由選擇網橋只關心那些目的地址高位為1的幀,當見到這樣的幀時,它掃描幀頭中的路由,尋找發來此幀的那個LAN的編號。如果發來此幀的那個LAN編號後跟的是本網橋的編號,則將此幀轉發到路由表中自己後面的那個LAN。如果該LAN編號後跟的不是本網橋,則不轉發此幀。這一演算法有3種可能的具體實現:軟體、硬體、混合。這三種具體實現的價格和性能各不相同。第一種沒有介面硬體開銷,但需要速度很快的CPU處理所有到來的幀。最後一種實現需要特殊的VLSI晶元,該晶元分擔了網橋的許多工作,因此,網橋可以採用速度較慢的CPU,或者可以連接更多的LAN。

源路由選擇的前提是互聯網中的每台機器都知道所有其他機器的最佳路徑。如何得到這些路由是源路由選擇演算法的重要部分。獲取路由演算法的基本思想是:如果不知道目的地地址的位置,源機器就發布一廣播幀,詢問它在哪裡。每個網橋都轉發該查找幀(discoveryframe),這樣該幀就可到達互聯網中的每一個LAN。當答復回來時,途經的網橋將它們自己的標識記錄在答復幀中,於是,廣播幀的發送者就可以得到確切的路由,並可從中選取最佳路由。

雖然此演算法可以找到最佳路由(它找到了所有的路由),但同時也面臨著幀爆炸的問題。透明網橋也會發生有點類似的狀況,但是沒有這么嚴重。其擴散是按生成樹進行,所以傳送的總幀數是網路大小的線性函數,而不象源路由選擇是指數函數。一旦主機找到至某目的地的一條路由,它就將其存入到高速緩沖器之中,無需再作查找。雖然這種方法大大遏制了幀爆炸,但它給所有的主機增加了事務性負擔,而且整個演算法肯定是不透明的。

3、兩種網橋的比較

[img:4f68bde7af]http://www.douzhe.com/blog/get/3/brige%20compare.jpg[/img:4f68bde7af]

透明網橋一般用於連接乙太網段,而源路由選擇網橋則一般用於連接令牌環網段。

五、遠程網橋

網橋有時也被用來連接兩個或多個相距較遠的LAN。比如,某個公司分布在多個城市中,該公司在每個城市中均有一個本地的LAN,最理想的情況就是所有的LAN均連接起來,整個系統就像一個大型的LAN一樣。

該目標可通過下述方法實現:每個LAN中均設置一個網橋,並且用點到點的連接(比如租用電話公司的電話線)將它們兩個兩個地連接起來。點到點連線可採用各種不同的協議。辦法之一就是選用某種標準的點到點數據鏈路協議,將完整的MAC幀加到有效載荷中。如果所有的LAN均相同,這種辦法的效果最好,它的唯一問題就是必須將幀送到正確的LAN中。另一種辦法是在源網橋中去掉MAC的頭部和尾部,並把剩下的部分加到點到點協議的有效載荷中,然後在目的網橋中產生新的頭部和尾部。它的缺點是到達目的主機的校驗和並非是源主機所計算的校驗和,因此網橋存儲器中某位損壞所產生的錯誤可能不會被檢測到。

--------------------------------------------------------------------------------
mazu 回復於:2004-09-21 16:10:35
[size=24:b937eb119c][b:b937eb119c]網關[/b:b937eb119c][/size:b937eb119c]

網關曾經是很容易理解的概念。在早期的網際網路中,術語網關即指路由器。路由器是網路中超越本地網路的標記,這個走向未知的「大門」曾經、現在仍然用於計算路由並把分組數據轉發到源始網路之外的部分,因此,它被認為是通向網際網路的大門。隨著時間的推移,路由器不再神奇,公共的基於IP的廣域網的出現和成熟促進了路由器的成長。現在路由功能也能由主機和交換集線器來行使,網關不再是神秘的概念。現在,路由器變成了多功能的網路設備,它能將區域網分割成若干網段、互連私有廣域網中相關的區域網以及將各廣域網互連而形成了網際網路,這樣路由器就失去了原有的網關概念。然而術語網關仍然沿用了下來,它不斷地應用到多種不同的功能中,定義網關已經不再是件容易的事。目前,主要有三種網關:

協議網關
應用網關
安全網關
唯一保留的通用意義是作為兩個不同的域或系統間中介的網關,要克服的差異本質決定了需要的網關類型。

一、協議網關

協議網關通常在使用不同協議的網路區域間做協議轉換。這一轉換過程可以發生在OSI參考模型的第2層、第3層或2、3層之間。但是有兩種協議網關不提供轉換的功能:安全網關和管道。由於兩個互連的網路區域的邏輯差異,安全網關是兩個技術上相似的網路區域間的必要中介。如私有廣域網和公有的網際網路。這一特例在後續的「組合過濾網關」中討論,此部分中集中於實行物理的協議轉換的協議網關。

1、管道網關

管道是通過不兼容的網路區域傳輸數據的比較通用的技術。數據分組被封裝在可以被傳輸網路識別的幀中,到達目的地時,接收主機解開封裝,把封裝信息丟棄,這樣分組就被恢復到了原先的格式。例如在下圖中,IPv4數據由路由器A封裝在IPv6分組中,通過IPv6網路傳遞給一個IPv4主機,路由器解開IPv6的封裝,把還原的IPv4數據傳遞給目的主機。

[img:b937eb119c]http://www.douzhe.com/blog/get/3/網關1.jpg[/img:b937eb119c]

管道技術只能用於3層協議,從SNA到IPv6。雖然管道技術有能夠克服特定網路拓撲限制的優點,它也有缺點。管道的本質可以隱藏不該接受的分組,簡單來說,管道可以通過封裝來攻破防火牆,把本該過濾掉的數據傳給私有的網路區域。

2、專用網關

很多的專用網關能夠在傳統的大型機系統和迅速發展的分布式處理系統間建立橋梁。典型的專用網關用於把基於PC的客戶端連到區域網邊緣的轉換器。該轉換器通過X.25網路提供對大型機系統的訪問。下圖演示了從PC客戶端到網關的過程,網關將IP數據通過X.25廣域網傳送給大型機。

[img:b937eb119c]http://www.douzhe.com/blog/get/3/網關2.jpg[/img:b937eb119c]

這些網關通常是需要安裝在連接到區域網的計算機上的便宜、單功能的電路板,這使其價格很低且很容易升級。在上圖的例子中,該單功能的網關將大型機時代的硬連線的終端和終端伺服器升級為PC機和區域網。

3、2層協議網關

2層協議網關提供區域網到區域網的轉換,它們通常被稱為翻譯網橋而不是協議網關。在使用不同幀類型或時鍾頻率的區域網間互連可能就需要這種轉換。

(1)幀格式差異

IEEE802兼容的區域網共享公共的介質訪問層,但是它們的幀結構和介質訪問機制使它們不能直接互通。如下圖:

[img:b937eb119c]http://www.douzhe.com/blog/get/3/網關3.jpg[/img:b937eb119c]

翻譯網橋利用了2層的共同點,如MAC地址,提供幀結構不同部分的動態翻譯,使它們的互通成為了可能。第一代區域網需要獨立的設備來提供翻譯網橋,如今的多協議交換集線器通常提供高帶寬主幹,在不同幀類型間可作為翻譯網橋,如下圖所示:

[img:b937eb119c]http://www.douzhe.com/blog/get/3/網關4.jpg[/img:b937eb119c]

現在翻譯網橋的幕後性質使這種協議轉換變得模糊,獨立的翻譯設備不再需要,多功能交換集線器天生就具有2層協議轉換網關的功能。

替代使用僅涉及2層的設備如翻譯網橋或多協議交換集線器的另一種選擇是使用3層設備:路由器。長期以來路由器就是區域網主幹的重要組成部分,見下圖。如果路由器用於互連區域網和廣域網,它們通常都支持標準的區域網介面,經過適當的配置,路由器很容易提供不同幀類型的翻譯。這種方案的缺點是如果使用3層設備路由器需要表查詢,這是軟體功能,而象交換機和集線器等2層設備的功能由硬體來實現,從而可以運行得更快。

[img:b937eb119c]http://www.douzhe.com/blog/get/3/網關5.jpg[/img:b937eb119c]

(2)傳輸率差異

很多過去的區域網技術已經提升了傳輸速率,例如,IEEE802.3乙太網現在有10Mbps、100Mbps和1bps的版本,它們的幀結構是相同的,主要的區別在於物理層以及介質訪問機制,在各種區別中,傳輸速率是最明顯的差異。令牌環網也提升了傳輸速率,早期版本工作在4Mbps速率下,現在的版本速率為16Mbps,100Mbps的FDDI是直接從令牌環發展來的,通常用作令牌環網的主幹。這些僅有時鍾頻率不同的區域網技術需要一種機制在兩個其它方面都兼容的區域網間提供緩沖的介面,現今的多協議、高帶寬的交換集線器提供了能夠緩沖速率差異的健壯的背板,如下圖:
[img:b937eb119c]http://www.douzhe.com/blog/get/3/網關6.jpg[/img:b937eb119c]

如今的多協議區域網可以為同一區域網技術的不同速率版本提供內部速率緩沖,還可以為不同的802兼容的區域網提供2層幀轉換。路由器也可以做速率差異的緩沖工作,它們相對於交換集線器的長處是它們的內存是可擴展的。其內存緩存進入和流出分組到一定程度以決定是否有相應的訪問列表(過濾)要應用,以及決定下一跳,該內存還可以用於緩存可能存在於各種網路拓撲間的速率差異,如下圖:

[img:b937eb119c]http://www.douzhe.com/blog/get/3/網關7.jpg[/img:b937eb119c]

--------------------------------------------------------------------------------
mazu 回復於:2004-09-21 16:22:51
二、應用網關

應用網關是在使用不同數據格式間翻譯數據的系統。典型的應用網關接收一種格式的輸入,將之翻譯,然後以新的格式發送,如下圖。輸入和輸出介面可以是分立的也可以使用同一網路連接。
[img:43835c7fde]http://www.douzhe.com/blog/get/3/網關8.jpg[/img:43835c7fde]

一種應用可以有多種應用網關。如Email可以以多種格式實現,提供Email的伺服器可能需要與各種格式的郵件伺服器交互,實現此功能唯一的方法是支持多個網關介面。下圖所示為一個郵件伺服器可以支持的幾種網關介面。

[img:43835c7fde]http://www.douzhe.com/blog/get/3/GW1.jpg[/img:43835c7fde]

應用網關也可以用於將區域網客戶機與外部數據源相連,這種網關為本地主機提供了與遠程互動式應用的連接。將應用的邏輯和執行代碼置於區域網中客戶端避免了低帶寬、高延遲的廣域網的缺點,這就使得客戶端的響應時間更短。應用網關將請求發送給相應的計算機,獲取數據,如果需要就把數據格式轉換成客戶機所要求的格式,見下圖所示。

[img:43835c7fde]http://www.douzhe.com/blog/get/3/GW2.jpg[/img:43835c7fde]

本文不對所有的應用網關配置作詳盡的描述,這些例子應該概括了應用網關的各種分支。它們通常位於網路數據的交匯點,為了充分地支持這樣的交匯點,需要包括區域網、廣域網在內的多種網路技術的結合。

三、安全網關

安全網關是各種技術有趣的融合,具有重要且獨特的保護作用,其范圍從協議級過濾到十分復雜的應用級過濾。防火牆主要有三類:

分組過濾
電路網關
應用網關注意:三種中只有一種是過濾器,其餘都是網關。

這三種機制通常結合使用。過濾器是映射機制,可區分合法的和欺騙包。每種方法都有各自的能力和限制,要根據安全的需要仔細評價。

1、包過濾器

包過濾是安全映射最基本的形式,路由軟體可根據包的源地址、目的地址或埠號建立許可權,對眾所周知的埠號的過濾可以阻止或允許網際協議如FTP、rlogin等。過濾器可對進入和/或流出的數據操作,在網路層實現過濾意味著路由器可以為所有應用提供安全映射功能。作為(邏輯意義上的)路由器的常駐部分,這種過濾可在任何可路由的網路中自由使用,但不要把它誤解為萬能的,包過濾有很多弱點,但總比沒有好。

包過濾很難做好,尤其當安全需求定義得不好且不細致的時候更是如此。這種過濾也很容易被攻破。包過濾比較每個數據包,基於包頭信息與路由器的訪問列表的比較來做出通過/不通過的決定,這種技術存在許多潛在的弱點。首先,它直接依賴路由器管理員正確地編制許可權集,這種情況下,拼寫的錯誤是致命的,可以在防線中造成不需要任何特殊技術就可以攻破的漏洞。即使管理員准確地設計了許可權,其邏輯也必須毫無破綻才行。雖然設計路由似乎很簡單,但開發和維護一長套復雜的許可權也是很麻煩的,必須根據防火牆的許可權集理解和評估每天的變化,新添加的伺服器如果沒有明確地被保護,可能就會成為攻破點。

隨著時間的推移,訪問許可權的查找會降低路由器的轉發速度。每當路由器收到一個分組,它必須識別該分組要到達目的地需經由的下一跳地址,這必將伴隨著另一個很耗費CPU的工作:檢查訪問列表以確定其是否被允許到達該目的地。訪問列表越長,此過程要花的時間就越多。

包過濾的第二個缺陷是它認為包頭信息是有效的,無法驗證該包的源頭。頭信息很容易被精通網路的人篡改,這種篡改通常稱為「欺騙」。

包過濾的種種弱點使它不足以保護你的網路資源,最好與其它更復雜的過濾機制聯合使用,而不要單獨使用。

2、鏈路網關

鏈路級網關對於保護源自私有、安全的網路環境的請求是很理想的。這種網關攔截TCP請求,甚至某些UDP請求,然後代表數據源來獲取所請求的信息。該代理伺服器接收對萬維網上的信息的請求,並?/ca>

❼ 路由演算法的類型有

靜態路由演算法

1.Dijkstra演算法(最短路徑演算法)

Dijkstra(迪傑斯特拉)演算法是典型的單源最短路徑演算法,用於計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。Dijkstra演算法是很有代表性的最短路徑演算法,在很多專業課程中都作為基本內容有詳細的介紹,如數據結構,圖論,運籌學等等。Dijkstra一般的表述通常有兩種方式,一種用永久和臨時標號方式,一種是用OPEN,CLOSE表的方式,這里均採用永久和臨時標號的方式。注意該演算法要求圖中不存在負權迴路。

Dijkstra演算法執行步驟如下:

步驟一:路由器建立一張網路圖,並且確定源節點和目的節點,在這個例子里我們設為V1和V2。然後路由器建立一個矩陣,稱為「鄰接矩陣」。在這個矩陣中,各矩陣元素表示權值。例如,[i,j]是節點Vi與Vj之間的鏈路權值。如果節點Vi與Vj之間沒有鏈路直接相連,它們的權值設為「無窮大」。

步驟二:路由器為網路中的每一個節點建立一組狀態記錄。此記錄包括三個欄位:

前序欄位———表示當前節點之前的節點。

長度欄位———表示從源節點到當前節點的權值之和。

標號欄位———表示節點的狀態。每個節點都處於一個狀態模式:「永久」或「暫時」。

步驟三:路由器初始化(所有節點的)狀態記錄集參數,將它們的長度設為「無窮大」,標號設為「暫時」。

步驟四:路由器設置一個T節點。例如,如果設V1是源T節點,路由器將V1的標號更改為「永久」。當一個標號更改為「永久」後,它將不再改變。一個T節點僅僅是一個代理而已。

步驟五:路由器更新與源T節點直接相連的所有暫時性節點的狀態記錄集。

步驟六:路由器在所有的暫時性節點中選擇距離V1的權值最低的節點。這個節點將是新的T節點。

步驟七:如果這個節點不是V2(目的節點),路由器則返回到步驟5。

步驟八:如果節點是V2,路由器則向前回溯,將它的前序節點從狀態記錄集中提取出來,如此循環,直到提取到V1為止。這個節點列表便是從V1到V2的最佳路由。

2.擴散法

事先不需要任何網路信息;路由器把收到的每一個分組,向除了該分組到來的線路外的所有輸出線路發送。將來會有多個分組的副本到達目的地端,最先到達的,可能是走了「最優」的路徑常見的擴散法是選擇性擴散演算法。

3.LS演算法

採用LS演算法時,每個路由器必須遵循以下步驟:

步驟一:確認在物理上與之相連的路由器並獲得它們的IP地址。當一個路由器開始工作後,它首先向整個網路發送一個「HELLO」分組數據包。每個接收到數據包的路由器都將返回一條消息,其中包含它自身的IP地址。

步驟二:測量相鄰路由器的延時(或者其他重要的網路參數,比如平均流量)。為做到這一點,路由器向整個網路發送響應分組數據包。每個接收到數據包的路由器返回一個應答分組數據包。將路程往返時間除以2,路由器便可以計算出延時。(路程往返時間是網路當前延遲的量度,通過一個分組數據包從遠程主機返回的時間來測量。)該時間包括了傳輸和處理兩部分的時間——也就是將分組數據包發送到目的地的時間以及接收方處理分組數據包和應答的時間。

步驟三:向網路中的其他路由器廣播自己的信息,同時也接收其他路由器的信息。

在這一步中,所有的路由器共享它們的知識並且將自身的信息廣播給其他每一個路由器。這樣,每一個路由器都能夠知道網路的結構以及狀態。

步驟四:使用一個合適的演算法,確定網路中兩個節點之間的最佳路由。

❽ 路由演算法的類型有

路由演算法有很多種,如果從路由表對網路拓撲和通信量變化的自適應能力的角度劃分,可以分為靜態路由演算法和動態路由演算法兩大類,這兩大類又可細分為幾種小類型,比較典型常見的有以下幾種:

一、靜態路由演算法

1.Dijkstra演算法(最短路徑演算法)

Dijkstra(迪傑斯特拉)演算法是典型的單源最短路徑演算法,用於計算一個節點到其他所有節點的最短路徑。主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止。Dijkstra演算法是很有代表性的最短路徑演算法,在很多專業課程中都作為基本內容有詳細的介紹,如數據結構,圖論,運籌學等等。Dijkstra一般的表述通常有兩種方式,一種用永久和臨時標號方式,一種是用OPEN,CLOSE表的方式,這里均採用永久和臨時標號的方式。注意該演算法要求圖中不存在負權迴路。

Dijkstra演算法執行步驟如下:

步驟一:路由器建立一張網路圖,並且確定源節點和目的節點,在這個例子里我們設為V1和V2。然後路由器建立一個矩陣,稱為「鄰接矩陣」。在這個矩陣中,各矩陣元素表示權值。例如,[i,j]是節點Vi與Vj之間的鏈路權值。如果節點Vi與Vj之間沒有鏈路直接相連,它們的權值設為「無窮大」。

步驟二:路由器為網路中的每一個節點建立一組狀態記錄。此記錄包括三個欄位:

前序欄位———表示當前節點之前的節點。

長度欄位———表示從源節點到當前節點的權值之和。

標號欄位———表示節點的狀態。每個節點都處於一個狀態模式:「永久」或「暫時」。

步驟三:路由器初始化(所有節點的)狀態記錄集參數,將它們的長度設為「無窮大」,標號設為「暫時」。

步驟四:路由器設置一個T節點。例如,如果設V1是源T節點,路由器將V1的標號更改為「永久」。當一個標號更改為「永久」後,它將不再改變。一個T節點僅僅是一個代理而已。

步驟五:路由器更新與源T節點直接相連的所有暫時性節點的狀態記錄集。

步驟六:路由器在所有的暫時性節點中選擇距離V1的權值最低的節點。這個節點將是新的T節點。

步驟七:如果這個節點不是V2(目的節點),路由器則返回到步驟5。

步驟八:如果節點是V2,路由器則向前回溯,將它的前序節點從狀態記錄集中提取出來,如此循環,直到提取到V1為止。這個節點列表便是從V1到V2的最佳路由。

2.擴散法
事先不需要任何網路信息;路由器把收到的每一個分組,向除了該分組到來的線路外的所有輸出線路發送。將來會有多個分組的副本到達目的地端,最先到達的,可能是走了「最優」的路徑常見的擴散法是選擇性擴散演算法。

3.LS演算法

採用LS演算法時,每個路由器必須遵循以下步驟:

步驟一:確認在物理上與之相連的路由器並獲得它們的IP地址。當一個路由器開始工作後,它首先向整個網路發送一個「HELLO」分組數據包。每個接收到數據包的路由器都將返回一條消息,其中包含它自身的IP地址。

步驟二:測量相鄰路由器的延時(或者其他重要的網路參數,比如平均流量)。為做到這一點,路由器向整個網路發送響應分組數據包。每個接收到數據包的路由器返回一個應答分組數據包。將路程往返時間除以2,路由器便可以計算出延時。(路程往返時間是網路當前延遲的量度,通過一個分組數據包從遠程主機返回的時間來測量。)該時間包括了傳輸和處理兩部分的時間——也就是將分組數據包發送到目的地的時間以及接收方處理分組數據包和應答的時間。

步驟三:向網路中的其他路由器廣播自己的信息,同時也接收其他路由器的信息。

在這一步中,所有的路由器共享它們的知識並且將自身的信息廣播給其他每一個路由器。這樣,每一個路由器都能夠知道網路的結構以及狀態。

步驟四:使用一個合適的演算法,確定網路中兩個節點之間的最佳路由。

路由演算法有哪些類型?路由演算法與路由協議的區別

在這一步中,路由器選擇通往每一個節點的最佳路由。它們使用一個演算法來實現這一點,如Dijkstra最短路徑演算法。在這個演算法中,一個路由器通過收集到的其他路由器的信息,建立一個網路圖。這個圖描述網路中的路由器的位置以及它們之間的鏈接關系。每個鏈接都有一個數字標注,稱為權值或成本。這個數字是延時和平均流量的函數,有時它僅僅表示節點間的躍點數。例如,如果一個節點與目的地之間有兩條鏈路,路由器將選擇權值最低的鏈路。

二、動態路由演算法

1.距離向量路由演算法

距離向量路由演算法,也叫做最大流量演演算法,其被距離向量協議作為一個演算法,如RIP、BGP、ISO IDRP、NOVELL IPX。使用這個演算法的路由器必須掌握這個距離表(它是一個一維排列-「一個向量」),它告訴在網路中每個節點的最遠和最近距離。在距離表中的這個信息是根據臨近接點信息的改變而時時更新的。表中數據的量和在網路中的所有的接點(除了它自己本身)是等同的。這個表中的列代表直接和它相連的鄰居,行代表在網路中的所有目的地。每個數據包括傳送數據包到每個在網上的目的地的路徑和距離/或時間在那個路徑上來傳輸(我們叫這個為「成本」)。這個在那個演算法中的度量公式是跳躍的次數,等待時間,流出數據包的數量,等等。在距離向量路由演算法中,相鄰路由器之間周期性地相互交換各自的路由表備份。當網路拓撲結構發生變化時,路由器之間也將及時地相互通知有關變更信息。其優點是演算法簡單容易實現。缺點是慢收斂問題,路由器的路徑變化需要像波浪一樣從相鄰路由器傳播出去,過程緩慢。

每一個相鄰路由器發送過來的路由表都要經過以下步驟:

步驟一:對地址為X的路由器發過來的路由表,先修改此路由表中的所有項目:把」下一跳」欄位中的地址改為X,並把所有」距離」欄位都加1。

步驟二:對修改後的路由表中的每一個項目,進行以下步驟:

(1)將X的路由表(修改過的),與S的路由表的目的網路進行對比。若在X中出現,在S中沒出現,則將X路由表中的這一條項目添加到S的路由表中。

(2)對於目的網路在S和X路由表中都有的項目進行下面步驟:

1)在S的路由表中,若下一跳地址是x,則直接用X路由表中這條項目替換S路由表中的項目。

2)在S的路由表中,若下一跳地址不是x,若X路由表項目中的距離d小於S路由表中的距離,則進行更新。

步驟三:若3分鍾還沒有收到相鄰路由器的更新表,則把此相鄰路由器記為不可到達路由器,即把距離設置為16。

2.鏈路狀態最短路由優先演算法SPF

1)發現鄰居結點,並學習它們的網路地址;

2)測量到各鄰居節點的延遲或者開銷;

3)創建鏈路狀態分組;

4)使用擴散法發布鏈路狀態分組;

5)計算到每個其它路由器的最短路徑。

❾ 如何將矢量轉換為山格

矢量格式向柵格格式的轉換

1矢量到柵格的轉換(柵格化過程包括以下操作):
1)將點和線實體的角點的笛卡爾坐標轉換到預定分
辯率和已知位置值的矩陣中;
2)對多邊形而言,測試過角點後,剩下線段處理,
這時只要利用二次掃描就可以知道何時到達多邊
形的邊界,度記錄其位置與屬性值。

2 多邊形轉換(柵格化過程包括以下操作):
1)內部點擴散演算法:
2)射線演算法:
3)掃描填充法:
4)邊界代數演算法:
5)復數積分演算法

1)內部點擴散演算法
該演算法由每個多邊形一個內部點(種子點)開始,向其八個方
向的鄰點擴散,判斷各個新加入點是否在多邊形邊界上,如果
是邊界上,則該新加入點不作為種子點,否則把非邊界點的鄰
點作為新的種子點與原有種子點一起進行新的擴散運算,並將
該種子點賦以該多邊形的編號。重復上述過程直到所有種子點
填滿該多邊形並遇到邊界停止為止。擴散演算法程序設計比較復
雜,並且在一定的柵格精度上,如果復雜圖形的同一多邊形的
兩條邊界落在同一個或相鄰的兩個柵格內,會造成多邊形不連
通,這樣一個種子點不能完成整個多邊形的填充。

2)射線演算法
射線演算法可逐點判斷數據柵格點在某多邊形之外或在多邊形
內,由待判點向圖外某點引射線,判斷該射線與某多邊形所有
邊界相交的總次數,如相交偶數次,則待判點在該多邊形外
部,如為奇數次,則待判點在該多邊形內部(圖7-12)。採用
射線演算法,要注意的是:射線與多邊形邊界相交時,有一些特
殊情況會影響交點的個數,必須予以排除(圖7-13)。

3)掃描演算法
掃描演算法是射線演算法的改進,將射線改為沿柵格陣列列
或行方向掃描線,判斷與射線演算法相似。掃描演算法省去
了計算射線與多邊形邊界交點的大量運算,大大提高了
效率。

4)邊界代數演算法(BAF-Boundary Algebra
Filling)
邊界代數多邊形填充演算法是一種基於積分思想的矢量格式向柵
格格式轉換演算法,它適合於記錄拓撲關系的多邊形矢量數據轉
換為柵格結構。圖7-15表示轉換單個多邊形的情況,多邊形編
號為a,模仿積分求多邊形區域面積的過程,初始化的柵格陣列
各柵格值為零,以柵格行列為參考坐標軸,由多邊形邊界上某
點開始順時針搜索邊界線,當邊界上行時(圖7-15-a),位於
該邊界左側的具有相同行坐標的所有柵格被減去a;當邊界下行
時(圖7-15-b),該邊界左邊(前進方向看為右側)所有柵格
點加一個值a,邊界搜索完畢則完成了多邊形的轉換。

5)復數積分演算法
對全部柵格陣列逐個柵格單元地判斷該柵格歸屬的多邊形編
碼,判別方法是由待判點對每個多邊形的封閉邊界計算復數積
分,對某個多邊形,如果積分值為2r,則該待判點屬於此多邊
形,賦以多邊形編號,否則在此多邊形外部,不屬於該多邊形。

❿ 計算機網路通訊簡答題:擴散路由演算法原理

距離矢量演算法是向相鄰節點交換自己的路由信息,每次收到新的路由信息都需要進行計算以更新路由表,收斂速度較慢;鏈路狀態演算法是向全網節點宣告自己的鏈路狀態信息,使用洪泛的方式擴散,不需要計算直接轉發信息,收斂速度較快,但需要較大的存儲空間來記錄所有節點信息。

熱點內容
存入資料庫 發布:2022-12-09 00:52:44 瀏覽:35
php調用dll 發布:2022-12-09 00:49:02 瀏覽:123
python代碼加密 發布:2022-12-09 00:46:47 瀏覽:768
骨演算法算男女 發布:2022-12-09 00:43:26 瀏覽:643
長虹d27手機出廠密碼是多少 發布:2022-12-09 00:40:43 瀏覽:770
編譯後的代碼可以刪嗎 發布:2022-12-09 00:34:12 瀏覽:143
rankpython 發布:2022-12-09 00:24:46 瀏覽:95
空氣壓縮熱學 發布:2022-12-09 00:22:48 瀏覽:413
編譯技術發展史 發布:2022-12-09 00:19:57 瀏覽:202
android播放器源碼 發布:2022-12-09 00:15:30 瀏覽:640