DNP3 is a protocol used for communications between SCADA masters (control centers) and remote terminal units (RTUs) or intelligent electronic devices (IEDs). It defines the framework for SCADA master-RTU/IED communications, including frame formats, physical layer requirements, data-link behavior, and application functions like file transfer and time synchronization. The protocol is designed to provide reliable data transmission in harsh environments with protections against undetected errors and unintended information gain or loss.