<p>Quality of Service (QoS) is one
of the most important parameters to be considered in computer networking and
communication. The traditional network incorporates various quality QoS
frameworks to enhance the quality of services. Due to the distributed nature of
the traditional networks, providing quality of service, based on service level
agreement (SLA) is a complex task for the network designers and administrators.
With the advent of software defined networks (SDN), the task of ensuring QoS is
expected to become feasible. Since SDN has logically centralized architecture,
it may be able to provide QoS, which was otherwise extremely difficult in
traditional network architectures. Emergence and popularity of machine learning
(ML) and deep learning (DL) have opened up even more possibilities in the line
of QoS assurance. In this article, the focus has been mainly on machine
learning and deep learning based QoS aware protocols that have been developed
so far for SDN. The functional areas of SDN namely traffic classification, QoS aware
routing, queuing, and scheduling are considered in this survey. The article presents
a systematic and comprehensive study on different ML and DL based approaches designed
to improve overall QoS in SDN. Different
research issues & challenges, and future research directions in the area of
QoS in SDN are outlined. <b></b></p>