||Network operator was possible to apply configurations to each network devices without mistake at the beginning of the Internet. Because the network was a simple structure compared to the present. However the network becomes large and complicated, as a result the network operator is becoming hard to apply configurations to network devices without mistake.
The reasons for the configuration of the network device is independent and it has no relation with the other network devices. In other words, when the network operator changes configuration, it is accepted even if the configuration conflicts with device's. Consequently, the network operator can not know own mistake until running target network, when the network operator applies configuration including mistakes.
On the assumption that the configuration is generally described all the protocol configuration in one file on the network device. Since the OS the network device is mostly implemented based on a general-purpose OS such as FreeBSD and Linux. Thus, each protocol is executed as an application by referring to the configuration. Therefore. while there is a merit that the user can manage setting of multiple applications with one file, there is a disadvantage that it is difficult to manage the dependency of configuration in each application. When applying the configuration that destroying the dependency, it may be returned as an error, but there are the case it prove running properly unless checking the log after the operation.
There are some existing methods of configuration verification. But existing methods of configuration verification corresponds only to the specified protocol. Thus checking configuration may repeat even a small change, there is not a possibility to effect because there are other influences.
The purpose of this research is to prevent misconfiguration by network operator to validate configuration, before the target network running. As expressed in OSI model, the protocol of the upper layer is not guaranteed as long as the protocol of the lower layer do not work properly. Thus, in the proposed method, some configurations of network devices are modeled each layer for validation. Therefore, it is possible to validate configurations even if the layer include the point where the configuration is changed and the other layer include some points depending on it is different. The model in the proposed method is constructed by applying some configurations to different rules. Due to this, is is possible verification a multi layer network with configurations. By querying the system, user can validate logical connection relation of this model. Accordingly, it is possible to check whether the configuration conflicts with other configurations before the user applies configuration to the target network device. In the implementation of this system, using logical programming language that can handle configuration as a logical expression with high abstraction level.
In this study, I conducted an experiment to evaluate the effectiveness in query function of implemented system. The configuration in general-purpose network device is almost able to express as the model, but the configuration dynamically changing, for example OSPF and BGP, is not acceptable. Then, I also conducted an experiment to evaluate the initializing performance when configurations is given. As a result, initializing time increase exponentially as the number of network devices increases. Although it is the subjectivity of the author, it is no choice to apply this system to large-scale network like carrier or ISP. However considering initializing time, It may fit small and medium scale network. Finally, I compared with some network description languages and the model of proposed method.
Theoretical simulation for network is possible to validate complicated network. The proposed method contributes that preventing misconfiguration before running the target network. This study aimed to prevent configuration mistake by validate configuration, but is is also considered effective to prepare rules from past network state information.