Abstract

The paper describes the development of routing algorithm in software-defined communication networks using the principle of multipath message delivery. The use of the OpenFlow protocol as the main one for connecting data- and control-plane devices between each other, that is, programmable switches with the controller, allows us to take the network topology presented in undirected weighted graph form as the initial data for the algorithm. There are known solutions to the problem of finding ways to transmit data in a communication network, as a rule, using the network resource reservation protocol, but additional restrictions are imposed on the network, since RSVP has a low degree of scalability, respectively, inappropriate consumption of computing resources and storage system resources of individual routers. In view of the above, an algorithm has been developed for finding a set of paths on a graph with the construction of an auxiliary graph based on the original one. Conditions are given under which an auxiliary graph can be constructed from the initial one. The algorithm takes into account the possibility of constructing several paths passing through one vertex, while meeting the requirements for the delay of the input data stream. To expand the functionality and possible areas of application of the algorithm for finding a set of paths, a criterion for the required total throughput by a set of data transmission paths is introduced. Conditions for constructing paths from a vertex to set of vertices are given. The algorithm presented in the work has an order of magnitude less time complexity, which allows you to quickly respond to changes in the data transmission network, while the most significant differences in the time spent on building a set of paths are noticeable with an increase in nodes in the data transmission network and the number of possible paths.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call