文档介绍:Agent技术文档
背景知识
在开发Agent软件之前,需熟悉以下内容:
SNMP协议,MIB, SNMP子集,BER编码规则;
UDP协议,无连接Socket编程;
ATM UNI,AAL5;
VxWorks的多任务机制和消息队列机制,及两者的编程;
WRS 软件包的使用和扩展;
Tornado系列开发和调试工具。
以上内容可参阅下述资料:
SNMP,MIB:RFC1155,RFC1157,RFC1122,RFC1213;
,BER:,;
有关ATM的书籍,ATM Forum ILMI ;
VxWorks Programmer’s Guide:
Chapter 2:Basic OS
Chapter work
SNMPv1/v2c全本
Tornado User’s Guide全本
GNU ToolKit:
The GNU Binary Utilities:ar,ld,nm
GNU Make
编程中若遇到函数调用之类的问题,可参阅
VxWorks Reference Manual
有关消息队列的介绍另可参考崔健同学的技术文挡。
Agent简述
根据该接入设备的总体设计,网络管理分为用户侧和网络侧两级来进行。Page: 1
每一级的网络管理模块都基于 Client/Server 结构,Manager作为 Client ,以请求的形式向被管对象的Agent(以下简称Agent)发送命令; Agent作为 Server,根据接收到的请求完成相应的操作,并将结果以响应的形式发回给Manager。这两者之间的通信遵循简单网络管理协议(SNMP)。
另外,根据 ATM Forum 制订的规范,用户侧和网络侧的Agent作为 ATM 接口管理实体(IME),两者之间也必须建立起实时对等的通信,每一方都必须实现Manager和Agent的双重功能,既可以以Manager的身份向对方发送请求,也可以以Agent的身份接收和处理对方的请求。两个对等IME之间的通信遵循 ATM Forum 的ILMI 规范(Integrated Local Management Interface Specification)。而 ILMI 也是基于 SNMP 协议之上的。
综上所述,网络管理信息系统 SNMP Agent主要将实现以下功能:
接收和处理来自对应Manager的请求(通过UDP端口);
两级Agent之间的ILMI 消息传递(通过一个特定的VPI/VCI和AAL5层);
为实现上述功能而必需的与交换、信令和业务模块之间的消息传递。
图一、二显示了响应实体之间的关系及其协议栈。
图一
上述(3)的功能通过操作系统(采用了实时操作系统 VxWorks)提供的内部通信机制(如消息队列)来实现。而 SNMP Agent的实现则采用了 Wind River System 公司所提供的 软件包。
由于 只实现了Agent的功能,为了建立起 ILMI 通信,还必须自己实现Manager的功能。
Network-side
User-side
NMS
NMS
Agent
Agent
VPI=0
VCI=16
图二
(三)程序及其编译过程的描述