1、QOS模型
讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:域名注冊、網站空間、營銷軟件、網站建設、扎囊網站維護、網站推廣。盡力而為服務模型(Best-effort)
集成服務模型(Integrated Services)
差分服務模型(Differentiated Services)
2、差分服務模型結構
3、分類與標記
標記可以使用IP包頭中TOS的高三位(IP優(yōu)先級)或高六位(DSCP)做標記。
在R1上將ICMP流量的優(yōu)先級設置為2,將HTTP流量的DSCP值設置為AF22,其他沒匹配到的流量優(yōu)先級設置為1,在ISP上查看標記是否生效。
ISP配置如下:
ip http server
access-list 100 permit ip any any dscp af22
access-list 100 permit ip any any precedence 1
access-list 100 permit ip any any precedence 2
interface FastEthernet2/0
service-policy input MARK
R1配置如下:
access-list 110 permit icmp any any
access-list 120 permit tcp any any eq www
class-map match-all ICMP
match access-group 110
class-map match-all WWW
match access-group 120
policy-map MARK
class ICMP
set precedence 2
class WWW
set dscp af22
class class-default
set precedence 1
interface FastEthernet2/0
service-policy input MARK
TEST上的測試命令
ping 33.1.1.1
telnet 33.1.1.1 80
查看命令
show ip access-lists
show class-map
show policy-map
show policy-map interface s0/1
4、隊列技術(擁塞管理)
隊列技術應用于接口的出方向,一個接口只能使用一種隊列技術。
路由器的接口上有一個軟件隊列和一個硬件隊列。數(shù)據包先進入軟隊列,然后使用隊列技術對數(shù)據包進行調度進入硬件隊列,硬件隊列始終采用先進先出的方式發(fā)送數(shù)據包。
常用的隊列技術:FIFO、PQ、CQ、WFQ、LLQ都是CLI工具,而CBWFQ是MQC工具。
先進先出隊列(FIFO)
優(yōu)先級隊列(PQ)
自定義隊里(CQ)
加權公平隊列(WFQ)
低延時隊列(LLQ)
實時傳輸隊列(RTP PQ):
基于類加權公平隊列(CBWFQ)
隊列技術三大組件:分類組件、插入丟棄組件、調度組件
先進先出隊列(FIFO)
默認時:當接口的速度大于2.048Mbps是,路由器采用FIFO進行調度。
優(yōu)先級隊列(PQ)
隊列數(shù):高、中、普通、低共4個隊列
分類:根據事先分類放入不同隊列
插入丟棄:可以設置隊列長度,隊列滿后,數(shù)據包將被尾丟棄
調度:按照高、中、普通、低的順序調度,只用高優(yōu)先級的隊列為空才會調度中優(yōu)先級,依次類推。
優(yōu)點:保證高優(yōu)先數(shù)據包優(yōu)先轉發(fā)
缺點:高優(yōu)先隊列不為空,低優(yōu)先級隊列永遠得不到轉發(fā)
指定不符合任何類型的數(shù)據包將進入的隊列(默認normal)
priority-list 1 default high
根據數(shù)據包的入口分類并將其放入到某個隊列
priority-list 1 interface serial 0/0 high
根據數(shù)據包的協(xié)議類型分類并將其放入到某個隊列
priority-list 1 protocol ip high tcp telnet
指定各隊列的大小
priority-list 1 queue-limit 10 10 10 10
在接口上應用隊列
priority-group 1
=================================================================
R1
=================================================================
priority-list 1 interface FastEthernet2/0 high
priority-list 1 protocol ip normal tcp www
priority-list 1 default low
priority-list 1 queue-limit 10 20 30 40
interface Serial0/1
priority-group 1
查看接口上的隊列
show int s0/1
查看隊列配置
show queueing priority
測試隊列是否生效
debug priority
show queueing interface s0/1
自定義隊列(CQ)
隊列數(shù):CQ有17個隊列,其中隊列0為優(yōu)先級隊列。只有隊列0為空,才為其他隊列服務。
分類:根據事先分類放入不同隊列
插入丟棄:可以設置隊列長度,隊列滿后,數(shù)據包將被尾丟棄
調度:為第1個隊列轉發(fā)一定字節(jié)數(shù)的數(shù)據包后,就轉為為第2個隊列轉發(fā),依次輪詢
優(yōu)點:保證每個隊列都有被服務的機會
指定不符合任何類型的數(shù)據包將進入的隊列(默認隊列1)
queue-list 1 default 1
根據數(shù)據包的入口分類并將其放入到某個隊列
queue-list 1 interface serial 0/0 1
根據數(shù)據包的協(xié)議類型分類并將其放入到某個隊列
queue-list 1 protocol ip 1 tcp telnet
指定每次輪詢時各隊列被轉發(fā)的數(shù)據包字節(jié)數(shù)
queue-list 1 queue 1 byte-count 100
指定各隊列的大小
queue-list 1 queue 1 limit 100
指定優(yōu)先級隊列(例如此時為2,則隊列0和1都是優(yōu)先級隊列)
queue-list 1 lowest-custom 2
在接口上應用隊列
custom-queue-list 1
=================================================================
R1
=================================================================
queue-list 1 interface FastEthernet2/0 2
queue-list 1 protocol ip 3 tcp www
queue-list 1 queue 1 byte-count 100 limit 100
queue-list 1 queue 2 byte-count 200 limit 200
queue-list 1 queue 3 byte-count 300 limit 300
queue-list 1 lowest-custom 4
interface Serial0/1
custom-queue-list 1
查看接口上的隊列
show int s0/1
查看隊列配置
show queueing custom
測試隊列是否生效
debug custom-queue
show queueing interface s0/1
加權公平隊列(WFQ)
默認時:當接口的速度小于2.048Mbps時,路由器采用WFQ進行調度。
分類:具有相同協(xié)議類型,源IP,目的IP,源端口,目的端口,TOS值的數(shù)據包看成一個流,同一個流的數(shù)據包將放到一個隊列中。
插入丟棄:隊列滿后,數(shù)據包將執(zhí)行WFQ丟棄,丟棄最差完成時間的數(shù)據包
調度:先調度最快能轉發(fā)完畢的數(shù)據包,包的大小采用虛擬包大?。ㄌ摂M包大小=實際包大小/(IP優(yōu)先級+1))
優(yōu)點:優(yōu)先級越高、包越小的數(shù)據包優(yōu)先得到轉發(fā)
WFQ丟棄機制:(丟棄最差完成時間的數(shù)據包)
HQO(Hold Queue Out Limit):整個WFQ系統(tǒng)所能存放的大數(shù)據包數(shù)量,這個值為各隊列之和。
CDT(Congestive Discard Threshold):WFQ丟棄機制的門限值,當各隊列數(shù)據包數(shù)量之和達到CDT就開始丟棄數(shù)據包。
=================================================================
R1
=================================================================
interface Serial0/1
fair-queue 512 64 (指定CDT為512,大會話數(shù)為64)
hold-queue 1500 out (指定HQO為1500)
查看接口上的隊列
show int s0/1
基于類的加權公平隊列(CBWFQ)
分類:允許自定義類,把數(shù)據放入不同隊列,最多可以定義64個類,不匹配分類的數(shù)據放到系統(tǒng)默認類class-default中
插入丟棄:可以設置隊列長度,隊列滿后,數(shù)據包將被尾丟棄
調度:對每個隊列保留指明帶寬,每個隊列默認采用FIFO調度,但也可以結合WFQ調度。如何保證帶寬及各隊列數(shù)據包如何被調度到硬件隊列無從知曉。
優(yōu)點:保證流量的最小帶寬,而不是限制最多帶寬
=================================================================
R1
=================================================================
access-list 1 permit 192.168.1.100
access-list 2 permit 192.168.1.1
class-map match-all 100
match access-group 1
class-map match-all 1
match access-group 2
policy-map MARK
class 100
bandwidth 500
class 1
bandwidth 500
interface Serial0/1
service-policy output MARK
查看命令
show class-map
show policy-map
show policy-map interface s0/1
低延時隊列(LLQ)
LLQ配置類似CBWFQ,調度機制類似PQ。LLQ通常和CBWFQ一起使用。
=================================================================
R1
=================================================================
class-map match-any CLASS-MAP3
match ip precedence 5
class-map match-all CLASS-MAP2
match protocol telnet
class-map match-any CLASS_MAP1
match protocol http
match protocol ftp
policy-map MY-POLICY
class CLASS_MAP1
bandwidth 512
class CLASS-MAP2
bandwidth 128
queue-limit 128
class CLASS-MAP3
priority 128
interface Serial0/0
bandwidth 1024
service-policy output MY-POLICY
這個例子中結合使用了LLQ和CBWFQ。
CLASS-MAP3使用LLQ,保證帶寬為128kbps,優(yōu)先于CLASS-MAP1,CLASS-MAP2轉發(fā)
CLASS-MAP1,CLASS-MAP2使用WFQ,保證帶寬分別為512kbps,128kbps。
查看命令
show class-map
show policy-map
show policy-map interface s0/0
RTP優(yōu)先隊列
RTP優(yōu)先隊列是一種解決語音服務質量的簡單技術,期原理就是將承載語音的RTP數(shù)據包送入優(yōu)先級隊列使其得到優(yōu)先轉發(fā)。
RTP識別語音的UDP數(shù)據包端口,這些數(shù)據包通常使用16384~32767的偶數(shù)端口發(fā)送。
RTP優(yōu)先隊列可以和前面的任何一種隊列包括FIFO、PQ、CQ、WFQ、CBWFQ、LLQ結合使用,但是它的優(yōu)先級是最高的。即使RTP和LLQ一起使用,RTP的優(yōu)先級也比LLQ高。
interface Serial0/0
ip rtp priority 16384 16383 256
16384最低UDP端口號,16383端口增量,帶寬256kbps
5、擁塞避免
隨機早期預檢測(RED)
給隊列設定兩個門限值:最小門限和大門限,當隊列的平均長度小于最小門限時,不丟棄數(shù)據包;
當隊列的平均長度在最小門限和大門限之間時,RED開始隨機丟棄數(shù)據包;當隊列的平均長度大于最高門限時,丟棄尾部所有的數(shù)據包。
加權隨機早期預檢測(WRED)
WRED和RED的原理一樣,但是WRED可以根據不同的IP優(yōu)先級或DSCP值,設定不同的最小門限、大門限和丟棄概率,從而對不同優(yōu)先級的數(shù)據包提供不同的丟棄特性。
WRED不能和PQ、CQ、WFQ隊列同時使用。
配置基于IP Precedence的WRED
random-detect
根據IP優(yōu)先級設置數(shù)據包的最小門限值、大門限值、丟棄數(shù)據包的丟棄概率(該例中概率應該為1/10)
random-detect precedence 1 10 20 10
配置基于DSCP的WRED
random-detect dscp-based
根據DSCP設置數(shù)據包的最小門限值、大門限值、丟棄數(shù)據包的丟棄概率(該例中概率應該為1/10)
random-detect dscp af22 10 20 10
設置計算隊列平均長度的權重因子(默認值為9)
random-detect exponential-weighting-constant 9
查看WRED隊列配置
show queueing int s0/0
基于流的加權隨機早期預檢測(FB-WRED)
WRED中,只用TCP流會對丟包做出反應并降低速率;而UDP等非自適應流并不會對丟包做出反應,因此UDP等非自適應流在擁塞時發(fā)送分組的速率將比自適應流高得多。
FB-WRED對WRED除了改進,他對占用隊列資源多余公平份額的流將得到懲罰。
FB-WRED根據流和IP優(yōu)先級(或者DSCP值)把到達的數(shù)據包放到不同的隊列中,并且計算每個活動流的公平隊列資源份額(隊列長度/活動流的數(shù)目),
對于占用隊列資源多余公平份額的流將得到懲罰。方法是通過降低隊列的WRED大門限值來加大分組的丟棄概率。
新的大門限值=最小門限值+{(大門限值-最小門限值)/ 2}
配置FB-WRED(必須先配置WRED)
random-detect flow
設置平均深度因素(即放大因子,默認值為4)
random-detect flow average-depth-factor 4
設置基于流的WRED的數(shù)據流數(shù)目
random-detect flow count 32
查看WRED隊列配置
show queueing int s0/0
基于類的加權隨機早期預檢測(CB-WRED)
CB-WRED可以和CBWFQ、Shaping結合,而不能與FB-WRED、LLQ、Policing結合。
class-map match-any HTTP-FTP
match protocol http
match protocol ftp
policy-map MY-POLICY
class HTTP-FTP
bandwidth 512
random-detect
random-detect precedence 0 20 30 10
interface Serial0/0
bandwidth 1024
service-policy output MY-POLICY
此例啟用基于優(yōu)先級的WRED與CBWFQ結合。
查看命令
show class-map
show policy-map
show policy-map int s0/0
6、流量×××(Shaping)
流量×××的目的是平滑流量,流量×××會把超出規(guī)定速率的數(shù)據緩沖起來,不是丟棄,鏈路的平均流量速率較大,但會造成數(shù)據的延時加大或延時抖動。
令牌桶的相關名詞:
CIR:承諾信息速率,單位bps
PRI:承諾信息速率,單位bps
Bc:正常突發(fā)量的大小,單位為字節(jié)
Be:超額突發(fā)量的大小,單位為字節(jié)
Tc: 時間間隔
CIR=Bc/Tc
當個令牌桶,桶的大小為Bc+Be;
令牌以CIR的速率添加到令牌桶中;
當數(shù)據包要轉發(fā)出去,如果無法從令牌桶中獲取足夠的令牌,就將數(shù)據包緩存起來,都有足夠的令牌在發(fā)送。數(shù)據包發(fā)送的平均速率不超過CIR,但某時刻可以一超過CIR的速率Bc+Be發(fā)送。
GTS通用流量×××實在軟件隊列之前又增加一個隊列來實施,這一隊列采用的是WFQ。GTS可以與FIFO、PQ、CQ、WFQ配合使用。
CLI配置法
interface Serial0/1
traffic-shape rate 8000 1500 1000 1000
MQC配置法
access-list 100 permit icmp any any
class-map match-all ICMP
match access-group 100
policy-map TEST
class ICMP
shape average 8000 1000 1000
interface Serial0/1
service-policy output TEST
查看命令
show traffic-shape
show traffic-shape statistics
7、流量監(jiān)管(Policing)
流量監(jiān)管可以應用在接口的出和入兩個方向上。分為單桶單速雙色、雙桶單速三色、雙桶雙速三色。
流量監(jiān)管的目的是限速,流量監(jiān)管會把超出規(guī)定速率的丟棄或者標記便于后繼的路由器進行處理,鏈路的流量速率有較大起伏,整體平均帶寬低,但是不會造成數(shù)據包延時增加。
令牌桶的相關名詞:
CIR:承諾信息速率,單位bps
PRI:承諾信息速率,單位bps
Bc:正常突發(fā)量的大小,單位為字節(jié)
Be:超額突發(fā)量的大小,單位為字節(jié)
Tc: 時間間隔
CIR=Bc/Tc
單桶單速雙色
單個令牌桶,桶的大小為Be,而不是Bc+Be;
令牌以CIR的速率添加到令牌桶中;
當數(shù)據包要轉發(fā)出去,如果可以從令牌桶中獲取足夠的令牌,則成為Conforn,此時桶內的令牌數(shù)為之前的令牌數(shù)減去數(shù)據包的大??;如果如法從令牌桶中獲取足夠的令牌,則成為Exceed,此時桶內的令牌數(shù)不變。
CLI配置法
interface Serial0/1
rate-limit output 8000 1500 2000 conform-action transmit exceed-action drop
MQC配置法
access-list 100 permit icmp any any
class-map match-all ICMP
match access-group 100
policy-map TEST
class ICMP
police cir 8000 bc 1500 be 1000
conform-action transmit
exceed-action drop
interface Serial0/1
service-policy input TEST
查看命令
show class-map
show policy-map
show policy-map int s0/0
雙桶單速三色
兩個令牌桶,TB1的大小為Bc,TB2的大小為Be;
令牌以CIR的速率添加到令牌桶中TB1中,當TB1滿后,令牌溢出到TB2中。
當數(shù)據包要轉發(fā)出去,如果可以從令牌桶TB1中獲取足夠的令牌,則成為Conforn,此時TB1的令牌數(shù)為之前的令牌數(shù)減去數(shù)據包的大小,TB2的令牌數(shù)不變;
當數(shù)據包要轉發(fā)出去,如果無法從令牌桶TB1中獲取足夠的令牌,但能從令牌桶TB2中獲取足夠的令牌,則成為Exceed,此時TB1的令牌數(shù)不變,TB2的令牌數(shù)為之前的令牌數(shù)減去數(shù)據包的大??;
當數(shù)據包要轉發(fā)出去,如果無法從令牌桶TB1中獲取足夠的令牌,也無法從令牌桶TB2中獲取足夠的令牌,則成為Violate,此時TB1、TB2的令牌數(shù)不變。
access-list 100 permit icmp any any
class-map match-all ICMP
match access-group 100
policy-map TEST
class ICMP
police cir 8000 bc 1500 be 1000
conform-action transmit
exceed-action drop
violate-action drop
interface Serial0/1
service-policy input TEST
查看命令
show class-map
show policy-map
show policy-map int s0/0
雙桶雙速三色
兩個令牌桶,TB1的大小為Be,TB2的大小為Bc;
令牌以PIR的速率添加到令牌桶中TB1中,以CIR的速率添加到令牌桶中TB2中,PIR>=CIR;
當數(shù)據包要轉發(fā)出去,如果可以從令牌桶TB1中獲取足夠的令牌,也可以從令牌桶TB2中獲取足夠的令牌,則成為Conforn,此時TB1的令牌數(shù)為之前的令牌數(shù)減去數(shù)據包的大小,TB2的令牌數(shù)也為之前的令牌數(shù)減去數(shù)據包的大小;
當數(shù)據包要轉發(fā)出去,如果可以從令牌桶TB1中獲取足夠的令牌,但不能從令牌桶TB2中獲取足夠的令牌,則成為Exceed,此時TB1的令牌數(shù)為之前的令牌數(shù)減去數(shù)據包的大小,TB2的令牌數(shù)不變;
當數(shù)據包要轉發(fā)出去,如果無法從令牌桶TB1中獲取足夠的令牌,也無法從令牌桶TB2中獲取足夠的令牌,則成為Violate,此時TB1、TB2的令牌數(shù)不變。
access-list 100 permit icmp any any
class-map match-all ICMP
match access-group 100
policy-map TEST
class ICMP
police cir 8000 bc 1500 pir 8000 be 1500
conform-action transmit
exceed-action drop
violate-action drop
interface Serial0/1
service-policy input TEST
查看命令
show class-map
show policy-map
show policy-map int s0/0
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。