Top Banner
LAB 2: Phân loại dùng mô hình MQC Giới thiệu cách cấu hình mô hình MQC Mô hình MQC là cấu trúc cấu hình dùng câu lệnh nhưng được tổ chức theo dạng khối (module) cung cấp sự thuận tiện trong cấu hình hay xử lý sự cố. Mức độ thêm bớt các tính năng QoS trong khi dùng mô hình MQC rất dễ dàng cung cấp độ mở rộng tối đa cho người sử dụng khi cấu hình QoS trên Cisco router. Có 3 câu lệnh chính được sử dụng trong mô hình MQC Câu lệnh class-map: dùng để phân loại lưu lượng dữ liệu theo ý muốn của người sử dụng, có thể sử dụng kết hợp với nhiều công cụ phân loại như ACL hay dùng cơ chế NBAR ... Câu lệnh policy-map: dùng để quy định cách hành xử cho từng loại lưu lượng đã được phân loại, cách hành xử có thể đơn giản là phân loại dữ liệu, có thể là đánh dấu hay sử dụng trong các cơ chế QoS khác, chú ý là luôn tồn tại 1 loại cấu hình class-map tên là class-default nhằm phân loại tất cả các lưu lượng chưa được phân loại bởi những class- map trước. Câu lệnh service-policy: đây là câu lệnh dùng để áp dụng policy-map đã cấu hình lên một giao tiếp tương ứng, mỗi giao tiếp/ cổng chỉ áp dụng được một policy-map theo hướng vào và / hoặc hướng ra.
20

Lab 2 phân loại dùng mô hình mqc

Jul 18, 2015

Download

Engineering

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Lab 2 phân loại dùng mô hình mqc

LAB 2: Phân loại dùng mô hình MQC

Giới thiệu cách cấu hình mô hình MQC

Mô hình MQC là cấu trúc cấu hình dùng câu lệnh nhưng được tổ chức theo dạng khối (module) cung cấp sự thuận tiện trong cấu hình hay xử lý sự cố. Mức độ thêm bớt các tính năng QoS trong khi dùng mô hình MQC rất dễ dàng cung cấp độ mở rộng tối đa cho người sử dụng khi cấu hình QoS trên Cisco router.Có 3 câu lệnh chính được sử dụng trong mô hình MQCCâu lệnh class-map: dùng để phân loại lưu lượng dữ liệu theo ý muốn của người sử dụng, có thể sử dụng kết hợp với nhiều công cụ phân loại như ACL hay dùng cơ chế NBAR ...Câu lệnh policy-map: dùng để quy định cách hành xử cho từng loại lưu lượng đã được phân loại, cách hành xử có thể đơn giản là phân loại dữ liệu, có thể là đánh dấu hay sử dụng trong các cơ chế QoS khác, chú ý là luôn tồn tại 1 loại cấu hình class-map tên là class-default nhằm phân loại tất cả các lưu lượng chưa được phân loại bởi những class-map trước.Câu lệnh service-policy: đây là câu lệnh dùng để áp dụng policy-map đã cấu hình lên một giao tiếp tương ứng, mỗi giao tiếp/ cổng chỉ áp dụng được một policy-map theo hướng vào và / hoặc hướng ra.

Page 2: Lab 2 phân loại dùng mô hình mqc

Sơ đồ:

Hình 1

Trong bài lab này, sẽ hướng dẫn cách phân loại dữ liệu dùng trong cách cấu hình QoS dùng mô hình MQC.

Thực hiện

Cấu hình ban đầu của hệ thống:

Cấu hình R1:

R1#sh runBuilding configuration...

Current configuration : 1149 bytes!version 12.4!hostname R1!!ip cef!ip dhcp pool 10

Page 3: Lab 2 phân loại dùng mô hình mqc

network 10.10.20.0 255.255.255.0 default-router 10.10.20.1 dns-server 203.162.4.1 203.162.4.190 203.162.4.191 !!interface FastEthernet0/0 ip address 10.10.10.1 255.255.255.0 duplex auto speed auto! interface FastEthernet0/1 ip address 10.10.20.1 255.255.255.0 duplex auto speed auto!interface Serial0/1/0 ip address 192.1.1.1 255.255.255.0 clock rate 2000000!ip forward-protocol ndip route 0.0.0.0 0.0.0.0 192.1.1.2!line con 0 exec-timeout 0 0 logging synchronousline aux 0line vty 0 4 privilege level 15 no login!end

Cấu hình R2

R2#sh runBuilding configuration...

Current configuration : 1178 bytes!version 12.4!hostname R2!ip cef!interface FastEthernet0/0 ip address 20.20.20.1 255.255.255.0 ip nat inside ip virtual-reassembly duplex auto speed auto

Page 4: Lab 2 phân loại dùng mô hình mqc

!interface FastEthernet0/1 ip address dhcp ip nat outside ip virtual-reassembly duplex auto speed auto!interface Serial0/1/0 ip address 192.1.1.2 255.255.255.0 ip nat inside ip virtual-reassembly!ip route 10.10.0.0 255.255.0.0 192.1.1.1!ip http serverno ip http secure-serverip nat inside source list 1 interface FastEthernet0/1 overload!access-list 1 permit 10.10.0.0 0.0.255.255!line con 0 exec-timeout 0 0 privilege level 15 logging synchronousline aux 0line vty 0 4 privilege level 15 logging synchronous no login!scheduler allocate 20000 1000!end

Cấu hình trên thiết bị C2600-1:c2600_1#sh run Building configuration...

Current configuration : 832 bytes!version 12.3!hostname c2600_1!ip subnet-zeroip cef!interface Ethernet0/0 ip address 10.10.10.2 255.255.255.0 half-duplex

Page 5: Lab 2 phân loại dùng mô hình mqc

!ip classlessip route 0.0.0.0 0.0.0.0 10.10.10.1!voice-port 1/0/0!voice-port 1/0/1!dial-peer voice 1 pots destination-pattern 1111 port 1/0/0!dial-peer voice 2 voip destination-pattern 2222 session target ipv4:20.20.20.2!line con 0 exec-timeout 0 0 logging synchronousline aux 0line vty 0 4 privilege level 15 no login!!end

Cấu hình trên thiết bị C2600_2:c2600_2#sh runBuilding configuration...

Current configuration : 854 bytes!version 12.3!hostname c2600_2!ip subnet-zeroip cef!interface Ethernet0/0 ip address 20.20.20.2 255.255.255.0 half-duplex!ip classlessip route 0.0.0.0 0.0.0.0 20.20.20.1!voice-port 1/0/0!voice-port 1/0/1!

Page 6: Lab 2 phân loại dùng mô hình mqc

dial-peer voice 1 pots destination-pattern 2222 port 1/0/0!dial-peer voice 2 voip destination-pattern 1111 session target ipv4:10.10.10.2!line con 0 exec-timeout 0 0 logging synchronousline aux 0line vty 0 4 privilege level 15 logging synchronous no login!!end

Bước 1: Dùng ACL để chọn lưu lượng

Chọn lưu lượng WEBR1(config)#access-list 100 remark *** web traffic to port 80*** <-- dòng ghi chú dùng trong ACLR1(config)#access-list 100 permit tcp any any eq 80 R1(config)#access-list 100 permit tcp any eq 80 any

Chọn lưu lượng TELNETR1(config)#access-list 101 remark *** telnet ****R1(config)#access-list 101 permit tcp any any eq 23

Chọn lưu lượng ICMPR1(config)#access-list 102 remark *** icmp echo request ****R1(config)#access-list 102 permit icmp any any echo?echo echo-reply R1(config)#access-list 102 permit icmp any any echo

Cấu hình class-map để chọn lưu lượng từ các công cụ ACL:

Chọn lưu lượng WEBR1(config)#class-map webR1(config-cmap)#match access-group 100R1(config-cmap)#exit

Chọn lưu lượng TELNETR1(config)#class-map telnet R1(config-cmap)#match access-group 101

Page 7: Lab 2 phân loại dùng mô hình mqc

R1(config-cmap)#exit

Chọn lưu lượng ICMPR1(config)#class-map icmpR1(config-cmap)#match access-group 102R1(config-cmap)#exitR1(config)#

Dùng lệnh show class-map để kiểm tra thông tin cấu hình

R1#show class-map!class-map match-all telnet match access-group 101class-map match-all icmp match access-group 102class-map match-all web match access-group 100

Kiểm tra các thông tin cấu hình về ACL

R1# show run | include access-list!access-list 100 remark *** web traffic to port 80***access-list 100 permit tcp any any eq wwwaccess-list 100 permit tcp any eq www anyaccess-list 101 remark *** telnet ****access-list 101 permit tcp any any eq telnetaccess-list 102 remark *** icmp echo request ****access-list 102 permit icmp any any echo

Kiểm tra thông tin cấu hình policy-map

R1#show policy-map!policy-map classify_ACL class web class telnet class icmp

Áp dụng lên cổng giao tiếp

R1(config)#int s0/1/0R1(config-if)#service-policy output classify_ACLR1(config-if)#

Kiểm tra thông tin trạng thái khi chưa gửi lưu lượng qua hệ thống

Page 8: Lab 2 phân loại dùng mô hình mqc

R1#sh policy-map interface s0/1/0 Serial0/1/0

Service-policy output: classify_ACL

Class-map: web (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps Match: access-group 100

Class-map: telnet (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps Match: access-group 101

Class-map: icmp (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps Match: access-group 102

Class-map: class-default (match-any) << class class-default 2009 packets, 129196 bytes 5 minute offered rate 8000 bps, drop rate 0 bps Match: any

Page 9: Lab 2 phân loại dùng mô hình mqc

Tiến hành cho lưu lượng chạy qua, duyệt web:

Thực hiện telnet qua thiết bị 20.20.20.2

Hình 2

Hình 3

R1#sh policy-map interface s0/1/0 Serial0/1/0

Service-policy output: classify_ACL

Class-map: web (match-all) 5 packets, 681 bytes 5 minute offered rate 0 bps

Page 10: Lab 2 phân loại dùng mô hình mqc

Match: access-group 100

Class-map: telnet (match-all) 15 packets, 709 bytes << lưu lượng telnet tăng lên 5 minute offered rate 0 bps Match: access-group 101

Class-map: icmp (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps Match: access-group 102

Class-map: class-default (match-any) 4034 packets, 259712 bytes 5 minute offered rate 16000 bps, drop rate 0 bps Match: any

Thực hiện ping từ PC đến thiết bị 20.20.20.2 với 5 gói

Hình 4

R1#sh policy-map interface s0/1/0 Serial0/1/0

Service-policy output: classify_ACL

Class-map: web (match-all) 15 packets, 2043 bytes 5 minute offered rate 0 bps Match: access-group 100

Class-map: telnet (match-all) 70 packets, 3162 bytes

Page 11: Lab 2 phân loại dùng mô hình mqc

5 minute offered rate 0 bps Match: access-group 101

Class-map: icmp (match-all) 5 packets, 320 bytes << lưu lượng icmp tăng lên 5 minute offered rate 0 bps Match: access-group 102

Class-map: class-default (match-any) 9832 packets, 633316 bytes 5 minute offered rate 25000 bps, drop rate 0 bps Match: any

R1#

Bước 2: Ta cũng có thể phân loại dựa trên giá trị DSCP của gói tin

Yêu cầu: Xóa các cấu hình service-policy trên cổng trước đóThực hiện phân loại gói tin dựa trên giá trị DSCP EF

R1#conf t R1(config)#class-map efR1(config-cmap)#match ip dscp ef << phân loại dựa trên giá trị dscp efR1(config-cmap)#exit

R1(config)#policy-map classify_DSCP R1(config-pmap)#class ef R1(config-pmap)#exitR1(config)#

R1(config)#int s0/1/0R1(config-if)#service-policy output classify_DSCPR1(config-if)#

R1#sh policy-map Policy-map classify_ACL class web class telnet class icmp

Policy Map classify_DSCP Class ef

Kiểm tra bằng cách ping giá trị 20.20.20.2 thiết lập dscp ef

Kiểm tra thông tin chạy qua trước khi ping gói tin

R1#sh policy-map interface s0/1/0

Page 12: Lab 2 phân loại dùng mô hình mqc

Serial0/1/0

Service-policy output: classify_DSCP

Class-map: ef (match-all) 0 packets, 0 bytes << thông tin ban đầu là 0 5 minute offered rate 20000 bps Match: ip dscp ef (46)

Class-map: class-default (match-any) 1 packets, 340 bytes 5 minute offered rate 0 bps, drop rate 0 bps Match: any R1#

Tiến hành ping 4 gói tin và thiết lập giá trị DSCP = EF (10111000 = 184)

Hình 5

R1#sh policy-map interface s0/1/0 Serial0/1/0

Service-policy output: classify_DSCP

Class-map: ef (match-all) 4 packets, 256 bytes << số lượng tăng lên tương ứng 5 minute offered rate 10000 bps Match: ip dscp ef (46)

Class-map: class-default (match-any)

Page 13: Lab 2 phân loại dùng mô hình mqc

8 packets, 528 bytes 5 minute offered rate 0 bps, drop rate 0 bps Match: any

Xóa các cấu hình service-policy trên cổng và policy-map để chuẩn bị cho phần lab tiếp theo.

Bước 3: Dùng logic match-all và match-any

Trong trường hợp sử dụng câu lệnh class-map mặc định câu lệnh này sẽ dùng luận lý AND (match-all) tức là nếu có nhiều điều kiện so trùng thì tất cả các điều kiện phải thỏa, người dùng cũng có thể chỉnh lại luận lý này bằng cách thêm vào từ khóa match-any sau câu lệnh class-map. Với trường hợp match-any, nếu có nhiều điều kiện so trùng thì class-map sẽ dùng luận lý OR để kiểm tra, tức là nếu có nhiều điều kiện so trùng thì nếu ít nhất 1 điều kiện thỏa thì sẽ lưu lượng sẽ coi như thỏa class-map.

Kiểm tra những ACL đã cấu hình

R1(config)#do sh access-listExtended IP access list 100 10 permit tcp any any eq www (2304 matches) 20 permit tcp any eq www anyExtended IP access list 101 10 permit tcp any any eq telnet (72 matches)Extended IP access list 102 10 permit icmp any any echo (5 matches)

Kiểm tra cách hoạt động của nguyên lý match-all bằng cách tạo một class-map PING_AND_EF thỏa cả 2 điều kiện sau: là gói tin icmp và có giá trị DSCP=EF

R1(config)#class-map PING_AND_EF << mặc định sẽ là match-allR1(config-cmap)#match access-group 102R1(config-cmap)#match ip dscp efR1(config-cmap)#exit

Tạo policy-map tương tứng

R1(config)#policy-map classifyR1(config-pmap)#class PING_AND_EFR1(config-pmap-c)#exitR1(config-pmap)#end

Kiểm tra cấu hình

R1#sh policy-map Policy Map classify

Page 14: Lab 2 phân loại dùng mô hình mqc

Class PING_AND_EF

Áp dụng lên cổng

R1#conf tR1(config)#int s0/1/0R1(config-if)#service-policy output classifyR1(config-if)#end

Kiểm tra thông tin trạng thái:

R1#sh policy-map int s0/1/0 Serial0/1/0

Service-policy output: classify

Class-map: PING_AND_EF (match-all) 0 packets, 0 bytes 5 minute offered rate 0 bps Match: access-group 102 Match: ip dscp ef (46)

Class-map: class-default (match-any) 1 packets, 24 bytes 5 minute offered rate 0 bps, drop rate 0 bps Match: any

Thực hiện ping từ pc đến 20.20.20.2 với 4 gói echo

Hình 6

R1#sh policy-map int s0/1/0

Page 15: Lab 2 phân loại dùng mô hình mqc

Serial0/1/0

Service-policy output: classify

Class-map: PING_AND_EF (match-all) 0 packets, 0 bytes << không tăng giá trị 5 minute offered rate 0 bps Match: access-group 102 Match: ip dscp ef (46)

Class-map: class-default (match-any) 29 packets, 2610 bytes 5 minute offered rate 0 bps, drop rate 0 bps Match: any

Thống kê không thấy tăng vì chỉ là gói icmp echo, giá trị dscp chưa thiết lập nên bằng 0, class-map sẽ không phân loại được lưu lượng này.

Thực hiện ping từ pc đến 20.20.20.2 với 4 gói echo và thiết lập thông tin dscp bằng ef, kiểm tra cấu hình:

Hình 7

R1#sh policy-map int s0/1/0 Serial0/1/0

Service-policy output: classify

Class-map: PING_AND_EF (match-all) 4 packets, 256 bytes << tăng lên 4 gói 5 minute offered rate 0 bps Match: access-group 102

Page 16: Lab 2 phân loại dùng mô hình mqc

Match: ip dscp ef (46)

Class-map: class-default (match-any) 60 packets, 5669 bytes 5 minute offered rate 0 bps, drop rate 0 bps Match: any

R1#sh policy-map int s0/1/0 Serial0/1/0

Service-policy output: classify

Class-map: PING_AND_EF (match-all) 4 packets, 256 bytes 5 minute offered rate 0 bps Match: access-group 102 Match: ip dscp ef (46)

Class-map: class-default (match-any) 60 packets, 5669 bytes 5 minute offered rate 0 bps, drop rate 0 bps Match: any

Gói tin đã được đếm hay được phân loại do thỏa tất cả các điều kiện so trùng.

Bước 4: Chuyển sang logic match any

Yêu cầu:

Phân loại lưu lượng có giá trị dscp là EF HOẶC telnet sẽ được thống kê

Loại bỏ các cấu hình cũ

R1#conf tR1(config)#int s0/1/0R1(config-if)#no service-policy output classify

Kiểm tra ACL

R1#sh access-lists Extended IP access list 100 10 permit tcp any any eq www (2304 matches) 20 permit tcp any eq www anyExtended IP access list 101 10 permit tcp any any eq telnet (72 matches)Extended IP access list 102 10 permit icmp any any echo (13 matches)R1#

Page 17: Lab 2 phân loại dùng mô hình mqc

R1(config)#policy-mapR1(config)#class-map match-any TELNET_OR_EFR1(config-cmap)#match access-group 101 R1(config-cmap)#match ip dscp efR1(config-cmap)#end

Chỉnh lại cấu hình mới!R1#conf tEnter configuration commands, one per line. End with CNTL/Z.R1(config)#policy-mapR1(config)#policy-map classifyR1(config-pmap)#no class PING_AND_EFR1(config-pmap)#class TELNET_OR_EFR1(config-pmap-c)#endR1#conf tEnter configuration commands, one per line. End with CNTL/Z.R1(config)#R1(config)#int s0/1/0R1(config-if)#service-policy output classifyR1(config-if)#

Kiểm tra cấu hình trứơc khi tiến hành gửi lưu lượng và xem thông số

Xóa các thông tin thống kê trước đó

R1#clear counters Clear "show interface" counters on all interfaces [confirm]

R1#sh policy-map int s0/1/0 Serial0/1/0

Service-policy output: classify

Class-map: TELNET_OR_EF (match-any) 0 packets, 0 bytes << thông tin bẳng 0 5 minute offered rate 0 bps Match: access-group 101 0 packets, 0 bytes 5 minute rate 0 bps Match: ip dscp ef (46) 0 packets, 0 bytes 5 minute rate 0 bps

Class-map: class-default (match-any) 1 packets, 24 bytes 5 minute offered rate 0 bps, drop rate 0 bps

Page 18: Lab 2 phân loại dùng mô hình mqc

Match: any

Page 19: Lab 2 phân loại dùng mô hình mqc

Bắt đầu gửi traffic, tiến hành ping 4 gói có giá trị dscp EF

Hình 8

R1#sh policy-map int s0/1/0 Serial0/1/0

Service-policy output: classify

Class-map: TELNET_OR_EF (match-any) 4 packets, 256 bytes << số lượng tăng lên vì điều kiện ef thỏa 5 minute offered rate 0 bps Match: access-group 101 0 packets, 0 bytes 5 minute rate 0 bps Match: ip dscp ef (46) 4 packets, 256 bytes 5 minute rate 0 bps

Class-map: class-default (match-any) 11 packets, 1141 bytes 5 minute offered rate 0 bps, drop rate 0 bps Match: any

Page 20: Lab 2 phân loại dùng mô hình mqc

Sau đó tiến hành telnet đến 20.20.20.2

R1#sh policy-map int s0/1/0 Serial0/1/0

Service-policy output: classify

Class-map: TELNET_OR_EF (match-any) 17 packets, 875 bytes << số lượng tăng lên vì điều kiện telnet thỏa 5 minute offered rate 0 bps Match: access-group 101 13 packets, 619 bytes 5 minute rate 0 bps Match: ip dscp ef (46) 4 packets, 256 bytes 5 minute rate 0 bps

Class-map: class-default (match-any) 25 packets, 2354 bytes 5 minute offered rate 0 bps, drop rate 0 bps Match: any