* routing algorithm implemented centrally, remotely in a remote controller (eg. implemented as a data centre with high reliability + redundancy, managed by ISP or third party)
* the remote controller distributes the forwarding table to every router
* routing device (router) only does forwarding, remote controller computes and distributes the table
* routers and remote controller communicate by exchanging messages containing the forwarding tables and other routing info