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.

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 Chính Hãng ™ đã 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 Chính Hãng ™ 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 Chính Hãng ™ 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ãng, Hã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 Chính Hãng ™. 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ỉ: Số 59 Võ Chí Công, Phường Nghĩa Đô, Quận Cầu Giấy, TP Hà Nội.
- Hotline/Zalo: 0888.40.70.80
- Email: info@ciscochinhhang.net
- Website: https://ciscochinhhang.net
Địa Chỉ Phân Phối Switch Cisco 9000 Chính Hãng Giá Tốt Tại Sài Gòn (TP HCM)
- Địa chỉ: Số 736/182 Lê Đức Thọ, Phường 15, Quận Gò Vấp, TP Hồ Chí Minh
- Hotline/Zalo: 0888.40.70.80
- Email: info@ciscochinhhang.net
- Website: https://ciscochinhhang.net