As I understand it, the terms Classless Inter-Domain Routing (CIDR) and Variable-Length Subnet Masking (VLSM) effectively refer to the same thing. Is there any noteworthy difference between the proper definitions of these terms? What is the history or relation between the two?
read this How does IPv4 Subnetting Work?
I believe it is explain in one of the answers there.