The routers in an active network perform customized computations on the messages flowing through them, while the role of routers in the traditional packet network, such as the Internet, is to passively forward packets as fast as possible. In contrast to the Internet, the processing in active networks can be customized on a per user or per application basis. Active networks allow users to inject information into the network, where the information describes or controls a program to be executed for the users by the routers as well as the end hosts. So the network users can realize the active networks by "programming" the network behavior via the programming interface exposed to them. In this paper, we devise a network protocol model and present a verification technique for reasoning about the correctness of an active application defined using the model. The technique is developed in a platform- and language-independent way, and it is algorithmic and can be automated by computer program. We give an example dealing with network auction to illustrate the use of the model and the verification technique.