YOMEDIA
ADSENSE
Bài viết CCNP QoS - Đặng Quang Minh
93
lượt xem 16
download
lượt xem 16
download
Download
Vui lòng tải xuống để xem tài liệu đầy đủ
Bài viết trình bày nhu cầu về QoS và các mô hình QoS, Diffserv QoS, thứ tự các tác vụ QoS được thực hiện, cấu hình Diffserv.
AMBIENT/
Chủ đề:
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài viết CCNP QoS - Đặng Quang Minh
Bài viết CCNP QoS<br />
<br />
<br />
Tác giả: Đăng Quang Minh <br />
̣<br />
<br />
<br />
<br />
I. NHU CẦU VỀ QOS VÀ CÁC MÔ HÌNH QOS:<br />
<br />
<br />
1.1. Nhu cầu về QoS:<br />
<br />
<br />
<br />
Theo truyền thống, khi nhu cầu về băng thông tăng lên, hiện tượng nghẽn mạng <br />
có thể x ảy ra. Ta có thể giải quyết bằng cách tăng băng thông kết nối hoặc dùng <br />
thiết bị phần cứng khác thay thế. Nhược điểm cách này là không chỉ ra cách thức để <br />
ưu tiên một loại traffic này so với một traffic khác.<br />
<br />
<br />
<br />
QoS là một công cụ tổng thể được dùng để bảo vệ, ưu tiên một số traffic quan <br />
trọng hoặc các traffic đòi hỏi xử lý nhanh về thời gian. QoS sẽ mô tả cách thức <br />
packet được chuyển mạch (forward) như thế nào.<br />
<br />
<br />
<br />
Các ứng dụng khác nhau sẽ có các nhu cầu khác nhau cho việc truyền dữ liệu. Ví <br />
dụ web, video, audio…<br />
<br />
<br />
<br />
Khi một packets đi từ host này đến host kia, một gói tin (packet) có thể gặp các <br />
vấn đề:<br />
<br />
<br />
<br />
Delay: do routers xử lý tìm kiếm trong bảng routing table, thời gian packet truyền <br />
trên đường truyền. <br />
Jitter: các packets không đến đúng như thời gian dự định. Các dữ liệu dạng audio sẽ <br />
bị ảnh hưởng nhiều bởi vấn đề này. <br />
Loss: mất packets<br />
<br />
<br />
1.2. Các mô hình QoS:<br />
<br />
<br />
<br />
BEST-EFFORT DELIVERY:<br />
<br />
<br />
<br />
Một network chỉ đơn thuần forward những packets mà nó nhận được.<br />
<br />
Switch và routers chỉ cố gắng hết sức (besteffort) để forward packets đi mà không <br />
bận tâm đến kiểu của traffic hay độ ưu tiên của dịch vụ.<br />
<br />
<br />
<br />
INTEGRATED SERVICE MODEL<br />
<br />
<br />
<br />
Sắp xếp đường đi trước từ nguồn đến đích cho các dữ liệu được ưu tiên.<br />
<br />
RSVP (RFC 1633) là một protocol dạng này.<br />
<br />
RSVP sẽ yêu cầu trước băng thông và giữ (reserve) bw trên cả đường đi từ <br />
nguồn đến đích.<br />
<br />
Mỗi thiết bị mạng trên đường đi phải kiểm tra xem nó có thể hỗ trợ cho yêu cầu <br />
trên hay không. Khi yêu cầu tối thiểu được đáp ứng, ứng dụng nguồn sẽ được thông <br />
báo xác nhận. Sau đó, ứng dụng có thể sử dụng đường truyền.<br />
<br />
<br />
<br />
DIFFERENTIATED SERVICES MODEL<br />
<br />
<br />
<br />
Giải pháp IntServ tỏ ra không hiệu quả và không có khả năng mở rộng khi nhiều <br />
source phải cạnh tranh với nhau về băng thông.<br />
<br />
Trong giải pháp differentiated, mỗi routers và switch sẽ quản lý packets riêng lẻ. <br />
Mỗi routers sẽ có một chính sách riêng để quản lý và sẽ tự quyết định cách thức <br />
chuyển packet theo cách riêng.<br />
<br />
IntServ sẽ quản lý theo kiểu perflow, trong khi Difserv sẽ quản lý theo kiểu per<br />
hop.<br />
<br />
Diffserv sẽ quyết định chính sách QoS dựa vào cấu trúc của gói IP.<br />
<br />
Course switching sẽ tập trung vào Diffserv.<br />
<br />
<br />
<br />
II. DIFFSERV QOS<br />
<br />
<br />
Mỗi router và switch sẽ kiểm tra packets để quyết định sẽ fw packet đó như thế <br />
nào.<br />
<br />
Đối với packets, nó chỉ đơn thuần gán vài thông số vào header. Các thông số có <br />
thể là phân loại (classifications, marking…)Packet sẽ giả sử routers và switch biết <br />
cách handle nó.<br />
<br />
Việc phân loại có thể diễn ra ở Layer2 hoặc Layer3<br />
<br />
Layer2: Thông thường, một layer frame sẽ không có trường( field ) nào để phân <br />
loại frame. Tuy nhiên, khi frame được truyền giữa switch và switch, frame có thể <br />
được phân loại dựa vào CoS. <br />
<br />
CoS: được dùng trên đường trunk switchswitch.<br />
<br />
Hai kiểu trunking sẽ quản lý giá trị CoS này rất khác nhau:<br />
<br />
<br />
<br />
ISL: 4 bit userid sẽ được dùng để chỉ ra giá trị CoS của frame. <br />
Dot1q: userfield sẽ được dùng để chỉ ra giá trị CoS. Các frame từ native vlan sẽ <br />
nhận giá trị CoS mặc định. <br />
<br />
Layer3: DSCP.<br />
<br />
<br />
<br />
2.1. Class of services:<br />
<br />
<br />
Trên đường trunking, frame được thêm vào tagging.<br />
<br />
Dot1q: mỗi frame được thêm vào 12bit vlanid và một field gồm 3 bit để chỉ ra <br />
độ ưu tiên. Những frame đến từ nativevlan sẽ được cấu hình giá trị mặc định.<br />
<br />
ISL: có 4 bit trong userfield. Dùng 3 bit thấp nhất để gán priority.<br />
<br />
<br />
<br />
2.2. Layer 3 DSCP:<br />
<br />
<br />
<br />
Dùng Tos trong ip datagram<br />
<br />
Giá trị DSCP có cùng vị trí trong header giống như TOS nhưng sẽ được diễn dịch <br />
khác.<br />
<br />
Xem thêm bảng chuyển đổi trong giáo trình.<br />
<br />
<br />
<br />
<br />
<br />
III. THỨ TỰ CÁC TÁC VỤ QOS ĐƯỢC THỰC HIỆN:<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
3.1 Ingress queue:<br />
<br />
<br />
<br />
Phần lớn switch có hai dạng queue: standard và priority queue<br />
<br />
Những packets với độ ưu tiên = 5 sẽ được phục vụ trước<br />
<br />
Course bcmsn ko khảo sát kỹ phần này.<br />
<br />
<br />
<br />
3.2. Phân loại, trust và marking:<br />
<br />
<br />
Quá trình phân loại packets có thể dựa trên tcp/udp hoặc các cơ chế phức tạp <br />
khác.<br />
<br />
Frame có thể mang nhiều giá trị CoS, ToS, DSCP…Switch sẽ quyết định là sẽ <br />
dùng (tin) trust giá trị nào.<br />
<br />
Có thể cấu hình switch để đánh dấu hoặc thay đổi các giá trị QoS này.<br />
<br />
<br />
<br />
3.3. Policers:<br />
<br />
<br />
<br />
Việc giới hạn băng thông thực hiện bởi policers<br />
<br />
Sau khi packet đã được phân loại, ta có thể cấu hình switch để giới hạn traffic.<br />
<br />
<br />
<br />
3.4. Scheduling:<br />
<br />
<br />
<br />
Scheduling còn được gọi là egress queueing hoặc congestion management<br />
<br />
Packets được gán vào egress queue dựa theo giá trị CoS: giá trị 03 gán vào <br />
standard, 47 gán vào second standard queue<br />
<br />
Catalyst dùng kỹ thuật gọi là WRR. Kích thước của mỗi queue được cấu hình <br />
theo tỉ lệ. Mỗi queue được gán một trọng số.<br />
<br />
Priority queue sẽ luôn được phục vụ trước và không bị xếp vào hàng đợi này.<br />
<br />
<br />
<br />
3.5. Congestion Avoidance:<br />
<br />
<br />
<br />
Nếu việc nghẽn vẫn xảy ra mặc dù đã xếp hàng đợi, packets phải bị drop.<br />
<br />
Một switch phải dự đoán việc congestion bằng hai cách:<br />
<br />
<br />
• TAILDROP<br />
<br />
• WRED<br />
<br />
<br />
<br />
3.5.1. Tail-drop:<br />
<br />
<br />
<br />
Những packets đến sau trong hàng đợi sẽ bị drop<br />
<br />
Gây ra hiện tượng tcp global synchronization (xem thêm trong sách)<br />
<br />
<br />
<br />
3.5.2. WRED:<br />
<br />
<br />
<br />
WRED sẽ drop một số packet đã có trong hàng đợi<br />
<br />
Các packets sẽ bị drop đến một giới hạn nào đó.<br />
<br />
<br />
<br />
<br />
<br />
IV. CẤU HÌNH DIFFSERV:<br />
<br />
<br />
Phần này tập trung vào cấu hình trong Catalyst switch. Catalyst 3550 có rất nhiều tính năng <br />
QoS mạnh.<br />
<br />
<br />
<br />
Để cho phép cấu hình QoS trên switch, dùng l ệnh:<br />
<br />
<br />
Switch(config)# mls qos<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
Trong hình vẽ trên, giá trị DSCP sẽ được dùng khi packet được di chuyển trong switch như <br />
sau:<br />
<br />
<br />
<br />
1. Packet được gán một giá trị DSCP. Giá trị này được tính từ inbound switch port. <br />
<br />
2. Khi packet được switch bên trong, mỗi giá trị DSCP có thể đưọc thay đổi hoặc hành động <br />
tương ứng.<br />
<br />
3. Khi packet được xếp ở hàng đợi, giá trị DSCP sẽ được chuyển sang CoS. Giá trị CoS này <br />
có thể được dùng để xác định hàng đợi hay scheduling. <br />
<br />
<br />
<br />
Theo phần trước, Catalyst switch sẽ tham khảo các đại lượng: CoS và DSCP.<br />
<br />
<br />
<br />
Compute CoS<br />
<br />
From Internal DSCP mls qos map dscpcos ...<br />
<br />
Trust CoS: mls qos map cosdscp ...<br />
<br />
Trust IP Precedence: mls qos map ipprecdscp ...<br />
<br />
Trust DSCP: mls qos trust dscp ...<br />
<br />
mls qos map dscpmutation ...<br />
<br />
<br />
<br />
IV.1. Cấu hình QoS Trust:<br />
<br />
<br />
<br />
Khi một packet đi v ào một switch, switch sẽ chọn lựa thông số mà nó sẽ tin cậy (trust). Sau <br />
đó, packet sẽ được xử lý tương ứng trên thông số được tin cậy này.<br />
<br />
<br />
<br />
Switch(configif)# mls qos trust {cos,dscp,ip precedence}<br />
<br />
<br />
<br />
Nếu gi á trị CoS được dùng, nó phải chuyển sang DSCP tương ứng theo bảng:<br />
<br />
<br />
<br />
Cos 0 1 2 3 4 5 6 7<br />
DSCP 0 8 16 24 32 40 48 56<br />
<br />
<br />
<br />
Các giá trị IP Precedence sẽ được chuyển sang DSCP:<br />
<br />
<br />
<br />
Ip 0 1 2 3 4 5 6 7<br />
Precedence<br />
DSCP 0 8 16 24 32 40 48 56<br />
<br />
<br />
<br />
IV.2. Định nghĩa Policy<br />
<br />
<br />
<br />
Policy được định nghĩa và dùng trong các bưóc sau:<br />
<br />
<br />
<br />
1. Một hoặc nhiều class được dùng để phân loại traffic.<br />
<br />
2. Một hoặc nhiều policy được định nghĩa, tham khảo đến một hoặc nhiều class. Mỗi <br />
policy có thể chứa các hành động như đánh dấu (mark), police hoặc định dạng (shape) <br />
traffic cho từng class.<br />
<br />
3. Mỗi egress queue có thể được gán một policy trong mỗi chiều traffic. Ví dụ một policy có <br />
thể gán cho chiều inbound, trong không một policy khác có thể gán cho chiều outbound. Khi <br />
đã được gán, policy bắt đầu phân loại và xử lý các traffic đi qua switch.<br />
<br />
<br />
<br />
<br />
<br />
Switch (config)# classmap classname [match all | match any]<br />
<br />
<br />
<br />
Việc phân loại traffic có thể dựa vào accesslist, NBAR….<br />
<br />
<br />
<br />
Với accesslist:<br />
Switch(configcmap)# match accessgroup name accesslist<br />
<br />
Với NBAR:<br />
<br />
Switch(configcmap)# match protocol [protocol name]<br />
<br />
<br />
<br />
Bước kế tiếp, định nghĩa QoS policy<br />
<br />
<br />
<br />
switch(config)# policymap policyname<br />
<br />
<br />
<br />
Ch ỉ ra class trong policy<br />
<br />
Switch(configpmap)# class classname<br />
<br />
<br />
<br />
Sau đó, ta có thể set các dscp value hoặc ip precedence<br />
<br />
Switch(configpmap)# set dscp dscpvalue<br />
<br />
<br />
<br />
Sau cùng, áp dụng QoS vào một interface, tối đa một cho inbound, một cho outbound.<br />
<br />
<br />
<br />
Switch(configif)# servicepolicy [input|output] policyname<br />
<br />
<br />
<br />
IV.3. Hiệu chỉnh egress scheduling:<br />
<br />
<br />
<br />
Phần này sẽ trình bày packet sẽ được phân phối vào các hàng đợi và được xử lý như thế <br />
nào.<br />
<br />
<br />
Mặc định có 2 hàng đợi được gán trọng số 4 và 255.<br />
<br />
<br />
<br />
Để thay đổi giá trị mặc định trên, dùng lệnh<br />
<br />
<br />
<br />
Switch(configif)# wrrqueue bandwidth weight1 weight 2 [weight3] [weight 4]<br />
<br />
<br />
<br />
Ánh xạ packet vào egressqueue:<br />
<br />
<br />
<br />
Switch(configif)# wrrqueue cosmap queueid threshold coslist<br />
<br />
<br />
<br />
Packet có giá trị CoS được chỉ ra trong coslist sẽ được đặt trong hàng đợi queueid. Mặc <br />
định, CoS giá trị 1 sẽ được đặt trong hàng 1, CoS 2 và 3 sẽ vào hàng 1 threshold 2, Cos 4 vào <br />
hàng 2 threshold 1, CoS 6 v à 7 v ào hàng 2 threshold 2. CoS 5 luôn được đặt vào priority<br />
queue, nếu có một priorityqueue.<br />
<br />
<br />
<br />
Tránh nghẽn bằng cách dùng taildrop:<br />
<br />
<br />
<br />
Switch(configif)# no wrrqueue randomdetect queueid<br />
<br />
<br />
<br />
Tránh nghẽn bằng cách dùng wred:<br />
<br />
<br />
<br />
Switch(configif)# wrrqueue randomdetect queuid<br />
Thay đổi các giới hạn trong hàng đợi<br />
<br />
<br />
<br />
Switch(configif)#wrrqueue randomdetect {maxthreshold|minthreshold} queueid<br />
ADSENSE
CÓ THỂ BẠN MUỐN DOWNLOAD
Thêm tài liệu vào bộ sưu tập có sẵn:
Báo xấu
LAVA
AANETWORK
TRỢ GIÚP
HỖ TRỢ KHÁCH HÀNG
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn