In computing, a denial-of-service attack is a cyber-attack in which the perpetrator seeks to make a machine or network resource unavailable to its intended users by temporarily or indefinitely disrupting services of a host connected to the Internet. Denial of service is typically accomplished by flooding the targeted machine or resource with superfluous requests in an attempt to overload systems and prevent some or all legitimate requests from being fulfilled.Wikipedia
The definition above (from Wikipedia) of DoS -Denial of Service- attack is pretty straightforward.
In a nut: one computer with one internet connection is used to flood a server with packets (TCP / UDP). The aim is to overload the server and to make it unavailable.
Distributed Denial Of Service – one computer (let’s call it source-of-attack) with one internet connection is used to create and connect a botnet. It consists in a network of computers, usually dislocated around the world, controlled by the source-of-attack computer. This computer manages a coordinated DoS attack from all the computers to the victim server, resulting in the overload of it. This attack is an evolution of the previous simple DoS, allowing to orchestrate more complicated situations and to avoid an IP ban by the host of the victim (in theory).
A Distributed Reflection Denial Of Service attack is a different way to approach to the context. The attacker make a connection with many computers (like a kind of “botnet”), identifying himself with the source IP of the host (real victim of the attack), here spoofed, and asking for a response. As a result, the computers will start sending replies to the target host massively. By doing so, the real host will receive effectively a DrDoS attack.