rk: Wiley, 2007. Chapter 32 Application Layer This chapter is about NETCONF protocol and its implementation. The basic features in NETCONF are discussed along with the XML message for performing NETCONF operations. Considering that most legacy implementations are based on SNMP and the recent technology is centered around XML, a sample program to convert SNMP MIB to XML is also discussed. 32.1 Introduction In the preceeding chapters we have discussed implementation of several application layer protocols like FTP, SMTP, and HTTP. While the application layer protocols discussed SO far were suited for a specific management activity like transfer of files, event handling as mails, and SO on, these protocols do not fall in the category of a network management protocol for message exchange between the agent and server. In order to be used as a management protocol, the protocol needs to have func- tions to perform the following activities between server and agent: Function invoked by server to get data from the network element/agent. Function invoked by server for setting data in the management database of network element. Function invoked by agent to respond back to messages from the server. Function invoked by agent to send synchronous and asynchronous event notifications. There are several protocols like SNMP and NETCONF that satisfies these condi- tions and are used for network management. Considering that SNMP is mostly Fundamentals of EMS, NMS and OSS/BSS phased out with the advent of XML-based protocols, this chapter is focused on implementation with NETCONF, which is an XML-based protocol. It should be noted that most legacy NMS implementations are still SNMP based. A program to convert SNMP event MIB to XML is also discussed. The program uses libsmi library to access SMI MIB modules. The features of NETCONF that make it the next generation management protocol are: It is much easier to manage devices: Compared to the command based implementation of TL1, the object oriented implementation in CORBA and the object i