Handshaking is a ?

Handshaking is a ?

A. Smooth running of a program.
B. Context-free Language.
C. A programming language with self correcting codes.
D. Synchronization between two communicating devices.