计算机网络管理(第2版) 课件 云红艳 第6-10章 远程网络监视 -网络管理用技术_第1页
计算机网络管理(第2版) 课件 云红艳 第6-10章 远程网络监视 -网络管理用技术_第2页
计算机网络管理(第2版) 课件 云红艳 第6-10章 远程网络监视 -网络管理用技术_第3页
计算机网络管理(第2版) 课件 云红艳 第6-10章 远程网络监视 -网络管理用技术_第4页
计算机网络管理(第2版) 课件 云红艳 第6-10章 远程网络监视 -网络管理用技术_第5页
已阅读5页,还剩130页未读 继续免费阅读

下载本文档

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

文档简介

第6章远程网络监视RemoteNetworkMonitoring(RMON)RMON1MIB·RMON2MIB·协议分析与网络流量统计本章导引远程网络监视(RMON)是对SNMP标准的重要补充,扩充了MIB-2的管理信息库,在不改变SNMP的条件下增强了网络管理功能,是简单网络管理向互联网管理过渡的重要步骤。6.1RMON基本概念监视器架构、设计目标6.2RMON表操作控制表/数据表、行操作6.3RMON1MIB10个功能组详解6.4RMON2MIB9个新功能组与应用实际应用:Wireshark、SolarWindsNPM、PRTG等主流网络监控工具均基于RMON技术实现远程流量分析与故障诊断。6.1RMON基本概念监视器架构、与SNMP的关系、设计目标。6.1.1为什么需要RMONMIB-2的局限MIB-2只能提供单个设备的管理信息,无法提供整个子网的通信情况。管理站必须逐一轮询每个设备,频繁轮询会增加网络负担,且无法获得全局视角的流量统计。RMON的解决方案在子网中配置网络监视器(Monitor/Probe),观察LAN上的每个分组进行统计和总结。每个子网配一个远程监视器与中央管理站通信,大幅减少管理负担。RMON体系结构:监视器可以是独立设备,也可以是运行监视器软件的工作站或服务器。RMON监视器(Probe)实现RMONMIB,包含一般MIB和探测器进程。探测器进程能读写本地RMON数据库,并响应管理站的查询请求。中央管理站具有RMON管理能力,可与各监视器交换管理信息。实例:典型部署中,在每个VLAN放置一个RMON探测器(如FlukeOptiView),中央NMS(如HPOpenView)通过SNMP收集探测器数据。RMON体系架构示意图管理站通过SNMP协议与各子网远程监视器交互,实现全局网络监视中央管理站(NMS)SNMPSNMPSNMPRMON探测器ARMON探测器BRMON探测器C子网A(LAN)主机1主机2主机3子网B(LAN)主机4主机5主机6子网C(LAN)主机7主机8主机9优势:探测器本地分析数据→减少管理站轮询→降低网络负担→支持离线操作与主动监视计算机网络管理·第6章6.1.2RMON的设计目标(1)离线操作管理站可停止轮询以节省带宽。监视器持续收集故障、性能和配置信息,异常时主动通知管理站。(2)主动监视监视器连续或周期地运行诊断程序,收集记录性能参数。子网失效时通知管理站并提供诊断信息。(3)问题检测和报告配置监视器连续观察网络资源消耗,记录异常(如拥塞),在出现错误条件时通知管理站。(4)提供增值数据监视器在本地分析子网数据,计算通信最多/出错最多的主机,减轻管理站的计算负担。(5)多管理站操作支持多个管理站并发访问,提高可靠性,实现分布式管理功能。监视器为不同管理站提供不同信息。6.2RMON表操作控制表与数据表结构、行的增删改、多管理站并发访问。6.2.1RMON表结构RMON新增数据类型OwnerString::=DisplayString→表行所有人/创建者名字EntryStatus::=INTEGER{valid(1),createRequest(2),underCreation(3),invalid(4)}控制表+数据表结构RMON表由两部分组成:•控制表:定义数据表的结构和参数•数据表:存储监视器收集的实际数据数据表由ControlIndex+DataIndex共同索引,ControlIndex关联控制行,DataIndex唯一标识数据行。控制表列对象说明示例值rm1ControlIndex唯一标识控制行1,2,3...rm1ControlParameter控制参数采样间隔=1800srm1ControlOwner行的所有者"monitor"/"admin@"rm1ControlStatus行的状态valid(1)/invalid(4)6.2.2行操作:增加、修改与删除增加行(AddRow)①管理站发送SetRequest创建新行②索引不冲突→状态=createRequest(2)③代理置状态为underCreation(3)④管理站完成所有设置后→valid(1)⑤若新行已存在则返回错误删除行只有行的所有者(Owner)才能发送SetRequest将状态设为invalid(4),从而删除行。修改行先设状态为invalid(4),再用SetRequest修改行中对象的值,最后重新激活。状态转换触发方说明→createRequest(2)管理站SetRequest创建新行→underCreation(3)代理代理自动设置,等待完成配置→valid(1)管理站配置完成,激活行→invalid(4)管理站删除或准备修改行并发控制:多个管理站同时请求创建同一行时,仅最先到达的请求成功,其他返回错误。6.2.3多管理站并发访问与所属关系并发访问问题(1)并发访问可能超过监视器能力(2)管理站可能长时间占用资源(3)占用资源的管理站可能崩溃而未释放资源Owner机制解决方案(1)管理站可识别自己所属的资源(2)网络操作员可查看资源占用情况(3)授权操作员可释放他人保有的资源(4)管理站重启后应释放不再使用的资源Owner标志规范:所属标志应包括IP地址、管理站名、网络管理员姓名/地址/电话号码等。Owner标志不能作为口令或访问控制机制使用。SNMP管理框架中唯一的访问控制机制是SNMP视阈和团体名。实际配置示例Owner="admin@00,NMS_Server_A,张工—监视器默认功能的Owner为"monitor",管理站只读访问。6.3RMON1MIB功能组统计组·历史组·主机组·TopN·矩阵组·警报组·过滤组·捕获组·事件组6.3.1RMON1MIB十个功能组概览序号功能组功能描述1统计组(Statistics)子网各种分组计数统计2历史组(History)固定间隔取样的子网历史数据3警报组(Alarm)性能门限值监控与报警4主机组(Host)子网上每台主机的通信统计5最高N台主机(TopN)某变量变化率最大的N台主机6矩阵组(Matrix)主机对之间的通信量矩阵7过滤组(Filter)按位模式/状态匹配过滤分组8包捕获组(Capture)缓存从通道捕获的分组9事件组(Event)管理事件的触发与记录10令牌环组(TokenRing)RFC1513扩展的令牌环统计实现依赖关系:①警报组必须同时实现事件组②最高N台主机组必须实现主机组③捕获组必须实现过滤组。所有功能组均为任选。RMON1功能组依赖关系与数据流功能组之间的实现依赖与数据流向关系统计组Statistics历史组History主机组Host矩阵组Matrix警报组AlarmTopN主机HostTopN过滤组Filter事件组Event捕获组Capture警报组→必须实现事件组TopN主机→必须实现主机组捕获组→必须实现过滤组基础数据收集组依赖其他组的功能组过滤/捕获链事件响应所有功能组均为任选实现,但存在上述依赖关系。令牌环组(RFC1513)为独立扩展。计算机网络管理·第6章6.3.2统计组(StatisticsGroup)统计组提供以太网统计表(etherStatsTable),每一行表示一个子网的统计信息。大部分对象是计数器,记录监视器从子网上收集的各种不同状态的分组数。与MIB-2接口组和Dot3统计表的数据相同,但统计角度更利于子网数据的全局分析。统计对象含义类型etherStatsDropEvents因资源不足丢弃的事件数CounteretherStatsOctets接收到的字节总数CounteretherStatsPkts接收到的分组总数(含错误)CounteretherStatsBroadcastPkts广播分组数CounteretherStatsMulticastPkts多播分组数CounteretherStatsCRCAlignErrorsCRC对齐错误的分组数CounteretherStatsCollisions碰撞检测次数Counter实例:使用snmpwalk-v2c-cpublic.可获取RMON统计组数据。6.3.3历史组(HistoryGroup)历史控制表historyControlInterval取样间隔:1~3600s,默认1800shistoryControlBucketsGranted可存储样品数:默认50默认:每30min取样一次,保留最近50个样品(约25小时的历史数据)。历史数据表包含与统计表类似的计数器,但提供特定时间间隔内的统计结果,可进行与时间相关的趋势分析。当样品数达到BucketsGranted上限时,作为循环缓冲区使用,丢弃最老的数据行。一个子网可定义多个取样功能,但每个功能的取样间隔应不同。实例分析:配置historyControlInterval=300s(5min),BucketsGranted=288,可保存24小时的5分钟粒度历史数据。网管系统(如Cacti、Zabbix)利用历史组数据绘制流量趋势图,帮助管理员发现网络使用规律和预测容量需求。控制表与数据表关系:控制表第i行有Bi个数据行(Bi=historyControlBucketsGranted的值),数据行由etherHistoryIndex+etherHistorySampleIndex共同索引。6.3.4主机组(HostGroup)主机组功能监视器观察子网上传送的分组,根据源/目标MAC地址了解网上活动的主机,为每个新出现的主机建立统计数据行。每个控制行对应一个子网接口,每个数据行对应该子网上的一个主机。主机表总行数N=ΣNi(i=1到k),其中Ni为第i个子网接口上的主机数,k为控制表行数。hostTable(按MAC地址索引)由hostAddress+hostIndex共同索引,记录各主机的通信统计(发送/接收分组数、字节数、广播数、多播数、错误数)。hostTimeTable(按发现时间排序)内容与hostTable相同,但按hostTimeCreationOrder排序。便于管理站找出最新出现的主机,无需查阅整个表。两个表是同一表的两个逻辑视图。资源管理:当新主机出现但监视器资源不足时,按先进先出顺序循环使用已有行,新行加入同时旧行被删除。实例:监视器有2个接口,子网X(接口1)有3台主机,子网Y(接口2)有2台主机→hostTable共5行。6.3.5最高N台主机组(HostTopNGroup)TopN报告机制记录某种参数变化率最大的N台主机的信息,数据来源于主机组。hostTopNRateBase:选择要采样的变量(主机组7个统计变量之一)hostTopNDuration:取样间隔长度(秒),取样期间hostTopNTimeRemaining递减hostTopNRate:计算的变量变化率步骤1管理站创建控制行,定义报告参数步骤2监视器开始采样,计算变量变化率步骤3TimeRemaining递减到0步骤4生成N行报告,按变化率降序排列实例:配置hostTopNRateBase=hostOutPkts,Duration=3600s,N=10→一小时后获得发包速率最高的10台主机报告。应用场景:快速定位网络中的TopTalker(话痨主机),识别异常流量源,进行带宽规划和安全审计。6.3.6矩阵组(MatrixGroup)矩阵组功能记录子网中一对主机之间的通信量,以矩阵形式存储。由控制表和两个数据表(SD表、DS表)组成。SD表(源→目标)DS表(目标→源)索引顺序接口号→源地址→目标地址接口号→目标地址→源地址查询用途检索某主机向其他主机发送的信息检索其他主机向某主机发送的信息资源管理:当数据行用完时,按最近最少使用(LRU)顺序删除旧行。controlLastDeleteTime记录删除时间。实例:矩阵组可生成类似NetFlow的主机通信矩阵,帮助管理员识别异常通信模式(如DDoS攻击中的异常流量对)。现代应用:Wireshark的"Conversations"视图和SolarWinds的"NetFlowTrafficAnalyzer"均实现了类似RMON矩阵组的主机对通信分析功能。6.3.7警报组(AlarmGroup)警报组机制定义网络性能门限值,超过时产生报警事件。必须与事件组同时实现。采样类型:absoluteValue(1):直接与门限比较deltaValue(2):变化率与门限比较启动模式:risingAlarm(1)/fallingAlarm(2)/risingOrFallingAlarm(3)Hysteresis(迟滞)机制避免信号在门限附近波动时产生大量告警:产生上升警报后,采样值必须先降至下降门限以下,再次到达上升门限时才会再次产生警报。下降警报规则类似。这有效避免了告警风暴,减轻网络负载。配置实例:监视etherStatsCRCAlignErrors,采样间隔=60s,采样类型=deltaValue(2)上升门限RisingThreshold=50,下降门限FallingThreshold=10含义:每分钟CRC错误增量超过50时告警,降至10以下后恢复,再次超50才会重新告警。现代对应:Zabbix的Trigger功能实现了相同的Hysteresis机制,recoveryexpression对应下降门限。警报组迟滞(Hysteresis)机制可视化避免采样值在门限附近波动时产生告警风暴t4:上升告警▲采样值首次超过上升门限t7:恢复通过▼采样值降至下降门限以下t9:再次告警▲采样值再次超上升门限关键机制:必须先降到下降门限以下,才能再次触发上升告警,有效避免告警风暴计算机网络管理·第6章6.3.8过滤组与通道操作两种过滤器数据过滤器:按位模式匹配使用filterPktData(位模式)、filterPktDataMask(掩码)、filterPktDataNotMask(匹配/不匹配控制)。状态过滤器:按状态匹配要求分组具有特定错误状态(有效、CRC错误等)通道(Channel)操作通道=一组过滤器的逻辑组合(AND/OR)channelAcceptType:acceptMatched(1):至少匹配一个过滤器→接受acceptFailed(2):不匹配所有过滤器→接受位模式匹配测试逻辑Result=InputXORfilterPktData→ANDfilterPktDataMask→XORfilterPktDataNotMaskNotMask中为0的位要求匹配,为1的位要求不匹配,实现灵活的混合匹配/不匹配测试。实例:配置过滤器捕获所有目标端口为80(HTTP)的TCP分组:filterPktData设置偏移量对应TCP目标端口字段=0x0050,配合掩码精确匹配。通道对匹配分组计数并触发捕获。现代对应:Wireshark的显示过滤器(如tcp.dstport==80)实现了类似的分组过滤逻辑。6.3.9包捕获组与事件组包捕获组(PacketCapture)建立缓冲区存储从通道捕获的分组。关键参数:CaptureSliceSize(CS):每个分组最大存储字节数DownloadSliceSize(DS):单个PDU可检索的最大字节DownloadOffset(DO):检索起始偏移量缓冲策略:lockWhenFull(1):满后停止捕获wrapWhenFull(2):FIFO循环使用事件组(EventGroup)管理事件的触发与响应。由事件表和Log表组成。事件表:定义事件的作用触发条件在其他组定义(警报组、过滤组的channelEventIndex指向事件组索引)Log表:记录事件的顺序和时间事件可触发:•存储相关信息到Log•发送SNMPTrap陷入消息捕获数据长度公式:PDL=MIN(PL,CS)—存储长度不超过分组实际长度PL,也不超过缓冲区允许的最大长度CS。实例:配置CaptureSliceSize=128(只抓包头),wrapWhenFull模式。当警报组检测到CRC错误激增时触发事件→事件组记录日志并发送Trap→同时通道开始捕获错误分组供后续分析。6.3.10令牌环网扩展(RFC1513)RFC1513扩展了RMONMIB,增加了IEEE802.5令牌环网的管理信息,包括统计组/历史组的新表和独立的TokenRing组。扩展内容新增表功能说明统计组扩展tokenRingMLStatsTabletokenRingPStatsTableMAC层控制分组统计数据分组统计历史组扩展tokenRingMLHistoryTabletokenRingPHistoryTableMAC层历史数据数据分组历史环站组ringStationControlTableringStationTable站的统计数据和状态信息(7种环状态、站活动状态)环站顺序组ringStationOrderTable站在环上的相对位置(跳步计数)环站配置组ringStationConfigControlTableringStationConfigTable远程控制站(移出/更新配置)源路由组sourceRoutingStatsTable源路由信息使用统计6.4RMON2MIB网络层与应用层监视·9个新功能组·协议标识与时间过滤6.4.1RMON2概述:从MAC层到应用层RMON1的局限RMON1只能存储MAC层管理信息,无法了解网络层以上的通信状况,无法知道路由器负载来源和应用协议使用情况。RMON2的突破监视OSI第3~7层通信,能译码数据链路层以上的分组。可管理IP协议,了解分组源/目标地址,监视范围扩大到LAN之外,还能监视应用层协议(HTTP、FTP、SMTP等)。功能组英文名功能协议目录组ProtocolDir标准化方法表示各种网络协议协议分布组ProtocolDist每个协议产生的通信统计数据地址映像组AddressMapIP地址与MAC地址映像关系网络层主机组nlHost基于网络层地址的主机统计网络层矩阵组nlMatrix网络层地址的主机对通信应用层主机组alHost每主机每应用协议的通信数据应用层矩阵组alMatrix应用协议对的通信统计+TopN用户历史组usrHistory用户自定义参数的周期性采样监视器配置组ProbeConfig远程配置监视器的标准化方法6.4.2RMON2核心功能组详解协议目录/分布/地址映像协议目录组:使管理站了解子网运行什么协议,特别重要于异构环境(不同厂商设备)协议分布组:统计每种协议的分组/字节数地址映像组:建立IP→MAC映射,用于设备发现和拓扑建立网络层主机/矩阵组nlHost:类似RMON1主机组,但基于网络层地址(如IP地址),管理员可超越路由器看到子网外的主机nlMatrix:主机对通信统计(SD/DS/TopN表),按网络层地址标识,范围突破LAN限制应用层主机/矩阵组alHost:为每主机每应用协议(HTTP/FTP/SMTP等)记录通信数据alMatrix:应用协议对之间的通信统计,含TopN报告用户历史/监视器配置usrHistory:用户自定义采样变量和间隔,可研究系统中任何计数器(三级表结构)ProbeConfig:标准化远程配置,提高不同厂商监视器的互操作性RMON1→RMON2对比:RMON1基于MAC地址,只能监视LAN内部通信;RMON2基于网络层/应用层地址,可跨越路由器监视整个网络的IP通信和应用协议分布。实例:RMON2可以显示"服务器A的80%流量来自HTTP协议,10%来自FTP",而RMON1只能显示总流量。6.4.3RMON2新功能:外部索引与时间过滤器外部对象索引SNMPv2的SMI明确允许使用非本表列对象作为索引项。RMON2经常使用外部对象索引数据表,将数据表与对应的控制表关联,提高了表结构的灵活性。须在DESCRIPTION子句中说明如何使用外部对象唯一标识概念行实例。时间过滤器索引(TimeFilter)TimeFilter::=TEXTUAL-CONVENTIONSYNTAXTimeTicks管理站可只获取自某个时间以来改变过的变量,大幅提高轮询效率。解决了SNMPv1/v2中没有直接方法只返回变化值的问题。TimeFilter实例:管理站在t=1000时查询一次,在t=2000时再次查询,设TimeFilter=1000→监视器只返回在t=1000~2000之间变化过的对象,未变化的对象不返回→相当于增量查询,极大减少网络带宽消耗和管理站处理开销现代类比:类似RESTAPI的If-Modified-Since头或GraphQL的增量订阅机制RMON2协议分布组数据示例监视器可统计各应用层协议的流量分布,帮助管理员了解网络使用模式应用层主机组:每主机每协议流量分析(MB)RMON2使管理员能够回答"哪台主机的HTTP流量最大?""FTP协议占总带宽比例是多少?"等关键问题计算机网络管理·第6章6.4.4协议标识符与协议目录表协议标识符(ProtocolIdentifier)RMON2用协议标识符和协议参数共同表示协议及其层次关系。协议标识符是由字节串组成的分层树结构(类似MIB对象树)。每个协议层编码为4个十进制数[a.b.c.d],形成协议标识符树的节点。协议层级协议示例标识符编码说明数据链路层EthernetII[]以太网帧封装网络层IP[].[]EtherType=0x0800传输层TCP[].[].[]IPProtocol=6应用层HTTP[].[].[].[0]TCPPort=80协议目录表(protocolDirTable):以protocolDirID+protocolDirParameters为索引,每个表项有唯一的protocolDirLocalIndex供其他RMON2组引用,实现协议的标准化识别与跨厂商互操作。6.4.5用户历史组与监视器配置组用户历史组(三级表结构)第1级usrHistoryControlTable→定义采样功能细节(对象数、区间数、区间长度)第2级usrHistoryObjectTable→定义采样变量和采样类型(控制表)第3级usrHistoryTable→历史数据表,记录采样值、状态和时间与RMON1历史组区别:RMON1预定义采样变量,RMON2由用户自定义。监视器配置组(ProbeConfig)标量对象:probeCapabilities—支持的RMON组probeSoftwareRev—软件版本probeHardwareRev—硬件版本probeDateTime—日期时间probeResetControl—运行/重启控制4个配置表:串行配置表、网络配置表、陷入定义表、串行连接表实例:用户历史组:配置每5分钟采样路由器接口的ifInOctets和ifOutOctets,保留一周数据,用于分析链路利用率趋势。监视器配置:通过netConfigIpAddress远程修改监视器IP,通过probeDownLoadAction远程升级固件。网络配置表关键变量:netConfigIpAddress(IP地址)、netConfigSubnetMask(子网掩码)、netDefaultGateway(默认网关)。6.4.6RMON1与RMON2综合对比对比维度RMON1(RFC1757)RMON2(RFC2021)监视层次数据链路层(MAC层)网络层~应用层(L3-L7)地址标识MAC地址网络层地址(IP等)监视范围单个LAN子网跨路由器的整个网络应用协议不可识别可识别HTTP/FTP/SMTP等历史采样预定义变量用户自定义变量协议识别以太网/令牌环标准化协议标识符树轮询优化无特殊机制TimeFilter增量查询功能组数10个(含令牌环扩展)新增9个现代发展:RMON的理念延续到NetFlow/sFlow/IPFIX等现代流量分析技术中,Wireshark、ntopng等工具实现了比RMON更丰富的协议分析功能。RMON1与RMON2监视层次对比RMON2将监视范围从数据链路层扩展至应用层应用层(L7)表示层(L6)会话层(L5)传输层(L4)网络层(L3)数据链路层(L2)物理层(L1)RMON1监视范围·MAC地址标识·单个LAN子网·以太网/令牌环统计RMON2新增监视范围·IP地址标识,跨越路由器·可识别HTTP/FTP/SMTP等协议·协议标识符树分层编码·TimeFilter增量查询优化·用户自定义历史采样变量·标准化远程配置监视器发展脉络:RMON1(RFC1757,1995)→RMON2(RFC2021,1997)→NetFlow/sFlow/IPFIX→现代可观测性平台计算机网络管理·第6章本章小结1.RMON是SNMP的重要补充,通过在子网部署远程监视器(Probe),在不改变SNMP的条件下实现对整个子网的通信监视2.RMON表采用控制表+数据表的双层结构,通过EntryStatus管理行的生命周期,Owner机制解决多管理站并发访问问题3.RMON1包含10个功能组(统计、历史、主机、TopN、矩阵、警报、过滤、捕获、事件、令牌环),提供MAC层全面的网络监视4.RMON2新增9个功能组,将监视范围从MAC层扩展到网络层和应用层,支持协议标识、时间过滤器和用户自定义历史采样5.警报组的Hysteresis机制和过滤组的通道逻辑是RMON的两个核心技术亮点6.RMON理念延续至NetFlow/sFlow/IPFIX等现代流量分析技术,Wireshark、Zabbix等工具是RMON思想的当代实现计算机网络管理·第6章第7章典型网络管理系统TypicalNetworkManagementSystems网络管理系统的基本概念、典型商业与开源NMS平台、StarView应用分析本章内容导览7.1网络管理系统概述基本概念、组成结构、功能特点7.2典型网络管理系统CiscoWorks、OpenView、NetView、SolarWinds、Zabbix等7.3StarView管理系统拓扑管理、事件管理、性能管理7.4NMS发展趋势云化、AI运维、开源生态7.1网络管理系统概述什么是网络管理系统?它的组成结构和功能特点是什么?网络管理系统(NMS)的基本概念定义:网络管理系统是用来管理网络、保障网络正常运行的软硬件组合,是在网络管理平台基础上实现的各种网络管理功能的集合。其功能涵盖FCAPS(故障、配置、计费、性能、安全)五大管理域。网络管理软件(平台)用户接口软件ZabbixWeb前端、Grafana仪表盘等管理专用软件故障管理、配置备份、性能分析模块管理支持软件Net-SNMP、PySNMP、MIB编译器网络设备(被管对象)路由器/交换机CiscoCatalyst、华为S系列、H3C等服务器/存储Linux/Windows服务器、NAS/SAN安全设备防火墙、IDS/IPS、负载均衡器FCAPS网络管理五大功能域ISO/ITU-T定义的网络管理功能框架,NMS设计的核心基础F故障管理Fault故障检测、隔离根因分析、恢复C配置管理Config设备配置、备份变更控制、合规A计费管理Accounting资源使用统计用户计费、审计P性能管理Performance性能监测、基线趋势分析、容量规划S安全管理Security访问控制、认证加密、日志审计现代NMS实践:Zabbix覆盖F+P、Ansible实现C自动化、ELKStack支持A+S审计。全功能NMS需要整合多种工具。计算机网络管理·第7章网络管理系统应具备的特点全面监控实时监控网络设备状态、流量、性能指标,提供可视化拓扑主动预警智能阈值告警、故障预测,实现从被动响应到主动运维全网联动跨设备、跨区域协同管理,支持多厂商混合网络环境资源管理设备资产管理、配置版本控制、软件分发与生命周期管理服务质量SLA监测、QoS策略管理、端到端业务性能保障安全管控访问控制、日志审计、安全事件关联分析网络管理系统分层架构从底层数据采集到顶层用户展示的多层架构模型用户展现层Web前端·仪表盘·移动APP·报表引擎·拓扑视图业务逻辑层故障管理·配置管理·性能分析·安全管控·告警引擎数据处理层数据存储·时序数据库·事件关联·MIB编译·协议解析数据采集层SNMP轮询·NETCONF·Syslog·NetFlow/sFlow·ICMPPing被管设备路由器·交换机·服务器防火墙·AP·存储管理协议SNMPv1/v2c/v3NETCONF/YANGRESTfulAPI数据库MySQL/PostgreSQLInfluxDB/PrometheusElasticsearch计算机网络管理·第7章现代网络管理系统的关键要求开放性Openness综合管理不同品牌设备(华为、思科、H3C、Juniper等),支持SNMP、NETCONF、RESTfulAPI等多种协议综合性Integration一个控制台管理多个互连网络,统一故障、配置、性能视图,打破信息孤岛智能化IntelligenceAI辅助根因分析(RCA)、异常检测、智能告警降噪,如AIOps平台将告警量减少90%+安全性SecuritySNMPv3加密传输、RBAC权限控制、操作审计日志,满足等保2.0合规要求Web化Web-basedB/S架构,统一Web界面,支持移动端访问,不依赖特定操作系统平台7.2典型网络管理系统主流商业与开源网络管理系统的功能特点与对比分析网络管理系统全景图商业网管平台CiscoCiscoWorks/DNACenter思科全系设备管理HPOpenView(MicroFocusNNMi)跨平台网络节点管理IBMTivoliNetView企业级综合管理SolarWindsOrion性能监控与故障管理华为iManager/Quidview华为IP网络管理SNMPc(CastleRock)分布式SNMP管理开源网管平台Zabbix全栈监控,模板丰富,社区活跃Nagios/Icinga插件生态丰富,告警灵活Prometheus+Grafana云原生监控,时序数据强LibreNMS自动发现,SNMP原生支持OpenNMS企业级开源,支持流分析Cacti基于RRDtool的流量绘图◆趋势:商业平台向订阅制SaaS转型(如SolarWindsHybridCloudObservability),开源方案在中小企业渗透率逐年提升Cisco网络管理产品CiscoWorks(经典平台)核心组件:园区管理器—大型园区网可视化管理资源管理器(RME)—设备清单与配置备份实时监视器—实时流量与性能监测设备故障管理器—日志分析与故障定位◆实例:某高校通过CiscoWorks管理500+台Cisco交换机,实现配置自动备份与批量变更,运维效率提升60%。CiscoDNACenter(新一代)核心能力:Intent-basedNetworking—意图驱动网络SD-Access—软件定义访问自动化Assurance—AI驱动的网络保障ISE集成—零信任安全策略◆实例:某企业部署DNACenter管理3000+网络设备,通过AIAssurance将平均故障定位时间(MTTR)从4小时缩短至15分钟。演进路径:CiscoWorks→PrimeInfrastructure→DNACenter(意图驱动+AI运维)HPOpenView/MicroFocusNNMiOpenView集成了网络管理和系统管理的优点,共享消息数据库、对象数据库及拓扑数据库,形成单一完整的管理系统。核心组件NNM(NetworkNodeManager)能够自动发现网络设备、持续监控运行状态,以多层次映射图直观展示网络健康状况。设备管理自动发现设备状态,几乎零配置即可扫描全网拓扑映射多层次网络拓扑图,实时显示设备健康状态故障监测自动监测处理故障,智能根因分析(RCA)安全管理网络安全事件关联,合规性审计与报告◆实例:某省级运营商使用NNMi管理5000+节点骨干网,配合NNMIiSPIPerformance模块实现实时性能基线分析,网络可用性从99.5%提升至99.95%。现已演进为MicroFocus旗下产品。IBMTivoliNetViewTivoliNetView是IBM公司面向企业的集成网络管理平台,提供从主机、客户机/服务器到企业网络的端到端管理方案,基于开放标准体系结构。统一平台跨AIX、Linux、Windows的统一管理控制台可用性分布式监控、事件处理与自动化管理安全性扩展的用户管理与安全管理功能配置管理软件分发管理与自动信息仓储远程操作支持控制远程用户的运维操作应用管理Domino/Notes及大型数据库管理◆实例:某银行数据中心使用Tivoli套件统一管理2000+服务器与网络设备,实现自动化事件关联与工单派发华为iManager/QuidviewQuidview(经典)针对IP网络的轻量级网管工具图形化管理界面(StackManager)运行环境与平台无关(Java)中英文页面显示可集成到N2000及其他通用网管平台iManagerU2000/NCE(新一代)端到端网络管理与智能运维支持10万+设备规模管理NETCONF/YANG模型驱动配置iMasterNCE智能网络控制器AI故障预测与自愈能力◆实例:某大型校园网使用iManagerU2000统一管理华为全系交换机、路由器和WLAN设备,通过智能模板实现2000+设备的批量配置部署,新设备上线时间从2天缩短至30分钟。演进:Quidview→N2000→U2000→iMasterNCE(意图驱动自动化)SNMPc与CabletronSpectrumSNMPc(CastleRockComputing)分布式架构优势:多计算机分布式轮询与服务可扩展至25,000台设备管理器的多级管理架构冗余备份服务器支持功能组件:轮询组件|服务器组件|LAN控制台JavaWeb控制台|SNMPv3安全支持◆成本效益:组件组合费用远低于同等数量的单机管理系统。CabletronSpectrum设计特点:面向对象方法设计Client/Server体系结构高度可扩展的智能管理三大核心特性:①网络监视特性—实时状态发现②管理特性—配置变更与策略③可用性—跨平台无缝运行◆现已并入CATechnologies(Broadcom)产品线。SolarWindsOrion网络管理SolarWindsOrion是全球广泛使用的Web化网络性能监控与故障管理平台,安装配置简便,支持任何规模网络。现已演进为SolarWindsHybridCloudObservability统一可观测性平台。可定制Web界面拖拽式仪表盘自定义视图与报表移动端响应式适配智能网络地图自动拓扑发现实时状态染色多层级下钻查看灵活告警复合条件触发告警升级与抑制多渠道通知集成高级报表容量规划预测可用性趋势分析SLA合规报告◆实例:某数据中心使用SolarWindsNPM监控1500+设备节点,通过NetFlowTrafficAnalyzer(NTA)模块识别出占用50%带宽的异常P2P流量,结合防火墙策略自动限速,网络质量提升显著。全球用户超30万,覆盖财富500强企业。开源网管系统—Zabbix与NagiosZabbix—全栈企业级监控核心能力:SNMP/IPMI/JMX/HTTP多协议采集自动发现与自动注册灵活的触发器与告警升级模板市场:5000+社区模板原生Prometheus集成◆实例:某高校信息中心使用Zabbix监控全校3000+网络设备和服务器,每30秒采集CPU/内存/流量数据,通过微信机器人推送告警Nagios/Icinga—插件生态之王核心能力:5000+官方与社区插件主动/被动检查双模式灵活的通知与升级机制Icinga2:现代化分布式架构支持Grafana等可视化集成◆实例:某ISP使用Nagios+NRPE监控500+Linux服务器健康状态,通过check_snmp插件同时管理网络设备,开源方案节省90%许可费选型建议:中大型网络优选Zabbix(开箱即用+模板丰富)|需要深度定制优选Nagios/Icinga(插件生态灵活)商业vs开源网管系统选型分析不同场景下的NMS选择策略大型企业/运营商推荐:商业NMSCiscoDNACenterHPNNMi+SolarWinds年预算:$50K-500K+中小企业推荐:混合部署Zabbix(监控)+SolarWinds(核心)年预算:$5K-50K教育/科研/初创推荐:开源方案Zabbix+Grafana+Prometheus年预算:$0-5K趋势:开源NMS在中小企业渗透率持续上升|Gartner预测2025年60%+企业将采用商业+开源混合监控策略计算机网络管理·第7章主流网络管理系统对比管理系统厂商架构规模支持核心优势授权模式CiscoWorks/DNACenterCiscoB/S大型企业意图驱动AIAssurance商业订阅OpenView/NNMiMicroFocusC/S+B/S运营商级自动发现拓扑映射商业许可TivoliNetViewIBMC/S大型企业端到端管理跨平台商业许可SolarWindsOrionSolarWindsB/S中大型易用性强报表丰富商业订阅iManagerNCE华为B/S运营商级华为生态AI运维商业许可Zabbix开源社区B/S任意规模模板丰富零许可费GPL开源Nagios/Icinga开源社区B/S任意规模插件生态高度灵活GPL开源主流NMS平台能力对比雷达图从多维度评估不同网管平台的能力特点选型要点大型企业/运营商:CiscoDNACenter+NNMi意图驱动,自动化程度高中型企业:SolarWindsOrion易用性强,报表丰富预算有限/教育科研:Zabbix+Grafana零许可费,社区活跃混合部署(推荐):商业NMS+开源监控互补计算机网络管理·第7章7.3StarView网络管理系统基于Windows平台的全中文网络管理系统应用分析StarView网络管理系统概述StarView是基于Windows平台、全中文界面的网络管理系统,具有集成度高、功能完善、方便易用等优点。支持对以太网中所有标准IP设备和SNMP管理型设备的管理,结合Telnet/Web/RMON等多种管理方式构成完整的网管解决方案。可扩展架构稳定的插件式软件结构支持功能模块动态扩展拓扑发现增强的二层/三层自动拓扑发现能力智能事件智能化事件管理机制规则驱动的分类与告警性能预警高效的性能监视阈值报警自动触发友好界面全中文图形化界面操作简单直观使用前准备:①正确安装StarView网络管理软件②正确连接SQL数据源③完成软件注册首次登录使用默认用户(Start),为Supervisor级用户,可管理其他用户账户和权限。StarView拓扑管理器拓扑管理器功能①描述逻辑拓扑和物理拓扑结构②作为管理设备的平台进行集成管理③灵活的外挂工具接口④设备响应监视功能⑤与事件/性能管理器联动发现原理:基于802.1d标准,使用Ping探测设备、SNMP收集拓扑信息管理元素类型标准IP设备—支持IP协议的通用设备SNMP设备—支持SNMPv1的管理型设备三层设备—路由器、三层交换机哑设备—无管理能力的HUB等视图:主拓扑|三层拓扑|子网拓扑拓扑发现所需MIB信息(交换机/路由器):系统信息(.2.1.1SystemGroup)|地址信息(atTable)|路由信息(ipRouterTable)|接口信息(ipAddressTable)|桥信息(dot1dTpFdbTable)◆实例:在包含路由器、三层交换机、二层交换机的实验网络中,StarView先执行三层拓扑自动发现,再针对子网逐步发现二层拓扑,最终构建完整的全网拓扑视图。StarView事件管理器与性能管理器事件管理器事件类型:标准Trap|厂商私有Trap|拓扑事件|性能阈值报警|未知类型事件核心功能:事件分类存储与标记事件规则的创建与管理事件查找与数据库维护基于UDP端口接收事件基本概念:事件、事件类型、事件源、事件组、事件级别、事件规则性能管理器核心能力:定时采集网络报文流量信息可视化曲线走势图展示同时监控多设备多接口阈值报警联动事件管理器基本概念:性能组—监控对象分组性能点—具体监测指标曲线走势图—时序可视化阈值报警—超限自动告警◆三器联动:拓扑管理器可直接打开性能管理器,性能管理器的阈值报警事件自动传送至事件管理器统一管理,形成完整的监控闭环。StarView三大管理器联动工作流拓扑管理器、事件管理器、性能管理器协同形成完整监控闭环拓扑管理器·二层/三层拓扑发现·设备状态实时监控·子网视图管理·MIB信息采集性能管理器·流量数据定时采集·曲线走势图展示·多设备多接口监控·阈值自动设定事件管理器·Trap事件实时接收·事件分类规则引擎·事件日志持久化·告警通知与升级打开监控阈值报警①发现设备→②配置监控→③阈值告警→④事件记录→⑤故障定位三器联动形成"发现→监控→告警→响应"的完整运维闭环,是StarView系统的核心设计理念计算机网络管理·第7章StarView应用实例—实验网络管理网络规划5个子网:172.16.30/40/50/100/200.0/24设备类型:路由器、三层交换机、二层交换机VLAN划分:5个VLAN对应各子网管理站:运行StarView的Windows主机管理流程Step1:三层拓扑自动发现Step2:子网拓扑逐一发现Step3:构建全网拓扑视图Step4:设置性能监测点与告警阈值拓扑发现启用spanning-tree协议发现二层/三层拓扑树型布局可视化展示子网管理各子网独立拓扑视图如/24管理元素分层展示性能监控路由器端口流量监测交换机CPU/内存告警历史数据曲线分析事件响应Trap事件实时接收规则驱动自动分类告警升级与通知◆StarView2.3标准版适用于中小型网络的基本管理维护,结合锐捷网络设备实现从设备级到网络级的全方位管理7.4网络管理系统发展趋势云化、智能化、开源化推动网管系统持续演进网络管理系统演进时间线从SNMP诞生到AI驱动智能运维的发展历程1988-1995SNMP时代SNMPv1/v2发布RMON标准制定命令行管理1996-2005平台整合HPOpenViewIBMTivoliCiscoWorksGUI化管理2006-2015开源崛起Zabbix/NagiosPrometheusWeb化管理云计算兴起2016-2020自动化NETCONF/YANGAnsible/TerraformSD-WAN/SDNNetDevOps2021+AI智能AIOps平台意图驱动IBN可观测性自愈网络趋势:管理复杂度增长→工具智能化程度提升→人工干预减少→网络自治(Self-DrivingNetwork)计算机网络管理·第7章网络管理系统的发展趋势云化与SaaS化网管平台从本地部署向云端迁移,SaaS模式降低运维门槛。如:SolarWindsHybridCloudObservability、DatadogAIOps智能运维AI/ML驱动异常检测、根因分析、自动修复,告警降噪90%+。如:CiscoAINetworkAnalytics、华为iMasterNCE开源生态崛起Zabbix、Prometheus+Grafana等开源方案企业渗透率持续上升,商业+开源混合部署成为主流。NetDevOps自动化NETCONF/YANG+Ansible实现基础设施即代码(IaC),GitOps工作流管理配置变更。本章小结1网络管理系统是管理网络、保障运行的软硬件组合,应具备全面监控、主动预警、全网联动、安全管控等特点,并满足开放性、综合性、智能化、安全性和Web化的要求。2主流商业NMS包括CiscoCiscoWorks/DNACenter、HPOpenView(NNMi)、IBMTivoliNetView、SolarWindsOrion、华为iManager等,各有特色和适用场景。3开源NMS(Zabbix、Nagios/Icinga、Prometheus)在中小企业及教育科研机构得到广泛应用,零许可费与社区生态是其核心优势。4StarView是全中文Windows平台网管系统,通过拓扑管理器、事件管理器和性能管理器三大组件,实现从网络级到设备级的全方位管理。5网管系统正向云化SaaS、AIOps智能运维、开源生态、NetDevOps自动化方向发展,意图驱动网络(IBN)成为新一代网管架构的核心理念。第8章网络管理开发NetworkManagementDevelopmentSNMP编程基础、WindowsSNMP服务与API、SNMP++开发实践本章内容导览8.1网络管理开发概述基本功能、SNMP编程任务、开发方法8.2WindowsSNMP服务服务体系结构、安装配置与测试8.3WindowsSNMPAPI开发扩展代理API、管理API、WinSNMPAPI8.4SNMP++软件包开发类库结构、关键类、MIB浏览器实例8.1网络管理开发概述网络管理应用程序的基本功能、编程内容与开发方法网络管理应用程序的基本功能网络管理平台提供通用的管理功能和开发接口(API)。如HPOpenView提供OVAPI,支持C/C++/VB开发用户专用管理程序。网络发现ICMP探测活动站点SNMPGetRequest获取设备信息,构建拓扑管理轮询定期ICMP/SNMP检查站点活动状态采集管理信息MIB编译器ASN.1文件编译为代理可用格式,OID描述符到数字ID的转换MIB浏览器树形展示MIB结构GetNext遍历对象显示变量绑定内容MIB搜索器动态发现各站点可访问的MIB对象获取变量信息陷入记录接收Trap报文图标/弹窗/声音告警写入日志文件SNMP编程任务与确定参数开发前确定的关键参数被管节点地址IP地址/IPX地址/DNS主机名端口号请求端口UDP161|陷入端口UDP162团体名(Community)只读:public|读写:private超时与重试响应等待间隔|重复请求次数|轮询间隔SNMP编程核心任务管理程序开发(Manager)监听UDP162接收Trap向Agent发送Get/Set请求代理软件开发(Agent)监听UDP161接收查询请求向Manager发送Trap信息核心编码任务:①构造正确的PDU→SNMP报文②BER编码/解码处理③接收与处理Trap信息◆SNMP报文=版本号+共同体字符串+PDU结构,经BER编码后通过UDP传输。管理程序既是客户机(发请求)又是服务器(收Trap)。SNMP协议版本对比SNMPv1/SNMPv2c/SNMPv3核心特性比较SNMP协议版本对比SNMPv1/SNMPv2c/SNMPv3核心特性比较(补充)对比项SNMPv1(1988)SNMPv2c(1993)SNMPv3(1998)安全模型团体字符串(明文)团体字符串(明文)USM用户安全模型认证方式无加密认证无加密认证MD5/SHA认证数据加密不支持不支持DES/AES加密计数器32位64位64位批量操作不支持GetBulk操作GetBulk操作通知机制Trap(不确认)Inform(需确认)Inform(需确认)访问控制基于IP+团体名基于IP+团体名VACM视图访问控制配置复杂度★☆☆简单★★☆中等★★★复杂推荐场景内网测试环境内部监控网络生产/公网环境💡提示:SNMPv3已成为企业级网络管理的标准选择,提供完整的认证、加密和访问控制能力。截至2025年,主流网络设备均已支持SNMPv3。SNMP变量与MIB表操作SNMP变量是运行期间SNMP代理维护的被管理对象实例。通过查询变量值获知设备状态,通过设置变量值实现远程配置。标量对象产生单一变量,列对象可产生多维动态数组。变量标识与实例标量实例:OID.0如sysDescr.0=..0列对象实例:列ID+Index如ipAdEntAddr.例:ipAddrTable有5个列对象,若设备有3个接口,则产生5×3=15个SNMP变量MIB表检索策略方法一:逐行检索(推荐)一次GetNext取回一行所有列实例效率高,适合多列关联查询方法二:逐列检索每次取一个列实例,循环遍历实现简单,适合单列查询◆实例—ipAddrTable检索:绑定ipAdEntAddr,ipAdEntIfIndex,ipAdEntNetMask三个列OID,连续发送GetNext请求,每次取回一行(一个接口的IP、接口号、掩码),直到返回OID超出ipAddrTable范围时停止。8.2WindowsSNMP服务Windows平台SNMP服务的体系结构、安装配置与测试WindowsSNMP服务体系结构WindowsSNMP服务采用分布式体系结构,包括SNMP代理服务(Snmp.exe)和SNMP陷入服务(Snmptrap.exe)两个核心程序,通过管理端和代理端函数库实现完整的SNMP功能。代理端—Snmp.exe核心功能:接收SNMP请求报文并发送响应ASN.1表示与BER编码/解码发送Trap报文处理WinSockAPI接口可扩展代理(ExtensionAgent):允许动态加入/减少MIB信息处理私有MIB对象和陷入条件陷入服务与管理端Snmptrap.exe:监听发送给主机的Trap报文通过命名管道传送数据到管理API管理API(MGMTAPI.dll):管理应用从API接收/发送数据通过API与WinSock通信支持MIB:InternetMIB-2、LANManagerMIB-2、DHCPMIB、HTTPMIB等◆报文流程:SNMP报文→WinSockAPI→SNMP代理(解码+认证)→扩展代理(处理)→响应报文→WinSockAPI→管理站SNMP服务安装、配置与测试①安装SNMP服务WindowsServer:服务器管理器→添加角色和功能→功能→勾选SNMP服务和SNMPWMI提供程序注意:需先安装TCP/IP协议栈②配置SNMP服务服务控制面板→SNMPService属性安全选项卡:设置团体名(默认public)设置允许访问的管理主机IP陷入选项卡:设置Trap目标地址代理选项卡:设置联系人、位置③测试SNMP服务命令行工具snmputil:snmputilget<IP>public..0snmputilwalk<IP>public.2.1.1snmputiltrap(接收陷入)◆实例:使用snmputilwalkpublic.可遍历接口表(ifTable),获取所有网络接口的描述、类型、速率、状态等信息。图形界面工具Snmputilg.exe提供更友好的交互方式。8.3WindowsSNMPAPI开发扩展代理API、管理API、实用API与WinSNMPAPIWindowsSNMPAPI四大类别扩展代理API定义SNMP服务与第三方扩展代理DLL间的接口6个函数:SnmpExtensionInit/InitExSnmpExtensionQuery/QueryExSnmpExtensionTrapSnmpExtensionClose管理API定义管理应用与MGMTAPI.dll间的接口7个函数:SnmpMgrOpen/CloseSnmpMgrRequestSnmpMgrGetTrap/TrapListenSnmpMgrOidToStr/StrToOid实用API简化SNMP数据结构操作包括:OID操作(Copy/Free/Cmp)变量绑定操作内存管理数据类型转换WinSNMPAPI完整的SNMP开发解决方案支持SNMPv1/v2c7大类约50+函数:通信/数据库/实体管理PDU/VBL/OID操作实用函数提示:直接使用API开发较为繁琐,推荐使用SNMP++等第三方软件包简化开发过程。WindowsSNMPAPI功能对比图四大API类别的函数数量与功能覆盖范围(补充)扩展代理API定义SNMP服务与第三方

扩展代理DLL间的接口Init/Query/Trap等管理API定义管理应用与

MGMTAPI.dll间的接口Open/Request/GetTrap等实用API简化SNMP数据结构

操作的辅助函数OID/VBL/内存管理WinSNMPAPI完整的SNMP开发框架

支持v1/v2c异步消息通信/PDU/VBL/OID等7类扩展代理API—核心函数详解扩展代理是可动态加载的DLL,处理私有MIB对象。SNMP代理接收请求后将变量绑定表分发给对应的扩展代理处理,扩展代理返回响应信息。SnmpExtensionInit初始化扩展代理设置Trap事件句柄注册第一个MIB子树SnmpExtensionQuery解析SNMP请求处理Get/Set/GetNext操作变量绑定SnmpExtensionTrap检索扩展代理产生的Trap信息返回企业OID和类型//SnmpExtensionInit函数原型BOOLSnmpExtensionInit(DWORDdwUptimeReference,//零事件参考HANDLE*phSubagentTrapEvent,//Trap事件句柄指针AsnObjectIdentifier*pFirstSupportedRegion//第一个MIB子树);//成功返回TRUE管理API—管理端应用开发接口管理API定义第三方管理应用与MGMTAPI.dll间的接口,与SNMP陷入服务(Snmptrap.exe)协同工作,实现发送请求、接收响应和处理Trap。SnmpMgrOpen建立与SNMP代理的会话指定目标IP、团体名设置超时和重试参数SnmpMgrRequest发送SNMP请求(Get/GetNext/Set)并接收响应的变量绑定SnmpMgrGetTrap获取待处理的Trap数据包含企业OID、IP地址通用/专用Trap类型SnmpMgrClose关闭与代理的会话释放分配的资源清理连接状态◆典型开发流程:SnmpMgrOpen("","public",4000,3)//建立会话,4s超时,3次重试SnmpMgrRequest(session,SNMP_PDU_GET,&varBindList,&errorStatus,&errorIndex)//处理返回的变量绑定...SnmpMgrClose(session)//关闭会话WinSNMPAPI—完整的SNMP开发框架异步消息驱动采用Windows消息驱动模式适合面向对象和分布式管理多版本支持支持SNMPv1和SNMPv2C自动进行Trap版本转换4级通信层次Level0-3:从编解码到完整的v2管理站通信重发与超时内置重发策略可配置超时周期和重试次数WinSNMPAPI七大函数类别(约50+函数)通信函数SnmpSendMsgSnmpRecvMsgSnmpRegister数据库函数SnmpGet/SetTranslateModeTimeout/Retry实体/上下文SnmpStrToEntitySnmpEntityToStrSnmpStrToContextPDU函数SnmpCreatePduSnmpGetPduDataSnmpFreePduVBL函数SnmpCreateVblSnmpSetVbSnmpGetVbOID函数SnmpStrToOidSnmpOidToStrSnmpOidCopy实用函数SnmpStartupSnmpCleanupSnmpGetLastError◆核心三元组:SnmpSendMsg(异步发送)+SnmpRecvMsg(异步接收)+SnmpRegister(注册Trap)构成WinSNMP编程基础WinSNMP编程流程—发送请求与接收响应发送请求消息(1)初始化SnmpStartup→SnmpCreateSessionSnmpSetTranslateModeSnmpStrToEntity→SnmpSetRetrySnmpSetTimeout→SnmpStrToContext(2)创建PDUSnmpStrToOid→SnmpCreateVblSnmpSetVb→SnmpCreatePdu(3)发送SnmpSendMsg(session,NULL,hAgent,hView,hPdu)(4)释放资源SnmpFreeVbl→SnmpFreePdu→SnmpClose接收响应消息异步回调模式:SnmpCreateSession注册回调函数WinSNMP通过窗口消息或回调通知接收处理步骤:①SnmpRecvMsg—接收数据②SnmpGetPduData—从PDU析取数据③SnmpCountVbl—获取VBL中变量个数④SnmpGetVb—逐个取出OID和值⑤SnmpOidToStr—OID转字符串比较Trap接收:SnmpRegister(SNMPAPI_ON)注册SNMPv1Trap自动转换为v2C格式WinSNMP数据管理与资源句柄对象标识符smiOID唯一命名MIB对象子标识符序列(2~128个)点分十进制表示如".5.6"描述符smiOCTETS/smiOID两成员结构:len(长度)+ptr(指针)实现自动内存管理需调用SnmpFreeDescriptor资源句柄HSNMP_*5种句柄类型:会话/实体/上下文PDU/变量绑定表DLL管理分配释放本地数据库存储以下信息:网络协议版本号实体/上下文转换模式重发策略(超时+重试)内存管理原则:输入参数—应用程序负责为变长对象分配内存输出参数—WinSNMP实现(DLL)负责为变长对象分配内存资源释放顺序(推荐):SnmpFreeEntity/Context/Pdu/Vbl/Descriptor→SnmpClose(关闭会话)→SnmpCleanup(程序结束前必须调用)8.4SNMP++软件包开发基于C++面向对象的SNMP开发类库与MIB浏览器实践SNMP++软件包概述SNMP++是HP公司用C++开发的开源类库,对WinSNMP进行面向对象的二次封装。底层操作完全透明,开发者只需设置参数、调用对象方法即可完成SNMP操作。自动内存管理类析构函数自动释放避免内存泄漏跨平台移植支持Windows/Linux/Unix等多平台超时重传机制内置UDP超时检测自动重发策略双模式请求阻塞模式(同步)非阻塞模式(异步)Trap收发支持Trap的发送和接收处理SNMPv3支持加密认证用户安全模型(USM)层次结构:应用程序→SNMP++类库→WinSNMPAPI→WSNMP32.DLL→UDP/IP→网络SNMP++核心类体系架构图面向对象的类层次结构与功能关系(补充)Snmp类网络通信核心·get/set/get_next/trapPdu类封装PDU结构

request_id/错误状态SnmpTarget类目标代理信息

地址+团体名+重传Vb类变量绑定

OID+ASN.1值SnmpSyntax抽象基类—封装SMI/ASN.1数据类型O

温馨提示

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

评论

0/150

提交评论