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.
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
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.
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
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
!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
!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...
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
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
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
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)
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
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#
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]