<P> In terms of the OSI model for networks, DNP3 specifies a layer 2 protocol . It provides multiplexing, data fragmentation, error checking, link control, prioritization, and layer 2 addressing services for user data . It also defines a Transport function (somewhat similar to the function of layer 4) and an Application Layer (layer 7) that defines functions and generic data types suitable for common SCADA applications . The DNP3 frame strongly resembles, but is not identical to the IEC 60870 - 5 FT3 frame . It makes heavy use of cyclic redundancy check codes to detect errors . </P> <P> The improved bandwidth efficiency is accomplished through event oriented data reporting . The Remote Terminal Unit monitors data points and generates events when it determines that the data should be reported (for example, when it changes value). These events are each placed in one of three buffers, associated with "Classes" 1, 2 and 3 . In addition to these, Class 0 is defined as the "static" or current status of the monitored data . </P> <P> The Remote Terminal Unit is initially interrogated with what DNP3 terms an "Integrity Poll" (a combined Read of Class 1, 2, 3 and 0 data). This causes the Remote Terminal Unit to send all buffered events and also all static point data to the Master station . Following this, the Master polls for the event data by reading Class 1, Class 2 or Class 3 . The reading of the classes can all be performed together or each class can be read at a different rate, providing a mechanism to create different reporting priorities for the different classes . After an Integrity Poll, only significant data changes are sent . This can result in significantly more responsive data retrieval than polling everything, all the time, irrespective of whether it has changed significantly . </P> <P> The Remote Terminal Unit can also be configured to spontaneously report Class 1, 2, or 3 data, when it becomes available . </P>

The network map utility uses a new protocol