Hướng Dẫn Cấu Hình Khả Năng Hiển Thị Và Kiểm Soát Ứng Dụng (AVC) Trên Switch Cisco Catalyst 9000

TỔNG QUAN VỀ AVC TRÊN SWITCH CISCO CATALYST 9000 SERIES

AVC Trên Cisco Catalyst 9000 Switch Là Gì?

Application Visibility and Control (AVC) hay Khả Năng Hiển Thị và Kiểm Soát Ứng Dụng là giải pháp tận dụng Network-Based Recognition Version 2 (NBAR2), NetFlow V9 cùng các công cụ quản lý và báo cáo khác nhau (Cisco Prime) để giúp phân loại ứng dụng thông qua DPI (phân tích sâu các gói)

Tính năng AVC được tích hợp trên đầy đủ các dòng sản phẩm Cisco Catalyst 9000 bao gồm: Switch Cisco 9200, Switch Cisco 9300, Switch Cisco 9400, Switch Cisco 9500, Switch Cisco 9600. AVC có thể được cấu hình thông qua các cổng truy cập có dây cho các thiết bị switch độc lập hoặc switch stack.

Cấu trúc liên kết AVC Trên Switch Cisco 9300
Cấu trúc liên kết AVC Trên Switch Cisco 9300

Hiệu Suất Và Quy Mô Của AVC Trên Switch Cisco 9000 Series

  • Hiệu suất: Mỗi thiết bị Cisco Catalyst 9000 Series có thể xử lý 500 kết nối mỗi giây (CPS) ở mức sử dụng CPU dưới 50%. Nếu mức sử dụng CPU vượt quá tỉ lệ này, AVC không đảm bảo có thể xử lý
  • Quy mô: Có khả năng xử lý tới khoảng 200 luồng hai chiều trên mỗi cổng truy cập

Hạn Chế Của Tính Năng AVC Trên Cisco Catalyst 9000 Switch

Dưới đây là những hạn chế của tính năng AVC trên Cisco 9200/9300/9400/9500/9600

  • Tính năng AVC và ETA không thể được cấu hình cùng lúc trên cùng một giao diện
  • Khả năng phân loại gói chỉ được hỗ trợ cho IPv4 (TCP/UDP)
  • Cấu hình chính sách QoS dựa trên NBAR chỉ được hỗ trợ trên các cổng vật lý có dây, bao gồm cả các cổng access và trunk layer 2 cùng các cổng định tuyến layer 3
  • Cấu hình chính sách QoS dựa trên NBAR không được hỗ trợ trên các cổng channel thành viên, Switch Virtual Interfaces (SVIs) hoặc giao diện phụ
  • Bộ phân loại dựa trên NABR2 (giao thức đối sánh), chỉ hỗ trợ các hành động đánh dấu và lập chính sách QoS.
  • “Match protocol” được giới hạn ở 255 giao thức khác nhau trong tất cả các chính sách (giới hạn phần cứng 8 bit)

HƯỚNG DẪN CẤU HÌNH AVC TRÊN SWITCH CISCO CATALYST 9000

Cấu hình AVC bao gồm 3 thành phần chính là:

Khả Năng Hiển Thị

Khả năng hiển thị được thể hiện qua tính năng khám phá giao thức

  • Khám phá giao thức được thực hiện thông qua NBAR, cung cấp số liệu thống kê về mỗi giao diện, cũng như hướng và ứng dụng bytes/gói
  • Khám phá giao thức được bật cho một giao diện cụ thể thông qua cấu hình giao diện ip nbar protocol-discovery

Cách bật tính năng khám phá giao thức:

Switch(config)#interface fi4/0/5
Switch(config-if)#ip nbar protocol-discovery
Switch(config-if)#exit

Switch#show run int fi4/0/5
Building configuration...

Current configuration : 70 bytes
!
interface FiveGigabitEthernet4/0/5
ip nbar protocol-discovery
end

Kiểm Soát

AVC đạt được khả năng kiếm soát tốt hơn thông qua QoS dựa trên ứng dụng, cho phép bạn so khớp trên ứng dụng và cung cấp khả năng kiểm soát chi tiết hơn thông qua các hành động QoS như đánh dấu và lập chính sách.

  • Các hành động được thực hiện trên lưu lượng tổng hợp (không phải trên mỗi flow)
  • Application Based QoS đạt được bằng cách tạo class map, kết hợp giao thức và sau đó tạo policy map
  • Chính sách Application Based QoS được đính kèm với 1 giao diện

Dưới đây là cấu hình QoS dựa trên ứng dụng:

Switch(config)#class-map WEBEX
Switch(config-cmap)#match protocol webex-media
Switch(config)#end

Switch(config)#policy-map WEBEX
Switch(config-pmap)#class WEBEX
Switch(config-pmap-c)#set dscp af41
Switch(config)#end

Switch(config)#interface fi4/0/5
Switch(config-if)#service-policy input WEBEX
Switch(config)#end

Switch#show run int fi4/0/5
Building configuration...

Current configuration : 98 bytes
!
interface FiveGigabitEthernet4/0/5
service-policy input WEBEX
ip nbar protocol-discovery
end

Application-Based Flexible NetFlow

AVC Flexible Netflow hỗ trợ hai loại Flow Record được xác định trước: flow record hai chiều kế thừa và flow record định hướng mới. Flow Record hai chiều theo dõi các thống kê ứng dụng của máy khách/máy chủ.

Ví dụ về cấu hình của record flow hai chiều:

Switch(config)#flow record BIDIR-1
Switch(config-flow-record)#match ipv4 version
Switch(config-flow-record)#match ipv4 protocol
Switch(config-flow-record)#match application name
Switch(config-flow-record)#match connection client ipv4 address
Switch(config-flow-record)#match connection server ipv4 address
Switch(config-flow-record)#match connection server transport port
Switch(config-flow-record)#match flow observation point
Switch(config-flow-record)#collect flow direction
Switch(config-flow-record)#collect connection initiator
Switch(config-flow-record)#collect connection new-connections
Switch(config-flow-record)#collect connection client counter packets long
Switch(config-flow-record)#connection client counter bytes network long
Switch(config-flow-record)#collect connection server counter packets long
Switch(config-flow-record)#connection server counter bytes network long
Switch(config-flow-record)#collect timestamp absolute first
Switch(config-flow-record)#collect timestamp absolute last
Switch(config-flow-record)#end

Switch#show flow record BIDIR-1
flow record BIDIR-1:
Description: User defined
No. of users: 0
Total field space: 78 bytes
Fields:
match ipv4 version
match ipv4 protocol
match application name
match connection client ipv4 address
match connection server ipv4 address
match connection server transport port
match flow observation point
collect flow direction
collect timestamp absolute first
collect timestamp absolute last
collect connection initiator
collect connection new-connections
collect connection server counter packets long
collect connection client counter packets long
collect connection server counter bytes network long
collect connection client counter bytes network long

Bản ghi hướng là thống kê ứng dụng cho đầu vào/đầu ra.

Cấu hình của bản ghi hướng đầu vào và đầu ra

Switch(config)#flow record APP-IN
Switch(config-flow-record)#match ipv4 version
Switch(config-flow-record)#match ipv4 protocol
Switch(config-flow-record)#match ipv4 source address
Switch(config-flow-record)#match ipv4 destination address
Switch(config-flow-record)#match transport source-port
Switch(config-flow-record)#match transport destination-port
Switch(config-flow-record)#match interface input          
Switch(config-flow-record)#match application name
Switch(config-flow-record)#collect interface output
Switch(config-flow-record)#collect counter bytes long
Switch(config-flow-record)#collect counter packets long
Switch(config-flow-record)#collect timestamp absolute first
Switch(config-flow-record)#collect timestamp absolute last
Switch(config-flow-record)#end

Switch#show flow record APP-IN
flow record APP-IN:
Description: User defined
No. of users: 0
Total field space: 58 bytes
Fields:
match ipv4 version
match ipv4 protocol
match ipv4 source address
match ipv4 destination address
match transport source-port
match transport destination-port
match interface input
match application name
collect interface output
collect counter bytes long
collect counter packets long
collect timestamp absolute first
collect timestamp absolute last

Switch(config)#flow record APP-OUT
Switch(config-flow-record)#match ipv4 version
Switch(config-flow-record)#match ipv4 protocol
Switch(config-flow-record)#match ipv4 source address
Switch(config-flow-record)#match ipv4 destination address
Switch(config-flow-record)#match transport source-port
Switch(config-flow-record)#match transport destination-port
Switch(config-flow-record)#match interface output 
Switch(config-flow-record)#match application name
Switch(config-flow-record)#collect interface input
Switch(config-flow-record)#collect counter bytes long
Switch(config-flow-record)#collect counter packets long
Switch(config-flow-record)#collect timestamp absolute first
Switch(config-flow-record)#collect timestamp absolute last
Switch(config-flow-record)#end

Switch#show flow record APP-OUT
flow record APP-OUT:
Description: User defined
No. of users: 0
Total field space: 58 bytes
Fields:
match ipv4 version
match ipv4 protocol
match ipv4 source address
match ipv4 destination address
match transport source-port
match transport destination-port
match interface output
match application name
collect interface input
collect counter bytes long
collect counter packets long
collect timestamp absolute first
collect timestamp absolute last

Flow Exporter

Tạo Flow Exporter để xác định các tham số xuất.

Ví dụ về cấu hình Flow Exporter

Switch(config)#flow exporter AVC
Switch(config-flow-exporter)#destination 192.168.69.2
Switch(config-flow-exporter)#source vlan69
Switch(config-flow-exporter)#end

Switch#show run flow exporter AVC
Current configuration:
!
flow exporter AVC
destination 192.168.69.2
source Vlan69
!

Flow Monitor

 Tạo Flow Monitor để liên kết nó với một Flow Record

Ví dụ về cấu hình Flow Monitor

Switch(config)#flow monitor AVC-MONITOR
Switch(config-flow-monitor)#record APP-OUT
Switch(config-flow-monitor)#exporter AVC
Switch(config-flow-monitor)#end

Switch#show run flow monitor AVC-MONITOR
Current configuration:
!
flow monitor AVC-MONITOR
exporter AVC
record APP-OUT

Liên Kết Flow Monitor Với Một Giao Diện

Bạn có thể tối đa hai màn hình AVC khác nhau với các bản ghi khác nhau được xác định trước vào một giao diện cùng một lúc

Ví dụ về cấu hình liên kết flow monitor với một giao diện

Switch(config)#interface fi4/0/5
Switch(config-if)#ip flow monitor AVC-MONITOR out
Switch(config-if)#end

Switch#show run interface fi4/0/5
Building configuration...
Current configuration : 134 bytes
!
interface FiveGigabitEthernet4/0/5
ip flow monitor AVC-MONITOR output
service-policy input WEBEX
ip nbar protocol-discovery
end

XÁC THỰC AVC TRÊN SWITCH CISCO CATALYST 9000

Có nhiều bước để xác thực AVC. Phần này cung cấp ví dụ về các lệnh và kết quả trả về

Để xác thực NBAR đang hoạt động, bạn có thể sử dụng lệnh “show ip nbar control-plane” 

Những điều cần chú ý:

  • NBAR phải được kích hoạt trong các kịch bản đúng yêu cầu
  • Cấu hình NBAR phải sẵn sàng trong các tình huống hợp lệ

Xác thực rằng mỗi switch thành viên có một data plane đang hoạt động với lệnh show platform software fed switch active|standby|member wdavc function wdavc_stile_cp_show_info_ui:

DP được kích hoạt phải hiển thị là TRUE trong một tình huống hợp lệ

Switch#show platform software fed switch active wdavc function wdavc_stile_cp_show_info_ui

Is DP activated : TRUE
MSG ID : 3
Maximum number of flows: 262144
Current number of graphs: 1
Requests queue state : WDAVC_STILE_REQ_QUEUE_STATE_UP
Number of requests in queue : 0
Max number of requests in queue (TBD): 1
Counters:
activate_msgs_rcvd : 1
graph_download_begin_msgs_rcvd : 3
stile_config_msgs_rcvd : 1584
graph_download_end_msgs_rcvd : 3
deactivate_msgs_rcvd : 0
intf_proto_disc_msgs_rcvd : 1
intf_attach_msgs_rcvd : 2
cfg_response_msgs_sent : 1593
num_of_handle_msg_from_fmanfp_events : 1594
num_of_handle_request_from_queue : 1594
num_of_handle_process_requests_events : 1594

Sử dụng lệnh “show platform software fed switch active|standby|member wdavc flows để hiển thị các thông tin chính

Switch#show platform software fed switch active wdavc flows

CurrFlows=1, Watermark=1

IX |IP1           |IP2           |PORT1|PORT2|L3   |L4   |VRF |TIMEOUT|APP     |TUPLE|FLOW     |IS FIF  |BYPASS|FINAL |#PKTS |BYPASS
   |              |              |     |     |PROTO|PROTO|VLAN|SEC    |NAME    |TYPE |TYPE     |SWAPPED |      |      |      |PKT
--------------------------------------------------------------------------------------
1  |192.168.100.2 |192.168.200.2 |68   |67   |1    |17   |0   |360    |unknown |Full |Real Flow|Yes     |True |True   |40    |40

Các trường chính được hiển thị bao gồm:

  • CurrFlows: Thể hiện có bao nhiêu active flow được AVC theo dõi
  • Watermark: Thể hiện số lượng flow lớn nhất được AVC theo dõi trong lịch sử
  • TIMEOUT SEC: Thời gian chờ không hoạt động dựa trên ứng dụng đã xác định
  • APP NAME: Ứng dụng đã nhận dạng
  • FLOW TYPE: Real Flow cho biết điều này được tạo ra do dữ liệu gửi đến. Pre Flow cho biết luồng này được tạo do dữ liệu gửi đến. Pre-Flows được sử dụng cho các luồng phương tiện dự kiến
  • TUPLE TYPE: Real Flow luôn có đầy đủ tuple, Pre-flows là đầy đủ tuple hoặc nửa tuple
  • BYPASS: Nếu được đặt thành TRUE, nó thể hiện rằng phần mềm không yêu cầu thêm gói để xác thực flow này
  • FINAL: Nếu được đặt thành TRUE, nó thể hiện rằng ứng dụng không thay đổi nữa đối với flow này
  • BYPASS PKT: Cần bao nhiêu gói để đến được phân loại cuối cùng
  • #PKTS: Có bao nhiêu gói tin đã thực sự bị dồn vào phần mềm cho flow này

Để xem chi tiết bổ sung về các Flow hiện tại, bạn có thể sử dụng lệnh “show platform software fed switch active wdavc function wdavc_ft_show_all_flows_seg_ui”

Trong đó

  • I/F ID: Chỉ định ID giao diện
  • SEG DIR: Chỉ định hướng đi ra
  • FIF DIR: Xác định xem đây có phải hướng khởi tạo flow không 
  • NFL HDL: Flow ID trong phần cứng

Để xem mục nhập trong phần cứng, hãy chạy lệnh “show platform software fed switch active fnf flow-record asic <number> start-index <number> num-flows <number of flows>

Lưu ý: Để chọn ASIC, nó là thể hiện ASIC mà cổng được ánh xạ tới. Để xác định ASIC, sử dụng lệnh “show platform software fed switch active|standby|member ifm mappings”. Chỉ mục bắt đầu có thể được đặt thành “0” nếu bạn không quan tâm đến một flow cụ thể. Nếu không, chỉ mục bắt đầu cần được chỉ định. Đối với num-flow, chỉ định số lượng flow có thể xem, tối đa là 10.

Switch#show platform software fed switch active fnf flow-record asic 3 start-index 0 num-flows 1
1 flows starting at 0 for asic 3:-------------------------------------------------
Idx 175 :
{90, ALR_INGRESS_NET_FLOW_ACL_LOOKUP_TYPE1 = 0x01}
{91, ALR_INGRESS_NET_FLOW_ACL_LOOKUP_TYPE2 = 0x01}
{0, ALR_INGRESS_NFL_SPECIAL1 = 0x00}
{11 PAD-UNK = 0x0000}
{94, PHF_INGRESS_DEST_PORT_OR_ICMP_OR_IGMP_OR_PIM_FIRST16B = 0x0043}
{93, PHF_INGRESS_SRC_PORT = 0x0044}
{67, PHF_INGRESS_IPV4_DEST_ADDRESS = 0xc0a8c802}
{68, PHF_INGRESS_IPV4_SRC_ADDRESS = 0xc0a86402}
{56, PHF_INGRESS_L3_PROTOCOL = 0x11}
FirstSeen = 0x2b4fb, LastSeen = 0x2eede, sysUptime = 0x2ef1c
PKT Count = 0x000000000001216f, L2ByteCount = 0x0000000001873006

Tìm Các Lỗi Và Cảnh Báo Khác Nhau Trong Đường Dẫn Dữ Liệu

Sử dụng lệnh “show platform software fed switch active|standby|member wdavc function wdavc_ft_show_stats_ui | inc err|warn|fail để xem bảng lưu lượng lỗi tiềm ẩn

Switch#show platform software fed switch active wdavc function wdavc_ft_show_stats_ui | inc err|warn|fail
Bucket linked exceed max error : 0
extract_tuple_non_first_fragment_warn : 0
ft_client_err_alloc_fail : 0
ft_client_err_detach_fail : 0
ft_client_err_detach_fail_intf_attach : 0
ft_inst_nfl_clock_sync_err : 0
ft_ager_err_invalid_timeout : 0
ft_intf_err_alloc_fail : 0
ft_intf_err_detach_fail : 0
ft_inst_err_unreg_client_all : 0
ft_inst_err_inst_del_fail : 0
ft_flow_seg_sync_nfl_resp_pend_del_warn : 0
ager_sm_cb_bad_status_err : 0
ager_sm_cb_received_err : 0
ft_ager_to_time_no_mask_err : 0
ft_ager_to_time_latest_zero_ts_warn : 0
ft_ager_to_time_seg_zero_ts_warn : 0
ft_ager_to_time_ts_bigger_curr_warn : 0
ft_ager_to_ad_nfl_resp_error : 0
ft_ager_to_ad_req_all_recv_error : 0
ft_ager_to_ad_req_error : 0
ft_ager_to_ad_resp_error : 0
ft_ager_to_ad_req_restart_timer_due_err : 0
ft_ager_to_flow_del_nfl_resp_error : 0
ft_ager_to_flow_del_all_recv_error : 0
ft_ager_to_flow_del_req_error : 0
ft_ager_to_flow_del_resp_error : 0
ft_consumer_timer_start_error : 0
ft_consumer_tw_stop_error : 0
ft_consumer_memory_error : 0
ft_consumer_ad_resp_error : 0
ft_consumer_ad_resp_fc_error : 0
ft_consumer_cb_err : 0
ft_consumer_ad_resp_zero_ts_warn : 0
ft_consumer_ad_resp_zero_pkts_bytes_warn : 0
ft_consumer_remove_on_count_zero_err : 0
ft_ext_field_ref_cnt_zero_warn : 0
ft_ext_gen_ref_cnt_zero_warn : 0

Sử dụng lệnh “show platform software fed switch active wdavc function wdavc_stile_stats_show_ui | inc err” để xem bất kỳ lỗi NBAR tiềm ẩn nào:

Switch#show platform software fed switch active wdavc function wdavc_stile_stats_show_ui | inc err
find_flow_error : 0
add_flow_error : 0
remove_flow_error : 0
detach_fo_error : 0
is_forward_direction_error : 0
set_flow_aging_error : 0
ft_process_packet_error : 0
sys_meminfo_get_error : 0

Xác Minh Rằng Các Gói Được Nhân Bản Vào CPU

Sử dụng lệnh “show platform software fed switch active punt cpuq 21 | inc received” để xác minh rằng các gói được nhân bản vào CPU để xử lý NBAR

Switch#show platform software fed switch active punt cpuq 21 | inc received
Packets received from ASIC : 63

Kiểm Tra Sự Cố Tắc Nghẽn CPU

Trong thời gian tắc nghẽn, các gói tin có thể bị loại bỏ trước khi gửi đến quy trình WDAVC. Sử dụng lệnh “show platform software fed switch active wdavc function fed_wdavc_show_ots_stats_ui” để xác thực

Switch#show platform software fed switch active wdavc function fed_wdavc_show_ots_stats_ui
OTS Limits
----------------------------------------------
ots_queue_max : 20000
emer_bypass_ots_queue_stress : 4000
emer_bypass_ots_queue_normal : 200
OTS Statistics
----------------------------------------------
total_requests : 40
total_non_wdavc_requests : 0
request_empty_field_data_error : 0
request_invalid_di_error : 0
request_buf_coalesce_error : 0
request_invalid_format_error : 0
request_ip_version_error : 0
request_empty_packet_error : 0
memory_allocation_error : 0
emergency_bypass_requests_warn : 0
dropped_requests : 0
enqueued_requests : 40
max_ots_queue : 0

Mẹo: Để xóa bộ đếm punt drop, hãy sử dụng lệnh “show platform software fed switch active wdavc function fed_wdavc_clear_ots_stats_ui”

Xác Định Các Vấn Đề Về Quy Mô

Nếu không có FNF Free nào trong phần cứng, lưu lượng truy cập không thuộc phân loại NBAR2. Sử dụng lệnh “show platform software fed switch active fnf sw-table-sizes asic <number> shadow 0″ để xác nhận

Lưu ý: Các flow được tạo dành riêng cho switch và asic core khi chúng được tạo. Số switch (active, standby, etc) cần được chỉ định tương ứng. Số ASIC đầu vào được gắn vào giao diện tương ứng, sử dụng lệnh “show platform software fed switch active|standby|member ifm mappings” để xác định ASIC tương ứng với giao diện. Đối với tùy chọn shadow, luôn sử dụng “0”


KẾT LUẬN

Như vậy là qua bài viết này, quản trị viên của Cisco Việt Nam ™ đã gửi đến quý khách hàng cũng như các bạn độc giả hướng dẫn cấu hình AVC trên dòng sản phẩm Cisco Catalyst 9000 Switch.

Cisco Việt Nam ™ là một địa chỉ phân phối Switch Cisco Catalyst chính hãng uy tín hàng đầu tại Việt Nam. Đến với chúng tôi, quý khách hàng sẽ nhận được những thông tin chính xác về nguồn gốc xuất xứ, giấy tờ, chứng chỉ, với mức giá Discount theo quy định của nhà sản xuất. Hàng luôn sẵn kho số lượng lớn để đáp ứng nhu cầu của khách hàng.

Cisco Việt Nam ™ có văn phòng giao dịch tại 2 thành phố lớn nhất là Hà Nội và Hồ Chí Minh (Sài Gòn). Giúp thuận tiện cho khách hàng có như cầu mua Switch Cisco Catalyst 9000 Chính Hãng có thể đến trực tiếp văn phòng của chúng tôi, cũng như rút ngắn thời gian giao hàng các sản phẩm máy chủ chính hãng đến với khách hàng..

Ngoài ra thì chúng tôi phân phối Cisco chính hãng trên toàn quốc, Do đó nếu khách hàng không ở có điều kiện để đến trực tiếp văn phòng của chúng tôi tại Hà Nội và Sài Gòn thì có thể liên hệ với chúng tôi để nhận thông tin về báo giá, tình trạng hàng hoá, chương trình khuyến mại…

Để Nhận Thông Tin Hỗ Trợ Báo Giá Dự Án, Đặt Hàng, Giao Hàng, Đặt Hàng, Bảo Hành, Khuyến Mại, Hỗ Trợ Kỹ Thuật của các sản phẩm Switch Cisco Catalyst 9000 Chính HãngHãy Chát Ngay với chúng tôi ở khung bên dưới hoặc gọi điện tới số hotline hỗ trợ 24/7 của Cisco Việt Nam ™. Quý khách cũng có thể liên hệ tới văn phòng của chúng tôi tại Hà Nội và Sài Gòn theo thông tin sau:

Địa Chỉ Phân Phối Switch Cisco 9000 Chính Hãng Giá Tốt Tại Hà Nội

Địa Chỉ Phân Phối Switch Cisco 9000 Chính Hãng Giá Tốt Tại Sài Gòn (TP HCM)


Nguồn: https://anbinhnet.com.vn/huong-dan-cau-hinh-avc-tren-cisco-catalyst-9000/

Trả lời

Hotline: 0967.40.70.80