基於Linux的QoS程式設計介面研究與分析(5)

2021-06-12 10:50:30 字數 1995 閱讀 2306

2.2 sbm

:子網頻寬管理

qos只能保證和最弱的鏈路一樣的通訊質量。qos懥磼是傳送端和接收端間的端到端,這就表明沿著路由的每乙個路由器一定要支援現在使用的qos技術。然而,qos懥磼由頂至底也是要從下面兩個方面認真考慮的:

傳送端和接收端主機必須支援qos

,使得應用和系統能獲得明顯或不明顯的好處。osi的每一層向下的應用必須也要支援qos,以保證在網路裡具有高優先順序別的傳送和接收請求能獲得高優先順序別的處理

區域網(lan)

必須支援qos,以便具有高優先順序別的幀在網路媒介中傳送(如:從主機到主機,主機到路由器,以及路由器到路由器之間)時可以獲得高優先順序別的處理。lan位於osi的第二層,即資料鏈路層,而前面所描述的qos技術已經到了第三層(diffserv)及以上層。

某些第二層的技術已經可以支援qos

了,例如非同步轉移模式atm)。而其它更多的lan技術(如乙太網技術)最初並非為支援qos設計的。乙太網作為共享的廣播媒介,或者,在它的交換方式中,提供了一種類似與標準的盡力而為的ip服務,這種服務中的各種遲延影響著有實時要求的應用。用於802lan(如乙太網)資源共享和交換的子網頻寬管理(sbm)協議是一種信令協議,它允許網路節點之間的通訊、協作,以及交換並使之能夠對映到更高層的qos協議。

2.3 qos

結構

這些qos

協議是不可能單獨使用的,實際上,設計它們是為了在傳送端和接收端之間同其它qos技術一起,來提供頂到底、端到端的qos。至今,大多數把這些qos協議粘在一起的規範還沒有標準化,但是搭建各種盡可能提供統一的端到端qos結構框架的工作已經開始進行了。

rsvp

和diffserv的端到端模式:rsvp為網路業務預留資源,而diffserv簡單地標記業務並給業務分配優先等級。從路由器的要求來講,rsvp比diffserv更複雜,要求更高,由此可能會對骨幹路由器的效能產生不良影響。這就是為什麼最普通的方法恰恰會限制rsvp在骨幹網上的應用。

diffserv

和rsvp結合能夠支援端到端的qos。終端主機可以採用高量化程度(如:頻寬,抖動門限等)的rsvp請求。於是,骨幹網入口的邊界路由器就能把那些rsvp預留的資源對映到相應的服務級別上去。這個在網路邊界處使用rsvp、核心處使用diffserv的概念已經在ietf的diffserv小組的工作進展中很快得到了支援,雖然最初的測試沒有顯示出明顯的結果:

支援rsvp

的mpls:建議在rsvp裡使用explicit_route物件,來判別由標記交換的rsvp流所攜帶的路徑資訊。這些rsvp流是利用虛擬通道,經過支援mpls的路由器形成的。即使在rsvp內沒有為explicit_route物件預留資源,根據這個rsvp流的說明,為mpls分配標籤也是可能的。無論哪種情況,作用都是在mpls路由器上簡單地支援rsvp

支援diffserv

的mpls:由於diffserv和mpls在支援qos方面有相似之處,把diffserv的業務對映到mpls'通道'上相對簡單一些,但是仍然要專門為diffserv考慮。為了支援diffserv的'每跳'模式,mpls網路運營商需要在每個mpls路由器裡,為每個diffserv**級分配一批綜合**資源並負責標籤的分配。

2.4 qos

對多**的支援

如果internet

儘管在qos

協議設計的最初已經有所考慮,但是,所有支援組播的qos仍沒有統一標準,或還沒有完全被理解。最初對rsvp和綜合服務的設計已經把對ip組播的支援考慮進去了(如,基於接收端的資源預留)。而要支援組播就會面臨乙個困難,那就是,構成組播組的接收端要可以在它們的下行頻寬容量範圍內較隨意地變化。

差分業務的相對簡單使得它能更好地適應組播支援,但仍存在問題。特別是由於組播組是動態變化的,另外儘管乙個組播分布樹可以有乙個單獨網路入口,但經常有多個網路出口(

並隨著組播組的變化而變化),所以給業務量的估算帶來困難。

mpls

支援組播是乙個大家努力快速發展的主題,但至今還沒有標準。sbm顯然支援組播,並且採用ip組播作為協議的組成部分。

基於Linux的QoS程式設計介面研究與分析(1)

第一章緒論 1.1什麼是linux linux是一套免費使用和自由傳播的類unix作業系統,它主要用於基於intel x86系列cpu的計算機上。這個系統是由全世界各地的成千上萬的程式設計師設計和實現的。其目的是建立不受任何商品化軟體的版權制約的 全世界都能自由使用的unix相容產品。linux的出...

基於介面程式設計。

舉乙個常用的例子,比如程式的資料庫訪問層能夠同時支援,sqlserver,oracle等多種資料庫。這樣,在例項化ado.net物件和具體操作時候,就要走不同的分支。乙個是sql server的,乙個是oracle的。這時候,就需要不同的條件 可以是後台設定的使用sql or oracle or 例...

基於Linux的socket程式設計模板

基於linux的socket程式設計模板 在網路程式設計程式設計中,我們經常會遇到這樣一種c s架構,伺服器端 server 監聽客戶端 client 傳送過來的命令,然後解析該命令,並做對應的處理,最後返回處理結果 例如成功或者失敗及原因 給客戶端。在這種情況客戶端必須實現的的介面有 連線伺服器 ...