| With the unrelenting completeness of network infrastructure building and thegradually prevail of network terminal equipment, the scale of the whole networkhas been greatly expend in a way of multiple, and the capabilities of networkhave been challenged. To accept these challenges, the network equipmentproducers and researchers are all focus on testing and deployingnewly-designed network technology, expecting to ease urgency.For the sake of intellectual property and products safety, commercialnetwork equipment producer do not open programming interface and sourcecode to users, so that it would be difficult to run a network experiment uponcommercial network equipment. For these reasons, it would be deadly importantto build a network experiment platform which had a direct influence upon testingand deplying newly-designed network technology.NetMagic experiment platform is pretty suitable for developing and testing anewly-designed network techonology because of its features. But NetMagicplatform can not support software development well for now, and a lot ofquestions are still left unanswered. Beside the lack of data handling support, themethods of software development on NetMagic still got some defects for accesscontrol. Therefore, it is necessary to building NetMagic software developmentenvironment from the old methods. In this paper, we propose to build a softwaredeveloping environment upon NetMagic platform. The main work andcontribution of this paper includes:We introduce the NetMagic platform, its basic features, and the methods ofsoftware development. Then, we analyse its unsupportness to softwaredevelopment. After that, we use the reference of some rather successfulnetwork structure,such as OpenFlow and NOX,and propose some basic rulesand the operation mechanism of NetMagic software development environment.Besides, we describe the relative advantages of the environment in aspecs ofsafety, efficiency and convenience, comparing to the old methods.We design and implement theNetMagic software development environment.Provide functions for user to develop their own applications, and describe howthese functions can work in the environment. Define the critical data structures,and describe how they functions. We also expended the communication protocolbetween software and hardware, so they can communicate by a data streamthrough a self-defined protocol.We design and implement an application example of simple forwardingupon the environment. Describe the methods and procedure of developing a application upon the environment by the example.In conclusion, the software development environment of NetMagic that weproposed and implemented could effectively support the experiment andimplementation of newly-designed network technologys. |