 This paper provides a comprehensive overview of the current state of intrusion detection systems, IDS. It begins by defining what an IDS is and its role in cybersecurity. It then discusses the various machine learning algorithms commonly used in IDSs, as well as metrics and benchmark datasets. Afterwards, it reviews representative literature and explains how machine learning and deep learning techniques can be used to address key IDS issues. Finally, it concludes with a discussion of potential challenges and future directions. This article was authored by Hong Yulu and Bo Lang.