What is D-RAN, C-RAN, vRAN and O-RAN?

The architecture of RAN has evolved over time to address various needs and optimize costs: D-RAN, C-RAN, vRAN and O-RAN.