A large amount of data can be generated by the Internet of Things (IoT) applications in recent years, this issue may be hard for security, safety, and continuity of production to respond to quickly. Having such a large amount of data places huge demands on the network backbone. By distributing computing services and resources to the edge of the network, edge computing paradigms have recently been proposed to ease core system workloads. In order to design dynamic, adaptable, costeffective, and dynamic networks, Software-Defined Networks (SDNs) are one of the 5G enabling technologies. Edge computing performs analytical computations on data at the point of data collection (sensors, network switches, etc.) instead of waiting for it to send to the centralized data store in the cloud. SDN technology is used in this paper to provide distributed edge computing through IoT gateways. With SDN, IoT device control and network management could be more effective and efficient. SDN's programmability and flexibility could enable smart management in both traditional IoT environments and heterogeneous smart environments due to the need for real-time data processing. SDN controllers could be distributed and hierarchical. In this research, a review of current research issues, challenges, and further research directions are presented to illustrate how SDN and Edge computing can be implemented efficiently to provide IoT services in the SDN paradigm.