此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍思科统一无线网络(CUWN)解决方案出现时的互操作性问题。
Cisco 建议您了解以下主题:
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
注意:本文档的目标读者是经验丰富的无线网络工程师和管理员,他们已熟悉这些主题的使用、配置和故障排除。
我们发现许多情况是,各种客户端设备既存在又正在继续发展。在建立、维护或仅仅为了充分利用与无线网络的连接和支持基础设施方面,可能会出现各种问题。
这通常可以归结为客户端设备和/或无线基础设施本身的简单配置问题。但是,在某些情况下,这可以归因于特定客户端设备和支持该设备的组件(请求方、WLAN适配器、无线驱动程序……)和/或相关AP的互操作性问题。作为无线工程师,此类互操作性问题为识别、排除和解决潜在的复杂挑战提供了机会。
本文档详细介绍在思科统一无线网络(CUWN)解决方案出现此类无线互操作性问题时,需要初步收集哪些信息来有效地调查和解决这些问题。随着无线客户端设备和接入点(AP)无线电的数量和组合不断增长,对这种综合方法的需求也变得日益重要。鉴于可能规定此类要求的变量数量不限,可能需要逐个收集有关本文所述内容的其他信息。但是,此处详述的信息是用于解决任何潜在无线客户端互操作性问题的通用指南。
要想有效地处理任何问题,并打算下定决心,第一步是要准确界定眼前的问题。为此,请确保至少询问以下问题并且明确记录其答案:
无一例外,收集WLC配置对于详细查看客户使用的功能、其特定设置以及其他此类详细信息是非常必要的。要执行此操作,您必须建立与所询问WLC的Telnet/SSH会话,并将以下CLI命令的输出保存到文本文件:
config paging disable show run-config
始终优先选择完整的运行配置输出,因为它包含有关已加入AP的详细信息以及相关RF信息。但是,在某些情况下,例如当您最初使用加入大量AP的WLC时(8510 WLC具有2500个以上的AP)。最初只收集WLC的配置而不收集此类AP信息可能是更好的做法,因为对于给定的这些AP数量,完整运行show run-config可能需要30分钟或更长时间才能完成。但是,以后可能仍需要收集完整的run-config输出。
为此,您可以选择性地将以下CLI命令的输出收集到文本文件中:
config paging disable show run-config no-ap show wlan apgroups
除show run-config或show run-config no-ap输出外,还建议也收集WLC配置的完全备份。如果实验室重现需要由TAC/HTTS和BU升级双方执行,这有助于在思科实验室环境中尝试重现问题。可以通过相关WLC的GUI或CLI收集WLC的备份,并使用TFTP或FTP将配置文件保存到外部TFTP/FTP服务器。本示例显示使用TFTP保存WLC备份时GUI和CLI的用法:
Commands > Upload File > Configuration > Upload,如图所示。
transfer upload datatype config
transfer upload mode tftp transfer upload serverip <TFTP-Server_IP-address> transfer upload path / transfer upload filename <desired-filename> transfer upload start
此时,您还需要从WLC收集当前日志,以便根据需要进行其他检查。理想情况下,您希望在使用无线客户端测试后立即收集这些日志,从而重现报告的问题。如果客户将WLC日志导出到外部系统日志服务器,则您需要从该服务器检索这些日志。否则,通过将此CLI会话输出保存到其他文本文件,可以保存当前本地存储在WLC上的msglog和traplog:
config paging disable show msglog show traplog
下一步是收集尽可能多的有关所使用客户端设备的信息和细节,这些客户端设备可能会遇到无线互操作性问题。此类信息必须包括(但不一定限于):
注意:有关客户端设备的任何其他信息或说明(包括其WLAN相关配置的屏幕截图等)也必须根据需要包括在内。
为进一步加快故障排除工作和根本原因分析(RCA)流程,始终建议提供详细而全面的网络拓扑图。网络拓扑图不仅必须包含有关网络和无线基础架构的详细信息,还必须提供对有关无线设备(打印机/扫描仪、正在使用哪些客户端VLAN...)及其相对位置的深入了解。
可以使用许多工具(Microsoft Visio、draw.io、...)和各种样式来创建这样的网络图。重要的一点是要确保正确的信息清楚反映在图中,供所有相关方和供应商查看。一个示例网络拓扑,用于捕获有关基础设施和客户端设备的基本有用信息,如图所示。
帮助确保在对最终用户遇到问题的客户端设备进行任何测试时收集适当的信息。建议预先创建一个电子表格或类似工具,以记录测试时发现的所有客户端问题及相关详细信息,例如以下示例:
Mac 地址 | 用户名 | 所报告症状的描述 | 最终用户观察到症状的时间 | Ping默认网关是/否 | WiFi信号状态(已连接/正在尝试连接) | 记录ipconfig /all(或等效配置) |
xxyy.aabb.0011 | test_user1 | 间歇性断开与接入点的连接。 | 与AP3的网络连接和无线关联丢失。 | n | 尝试连接 | ifconfig en0 en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether xx:yy:aa:bb:00:11 inet6 fe80::848:cb8f:881a:4cbf%en0 prefixlen 64安全作用域ID 0x4 inet 192.168.10.237 netmask 0xffffff00 broadcast 192.168.10.255 nd6 options=201<性能,DAD> 媒体:自动选择 状态:活动 |
本练习的目标是帮助记录和确定共同感兴趣的模式,并准确了解当前的问题。一旦准备好使用此电子表格进行数据收集,您就可以开始测试了。下面是一些其他但重要的注意事项:
注意:收集的所有调试和数据包捕获都需要同步到同一NTP服务器,以便与日志更容易关联,并且必须同时执行任何给定测试。
注:提供观察问题时间以及问题看起来可以恢复的时间(如果适用)的准确时间戳。
注意:请始终收集AP和WLC上按客户端MAC地址过滤的调试。
注意:请勿在同一Telnet/SSH/控制台会话中的AP上运行show和debug命令,这两个命令会在不同的会话中分别执行。
注意:与Console相比,在Telnet/SSH中首选执行AP调试,因为控制台通常速度太慢,无法正常工作。
在进行测试以重现潜在的无线客户端互操作性问题并排除故障时,必须从正在使用的无线基础设施收集调试信息和其他日志。这两个部分可以详细介绍分别从WLC和AP收集的特定日志和初始调试输出。
config sessions timeout 0
debug client <MAC_address> debug dhcp message enable
关于当前问题的性质,您也可以逐个添加以下WLC调试:
问题重现至相关无线客户端后,系统将收集并记录之前和之后各节中概述的所有信息。要执行这些CLI命令,您必须禁用WLC上的调试。
debug disable-all
config paging disable show time show client detail <MAC_address> ping <client_IP-address> <repeat count [1-100]>
如前所述,确保在一个Telnet/SSH会话中运行WLC调试,并在另一个Telnet/SSH到WLC中收集这些show命令的输出。您必须执行相同的操作来收集本部分详细介绍的AP调试和show命令输出。
在对测试中涉及的任何轻量Cisco IOS® AP(例如2600、2700、3700或之前型号的Cisco接入点)开始任何调试之前。您必须首先在AP上执行以下CLI命令,以避免在客户端测试时Telnet/SSH/控制台会话到相关AP时超时:
debug capwap console cli config t line vty 0 4 exec-timeout 0 session-timeout 0
还可以按照以下步骤使用控制台连接,并用line console 0替换line vty 0 4语句,以相应地禁用串行/控制台连接的exec和会话超时。
开始测试之前,必须先在AP上收集这些show命令的示例。在测试完成前后,针对涉及无线客户端的每个测试,至少收集两次show命令的输出。
term len 0 show clock show tech show capwap client mn show int do1 dfs show logging more event.log show trace dot11_rst display time format local show trace dot11_rst show trace dot11_bcn display time format local show trace dot11_bcn
一旦收集到上述show命令的初始输出,您现在便可以在单独的Telnet/SSH会话中启用同一接入点上的调试,如下所示。确保将整个输出保存到文本文件。
debug dot11 {d0|d1} monitor addr <client_MAC-address> debug dot11 {d0|d1} trace print clients mgmt keys rxev txev rcv xmt txfail ba
term mon
标志 | 描述 |
d0 | 2.4 GHz射频(插槽0) |
d1 | 5 GHz射频(插槽1) |
管理 | 跟踪管理数据包 |
ba | 跟踪块ACK信息 |
rcv | 跟踪接收的数据包 |
密钥 | 跟踪设置键 |
rxev | 跟踪已接收的事件 |
txev | 跟踪传输事件 |
txrad | 跟踪发送到无线电 |
xmt | 跟踪传输数据包 |
txfail | 跟踪传输故障 |
速率 | 跟踪速率更改 |
要在测试和数据收集过程完成后在AP上禁用调试,可以在AP上执行此CLI命令:
u all
适用于支持802.11ac wave 2的无线接入点和更高版本,例如1800、2800和3800型号无线接入点。这些较新的AP型号为AP平台引入了一种全新的操作系统,称为AP-COS。因此,基于Cisco IOS®的传统轻量级无线接入点上以前使用的所有命令仍然适用。如果故障排除涉及与各种客户端STA设备和AP-COS型号AP的互操作性问题,则必须从涉及等效测试的AP-COS接入点收集这些信息。
在测试所涉及的任何AP-COS型号AP上开始任何调试之前。您必须首先在AP上执行以下CLI命令,以避免在客户端测试时Telnet/SSH/控制台会话至相关AP时出现超时:
exec-timeout 0
开始测试之前,必须先在AP上收集这些show命令的示例。在测试完成前后,针对涉及无线客户端的每个测试,至少收集两次show命令的输出。
term len 0
show clock show tech
show client statistics <client_MAC-address>
show cont nss status
show cont nss stats
show log
这些调试特定于18xx系列接入点。这是因为,用于1800系列AP的芯片组与2800/3800系列接入点中的芯片组不同,因此通过比较,在此场景中需要一组不同的调试。下一节将介绍2800/3800系列AP的相应调试。
一旦收集到上述show命令的初始输出,您现在必须在单独的Telnet/SSH会话中启用相同1800接入点上的调试,如下所示。确保将整个输出保存到文本文件。
debug dot11 client level events addr <client_MAC-address> debug dot11 client level errors addr <client_MAC-address> debug dot11 client level critical addr <client_MAC-address> debug dot11 client level info addr <client_MAC-address> debug dot11 client datapath eapol addr <client_MAC-address> debug dot11 client datapath dhcp addr <client_MAC-address> debug dot11 client datapath arp addr <client_MAC-address>
在某些情况下,您可能还需要在18xx AP上启用其他调试,以进一步排除客户端互操作性问题。但是,只有当/根据思科TAC工程师对相应服务请求/案例的请求,才应执行此操作。
因为额外的调试不仅在其输出中可能更加详细,而且还会在AP上引入额外的负载,因此它需要额外的时间进行适当的分析。如果许多客户端设备尝试连接到所测试的相同AP或类似的变量,在某些情况下可能会中断服务。
要在AP-COS变体接入点上禁用调试-无论是在1800还是2800/3800系列AP上-完成测试和数据收集流程后,您都可以在AP上执行此CLI命令:
config ap client-trace stop
一旦收集到上述show命令的初始输出,您现在必须在单独的Telnet/SSH会话中启用同一2800/3800接入点上的调试,如下所示。确保将整个输出保存到文本文件。
config ap client-trace address add <client_MAC-address>
config ap client-trace filter all enable
config ap client-trace output console-log enable
config ap client-trace start
term mon
要在测试和数据收集过程完成后禁用1800/2800/3800系列AP上的调试,可以在AP上执行以下CLI命令:
config ap client-trace stop
从正在使用的客户端设备(如果是笔记本PC、MacBook或类似设备),必须从用于重现问题的客户端设备的无线接口收集混合模式数据包捕获。可以轻松下载Netmon 3.4(仅限Windows)或Wireshark等常用工具,并使用它们来收集此捕获并将其保存到*.pcap文件中。这取决于设备,可能还有方法从相关客户端收集tcpdump或类似信息,因此您可能需要咨询客户端设备制造商以获得这方面的帮助。
以下是在MacBook Pro上为无线接口配置Wireshark捕获的示例:
与任何数据包捕获一样,无论使用什么实用程序来收集数据包,请确保以pcap文件格式(*.pcap, *.pcapng, *.pkt,...)保存文件。这样做是为了确保不仅任何部门的思科工程师都可以轻松查看数据包捕获文件,其他供应商和组织(Intel、Apple...)的工程师也能轻松查看这些文件。这样可以实现更加无缝的合作与协作流程,进一步推动思科和客户端设备供应商更好地协作,以调查和解决任何潜在的互操作性问题。
为了有效排除任何潜在的或现有的无线互操作性问题,收集高质量的OTA数据包捕获问题至关重要。这允许详细分析无线客户端和无线接入点无线电之间的实际802.11无线通信,此外还提供客户端和无线基础设施日志和调试的进一步视角。对于针对潜在无线互操作性问题的每项测试而言,这是无一例外地必须完成的关键步骤。
但是,最终客户往往没有正确配备或准备收集OTA数据包捕获。这是无线工程师经常遇到的常见障碍,他们必须与客户合作以多种方式克服这一障碍。来自Cisco支持论坛的这篇文章可以作为一个很好的起点,帮助相应地指导和培训客户:
以pcap文件格式(*.pcap, *.pcpng, *.pkt,...)收集OTA数据包捕获并包括802.11元数据(RSSI、信道、数据速率……)至关重要。在测试期间,OTA嗅探器还必须始终紧邻所测试的客户端设备,以确保能够准确观察与所测试的客户端设备之间收发的数据流。
注意:如果相关测试涉及客户端设备漫游场景,因此需要在一个汇聚数据包捕获中监控一个以上的802.11信道。因此,目前不建议使用Fluke Networks的AirMagnet WiFi分析器。
这是因为使用此实用程序捕获的聚合数据包当前以专有文件格式保存,而不是以可在Wireshark或其他类似实用程序中方便查看的pcap样式格式保存。确保您的OTA数据包捕获采用非专有文件格式,这有助于确保所有相关方和供应商能够随时查看任何捕获文件,并最终帮助加快任何解决工作。
以下是收集OTA数据包捕获的一些常用方法:
对于涉及802.11n无线客户端的OTA数据包捕获,目前具有更高的灵活性和易用性。这是因为有更广泛的可用无线USB WLAN适配器,可以随时与许多工具(如OmniPeek等)配合使用。
请注意用于收集802.11n OTA捕获的特定无线适配器的功能与您尝试进行故障排除的客户端设备所使用的实际WLAN芯片组的功能有何异同。例如,如果客户端设备遇到使用支持2空间流(2SS)的802.11n芯片组的潜在无线互操作性问题。然后,强烈建议确保用于收集OTA数据包捕获的无线适配器也是2SS或更好的适配器,具有802.11n或更新规格。
对于3空间流(3SS) 802.11ac捕获,您可以使用2014型号MacBook Pro或更高版本和Mac OS X 10.10.x或更高版本的本机嗅探功能。如果对2空间流802.11ac客户端设备进行故障排除,您还可以使用MacBook Air进行802.11ac捕获。在撰写本文时,MacBooks的Air型号仅使用2SS的WLAN芯片组。有关使用Mac OS X通过各种方法收集OTA数据包捕获的说明,请参阅列出的思科支持论坛文章:
您也可以在嗅探器模式下使用2702/2802/3702/3802系列或类似的AP来收集使用3SS的适当802.11ac数据包捕获。您还可以参阅列出的资源,了解可用的802.11ac无线适配器的当前列表。其中一些工具可能会与OmniPeek等常用工具一起使用,以收集802.11ac数据包捕获(来自Ralink、Atheros的芯片组……):
https://wikidevi.com/wiki/List_of_802.11ac_Hardware#Wireless_adapters
您也可以在嗅探器模式下使用2702/2802/3702/3802系列或类似的AP来收集使用3SS的适当802.11ac数据包捕获。为方便起见,有关如何在嗅探器模式下配置思科AP和收集OTA数据包捕获的分步说明,请参阅思科支持论坛文章:
对于使用无线客户端设备的漫游场景进行故障排除,常见挑战在于跨多个信道有效收集OTA数据包捕获。这种同时监控多个802.11信道的方法是通过收集汇聚的OTA数据包捕获来实现的。为此,建议使用多个兼容802.11ac的USB WLAN适配器与兼容的网络分析软件配合使用。一些常见的兼容802.11ac的USB WLAN适配器包括适用于OmniPeek (802.11ac)的Savvius WiFI适配器、Netgear A6210或类似适配器。
以下是有效排除CUWN中潜在的无线客户端互操作性故障时需要收集的信息摘要。本部分旨在根据需要作为快速参考部分。
从有关WLC的CLI收集以下信息:
或者,您也可以根据需要仅收集以下输出:
通过TFTP、FTP...备份WLC配置(GUI: Commands > Upload File > Configuration)
来自WLC的系统日志
注意:任何客户端参数均不同于相关供应商提供的默认设置。(睡眠状态、漫游参数、U-APSD...)
这包括有关网络中无线设备(打印机/扫描仪、WLC、...)的表示和/或详细信息
示例:
Mac 地址 | 用户名 | 所报告症状的描述 | 最终用户观察到症状的时间 | Ping默认网关是/否 | WiFi信号状态(已连接/正在尝试连接) | 记录ipconfig /all(或等效配置) |
本练习的目标是帮助确定常见模式,并展示更准确地当前问题概况。
通过CLI收集以下WLC调试:
根据具体情况添加其他调试:
通过CLI收集WLC show命令的输出:
测试完成后,使用此命令停止WLC上的所有当前调试:
本节详细介绍1700/2700/3700系列或之前型号的接入点所需的调试。
要避免AP会话在Telnet/SSH/控制台会话时超时,请使用以下命令:
开始测试之前,请在AP上收集这些show命令的示例。在完成测试之前和之后,通过CLI使用以下AP show命令至少收集此输出的两个示例:
通过CLI收集以下AP调试:
测试完成后,使用此命令禁用调试:
本节详细介绍1800/2800/3800系列AP所需的调试。
要避免AP会话在Telnet/SSH/控制台会话时超时,请使用以下命令:
开始测试之前,收集AP上show命令的示例。在完成测试之前和之后,通过CLI使用以下AP show命令至少收集此输出的两个示例:
对于1800系列接入点,通过CLI收集以下AP调试:
对于2800/3800系列接入点,请通过CLI收集以下AP调试:
测试完成后,使用此命令禁用调试:
从客户端设备的WLAN适配器收集混合Netmon 3.4(仅限Windows XP或7)或Wireshark数据包捕获。
C:\Users\engineer>netsh wlan show ? These commands are available: Commands in this context: show all - Shows complete wireless device and networks information. show allowexplicitcreds - Shows the allow shared user credentials settings. show autoconfig - Shows whether the auto configuration logic is enabled or disabled. show blockednetworks - Shows the blocked network display settings. show createalluserprofile - Shows whether everyone is allowed to create all user profiles. show drivers - Shows properties of the wireless LAN drivers on the system. show filters - Shows the allowed and blocked network list. show hostednetwork - Show hosted network properties and status. show interfaces - Shows a list of the wireless LAN interfaces on the system. show networks - Shows a list of networks visible on the system. show onlyUseGPProfilesforAllowedNetworks - Shows the only use GP profiles on GP configured networks setting. show profiles - Shows a list of profiles configured on the system. show settings - Shows the global settings of wireless LAN. show tracing - Shows whether wireless LAN tracing is enabled or disabled.
C:\Users\engineer>netsh wlan show interfaces There are 3 interfaces on the system: Name : Wireless Network Connection 8 Description : WildPackets Conceptronic Nano Wireless 150Mbps USB Adapter #5 GUID : 6beec9b0-9929-4bb4-aef8-0809ce01843e Physical address : c8:d7:19:34:d5:85 State : disconnected Name : Wireless Network Connection 4 Description : WildPackets Conceptronic Nano Wireless 150Mbps USB Adapter GUID : 23aa09d4-c828-4184-965f-4e30f27ba359 Physical address : 48:f8:b3:b7:02:6e State : disconnected Name : Wireless Network Connection Description : Intel(R) Centrino(R) Advanced-N 6200 AGN GUID : 8fa038f8-74e0-4167-98f9-de0943f0096c Physical address : 58:94:6b:3e:a1:d0 State : connected SSID : snowstorm BSSID : 00:3a:9a:e6:28:af Network type : Infrastructure Radio type : 802.11n Authentication : WPA2-Enterprise Cipher : CCMP Connection mode : Profile Channel : 157 Receive rate (Mbps) : 300 Transmit rate (Mbps) : 300 Signal : 80% Profile : snowstorm Hosted network status : Not started
C:\Users\engineer>netsh wlan show networks bssid | more Interface name : Wireless Network Connection There are 21 networks currently visible. SSID 1 : snowstorm Network type : Infrastructure Authentication : WPA2-Enterprise Encryption : CCMP BSSID 1 : 00:3a:9a:e6:28:af Signal : 99% Radio type : 802.11n Channel : 157 Basic rates (Mbps) : 24 39 156 Other rates (Mbps) : 18 19.5 36 48 54 BSSID 2 : 00:3a:9a:e6:28:a0 Signal : 91% Radio type : 802.11n Channel : 6 Basic rates (Mbps) : 1 2 Other rates (Mbps) : 5.5 6 9 11 12 18 24 36 48 54 -- More --
为了在Windows PC上收集与ipconfig /all命令等效的输出,可以改用常用的Linux/Unix命令ifconfig列出Apple MacBook上所有网络接口的详细信息。如果需要,您还可以指定只接收给定MacBook的本地无线接口的输出(en0或en1,具体取决于型号)。例如以下示例:
bash-3.2$ ifconfig en0 en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500 ether 14:10:9f:de:df:f3 inet6 fe80::1610:9fff:fede:dff3%en0 prefixlen 64 scopeid 0x4 inet 10.150.128.40 netmask 0xffffe000 broadcast 10.150.159.255 nd6 options=1<PERFORMNUD> media: autoselect status: active
为了快速获得有关MacBook上当前无线连接的一些详细信息。您还可以选择桌面右上角的WiFi图标,同时按住键盘上的选项按钮(如图所示)。
另一个有用选项是使用称为airport的隐藏命令行实用程序。强烈建议仅将此功能与您自己的MacBook或实验室环境中正在使用的MacBook配合使用。由于某些网络管理员可能不希望授予最终用户在MacBook上访问此实用程序的权限,因此请相应地采取适当的警告级别。要继续,请在有关MacBook的Terminal中输入以下内容:
sudo ln -s /System/Library/PrivateFrameworks/Apple80211.framework/Versions/Current/Resources/airport /usr/local/bin/airport
现在,您可以轻松调用机场CLI实用程序。例如:
bash-3.2$ airport -I agrCtlRSSI: -61 agrExtRSSI: 0 agrCtlNoise: -90 agrExtNoise: 0 state: running op mode: station lastTxRate: 216 maxRate: 300 lastAssocStatus: 0 802.11 auth: open link auth: wpa2 BSSID: 0:3a:9a:e6:28:af SSID: snowstorm MCS: 13 channel: 157,1
为进一步简化使用MacBook Pro或类似功能收集可靠的单个802.11信道OTA数据包捕获的过程。您可以利用Wireless Diagnostics > Sniffer方法或MacOS中嵌入的功能,也可以使用名为Airtool的第三方实用程序(OS X 10.8及更高版本)。其优势在于使用简单的界面快速收集OTA数据包捕获,只需点击几下屏幕顶部的菜单栏中的应用UI,即可将其直接保存到桌面。
有关Airtool的更多信息和下载链接,请访问以下URL:
版本 | 发布日期 | 备注 |
---|---|---|
2.0 |
14-Feb-2023 |
重新认证 |
1.0 |
14-May-2016 |
初始版本 |