ping+流统进行故障定界_第1页
ping+流统进行故障定界_第2页
ping+流统进行故障定界_第3页
ping+流统进行故障定界_第4页
ping+流统进行故障定界_第5页
已阅读5页,还剩29页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2023/2/4戴青虎00175797ping+流统进行故障定界Page2故障诊断利器pingPing可以做哪些事情?1、检查IP转发是否异常2、检查mpls是否正常3、VPLS状态检查4、PWE3VC状态检查5、组播地址检查即ping是常见的连通性检查的手段。通过ping测试可以检查本段和对端设备之间是否连通。是判断业务部署是否正常最常用的手段。由于ping的命令简单,回显结果易懂,在网络中是最基本的检查手段。Page3普通ping的原理Ping的目的时为了测试另一个主机是否可达。该程序发送一份ICMP回显请求报文给主机,并等待返回ICMP回显应答。一般来说不能Ping到某台主机,那么就说明到该主机为可达,否则为不可达。是定位网络不通的一个重要的手段。Ping在发送和接收时都会记录报文的时间戳。因此ping报文也是检测链路延时的常用手段。右侧为Ping的流程介绍。在发送端,在主控板的Ping程序构造报文送到ICMP模块和IP模块,查找路由获得出接口所在单板,将报文发送到接口板的IP模块。再送到接口板的Ethernet层模块查找ARP信息封装mac地址,通过软件适配发送到转发层面,将报文发送出去。在接收端,相同的流程,只不过所有的程序仅仅在接口板完成,不需要达到主控板,用于减少流程,减少时延和抖动。Page4普通Ping可以携带参数普通ping的结果如下通过Ping结果可以看到如下信息:1、普通ping一次发送5个报文。2、ping报文的大小为56字节,不包含Ethernet头和CRC,即为以太链路最小报文大小。3、每个报文的序列号、TTL大小、链路双向延时时间。4、ping结果的统计信息Page5普通Ping可以携带参数普通ping的发包情况:每500ms发一个报文,等待2s。超过等待时间则记录不可达并发送下一个报文。默认大小为56字节,TTL为255,优先级为0。报文的源IP和源MAC为出接口IP和MAC地址。通过上述信息,可以看出普通ping完全不能满足现网的要求。比如需要持续ping、带优先级ping、ping大包等操作。因此我们需要携带各种参数。具体如下:-c发送报文个数用于持续发包时使用-m发送报文的间隔时间,单位ms用于改变发包间隔。但需要等到对端报文收到或者超时后才发下一个报文-t等待报文时间,单位ms用于改变超时时间,和-m配合实现快ping操作-s报文大小,单位byte调整报文大小,用于发送大包-f指定强制不分片和-s配合用于判断链路MTU大小-p指定payload填充内容用于判断是否存在改包情况-a指定携带的源IP地址用于判断对端到本端非直连接口地址连通性检查-i指定报文的出接口负载分担场景指定具体出接口-tos指定报文IP层携带的优先级改变报文优先级,判断是否链路拥塞-system-time打印收到报文的时间不定时丢包,确认丢包时间-h指定报文的TTL大小类似于tracert-vpn指定vpn的名称用于L3VPN场景私网ping测试ip指定使用IP协议转发使用IP协议转发Page6普通Ping可以携带参数什么场景下需要使用这些参数?1、对于丢包率非常低场景,需要快速ping才能确认丢包。

ping-c10000-m100-t100

注意:-t不能设置的过小,避免等待时间太小,当出现时间抖动时,实际没有丢包,但是结果显示丢包而得出错误结论。一般情况下除了快速发包外,-t不设置。2、对于A(1.1.1.1)(1.1.1.2)B(1.1.2.1)(1.1.2.2)C场景下,A无法和C通信,从B设备ping时。即可以用于判断对端回程路由是否存在异常。ping–a1.1.1.21.1.2.2

注意:-a可以携带非本机地址,即可以携带A设备地址1.1.1.1,此时ping的结果显示为丢包,但是可以通过流统、端口计数、A设备计数等方式确认报文是否发回。可以判断本端转发是否异常、对端负载分担时模拟现网流量等。3、两端业务设备告知不定时丢包,怀疑中间网络故障。当丢包时,查看ping结果中丢包时间是否一致,确认是否网络故障。

ping-c10000000–system-time4、概率丢包,怀疑是中间网络存在改包情况。判断是否携带不同参数ping结果不同。判断是否存在改包。

ping-pFF/00/5a/a5

原因如下:整个报文存在CRC,在子卡计算并添加,IP头的CRC只校验IP头,ICMP头CRC校验整个报文。当在路由器改包时,子卡CRC计算时,报文已经被改,无法校验出来,IP头仅校验IP头部,无法确认。只能使用ICMPCRC在两端设备校验是否改包。Page7普通Ping可以携带参数5、低优先级拥塞丢包。计算方法后面介绍

ping-tos6、怀疑MTU有问题,需要判断是否大包不通时

ping-s1472

计算方法:-s参数为ICMP后面净荷。1472+8(icmp)+20(IP)=1500,该数值即IP层默认MTU值。算上MAC和CRC为1500+14+4=1518,传输设备默认MTU值。7、对于负载分担场景,需要确认某一条链路是否故障。ECMP或者Eth-trunk

ping-iGigabitEthernetX/X/X

对于Trunk中某条链路异场景,使用该命令可以更容易排查出故障链路。需要注意的是该命令仅对本端生效,对对端不生效。8、对于mpls转发,由于携带标签,不容易使用流统、指定优先级等手段,可以强制走IP转发。

pingipX.X.X.XPage8Ping还能干什么?确认链路上是否存在组播不通。用于判断ISISOSPF、LDP等

注意:1、组播ping,一定要指定出接口,因为ping的地址为组播地址。不查找路由,所以需要手工指定。2、组播ping的IP地址为:SourceIP(接口IP或指定IP)destinationIP(指定IP)。因此仅仅在发送方向为组播IP。对端设备因为目的IP为保留组播而上送,回应报文通过查找源IP的路由回应,故回程方向为单播报文。如果要确认双向组播,则需要双向组播ping测试。

3、ping的组播地址需要为保留组播。常见为224.0.0.1、224.0.0.2、224.0.0.6等4、对于vlanif口而言,会向所有成员口发送广播报文,收到的回应报文会全部打印出来。5、对于多成员的Trunk口,会根据hash原则选择具体端口。因此无法通过ping组播,测试某个特定的trunk成员口链路情况。Page9Ping还能干什么?确认LSP是否可达。可以用于诊断LSP、TE的通断情况Page10Ping还能干什么?确认LSP是否可达。可以用于诊断LSP、TE的通断情况注意:1、pingLSP的时候默认是走CS6队列,对于发起端而言无法调整优先级。但是转发平面可以调整exp数值。2、pingLSP并不是发送的ICMP报文,而是UDP报文,使用的是目的端口号为3503、3504。也是使用的LSPecho和LSPechoreply。3、如何查看mpls报文呢?一般是打开mplsdebug开关。最好使用packet-length,这样可以避免其他mpls报文被打印。debuggingmplspacketpacket-length1300verbose4、通过debugmpls报文,可以看到这个报文内容,同时也可以确认报文是否送达对端设备,用于网元定界。5、LSP的回应报文也是UDP报文,但是不一定走mpls转发。一般还是走IP转发回来,因此pinglsp是一个单向的检测手段。如果要确认双向的LSP状态,需要在两端设备上均部署ping测试。Page11Ping还能干什么?Page12Ping还能干什么?用于确认VPLS的PW状态是否正常。当VPLS业务不通,但是无法确认PW状态时,可以使用pingVPLS进行确认。其原理和LSPping类似。不同的是,携带的标签更多。会携带一个1标签,也会携带私网标签。同理,其和lspping的效果一样,也是单向测试手段,如果要检测双向的VPLS的PW状态,需要在双向都部署ping测试。Page13Ping还能干什么?PingVPN-config。用于判断VSI或PWE3的两端的配置情况。便于快速检查两端的配置情况。方便工程师快速定位故障原因。Page14Ping还能干什么?智能ping测试。通过携带不同的payload、长度、超时时间、TOS值,判断丢包情况来确认链路的质量情况。当出现普通ping不通时,可以使用智能ping测试,确认在什么场景下ping测试没有问题,进而确认故障原因是什么。当设备出现故障时,用户可以使用ping(PacketInternetGroper)命令检查网络连接及主机是否可达。然而,在进行检测时,ping命令中有很多复杂参数需要设置。为了减少使用的复杂度,用户可以使用ping

smart命令来替代ping命令。执行ping

smart命令后,用户只需输入源IP地址,目的IP地址及VPN场景下的VPN名称,ping模块即可对-t、-m、-p和-s四个参数的取值自动进行全排列,发起64种组合的ping报文,进而实现对链路进行检测。选取以上四个参数,一方面能够避免ping过程选择复杂参数耗时过长,另一方面能够定位常见的网络故障。同时将ToS值(0~7)随机穿插在这64种组合中。对每种组合的报文进行时延,丢包的统计,并显示结果。Page15Ping还能干什么?智能ping测试。通过携带不同的payload、长度、超时时间、TOS值,判断丢包情况来确认链路的质量情况。当出现普通ping不通时,可以使用智能ping测试,确认在什么场景下ping测试没有问题,进而确认故障原因是什么。当设备出现故障时,用户可以使用ping(PacketInternetGroper)命令检查网络连接及主机是否可达。然而,在进行检测时,ping命令中有很多复杂参数需要设置。为了减少使用的复杂度,用户可以使用ping

smart命令来替代ping命令。执行ping

smart命令后,用户只需输入源IP地址,目的IP地址及VPN场景下的VPN名称,ping模块即可对-t、-m、-p和-s四个参数的取值自动进行全排列,发起64种组合的ping报文,进而实现对链路进行检测。选取以上四个参数,一方面能够避免ping过程选择复杂参数耗时过长,另一方面能够定位常见的网络故障。同时将ToS值(0~7)随机穿插在这64种组合中。对每种组合的报文进行时延,丢包的统计,并显示结果。Page16Ping还能干什么?<R5>pingmac00e0-fc56-b01dvlan100Pinging00e0-fc56-b01dwith95bytesofdata:Replyfrom00e0-fc56-b01d:bytes=117,time<1msReplyfrom00e0-fc56-b01d:bytes=117,time<1msReplyfrom00e0-fc56-b01d:bytes=117,time<1msReplyfrom00e0-fc56-b01d:bytes=117,time<1msReplyfrom00e0-fc56-b01d:bytes=117,time<1msPackets:Sent=5,Received=5,Lost=0(0%loss)Minimum=0ms,Maximum=0ms,Average=0msPingmac可以用于检测L2转发时,能够学习到mac地址,但是流量异常场景的故障判断。使用该命令时,通用MAC

Ping功能必须处于使能状态,否则需首先使用ping

mac

enable命令使能通用MAC

Ping功能。若PE间的设备通过L2VPN网络互连:PE设备收到的报文带有两层Tag,则需要使用QinQ终结子接口绑定L2VC/VSI接入L2VPN网络。当需要判断PE之间的连通性时,需要指定参数pe-vid和ce-vid。PE设备收到的报文带有一层Tag,则需要使用Dot1q终结子接口绑定L2VC/VSI接入L2VPN网络。当需要判断PE之间的连通性时,需要指定参数dot1q-vlanvlan-id。注意:两台设备上必须配置802.1ag协议的相同版本。如果本端设备上配置Draft7草案版本,对端设备上配置standard2007标准版本,此时用户使用ping

mac命令检测这两台设备之间的连通性时,则本端设备无法ping通对端设备。Page17Ping不通或丢包如何定位主控板CPU板间通信NP上行上行TMNP下行网板下行TM子卡子卡NP上行上行TM网板下行TMNP下行接口板CPUNP上行上行TM网板下行TMNP下行子卡IP、ICMP的Debug信息、计数统计等上行TM的丢弃计数等下行TM的丢弃计数等NP的丢弃计数或上送计数等子卡计数是否异常。子卡计数是否异常。流量统计。上行TM的丢弃计数等IP、ICMP的Debug信息、计数统计等子卡计数是否异常。NP的丢弃计数或上送计数等Page18上图表示了一个典型PING的应用场景:左侧端系统(PINGClient)PING远端另一端系统(PINGServer),中间经过中间设备(一台或多台)进行IP转发。图中箭头标示了EchoRequest报文的流向,而EchoReply报文的流向正好相反。Ping不通或丢包如何定位Page19PING不通基本定位思路是进行下列四步定位:第一步,排除假象。排除因为传输时延较长,虽接受到EchoReply但已经超过等待时限而造成的PING不同“假象”,所谓“假象”就是说若是该原因造成不通,并不是实际意义上的不通,可以认为不是问题;第二步,确定方向。PING的数据流是Client发出EchoRequest,Server回送EchoReply。因此先要确定报文是在Client—〉Server发出时出问题还是在Server—〉Client回送时出问题;第三步,确定位置。PING应用场景包含三个角色:端系统PINGClient,中间设备,端系统PINGServer。PING不通的原因可能处在其中任何一个角色身上,所以在确定方向以后要进一步确定问题发生的位置,哪台路由器出了问题,进一步缩小定位范围;第四步,确定层次。在当找到问题是发生在哪台路由器上时,我们就可以顺着数据上送/下发的方向找到问题出现的具体层次。Ping不通或丢包如何定位Page201、排除延时假象。通过-t,增加ping的等待延时时间。2、检查设备的fib、arp信息,确认报文发送的基本条件形成。3、通过查看ICMP的计数方式查看ICMP发送情况。3.1、对于ICMP发起端,需要查看主控板的ICMP统计情况,查看出方向echo和入方向echoreply。也可以根据统计结果判断,可能原因是什么。

主控板统计清空命令是:<Router>resetipstatisticsPing不通或丢包如何定位Page213.2、对于ping的接收端,需要查看接口板ICMP计数。命令为:disicmpstatisticsslotX。清除计数的时候注意:对于V6R2以后版本默认开启了ping快回,在接收端不再上送到VRP平台处理,而是在产品适配层面回应。此时ICMP不会存在计数,也不会又debug信息。可以通过如下命令查看。关注其中的V4ping和V4echo。也可以关闭ping快回功能,命令如下Ping不通或丢包如何定位Page224、配置acl+debug开关,打印ICMP报文信息。

打开ICMP模块的debug开关,可以看到ICMP的信息。<Router>debuggingipicmp<Router>ping45.4.4.5PING45.4.4.5:56databytes,pressCTRL_CtobreakFeb28200023:56:18.260.1R4IP/7/debug_icmp:ICMPSend:echo(Type=8,Code=0),Src=OURSENDPKT,Dst=45.4.4.5,ICMPId=0xabe8,ICMPSeq=1Replyfrom45.4.4.5:bytes=56Sequence=1ttl=255time=1msFeb28200023:56:18.270.1R4IP/7/debug_icmp:ICMPReceive:echo-reply(Type=0,Code=0),Src=45.4.4.5,Dst=45.4.4.4,ICMPId=0xabe8,ICMPSeq=1,InboundInterfaceIndex=106,InboundInterfaceName=Pos4/0/0,ActualInterfaceIndex=-,ActualInterfaceName=-Ping不通或丢包如何定位Page23

配合ACL打开IP模块的debug开关,可以看到IP的信息。<R4>ping-c145.4.4.5PING45.4.4.5:56databytes,pressCTRL_CtobreakFeb29200000:33:33.900.1R4IP/7/debug_case:Slot=4;Sending,interface=Pos4/0/0,version=4,headlen=20,tos=0,pktlen=84,pktid=20158,offset=0,ttl=255,protocol=1,checksum=2778,s=45.4.4.4,d=45.4.4.5prompt:SendingthepacketfromlocalatPos4/0/0450000544ebe0000ff010ada2d0404042d04040508002217abea000103af1d1f00000055504e4704<R4>Feb29200000:33:33.900.3R4IP/7/debug_case:Slot=4;Receiving,interface=Pos4/0/0,version=4,headlen=20,tos=0,pktlen=84,pktid=20158,offset=0,ttl=255,protocol=1,checksum=2778,s=45.4.4.5,d=45.4.4.4prompt:ReceivingIPpacketfromPos4/0/0

450000544ebe0000ff010ada2d0404052d04040400001e10abea000103af1d1f0000005550494704Ping不通或丢包如何定位Page245、配置流量统计,确认报文是否到达设备。[NE40E-2]trafficclassifiericmp[NE40E-2-classifier-icmp]if-matchacl3333[NE40E-2]trafficbehavioricmp[NE40E-2]trafficpolicyicmp[NE40E-2-trafficpolicy-icmp]classifiericmpbehavioricmp[NE40E-2-trafficpolicy-icmp]statisticsenablePing不通或丢包如何定位Page25流统流统的原理:

流统的原理非常简单,就是使用复杂流分类的统计功能,将流量分离并计数。

其本质是在trafficclassifier中使用acl模板去匹配流量,当匹配到流量后,在trafficbehavior中不做任何动作。同时在trafficpolicy中统计使能。这样就可以将具体的流量统计出来。流统在哪里生效?

流量统计的本质是acl,acl列表是在设备的PCT、VCT、QVCT表中存在的,也即报文进入转发引擎后查询的第一张表。因此流量统计就在报文刚刚进入设备的转发引擎时统计的。如果流统能够统计到报文,那么证明符合条件的报文一定进入了设备,并且进入了转发引擎。反之,流量统计没有统计到报文,不一定代表报文没有进入设备,可能在子卡上被丢弃了。此时需要判断该子卡上是否其它端口业务也不正常,或者查看物理口计数确认报文是否进入子卡,最后可以通过重启子卡确认是否恢复。

下行的流统是在报文出转发引擎时查询的。因此下行如果流统可以统计到,基本上可以确认报文在NP转发前没有问题,如果子卡没有问题,基本可以确认报文能够正常发出去。Page26流统的技巧:1、设备上配置了traffic-policy,且在acl中配置了其它rule策略,且这些rule策略中包含了我们的IP。例如:#aclnumber3333rule5permitipdestination192.168.0.00.0.0.255rule10permitipdestination192.168.255.10rule15permitipsource1.1.1.10destination2.2.2.20我们需要匹配目的IP为192.168.0.10,此时会命中原有的rule5,且该rule中可以命中多条流量。此时我们可以新添加一条rule并指定顺序,例如:aclnumber3333rule1permitipdestination192.168.0.100rule5permitipdestination192.168.0.00.0.0.2552、设备上配置了traffic-policy,且behavior中配置了重定向,此时如果在原有的acl中添加,报文会被重定向。此时我们可以新增一条CB对,并添加在traffic-policy中。流统的问题1、目前我们的流统无法支持主机下发的报文。例如在A设备ping远端设备,则无法在A设备的outbound方向做流统。但是转发报文可以。如果遇到这种情况,可以从我们下挂设备进行ping测试,然后再设备的双向做流统。2、VLL场景的AC口无法做流统3、mpls场景对于10G单板可以做流统,但是需要偏移。偏移字节为mpls的字节数。例如:L3VPNP节点入方向做流统,报文带两层mpls标签,此时需要偏移8个字节。具体命令如下:[hidecmd]acl-offset-setinterfaceGigabitEthernet1/0/0offset8inbound但是对于出方向,需要偏移,但是只偏移0字节。4、对于20G、40G(LPUF-40)单板,无法做P节点流统。对于入PE的流统,V6R1SPC039补丁前可以正常做,但是加载该补丁后,无法做流统。流统Page27流统流统的使用:1、对于匹配三层流量,在端口上配置traffic-policy时,一律不加link-layer后缀。而匹配二层报文,一律加link-layer属性。interfaceGigabitEthernet1/0/0undoshutdownportswitchporttrunkallow-passvlan100traffic-policyicmptestinboundvlan100link-layer2、对于二层口,但是需要匹配三层信息,需要在traffic-policy中增加vlan。例如:interfaceGigabitEthernet1/0/0undoshutdownportswitchporttrunkallow-passvlan100traffic-policyicmptestinboundvlan100查看流统时也需要增加vlan信息:displaytrafficpolicystatisticsinterfaceGigabitEthernet1/0/0vlan100outbound3、当ping不通是,不确认是流统配置错误,还是报文没有进入设备,可以在classifier中增加if-machany,然后查看流统是否能够统计到信息,确认流统没有做错,然后确认acl没有问题。#trafficclassifiertestoperatororif-matchacl3333if-matchany#4、对于L3VPN入PE的场景,不需要在ACL中使用VPN特性。只有使用debug场景才需要。rulepermitipvpn-instancenetPage286、上述信息无法完成时可以使用-tos、-exp提高报文优先级,查看端口的port-queue确认报文是否进入该设备。

该场景主要用于确认中间节点是否收到报文。<X1-R1>disport-queuestatisticsinterGigabitEthernet1/2/4outboundGigabitEthernet1/2/4outboundtrafficstatistics:[be]Currentusagepercentageofqueue:0Totalpass:0packets,0bytes<NE40E-2>disdiffservdomaindefaultip-dscp-inbound40phbefgreenip-dscp-inbound48phbcs6greenip-dscp-inbound56phbcs7green<X1-R1>ping-tos160172.16.4.1<X1-R1>disport-queuestatisticsinterGigabitEthernet1/2/4outbound[ef]Currentusagepercentageofqueue:0Totalpass:5packets,550bytes7、查看端口的JumboOctets帧报文超过1518字节(含CRC)会被记到JumboOctets中,该计数是子卡进行统计的,此时可以将计数从流统前推到子卡上。如何构造JumboOctets呢?

首先对于普通的IP转发主接口,MTU默认是1500,如果直接ping,则出接口的IP地址为1518刚好不被记到JumboOctets中。

第二,对于MPLS、子接口转发,均会携带4字节倍数的标签或TAG信息,此时将超过1518,报文计数会记录到JumboOctets中去。Ping不通或丢包如何定位Page29对于普通IP主接口而言,可以使用pingignore-mtu。该命令指平台在构造ICMP报文时,不在关注接口上配置的MTU,那么对于超过1500报文的不会再分片,此时可以在本端出方向和对端入方向形成JumboOctets计数。JumboOctets最常用的是两台设备之间跨设备ping不通,或者丢包场景。因为子卡计数如果收到报文,则证明报文一定进入设备,如果没有收到报文,基本可以证明没有收到报文。

对于子接口或者mpls转发而言,如果正常流量没有JumboOctets计数,则可以ping1469-1472之间的大小的报文,此时可以形成JumboOctets,便于观察。如果流量形成了JumboOctets计数,则可以同时清除两边的端口计数,过一段时间,查看两边的JumboOctets计数差值,确认是否中间链路存在丢包。Ping不通或丢包如何定位Page30问题一:L3VPNPE设备公网侧到底能不能做流通?答:总有人认为L3VPN没办法做流统,其实PE设备公网侧大部分情况是可以做流统统计到私网侧的报文的。对于588类型单板:V6R1版本+SPC037补丁以前,K\N板均可以正常做流统配置,匹配源、目的IP地址。和裸IP转发做流统方法一致。此时可以统计VPN的流量,也可以统计普通公网流量。在SPC037后,由于公私网分离特性生效,仅支持匹配公网的流量,不支持VPN的流量。V6R2以及以后版本均可以匹配私网报文。可以在单板视图配置如下命令,将关闭私网流量匹配。traffic-policymatch-ip-packet-only对于2800单板类型单板,可以匹配,但是需要偏移,偏移的命令如下:[hidecmd]acl-offset-setinterfaceGigabitEthernet1/0/0offsetX其中X表示为偏移字节数。对于入方向,N层标签就偏移N*4字节。对于出方向,偏移字节为0即可。(原因是流统在报文打标签前,但是由于报文走mpls转发,需要偏移0字节,才能在mpls流程将报文匹配上)对于588X类型单板,默认不支持私网流量流统Ping常遇到的几个问题Page31问题二:如何快速定界

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论