简体   繁体   中英

Communicating between multiple pox controllers

I am developing a load balancing between multiple controllers in sdn. Once a load is calculated on a controller-1 I need to migrate some part of that to controller-2. I have created the topology using mininet and running 2 remote pox controllers one on 127.0.0.1:6633 and other on 127.0.0.1:6634.How do I communicate between these controllers? How can I send load information of controller-1 to controller-2 and migrate some flows there?

In general you are after of a distributed SDN framework where controllers should communicate each other. In order for the controllers to be able to exchange information you should establish a communication channel between them. First decide over the type of communicatoin, inbound or outbound. Most distributed systems use outbound having the inbound communication channels as a failsafe solution. Choosing over the communication module is easy. You have several options but I will examine only 2 general ways of doing it. First one is the native messenger component of POX https://github.com/noxrepo/pox/blob/carp/pox/messenger/ init .py Secondly and most widely used is the RabbitMQ message exchange broker system https://www.rabbitmq.com/tutorials/tutorial-one-python.html You should try to follow a Agent programming approach. Here is a paper to help you out http://jeremie.leguay.free.fr/files/disco_noms_2014.pdf . In the end if you will decide to go with Agents there is nice python library called SPADE https://pypi.python.org/pypi/SPADE but it becomes glitchy sometimes.

POX is not a distributed controller. I would really recommend you to migrate immediately to ONOS or opendaylight. You would implement your solution on top of ONOS.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM