Anonymity has become a significant issue in security field by recent advances in information technology and internet. The main objective of anonymity is hiding and concealing entities privacy inside a system. Many methods and protocols have been proposed with different anonymity services to provide anonymity requirements in various fields until now. Each anonymity method or protocol is developed using particular approach. In this paper, first, accurate and perfect definitions of privacy and anonymity are presented then most important problems in anonymity field are investigated. Afterwards, the numbers of main anonymity protocols are described with necessary details. Finally, all findings are concluded and some more future perspectives are discussed.