1、ACL
1.1 ACL(Access Control List,訪問控制列表)是一或多條規則的集合,用於識別報文流。這裏的規則是指描述報文匹配條件的判斷語句,匹配條件可以是報文的源地址、目的地址、端口號等。網絡設備依照這些規則識別出特定的報文,並根據預先設定的策略對其進行處理。
1.2 ACL分類
1.3 ACL匹配順序
當一個 ACL 中包含多條規則時,報文會按照一定的順序與這些規則進行匹配,一旦匹配上某條規則便結束匹配過程。ACL 的規則匹配順序有以下兩種:
• • 配置順序:按照規則編號由小到大進行匹配。
• • 自動排序:按照“深度優先”原則由深到淺進行匹配,由詳細到寬泛
1.4 ACL配置
基本ACL
acl number 2000
rule deny|permit source {source-address source-wildcard| any}
高級ACL
acl number 3000
rule permit ip source 192.168.1.0 0.0.0.255 destination 192.168.0.100 0
2 QoS
2.1 QoS簡介
QoS 即服務質量。對於網絡業務,影響服務質量的因素包括傳輸的帶寬、傳送的時延、數據的丟包率等。在網絡中可以通過保證傳輸的帶寬、降低傳送的時延、降低數據的丟包率以及時延抖動等措施來提高服務質量。
網絡資源總是有限的,只要存在搶奪網絡資源的情況,就會出現服務質量的要求。服務質量是相對網絡業務而言的,在保證某類業務的服務質量的同時,可能就是在損害其它業務的服務質量。例如,在網絡總帶寬固定的情況下,如果某類業務佔用的帶寬越多,那麼其他業務能使用的帶寬就越少,可能會影響其他業務的使用。因此,網絡管理者需要根據各種業務的特點來對網絡資源進行合理的規劃和分配,從而使網絡資源得到高效利用。
2.2 QoS技術綜述
QoS 技術包括流分類、流量監管、流量整形、接口限速、擁塞管理、擁塞避免等。
• • 流分類:採用一定的規則識別符合某類特徵的報文,它是對網絡業務進行區分服務的前提和基礎。
• • 流量監管:對進入或流出設備的特定流量進行監管,以保護網絡資源不受損害。可以作用在接口入方向和出方向。
• • 流量整形:一種主動調整流的輸出速率的流量控制措施,用來使流量適配下游設備可供給的網絡資源,避免不必要的報文丟棄,通常作用在接口出方向。
• • 擁塞管理:當擁塞發生時制定一個資源的調度策略,決定報文轉發的處理次序,通常作用在接口出方向。
• • 擁塞避免:監督網絡資源的使用情況,當發現擁塞有加劇的趨勢時採取主動丟棄報文的策略,通過調整隊列長度來解除網絡的過載,通常作用在接口出方向。
2.3 QoS策略配置方式
QoS 策略包含了三個要素:類、流行爲、策略。用戶可以通過 QoS 策略將指定的類和流行爲綁定起來,靈活地進行 QoS 配置。
(1) 類
類的要素包括:類的名稱和類的規則。
用戶可以通過命令定義一系列的規則來對報文進行分類。
traffic classifier classifier-name
if-match match-criteria
(2) 流行爲
流行爲用來定義針對報文所做的 QoS 動作。
流行爲的要素包括:流行爲的名稱和流行爲中定義的動作。
用戶可以通過命令在一個流行爲中定義多個動作。
traffic behavior behavior-name
(3) 策略
策略用來將指定的類和流行爲綁定起來,對符合分類條件的報文執行流行爲中定義的動作。策略的要素包括:策略名稱、綁定在一起的類和流行爲的名稱。用戶可以在一個策略中定義多個類與流行爲的綁定關係。
qos policy policy-name
classifier classifier-name behavior behavior-name
QoS 策略支持以下應用方式:
• • 基於接口應用 QoS 策略:QoS 策略對通過接口接收或發送的流量生效。
interface g1/0/1
qos apply policy policy-name {inbound|outbound}
• • 基於VLAN應用QoS策略:QoS策略對通過同一個VLAN內所有接口接收或發送的流量生效。
qos vlan-policy policy-name vlan vlan-id-list {inbound|outbound}
• • 基於全局應用 QoS 策略:QoS 策略對所有流量生效。
qos apply policy policy-name global {inbound|outbound}
• • 基於控制平面應用 QoS 策略:QoS 策略對通過控制平面接收的流量生效。
• • 基於上線用戶應用 QoS 策略:QoS 策略對通過上線用戶接收或發送的流量生效。
user-profile profile-name
qos apply policy policy-name {inbound|outbound}
2.4優先級映射
文在進入設備以後,設備會根據映射規則分配或修改報文的各種優先級的值,爲隊列調度和擁塞控制服務。
優先級映射功能通過報文所攜帶的優先級字段來映射其他優先級字段值,就可以獲得決定報文調度能力的各種優先級字段,從而爲全面有效的控制報文的轉發調度等級提供依據。
優先級用於標識報文傳輸的優先程度,可以分爲兩類:報文攜帶優先級和設備調度優先級。報文攜帶優先級包括:802.1p優先級、DSCP優先級、IP優先級、EXP優先級等。這些優先級都是根據公認的標準和協議生成,體現了報文自身的優先等級。
2.5流量監管、流量整形和接口限速簡介
如果不限制用戶發送的流量,那麼大量用戶不斷突發的數據只會使網絡更擁擠。爲了使有限的網絡資源能夠更好地發揮效用,更好地爲更多的用戶服務,必須對用戶的流量加以限制。比如限制每個時間間隔某個流只能得到承諾分配給它的那部分資源,防止由於過分突發所引發的網絡擁塞。流量監管、流量整形和接口限速可以實現流量的速率限制功能,而要實現此功能就必須對通過設備的流量進行度量。一般採用令牌桶(Token Bucket)對流量進行度量。
流量監管就是對流量進行控制,通過監督進入網絡的流量速率,對超出部分的流量進行“懲罰”,使進入的流量被限制在一個合理的範圍之內,以保護網絡資源和運營商的利益。例如可以限制 HTTP報文不能佔用超過 50%的網絡帶寬。如果發現某個連接的流量超標,流量監管可以選擇丟棄報文,或重新配置報文的優先級。
流量整形是一種主動調整流量輸出速率的措施。一個典型應用是基於下游網絡節點的流量監管指標來控制本地流量的輸出。
流量整形與流量監管的主要區別在於:
• • 流量整形對流量監管中需要丟棄的報文進行緩存——通常是將它們放入緩衝區或隊列內,當令牌桶有足夠的令牌時,再均勻的向外發送這些被緩存的報文。
• • 流量整形可能會增加延遲,而流量監管幾乎不引入額外的延遲。
利用接口限速可以在一個物理接口上限制發送報文(包括緊急報文)的總速率。
接口限速也是採用令牌桶進行流量控制。如果在設備的某個接口上配置了接口限速,所有經由該接口發送的報文首先要經過接口限速的令牌桶進行處理。如果令牌桶中有足夠的令牌,則報文可以發送;否則,報文將進入 QoS 隊列進行擁塞管理。這樣,就可以對通過該物理接口的報文流量進行控制。
interface g1/0/1
qos lr {inbound | outbound} cir committed-information-rate //配置接口限速
配置舉例:
配置需求
• • 設備 Router A 通過接口 GigabitEthernet3/0/3 和設備 Router B 的接口 GigabitEthernet3/0/1互連
• • Server、Host A、Host B 可經由 Router A 和 Router B 訪問 Internet
要求在設備 Router A 上對接口 GigabitEthernet3/0/1 接收到的源自 Server 和 Host A 的報文流分別實施流量控制如下:
• • 來自 Server 的報文流量約束爲 102400kbps,流量小於 102400kbps 時可以正常發送,流量超過 102400kbps 時則將違規報文的 DSCP 優先級設置爲 0 後進行發送;
• • 來自 Host A 的報文流量約束爲 25600kbps,流量小於 25600kbps 時可以正常發送,流量超過25600kbps 時則丟棄違規報文;
對設備 Router B 的 GigabitEthernet3/0/1 和 GigabitEthernet3/0/2 接口收發報文有如下要求:
• • Router B 的 GigabitEthernet3/0/1 接口接收報文的總流量限制爲 204800kbps,如果超過流量限制則將違規報文丟棄;
• • 經由 Router B 的 GigabitEthernet3/0/2 接口進入 Internet 的 HTTP 報文流量限制爲102400kbps,如果超過流量限制則將違規報文丟棄。
配置設備Router A:
acl number 2001
rule permit source 1.1.1.1 0 //匹配Server的報文流
quit
acl number 2002
rule permit source 1.1.1.2 0 //匹配HostA的報文流
quit
traffic classifier server
if-match acl 2001
quit
traffic classifier host
if-match acl 2002
quit
traffic behavior server
car cir 102400 red remark-dscp-pass 0 //創建流行爲 server,動作爲流量監管,cir 爲 102400kbps,對超出限制的報文(紅色報文)將其DSCP 優先級設置爲 0 後發送。
quit
traffic behavior host
car cir 25600 // 創建流行爲 host,動作爲流量監管,cir 爲 25600kbps,由於默認對紅色報文的處理方式就是丟棄,因此無需配置。
quit
qos policy car //創建QoS策略,命名爲car
classifier server behavior server
classifier host behavior host
quit
interface g3/0/1
qos apply policy car inbound
配置設備Router B:
acl number 3001
rule permit tcp destination-port eq 80
quit
traffic classifier http
if-match acl 3001
quit
traffic classfier class
if-match any
quit
traffic behavior car_inbound
car cir 204800 //創建流行爲 car_inbound,動作爲流量監管,cir 爲204800kbps。
traffic behavior car_inbound
car cir 102400 //創建流行爲 car_outbound,動作爲流量監管,cir 爲102400kbps。
quit
qos policy car_inbound
classifier class behavior car_inbound
quit
qos policy car_outbound
classifier http behavior car_outbound
quit
interface g3/0/1
qos apply policy car_inbound inbound
quit
interface g3/0/2
qos apply policy car_outbound outbound
2.6 擁塞管理
所謂擁塞,是指當前供給資源相對於正常轉發處理需要資源的不足,從而導致服務質量下降的一種現象。
對於擁塞管理,一般採用隊列技術,使用一個隊列算法對流量進行分類,之後用某種優先級別算法將這些流量發送出去。
(1)SP隊列
SP隊列是針對關鍵業務類型應用設計的。關鍵業務有一個重要的特點,即在擁塞發生時要求優先獲
得服務以減小響應的延遲。以 圖 5-2 爲例,優先隊列將端口的 8 個輸出隊列分成 8 類,依次爲 7、
6、5、4、3、2、1、0 隊列,它們的優先級依次降低。
在隊列調度時,SP 嚴格按照優先級從高到低的次序優先發送較高優先級隊列中的分組,當較高優先級隊列爲空時,再發送較低優先級隊列中的分組。這樣,將關鍵業務的分組放入較高優先級的隊列,將非關鍵業務的分組放入較低優先級的隊列,可以保證關鍵業務的分組被優先傳送,非關鍵業務的分組在處理關鍵業務數據的空閒間隙被傳送。
SP 的缺點是:擁塞發生時,如果較高優先級隊列中長時間有分組存在,那麼低優先級隊列中的報文將一直得不到服務。
(2)WRR隊列
WRR 隊列在隊列之間進行輪流調度,保證每個隊列都得到一定的服務時間。以端口有 8 個輸出隊列爲例,WRR 可爲每個隊列配置一個加權值(依次爲 w7、w6、w5、w4、w3、w2、w1、w0),加權值表示獲取資源的比重。如一個 100Mbps 的端口,配置它的 WRR 隊列的加權值爲 5、5、3、3、1、1、1、1(依次對應 w7、w6、w5、w4、w3、w2、w1、w0),這樣可以保證最低優先級隊
列至少獲得 5Mbps 的帶寬,解決了採用 SP 調度時低優先級隊列中的報文可能長時間得不到服務的問題。
WRR 隊列還有一個優點是,雖然多個隊列的調度是輪詢進行的,但對每個隊列不是固定地分配服務時間片——如果某個隊列爲空,那麼馬上換到下一個隊列調度,這樣帶寬資源可以得到充分的利用。
用戶可以根據需要將所有隊列全部採用 WRR 調度,也可以配置隊列加入 SP 分組,採用嚴格優先級調度算法。調度時先調度 SP 組,然後調度 WRR 優先組。
(3)WFQ隊列
WFQ 和 WRR 隊列調度算法類似。在分組 WFQ 隊列中,也可以配置隊列加入 SP 分組,採用嚴格優先級調度算法。調度時先調度 SP 組,然後調度其他 WFQ 優先組。兩者差異如下:WFQ 支持帶寬保證,可以保證端口流量擁塞時能夠獲得的最小隊列帶寬。
(4)CBQ隊列
CBQ 爲用戶提供了定義類的支持,爲每個用戶定義的類分配一個單獨的 FIFO 預留隊列,用來緩衝同一類的數據。在網絡擁塞時,CBQ 對報文根據用戶定義的類規則進行匹配,並使其進入相應的隊列,在入隊列之前必須進行擁塞避免機制和帶寬限制的檢查。在報文出隊列時,加權公平調度每個類對應的隊列中的報文。
CBQ 包括以下隊列:
• • LLQ 隊列:即 EF 隊列,爲實時業務報文提供嚴格優先發送服務。在使用 LLQ 時將會爲每個優先類指定可用最大帶寬,該帶寬值用於擁塞發生時監管流量。如果擁塞未發生,優先類允許使用超過分配的帶寬。如果擁塞發生,優先類超過分配帶寬的數據包將被丟棄。LLQ 還可以指定 Burst-size。
• • BQ 隊列:即 AF 隊列。爲 AF 業務提供嚴格、精確的帶寬保證,並且保證各類 AF 業務之間按一定的比例關係進行隊列調度。
• • 加權公平調度隊列:一個 WFQ 隊列,用來支撐 BE 業務,使用接口剩餘帶寬進行發送。系統在爲報文匹配規則時,規則如下:
• • 不同類之間按照 C-B 對的配置順序逐一匹配,先配置先生效。
• • 同一個類內的多個規則也是按照配置順序逐一匹配,先配置先生效。
配置命令:
interface g1/0/1
qos sp //缺省採用sp隊列算法
interface g1/0/1
qos wrr weight //配置使用WRR隊列算法
qos wrr queue-id group {1|2|3|4} weight schedule-value //配置WRR隊列參數
interfa g1/0/1
qos wfq weight //配置使用WFQ隊列算法
qos wfq queue-id weight schedule-value //配置分組WFQ隊列的參數
qos bandwidth queue queue-id min bandwidth-vlue //配置最小保證帶寬值
2.7 配置隊列調度策略
配置隊列調度策略時,用戶首先要創建一個隊列調度策略,然後進入隊列調度策略視圖進行隊列調度參數的相關配置,最後將隊列調度策略應用到接口。
隊列調度策略中隊列的調度參數支持動態修改,從而方便修改已經應用的隊列調度策略。
(1)基於類的隊列的配置
基於類的隊列 CBQ 的配置步驟如下:
定義類
traffic classifier classifier-name
if-match match-criteria
定義流行爲
traffic behavior behavior-name
queue af bandwidth bandwidth //配置確保轉發的流量保證寬帶
定義策略
qos policy policy-name
classifier classifier-name behavior behavior-name
- 在接口視圖的出方向應用 QoS 策略
interface g0/0/1
qos apply policy policy-name {inbound|outbound}
配置舉例:
組網需求
在下面的組網圖中,從 Router C 發出的數據流經過 Router A 和 Router B 到達 Router D,需求如下:
• • Router C 發出的數據流根據 IP 報文的 DSCP 域分爲 3 類,要求配置 QoS 策略,對於 DSCP域爲 AF11 和 AF21 的流進行確保轉發(AF),保證帶寬爲 5M;
• • 對於 DSCP 域爲 EF 的流進行加速轉發(EF),保證帶寬爲 30M。
在進行配置之前,應保證:
• • Router C 發出的流能夠通過 Router A 和 Router B 可達 Router D。
• • 報文的 DSCP 域在進入 Router A 之前已經設置完畢。
Router A上的配置:
traffic classifier ef_class
if-match dscp ef
quit
traffic classifier af11_class
if-match dscp af11
quit
traffic classifier af21_class
if-match dscp af21
quit
acl number 3000
rule permit ip
quit
traffic classifier be_class
if-match acl 3000
quit
traffic behavior ef_behav
queue ef bandwidth 3000 //配置EF,設置加速轉發的流量帶寬
quit
traffic behavior af11_behav
queue af bandwidth 5000
quit
traffic behavior af21_behav
queue af bandwidth 5000
quit
traffic behavior be_behav
queue wfq
quit
qos policy dscp
classifier ef_class behavior ef_behav
classifier af11_class behavior af11_behav
classifier af21_class behavior af21_behav
classifier be_class behavior be_behav
interface g3/1/1
qos apply policy dscp outbound
display qos policy interface g3/1/1 outbound