IP網限制P2P應用流量的QoS策略詳細介紹

2021-04-13 04:19:55 字數 3172 閱讀 3584

【流**網】摘要:可以用acl和nbar技術綜合定義資料流。acl定義可以採用下述引數:源ip位址、目的ip位址、第4層協議(如udp)、源埠號碼以及目的埠號碼等。與一套已定義引數相匹配的資料報都被視為屬於相同的流,nbar技術可以識別應用層流;建立acl用來識別p2p應用埠或者伺服器ip位址。

一、識別流量:

可以用acl和nbar技術綜合定義資料流。acl定義可以採用下述引數:源ip位址、目的ip位址、第4層協議(如udp)、源埠號碼以及目的埠號碼等。與一套已定義引數相匹配的資料報都被視為屬於相同的流,nbar技術可以識別應用層流;建立acl用來識別p2p應用埠或者伺服器ip位址,可根據實際情況配置,例如:

ip access-list extended edonkey

permit tcp any any range 4661 4662

permit tcp any any range 4242 4243

permit udp any any eq 4665

同時應用pdlm包

ip nbar pdlm bittorrent.pdlm

ip nbar pdlm edonkey.pdlm

二、建立策略:

具體實施時,需要先配置乙個使用者定製的policing,該policing應該包括以下三個引數:平均速率、最大突發量和超過限制時所進行的處理。為提供更靈活的頻寬限制,policing又分為兩種:microflow和aggregate.microflowpolicing可以提供對單一流使用頻寬限制,而aggregatepolicing則可以對所有流總使用頻寬進行限制。

將定製的policing放到乙個訪問控制列表中,並定義到乙個埠或乙個vlan上,即可以實現對使用者的頻寬管理。如果同時應用集合和微流策略器,則 qos就會總是執行策略器所制定的最嚴重的行為。例如,如果乙個策略器要求丟棄資料報,而另外乙個策略器則指示資料報降級,那麼資料報將會被丟棄。預設狀態下,微流策略器僅對被路由的(第3層)流量起作用。如果要對橋接的(第2層)流量也起作用,則需要啟用橋接微流策略mls qos bridged。

catalyst6000中的策略可以根據「漏桶」概念來實施:與入局流量資料報對應的令牌都被置入乙個桶中(每個令牌代表1位,從而大資料報比小資料報對應更多的令牌)。在正常時間間隔內,一定數量的令牌數將從桶中取出並被傳送。如果桶中沒有更多空間容納輸入的資料報,則資料報被視為超出配置檔案範圍而被丟棄或者根據配置的策略操作實行降級處理。

計算引數

多種引數控制令牌桶的行為:

· rate 定義每個時間間隔內將有多少令牌取出。低於速率的所有流量都被視為是符合配置要求的。

· interval 定義令牌隔多長時間從桶內取出一次。間隔固定在0.00025秒,從而令牌每秒鐘將從桶中取出4000次。時間間隔不能更改。

· burst 定義在任何乙個時刻桶內能夠容納的最大令牌數。為了維持規定的流量速率,突發速率的大小不應該低於速率與時間間隔的乘積。另外一種考慮就是最大尺寸的資料報也必須能夠置入桶內。

可以用以下公式來確定突發速率引數:

突發速率=(速率(bps)*0.00025(秒/時間間隔))或(最大資料報大小(位)), 取兩者中較大的值。

例如,計算需要在乙太網上維持1 mbps速率所需的最小突發速率值。速率定義為1 mbps,而最大的乙太網資料報為1518 位元組,這樣公式變為:

突發速率=(1,000,000bps*0.00025)或(1518位元組* 8位/位元組)=250 或 12144

兩者中較大的值為12144,我們可將其折算為13 kbps. 注: 在cisco ios中,策略速率以bps定義。此外,突發速率在cisco ios中以位元組來定義。

注: 由於受硬體策略粒度的影響,實際速率和突發速率都應該折算為最接近的支援值。確認突發速率值不低於最大的資料報尺寸,否則所有大於最大突發速率尺寸的資料報都將被丟棄。

例如,如果使用者想在cisco ios中將突發速率設定為1518,則它將會被折算為1000位元組,從而所有大於1000位元組的幀都將被丟棄。解決方案是將突發速率配置為2000。

在定義突發速率時,需要考慮一些協議(如tcp)會針對丟包而採用流控制機制。例如,tcp將把每個要丟失的資料報的視窗縮小一半,相應地,當對某個速率進行策略時,有效的鏈路使用率就會低於配置的速率。您可以增加突發速率從而實現更高的利用率。對這些流量來說,比較簡單易行的方式就是將突發速率的大小增加一倍(在我們的例子中可以從13 kbits增加到26 kbits),監控效能,然後根據需要進行調整。

mls qos

!--- 啟用 qos

mls qos flow-policing

class-map match-any bit

match protocol bittorrent

match protocol edonkey

match access-group edonkey

match … !-使用者根據實際情況定義

policy-map p2p

class bit

police flow 100000 2000 conform-action tran**it exceed-action drop

!--- 定義微流管理器,限制每個p2p應用流為100 kbps的微流量

police 20000000 13000 26000 conform-action tran**it exceed-action drop

!--- 定義聚合管理器,以便限制所有p2p應用流為20mbps聚合流量

三、在介面上應用策略(裝置可能僅支援input方向)

inte***ce gigabitethernet0/2

service-policy input p2p

service-policy output p2p

如果實施基於vlan的qos配置,需要在二層介面配置mls qos vlan-based

四、驗證策略實施情況

sh mls qos

sh mls qos ip gigabitethernet 0/2

sh mls ip detail #進行微流策略統計

sh int g0/2 rate-limit

show policy-map inte***ce g0/2

show ip nbar unclassified-port-stats

show ip nbar protocol stats byte-count

show ip nbar port-map | include custom

P2P應用的困難

伺服器 客戶端模式所提供的各種各樣的互連網服務,讓我們的生活從此豐富多彩。而如果這些服務呈現在 p2p結構中會有一些什麼不同?為什麼 p2p技術會引起人們那麼多的重視?理論上,伺服器 客戶端結構能夠實現的應用在 p2p結構中也應該能夠實現。所不同的無非是伺服器的處理能力更強大,而 pc機的處理能力相...

P2P技術與應用

p2p即peer to peer,稱為對等連線或對等網路,p2p技術主要指由硬體形成連線後的資訊控制技術,其代表形式是軟體。技術背景 p2p起源於最初的聯網通訊方式,如在建築物內pc通過區域網互聯,不同建築物間通過modem遠端撥號互聯。其中建立在tcp ip協議之上的通訊模式構成了今日網際網路的基...

區域網P2P技術實現

p2p技術實現方式有很多,現主要介紹利用socket tcp方式構建p2p環境的方法。在開始的時候主要參考nbd協議部分的server端程式來實現bt服務端程式。每個client端都有兩個程序來實現p2p功能,乙個是客戶端的server程式,另乙個是客戶端的client程式。而bt伺服器端只有乙個程...