| In recent years,with the rapid development of network technology and the continuous expansion of network scale,routing emulation test before physical network deployment becomes more and more important,and the combination of emulation network and physical network becomes more and more close.Traditional network emulation and physical experiment have certain limitations,the cost of physical network experiment is high,and the scale of traditional emulation in single machine environment is limited,and there are some problems in the emulation effect.Therefore,it is of great significance to design and develop a emulation platform with strong scalability,high usability,good emulation effect and long running time.With the development of virtualization and container cloud,container technology and distributed cluster provide a new direction for network emulation.This paper designs and implements a routing emulation platform based on Kubernetes for carrier network.The main work is as follows:(1)This paper integrated container technology and link plug-in Meshnet-CNI to complete the design of Kubernetes-based routing emulation architecture.The architecture can support routing protocol emulation and network card link emulation,meet the requirements of routing emulation,and has a high degree of flexibility and scalability,can run long-term emulation tasks,and is easy to deploy.It supports distributed dynamic capacity reduction and expansion,which provides the foundation for the construction of the upper-layer emulation platform.(2)Based on Go and Kubernetes,this paper completed the design and implementation of the topology automation tool Klab and the emulation platform.Through a series of automatic processes,the topology configuration of users was transformed into the emulation topology in running state,API interfaces and CLI interfaces were provided,which wrapped and simplified the tedious configuration and improved the emulation efficiency.In addition,Meshnet-CNI is improved by adding the function of dynamic add-delete link,which is integrated into the emulation platform together with Klab and provides services through HTTP to meet the functional requirements of the emulation platform.(3)Based on Kubernetes,this paper completed the design and implementation of routing node disaster recovery and K8s network traffic scheduler.Node disaster recovery can restart the emulation Pod when a node failure occurs,and ensure user file security through the distributed file system.The network traffic scheduler can schedule the emulation Pod in the future according to the traffic load of each node in the cluster,so as to better balance the traffic between nodes.Finally,this paper tests the emulation platform to verify the feasibility of the emulation architecture and the functional availability and integrity of the emulation platform. |