 This paper provides a comprehensive overview of the current state of intrusion detection systems, IDS. It begins by defining what an IDS is in its role in cybersecurity. It then discusses the various types of machine learning algorithms commonly used in IDSs, including supervised, unsupervised, and semi-supervised learning. Additionally, it introduces several metrics used to evaluate the performance of these algorithms. Afterwards, the paper reviews the most common benchmark data sets used to test IDSs. Following this, it examines the use of deep learning in IDSs, providing a detailed explanation of the advantages and disadvantages of using deep learning compared to traditional machine learning algorithms. Finally, the paper concludes by discussing some of the challenges faced when implementing deep learning in IDSs and potential solutions. This article was offered by Hong Yulu and Bolang.