Lab Cấu hình Classification và Marking trong QoS
Sơ đồ:
Mô tả:
Trên hầu hết các mạng, mỗi ứng dụng sẽ các yêu cầu riêng về băng thông (bandwidth), độ trễ (delay), độ lệch (jitter), v.v. Ví dụ, một ứng dụng FTP được sử dụng để sao lưu các tập tin lớn có thể yêu cầu rất nhiều băng thông nhưng độ trễ và độ lệch sẽ không phải là vấn đề lớn.
Mặt khác, VoIP không yêu cầu nhiều băng thông nhưng delay và jitter thì rất quan trọng. Khi độ trễ của quá cao, các cuộc gọi sẽ bị ảnh hưởng (nhiễu hoặc rớt,…)
Để đảm bảo mỗi ứng dụng được xử lý theo những mức yêu cầu khác nhau, việc triển khai QoS (Quality of Service) là một điều cần thiết.
Mặc định, router khi tiếp nhận gói tin IP sẽ thực hiện tra bảng định tuyến và thực hiện chuyển tiếp mà không quan tâm đó là loại dữ liệu gì bên trong. Từ đó trước khi cấu hình bất cứ phương thức QoS nào thì việc đầu tiên sẽ là phân loại gói tin(classification) để biết chúng là loại dữ liệu gì.
Trên hệ điều hành Cisco IOS hiện tại sẽ hỗ trợ 2 phương thức phân loại là:
Sau khi phân loại gói tin, việc tiếp theo trong QoS tool chính là đánh dấu gói tin. Việc đánh dấu này là vô cùng quan trọng vì chúng ta sẽ có thể ưu tiên các gói tin đã được đánh dấu, góp phần vào việc ưu tiên chúng khi nghẽn xảy ra.
Có hai phương thức đánh dấu: CoS(layer 2) và IP precedence/DSCP(layer 3).
Tùy từng trường hợp mà chúng ta sẽ có phương thức đánh dấu riêng để ưu tiên các loại gói tin được định trước. Đối với layer 3, chúng ta sẽ có bao gồm là DF(default forwarding), AF(assure forwarding) và EF(Expedited Forwarding) sẽ thường được sử dụng để đánh dấu các loại gói tin khác nhau.
Trong bài lab bên dưới, chúng ta sẽ cùng tìm hiểu về phương thức đánh dấu DSCP trong gói tin telnet từ R1 tới R3 và đánh dấu HTTP traffic
Yêu cầu:
Phần 1: Phân loại
!!!! R1 !!!!
hostname R1
interface e0/0
ip address 192.168.12.1 255.255.255.0
no shutdown
ip route 192.168.23.0 255.255.255.0 192.168.12.2
!!!! R2 !!!!
hostname R2
interface e0/0
ip address 192.168.12.2 255.255.255.0
no shutdown
interface e0/1
ip address 192.168.23.2 255.255.255.0
no shut
line vty 0 4
privilege level 15
no login
transport input telnet
!!!! R3 !!!!
hostname R3
interface e0/1
ip address 192.168.23.3 255.255.255.0
no shut
ip route 192.168.12.0 255.255.255.0 192.168.23.2
line vty 0 4
privilege level 15
no login
transport input telnet
!!!! R2 !!!!
ip access-list extended TELNET
permit tcp any any eq 23
!!!! R2 !!!!
class-map TELNET
match access-group name TELNET
policy-map CLASSIFY
class TELNET
!!!! R2 !!!!
interface e0/0
service-policy input CLASSIFY
!!!! R1 !!!!
R1#telnet 192.168.12.2
Trying 192.168.12.2 ... Open
!!!! R2 !!!!
R2#show policy-map interface e0/0
Ethernet0/0
Service-policy input: CLASSIFY
Class-map: TELNET (match-all)
11 packets, 628 bytes
5 minute offered rate 0000 bps
Match: access-group name TELNET
Class-map: class-default (match-any)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any
!!!! R2 !!!!
interface e0/0
ip nbar protocol-discovery
!!!! R2 !!!!
class-map NBAR-TELNET
match protocol telnet
policy-map CLASSIFY
no class TELNET # xóa class cũ trong policy phía trên
class NBAR-TELNET
!!!! R2 !!!!
R2#show ip nbar protocol-discovery
Ethernet0/0
Last clearing of "show ip nbar protocol-discovery" counters 00:02:34
Input Output
----- ------
Protocol Packet Count Packet Count
Byte Count Byte Count
5min Bit Rate (bps) 5min Bit Rate (bps)
5min Max Bit Rate (bps) 5min Max Bit Rate (bps)
------------------------ ------------------------ ------------------------
telnet 8 9
489 546
0 0
0 0
unknown 2 1
120 60
0 0
0 0
Total 10 10
609 606
0 0
R2#show policy-map interface e0/0
Ethernet0/0
Service-policy input: CLASSIFY
Class-map: NBAR-TELNET (match-all)
17 packets, 1029 bytes
5 minute offered rate 0000 bps
Match: protocol telnet
Class-map: class-default (match-any)
2 packets, 120 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any
Phần 2: Đánh dấu
Thực hiện telnet từ R1 đến R3 và kiểm tra marking trên R2
Ở trên chúng ta thấy gói tin đã được đánh dấu với IP Precedence là 7 và có 11 gói tin đã được đánh dấu.
Tiếp theo chúng ta sẽ thực hiện đánh dấu với DSCP và loại traffic là HTTP
Thực hiện telnet vào port 80 và kiểm tra trên R2
Sơ đồ:
Mô tả:
- Bài lab gồm 3 router 2811 được đấu nối như hình vẽ. Bài lab này có thể được dựng trên lab ảo sử dụng các IOL Router IOL Router L3-ADVENTERPRISEK9-M-15.4-2T
- Trong bài lab này học viên khảo sát các tính năng Classification và Marking trong QoS
Trên hầu hết các mạng, mỗi ứng dụng sẽ các yêu cầu riêng về băng thông (bandwidth), độ trễ (delay), độ lệch (jitter), v.v. Ví dụ, một ứng dụng FTP được sử dụng để sao lưu các tập tin lớn có thể yêu cầu rất nhiều băng thông nhưng độ trễ và độ lệch sẽ không phải là vấn đề lớn.
Mặt khác, VoIP không yêu cầu nhiều băng thông nhưng delay và jitter thì rất quan trọng. Khi độ trễ của quá cao, các cuộc gọi sẽ bị ảnh hưởng (nhiễu hoặc rớt,…)
Để đảm bảo mỗi ứng dụng được xử lý theo những mức yêu cầu khác nhau, việc triển khai QoS (Quality of Service) là một điều cần thiết.
Mặc định, router khi tiếp nhận gói tin IP sẽ thực hiện tra bảng định tuyến và thực hiện chuyển tiếp mà không quan tâm đó là loại dữ liệu gì bên trong. Từ đó trước khi cấu hình bất cứ phương thức QoS nào thì việc đầu tiên sẽ là phân loại gói tin(classification) để biết chúng là loại dữ liệu gì.
Trên hệ điều hành Cisco IOS hiện tại sẽ hỗ trợ 2 phương thức phân loại là:
- Header inspection (dựa vào gói tin layer 2, 3, 4)
- Payload inspection (dựa vào payload của gói tin)
Sau khi phân loại gói tin, việc tiếp theo trong QoS tool chính là đánh dấu gói tin. Việc đánh dấu này là vô cùng quan trọng vì chúng ta sẽ có thể ưu tiên các gói tin đã được đánh dấu, góp phần vào việc ưu tiên chúng khi nghẽn xảy ra.
Có hai phương thức đánh dấu: CoS(layer 2) và IP precedence/DSCP(layer 3).
Tùy từng trường hợp mà chúng ta sẽ có phương thức đánh dấu riêng để ưu tiên các loại gói tin được định trước. Đối với layer 3, chúng ta sẽ có bao gồm là DF(default forwarding), AF(assure forwarding) và EF(Expedited Forwarding) sẽ thường được sử dụng để đánh dấu các loại gói tin khác nhau.
Trong bài lab bên dưới, chúng ta sẽ cùng tìm hiểu về phương thức đánh dấu DSCP trong gói tin telnet từ R1 tới R3 và đánh dấu HTTP traffic
Yêu cầu:
Phần 1: Phân loại
- Phân loại với access-list
!!!! R1 !!!!
hostname R1
interface e0/0
ip address 192.168.12.1 255.255.255.0
no shutdown
ip route 192.168.23.0 255.255.255.0 192.168.12.2
!!!! R2 !!!!
hostname R2
interface e0/0
ip address 192.168.12.2 255.255.255.0
no shutdown
interface e0/1
ip address 192.168.23.2 255.255.255.0
no shut
line vty 0 4
privilege level 15
no login
transport input telnet
!!!! R3 !!!!
hostname R3
interface e0/1
ip address 192.168.23.3 255.255.255.0
no shut
ip route 192.168.12.0 255.255.255.0 192.168.23.2
line vty 0 4
privilege level 15
no login
transport input telnet
- Cấu hình access-list
!!!! R2 !!!!
ip access-list extended TELNET
permit tcp any any eq 23
- Cấu hình policy
!!!! R2 !!!!
class-map TELNET
match access-group name TELNET
policy-map CLASSIFY
class TELNET
- Cấu hình áp policy lên interface
!!!! R2 !!!!
interface e0/0
service-policy input CLASSIFY
- Kiểm tra
!!!! R1 !!!!
R1#telnet 192.168.12.2
Trying 192.168.12.2 ... Open
!!!! R2 !!!!
R2#show policy-map interface e0/0
Ethernet0/0
Service-policy input: CLASSIFY
Class-map: TELNET (match-all)
11 packets, 628 bytes
5 minute offered rate 0000 bps
Match: access-group name TELNET
Class-map: class-default (match-any)
0 packets, 0 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any
- Phân loại với NBAR
- Bật tính năng NBAR trên thiết bị
!!!! R2 !!!!
interface e0/0
ip nbar protocol-discovery
- Cấu hình loại dữ liệu
!!!! R2 !!!!
class-map NBAR-TELNET
match protocol telnet
policy-map CLASSIFY
no class TELNET # xóa class cũ trong policy phía trên
class NBAR-TELNET
- Kiểm tra
!!!! R2 !!!!
R2#show ip nbar protocol-discovery
Ethernet0/0
Last clearing of "show ip nbar protocol-discovery" counters 00:02:34
Input Output
----- ------
Protocol Packet Count Packet Count
Byte Count Byte Count
5min Bit Rate (bps) 5min Bit Rate (bps)
5min Max Bit Rate (bps) 5min Max Bit Rate (bps)
------------------------ ------------------------ ------------------------
telnet 8 9
489 546
0 0
0 0
unknown 2 1
120 60
0 0
0 0
Total 10 10
609 606
0 0
R2#show policy-map interface e0/0
Ethernet0/0
Service-policy input: CLASSIFY
Class-map: NBAR-TELNET (match-all)
17 packets, 1029 bytes
5 minute offered rate 0000 bps
Match: protocol telnet
Class-map: class-default (match-any)
2 packets, 120 bytes
5 minute offered rate 0000 bps, drop rate 0000 bps
Match: any
Phần 2: Đánh dấu
- Cấu hình QoS Marking
| !!!!! R2 tao access list cho traffic telnet !!!!! ip access-list extended TELNET-TRAFFIC permit tcp any any eq telnet !!!! dinh nghia traffic se match !!!!! class-map TELNET-TRAFFIC match access-group name TELNET-TRAFFIC !!!! tao policy chua action cua class tren !!!! policy-map MARKING class TELNET-TRAFFIC set precedence network !!!! thuc hien add policy len interface !!!!! interface Ethernet 0/0 service-policy input MARKING |
| !!!! R1 !!!! R1#telnet 192.168.23.3 Trying 192.168.23.3 ... Open R3# !!!! R2 !!!! R2#show policy-map interface Ethernet 0/0 Ethernet0/0 Service-policy input: MARKING Class-map: TELNET-TRAFFIC (match-all) 11 packets, 628 bytes 5 minute offered rate 0000 bps, drop rate 0000 bps Match: access-group name TELNET-TRAFFIC QoS Set precedence 7 Packets marked 11 Class-map: class-default (match-any) 0 packets, 0 bytes 5 minute offered rate 0000 bps, drop rate 0000 bps Match: any R2# |
Tiếp theo chúng ta sẽ thực hiện đánh dấu với DSCP và loại traffic là HTTP
| !!!! phan loai HTTP traffic va DSCP cho traffic tren R2!!!! ip access-list extended HTTP-TRAFFIC permit tcp any any eq 80 class-map HTTP-TRAFFIC match access-group name HTTP-TRAFFIC policy-map MARKING class HTTP-TRAFFIC set dscp af12 |
| !!!! R1 !!!! R1#telnet 192.168.23.3 80 Trying 192.168.23.3, 80 ... Open !!!! R2 !!!! R2#show policy-map interface e0/0 Ethernet0/0 Service-policy input: MARKING Class-map: TELNET-TRAFFIC (match-all) 13 packets, 736 bytes 5 minute offered rate 0000 bps, drop rate 0000 bps Match: access-group name TELNET-TRAFFIC QoS Set precedence 7 Packets marked 13 Class-map: HTTP-TRAFFIC (match-all) 3 packets, 166 bytes 5 minute offered rate 0000 bps, drop rate 0000 bps Match: access-group name HTTP-TRAFFIC QoS Set dscp af12 Packets marked 3 Class-map: class-default (match-any) 9 packets, 1196 bytes 5 minute offered rate 0000 bps, drop rate 0000 bps Match: any R2# |