Several SDN implementation models are available. The [OpenFlow](https://info.support.huawei.com/info-finder/encyclopedia/en/OpenFlow.html) programmable networking protocol is a popular approach that provides an open standard for controlling switches.
SDN infrastructure can also be assembled using custom APIs that facilitate information exchanges between applications, controllers, and network hardware. In other situations, an [overlay model](https://www.sdxcentral.com/networking/sdn/definitions/whats-network-virtualization/what-is-overlay-networking) might be used, where SDN sits atop existing infrastructure to provide new networking tunnels between devices.
Hybrid approaches are sometimes seen, too. Regular on-device networking protocols can be used alongside SDN with each handling a share of the traffic. This is useful when you're introducing SDN to your infrastructure, such as in a system that's gradually gaining IoT functionality.