RMON-远程监视器-网络管理学习教案课件.pptx

上传人:小飞机 文档编号:1287893 上传时间:2022-11-04 格式:PPTX 页数:67 大小:1.88MB
返回 下载 相关 举报
RMON-远程监视器-网络管理学习教案课件.pptx_第1页
第1页 / 共67页
RMON-远程监视器-网络管理学习教案课件.pptx_第2页
第2页 / 共67页
RMON-远程监视器-网络管理学习教案课件.pptx_第3页
第3页 / 共67页
RMON-远程监视器-网络管理学习教案课件.pptx_第4页
第4页 / 共67页
RMON-远程监视器-网络管理学习教案课件.pptx_第5页
第5页 / 共67页
点击查看更多>>
资源描述

《RMON-远程监视器-网络管理学习教案课件.pptx》由会员分享,可在线阅读,更多相关《RMON-远程监视器-网络管理学习教案课件.pptx(67页珍藏版)》请在三一办公上搜索。

1、会计学,1,RMON 远程监视器 网络管理,会计学1RMON 远程监视器 网络管理,主要内容:,5.1 RMON的基本概念 5.2 RMON的管理信息库,第1页/共67页,主要内容: 5.1 RMON的基本概念 第1页/共67页,远程网络监视的作用,RMON解决SNMP在日益扩大的分布式网络中所面临的局限性:提高管理信息传送的效率减少网管站的负担满足网络管理员监控网段性能的需求,第2页/共67页,远程网络监视的作用RMON解决SNMP在日益扩大的分布式网络,RMON的基本概念,通常用于监视整个网络通信情况的设备叫做网络监视器(Monitor)或网络分析器(Analyzer)、探测器(Probe

2、)等。监视器观察LAN上出现的每个分组,并进行统计和总结,给管理人员提供重要的管理信息。监视器还能存储部分分组供以后分析用。监视器也根据分组类型进行过滤并扑获特殊的分组。通常是每个子网配置一个监视器,并且与中央管理站通信,因此叫做远程监视器。,第3页/共67页,RMON的基本概念第3页/共67页,未引入RMON前子网统计信息的获取方法,第4页/共67页,未引入RMON前子网统计信息的获取方法第4页/共67页,引入RMON后子网统计信息的获取方法,第5页/共67页,引入RMON后子网统计信息的获取方法第5页/共67页,RMON的配置,第6页/共67页,RMON的配置第6页/共67页,远程网络监视

3、的目标,离线操作:必要时管理站可以停止对监视器的轮询,有限的轮询可以节省网络带宽和通信费用。 主动监视:如果监视器有足够的资源,通信负载也容许,监视器可以连续地或周期地运行诊断程序,收集并记录网络性能参数。,第7页/共67页,远程网络监视的目标离线操作:必要时管理站可以停止对监视器的轮,远程网络监视的目标,问题检测和报告:如果主动监视消耗网络资源太多,监视器也可以被动地获取网络数据。可以配置监视器 。提供增值数据:监控器可以分析收集到的子网数据,从而减轻了管理站的计算任务。 多管理站操作:一个互联网可能有多个管理站,这样可以提高可靠性,或者分布地实现各种不同的管理功能。,第8页/共67页,远程

4、网络监视的目标问题检测和报告:如果主动监视消耗网络资源太,RMON的表结构,RMON增加两种新的数据类型:OwnerString :=DisplayStringEntryStatus:=INTEGERvalid(1),createRequest(2),underCreation(3),invalid(4) 类型OwnerString:其值为表行所有人或创建者的名字,对象名以Owner结尾 。类型EntryStatus:其值表示行的状态,对象名以Status结尾。该对象用于行的生成修改和删除。,第9页/共67页,RMON的表结构RMON增加两种新的数据类型:第9页/共67,RMON的表结构,RM

5、ON规范中的表结构由控制表和数据表两部分组成控制表定义数据表的结构数据表用于存储数据。 数据表由rmlDataControlIndex和rmlDataIndex共同索引。,第10页/共67页,RMON的表结构RMON规范中的表结构由控制表和数据表两部分,RMON的表结构,控制表包含下面的列对象:rmlControlIndex:唯一地标识rmlControlTable中的一个控制行,该控制行定义了rmlDataTable中一个数据行集合。集合中的数据行由rmlControlTable的相应行控制。 rmlControlParameter:这个控制参数应用于控制行控制的所有数据行。通常有多个控制参

6、数,而这个简单的表只有一个参数。3.rmlControlOwner:该控制行的主人或所有者。 4.rmlControlStatus:该控制行的状态。,第11页/共67页,RMON的表结构控制表包含下面的列对象:第11页/共67页,RMON表的实例,控制表,数据表,第12页/共67页,RMON表的实例控制表数据表第12页/共67页,控制表和数据表关系图,管理者首先用SET元语写控制表,对RMON监视器的工作方式进行定制,比如采样的周期,存储记录个数等的设置。然后,RMON监视器读取控制表的信息,并依据控制表的参数采样并将结果写入数据表最后,管理者通过GET元语读取数据表的内容完成子网统计信息的读

7、取。,第13页/共67页,控制表和数据表关系图管理者首先用SET元语写控制表,对RMO,RMON的表操作,增加行 管理站用set命令在RMON控制表中增加新行 ,并遵循下列规则: 1.管理站用SetRequest生成一个新行,如果新行的索引值与表中其他行的索引值不冲突, 则代理产生一个新行,其状态对象的值为createRequest(2);2.新行产生后,由代理把状态对象的值置为underCteation(3)。对于管理站没有设置新值的列对象,代理可以置为默认值,或者让新行维持这种不完整、不一致状态,这取决于具体的实现;,第14页/共67页,RMON的表操作增加行 第14页/共67页,RMON

8、的表操作,3.新行的状态值保持为underCteation(3),直到管理站产生了所有要生成的新行。这时由管理站置每一新行状态对象的值为valid(1);4.如果管理站要生成的新行已经存在,则返回一个错误。 效果就是:在多个管理站请求产生同一概念行时,仅最先到达的请求成功,其他请求失败。另外,管理站也可以把一个已存在的行的状态对象的值由invalid改写为valid,恢复旧行的作用,这等于产生了一个新行。,第15页/共67页,RMON的表操作3.新行的状态值保持为underCteati,RMON的表操作,删除行 只有行的所有者才能发出SetRequest PDU,把行状态对象的值置为inval

9、id(4),这样就删除了行。这是否意味着物理删除,取决于具体的实现。修改行 首先置行状态对象的值为invalid(4),然后用SetRequest PDU 改变行中其他对象的值.下图给出了行状态的变化情况,图中的实线是管理站的作用,虚线是代理的作用。,第16页/共67页,RMON的表操作删除行第16页/共67页,多管理站访问,多管理站访问可能问题多个管理站对资源的并发访问可能超过监视器的能力。一个管理站可能长时间占用监视器资源,使得其他站得不到访问。占用监视器资源的管理站可能崩溃,然而没有释放资源。,第17页/共67页,多管理站访问多管理站访问可能问题第17页/共67页,多管理站访问,RMON

10、控制表中的列对象Owner规定了表行的所属关系管理站能认识自己所属的资源,亦知自己不再需要的资源。网络操作员可以知道管理站占有的资源,并决定是否释放这些资源。,多个管理站访问的问题解决:,第18页/共67页,多管理站访问RMON控制表中的列对象Owner规定了表行的所,多管理站访问,一个被授权的网络操作员可以单方面地决定是否释放其他操作员保有的资源。如果管理站经过了重启动过程,它应该首先释放不再使用的资源。,多个管理站访问的问题解决:,第19页/共67页,多管理站访问多个管理站访问的问题解决: 第19页/共67页,RMON的管理信息库,RMON规范定义了管理信息库RMON MIB它是MIB-2

11、下面的第16个子树。RMON MIB分为10组,如右图所示。,第20页/共67页,RMON的管理信息库RMON规范定义了管理信息库RMON,第21页/共67页,第21页/共67页,RMON的管理信息库,以太网的统计信息 RFC1757(Feb 1995)定义的 RMON MIB主要包含以太网的各种统计数据,以及有关分组扑获、网络事件报警方面的信息,第22页/共67页,RMON的管理信息库以太网的统计信息第22页/共67页,RMON的管理信息库,统计(statistics )组 统计组提供一个表,该表每一行表示一个子网的统计信息。其中的大部分对象是计数器,记录监视器从子网上收集到的各种不同状态的

12、分组数。 统计组的所有对象表示在下图中,并做了注释。,第23页/共67页,RMON的管理信息库第23页/共67页,5.2 RMON的管理信息库,第24页/共67页,5.2 RMON的管理信息库第24页/共67页,RMON的管理信息库,其中两个不是计数器类型的变量解释如下:etherStatsIndex(1):整数类型,表项索引,每一表项对应一个子网接口。etherStatsDataSource(2):类型为对象标识符,表示监视器接收数据的子网接口。这个对象的值实际上是MIB-2接口组中的变量ifIndex的实例。 这个组只有3个变量是可读/写的,即etherStatsDropEvents、et

13、herStatsOwer和etherStatsStatus。为这3个变量设置不同的值,监视器就可以从不同的子网接口收集同样的信息。把统计组与MIB-2接口组比较会发现,有些数据是重复的。但是统计组提供的信息分类更详细,而且是针对以太网特点设计的。,第25页/共67页,RMON的管理信息库 其中两个不是计数器类型的变量解释如下:,RMON的管理信息库,历史(history)组 历史组存储的是以固定间隔取样所获得的子网数据。该组由历史控制表和历史数据表组成。控制表定义被取样的子网接口编号,取样间隔大小,以及每次取样数据的多少,而数据表则用于存储取样期间获得的各种数据。这个表的细节画在下图中.,第2

14、6页/共67页,RMON的管理信息库历史(history)组第26页/共67,5.2 RMON的管理信息库,第27页/共67页,5.2 RMON的管理信息库第27页/共67页,5.2 RMON的管理信息库,第28页/共67页,5.2 RMON的管理信息库第28页/共67页,RMON的管理信息库,历史控制表定义的变量historyControlInterval表示取样间隔长度,取值范围为1至3600秒,默认值为1800秒。 变量historyControlBucketsGranted表示可存储的样品数,默认值为50。如果都取默认值,则每1800秒(30分钟)取样一次,每个样品记录在数据表的一行中

15、,只保留最近的50行。 数据表中包含与以太网统计表类似的计数器,提供关于各种分组的计数信息。与统计表的区别是这个表提供一定时间间隔之内的统计结果,这样可以做一些与时间有关的分析,,第29页/共67页,RMON的管理信息库 历史控制表定义的变量histo,RMON的管理信息库,例如可以计算子网利用率变量etherHistoryUtilization。如果计算出取样间隔(Interval)期间收到的分组数Packets和字节数Octets,则子网利用率可计算如下: 其中10e7表示数据速率为10Mbps。以太网的帧间隔为96比特,帧前导字段64比特,所以每个帧有96+64比特的开销。,第30页/共

16、67页,RMON的管理信息库例如可以计算子网利用率变量etherHi,RMON的管理信息库,历史控制表和数据表的关系参见下图。,第31页/共67页,RMON的管理信息库历史控制表和数据表的关系参见下图。 第3,RMON的管理信息库,控制表每一行有一个唯一的索引值,而各行的变量historyControlDataSource和historyControlInterval的组合值都不相同。这意味着对一个子网可以定义多个取样功能,但每个功能的取样区间应不同。 例如RMON规范建议,对每个被监视的接口至少应有两个控制行,一个行定义30秒钟的取样周期,另一个行定义30分钟的取样周期。短周期用于检测突发的

17、通信事件,而长周期用于监视接口的稳定状态。,第32页/共67页,RMON的管理信息库 控制表每一行有一个唯一的索引,RMON的管理信息库,从图中可以看出,对应第i个(1iK)控制行有Bi个数据行,这里Bi是控制变量historyControlBucketsGranted的值。一般来说,变量historyControlBucketsGranted的值由监视器根据资源情况分配,但应与管理站请求的值historyControlBucketsRequested相同或接近。每一个数据行(也叫做木桶Bucket)保存一次取样中得到的数据,这些数据与统计表中的数据有关。例如,历史表中的数据etherHist

18、oryPkts等于统计表中的数据etherStatsPkts在取样间隔结束时的值减去取样间隔开始时的值之差,如下图所示。,第33页/共67页,RMON的管理信息库 从图中可以看出,对应第i个(1i,RMON的管理信息库,当每一个取样间隔开始时监视器就在历史数据表中产生一行,行索引etherHistoryIndex与对应控制行的historyControlIndex相同,而etherHistorySampleIndex的值则加1。当etherHistorySampleIndex的值增至与historyControlBucketsGranted的值相等时,这一组数据行就当做循环使用的缓冲区,丢弃最

19、老的数据行,保留historyControlBucketsGranted个最新的数据行。例如图5.8中,第一组已丢弃了X个老数据行,第二组则丢弃了Y个老数据行。,第34页/共67页,RMON的管理信息库第34页/共67页,主机(host)组 主机组收集新出现的主机的信息,其内容与接口组相同,参见图5.10。,第35页/共67页,主机(host)组 第35页/共67页,5.2 RMON的管理信息库,第36页/共67页,5.2 RMON的管理信息库第36页/共67页,RMON的管理信息库,监视器观察子网上传送的分组,根据源地址和目标地址了解网上活动的主机,为每一个新出现(启动)的主机建立并维护一组

20、统计数据。每一个控制行对应一个子网接口,而每一个数据行对应一个子网上的一个主机。这样主机表hostTable的总行数为其中Ni =控制表第i行hostControlTableSize的值 k =控制表的行数 N =主机表的行数 i =控制表索引hostControlIndex的值,第37页/共67页,RMON的管理信息库 监视器观察子网上传送的分组,根据源,RMON的管理信息库,第38页/共67页,RMON的管理信息库第38页/共67页,RMON的管理信息库,例如在图5.11中,监视器有两个子网接口(k=2)。子网X与接口1相连(对应的 hostControlIndex值=1),有3台主机,所

21、以该行的hostControlTableSize的值为3(N1=3);子网Y与接口2相连,有两台主机,所以对应子网Y的值是hostControlIndex=2,N2=2。,第39页/共67页,RMON的管理信息库 例如在图5.11中,监视器有两个子,RMON的管理信息库,主机数据表hostTable的每一行由主机MAC地址hostAddress和接口号hostIndex共同索引,记录各个主机的通信统计信息。当主机控制表配置好以后,监视器就开始检查各个子网上出现的分组。如果发现有新的源地址出现,就在主机数据表中增加一行,并且把hostControlTableSize的值增加1。 主机时间表hos

22、tTimeTable与hostTable内容相同,但是以发现时间hostTimeCreationOrder排序的,而不是以主机的MAC排序的。,第40页/共67页,RMON的管理信息库主机数据表hostTable的每一行由主,RMON的管理信息库,hostTimeTable有两种重要应用:如果管理站知道表的大小和行的大小,就可以用最有效的方式把有关的管理信息装入SNMP的Get和GetNext PDU中,这样检索起来更快捷,更方便。由于该表是以hostTimeCreationOrder按由小到 大的顺序排列的,所以应答的先后顺序不会影响检索的结果。这个表的结构方便了管理站找出某个接口上最新出现

23、的主机,而不必查阅整个表。主机组的两个数据表实际上是同一个表的两个不同的逻辑视图,并不要求监视器实现两个数据重复的表。另外,这一组的信息与MIB-2的接口组是相同的,但是这个组的实现也许更有效:暂时不工作的主机并不占用监视器资源。,第41页/共67页,RMON的管理信息库hostTimeTable有两种重要应用,RMON的管理信息库,最高N台主机(hostTopN)组 这一组记录某种参数最大的N台主机的有关信息,这些信息的来源是主机组。在一个取样间隔中为一个子网上的一个主机组变量收集到的数据集合叫做一个报告。 最高N台主机组提供的是一个子网上某种变量变化率最大的N台主机的信息。这个组包含一个控

24、制表和一个数据表,画在了图5.12中,并加上了注释。,第42页/共67页,RMON的管理信息库最高N台主机(hostTopN)组 第4,RMON的管理信息库,第43页/共67页,RMON的管理信息库第43页/共67页,RMON的管理信息库,变量hostTopNRateBase为整数类型,可取下列值之一: INTEGER hostTopNInPkts(1), hostTopNOutPkts(2), hostTopNInOctets(3), hostTopNOutOctets(4), hostTopNOutErrors(5), hostTopNOutBroadcastPkts(6), hostTo

25、pNOutMulticastPkts(7) hostTopNRateBase定义了要采样的变量,实际上就是主机组中统计的7个变量之一。数据表变量hostTopNRate记录的是上述变量的变化率。,第44页/共67页,RMON的管理信息库变量hostTopNRateBase为,矩阵组 这个组记录子网中一对主机之间的通信量,信息以矩阵的形式存储。 矩阵组表示在图5.13中,并加上了注释。,第45页/共67页,矩阵组 第45页/共67页,RMON的管理信息库,第46页/共67页,RMON的管理信息库第46页/共67页,RMON的管理信息库,矩阵组由3个表组成。控制表的一行指明发现主机对会话的子网接口

26、 数据表分成源到目标(SD)和目标到源(DS)两个表,它们的行之间的逻辑关系表示在图5.14中。SD表首先由matrixSDIndex索引,然后由源地址索引,最后由目标地址索引。而DS表首先由matrixDSIndex索引,然后由目标地址索引,最后由源地址索引。,第47页/共67页,RMON的管理信息库矩阵组由3个表组成。第47页/共67页,RMON的管理信息库,令牌环网的统计信息 RFC1513扩展了RMON MIB,增加了有关IEEE802.5令牌环网的管理信息。 首先是在统计组增加了两个表 tokenRingMLStatsTable和tokenRingPStatsTable, 前者统计令

27、牌环中各种MAC控制分组,后者统计各种数据分组。 这两种表中的计数器分别表示在表11.1和表11.2中。,第48页/共67页,RMON的管理信息库令牌环网的统计信息第48页/共67页,RMON的管理信息库,第49页/共67页,RMON的管理信息库第49页/共67页,RMON的管理信息库,第50页/共67页,RMON的管理信息库第50页/共67页,RMON的管理信息库,RFC1513还扩展了历史组,定义了两个新的历史表tokenRingMLHistoryTable和tokenRingPHistoryTable,这两个表都由历史组控制表historyControlTable控制。与统计组的两个新表

28、类似,这两个表分别收集各种MAC控制分组和数据分组的有关数据。 RFC1513在RMON MIB中增加了一个新的tokenRing组,这个组包含4个子组,下面分别介绍这些子组中的对象。,第51页/共67页,RMON的管理信息库 RFC1513还扩展了历史组,定义,环站组 这个组包含有关每个站的统计数据和状态信息。该组由控制表和数据表组成。环站控制表ringStationControlTable有下列变量:ringStationControlTableSize:与一个接口相连的站数,也是该表的行数。ringStationControlActiveStations:活动的站数。ringStatio

29、nControlRingState:环状态。ringStationControlBeaconSender:最近的Beacon帧发送者的MAC地址。ringStationControlBeaconNAUN:在最近的Beacon帧中的NAUN的MAC地址。ringStationControlActiveMonitor:活动的监控器的MAC地址。ringStationControlOrderChanges:在同一接口的环站顺序表中增加或删除事件的次数。,第52页/共67页,环站组 第52页/共67页,RMON的管理信息库,环状态分7种:normalOperation(1), ringPurgeSta

30、te(2), claimTokenState(3), beaconFrameStreamingState(4), beaconBitStreamingState(5), beaconRingSignalLossState(6), beaconSetRecoveryModeState(7)环站数据表ringStationTable有下列变量: ringStationMacAddress:本站MAC地址。 ringStationLastNAUNIfIndex:最近的NAUN的MAC地址。 ringStationStationStatus:站状态,指示本站是否活动。 ringStationLastE

31、nterTime:本站入环时的sysUpTime值。 ringStationLastExitTime:本站离开环时的sysUpTime值,第53页/共67页,RMON的管理信息库环状态分7种:normalOperati,RMON的管理信息库,环站顺序组这个组提供站在环上的顺序。该组只有一个表ringStationOrderTable,有下列变量: ringStationOrderIfIndex:子网接口编号。 ringStationOrderOrderIndex:本站在环上的相对位置(从RMON监视器到本站的跳步计数)。 ringStationOrderMacAddress:MAC地址。,第5

32、4页/共67页,RMON的管理信息库环站顺序组第54页/共67页,RMON的管理信息库,环站配置组该组由控制表和数据表组成。 控制表ringStationConfigControlTable有下列变量: ringStationConfigControlIfIndex:定义一个子网。 ringStationConfigControlMacAddress:由本行控 制的站的MAC地址。 ringStationConfigControlRemove:整数stable(1)removing(2),取值2时站被移出。 ringStationConfigControlUpdateStatus:整数,取值u

33、pdating(2)时更新配置信息。,第55页/共67页,RMON的管理信息库环站配置组第55页/共67页,RMON的管理信息库,环站配置数据表ringStationConfigTable有下列变量:ringStationConfigMacAddress:本站MAC地址。ringStationConfigUpdateTime:更新配置信息时sysUpTime值。ringStationConfigLocation:本站位置。ringStationConfigMicrocode:本站微码版本。ringStationConfigGroupAddress:地址的低位4个字节。ringStationCo

34、nfigFunctionalAddress:本站功能地址。,第56页/共67页,RMON的管理信息库环站配置数据表ringStationCo,RMON的管理信息库,环源路由组 该组只有一个表sourceRoutingStatsTable,提供源路由信息的使用情况,其中的变量如表11.3所示。,第57页/共67页,RMON的管理信息库环源路由组 第57页/共67页,RMON的管理信息库,警报 RMON警报组定义了一组网络性能的门限值,超过门限值时向控制台产生报警事件。 警报组由一个表组成(图5.15),该表的一行定义了一种警报:监视的变量采样区间和门限值。,第58页/共67页,RMON的管理信息

35、库警报第58页/共67页,RMON的管理信息库,第59页/共67页,RMON的管理信息库第59页/共67页,RMON的管理信息库,采样类型分为两种:absoluteValue(1)表示直接与门限值比较;deltaValue(2)表示相减后比较,所以比较的是变化率,叫做增量报警。 关于行生效后是否产生报警,alarmStartupAlarm的取值有下面3种:risingAlarm(1):该行生效后第一个采样值上升门限(RisingThreshold),产生警报fallingAlarm(2):该行生效后第一个采样值下降门限(FallingThreshold),产生警报risingOrFalling

36、Alarm(3):该行生效后第一个采样值上升门限或者下降门限,产生警报,第60页/共67页,RMON的管理信息库 采样类型分为两种:absolute,RMON的管理信息库,警报组定义了下面的报警机制:1)如果行生效后的第一个采样值上升门限,而后来的一个采样值变得上升门限时,则产生一个上升警报.2)如果行生效后的第一个采样值上升门限,且alarmStartupAlarm=1 or 3, 则产生一个上升警报.3)如果行生效后的第一个采样值上升门限,且alarmStartupAlarm=2,则当采样值落回上升门限后又变得上升门限时则产生一个上升警报.4)产生一个上升警报后,除非采样值落回上升门限到达

37、下降门限,并且又一次到达上升门限,将不再产生上升警报。,下降警报也类似。,第61页/共67页,RMON的管理信息库警报组定义了下面的报警机制:下降警报也类,RMON的管理信息库,图5.16给出了一个报警的例子,本例中alarmStartupAlarm=1 or 3,画星号的地方应产生警报。,第62页/共67页,RMON的管理信息库 图5.16给出了一个报警的例子,,根据RMON定义的hysteresis机制,且AlArmStArtupAlArm=2,在图中,用符号标出警报信号的时刻。,第63页/共67页,根据RMON定义的hysteresis机制,且AlArmSt,第64页/共67页,第64页

38、/共67页,好处:,避免信号在门限附近波动时产生的很多的报警;减少了网络负载和监视器的负担。形象的称为hysteresis机制,第65页/共67页,好处:避免信号在门限附近波动时产生的很多的报警;第65页/共,RMON的管理信息库,关于增量报警方式(采样类型为deltaValue),RMON规范建议每个周期应采样两次,把最近两次采样值的和与门限比较,这样可以避免漏报超过门限的情况。试看下面的例子: 时间(秒) 0 10 20 观察的值 0 19 32 增量值 0 19 13如果上升门限是20,则不报警。但是按双重采样规则,每5秒观察一次,则有: 时间(秒) 0 5 10 15 20 观察的值 0 10 19 30 32 增量值 0 10 9 11 2可见在15秒时连续两次取样的和是20,已达到报警门限,应产生一个报警事件。,第66页/共67页,RMON的管理信息库 关于增量报警方式(采样类型为del,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号