Protocolo DNP3

<< Clique para Mostrar o Sumário >>

 

Protocolo DNP3

O protocolo DNP3 (Distributed Network Protocol versão 3.0) foi apresentado nesta configuração em 1997, como um protocolo aberto e público com o intuito de alcançar a interoperabilidade entre os sistemas elétricos, petróleo e gás, bem como estações de tratamento de água e esgoto. Desenvolvido exclusivamente para sistemas SCADA, o framework do protocolo DNP3 segue as mesmas especificações da norma europeia IEC 60870-5-101, com octeto de controle estruturado para a transmissão de dados entre a estação mestre e os IEDs.

Este protocolo usa uma versão simplificada do modelo OSI/ISO denominada EPA (Enhanced Performance Architecture), utilizando apenas as camadas de Aplicação, de Enlace e Física. Entretanto, o DNP3 possui a necessidade de utilização de algumas funções da camada de transporte e rede. Neste caso, tem-se a chamada Pseudo-Camada de Transporte. A tabela a seguir apresenta uma breve descrição das camadas em uso no protocolo DNP3.

Estrutura do modelo OSI do protocolo DNP3

Camada

Descrição

Aplicação

Nível em que os dados são gerados para envio, ou solicitados para envio, e fornece o endereço do elemento do objeto de dados, descrevendo os formatos das mensagens, serviços e procedimentos

Pseudo-Camada de Transporte

Permite que grandes blocos de mensagens sejam segmentados e transportados

Enlace

Camada onde é realizado o controle de fluxo e de erro dos pacotes de dados (CRC ou Cicle Redundancy Code), além de fornecer a indicação de outros eventos, tais como o estado de enlace

Física

Camada que define por qual meio físico o protocolo é transmitido, tratando das especificações elétricas, estabelecimento da conexão e controle de fluxo de dados

 

A pseudo-camada de transporte algumas vezes corresponde de forma limitada à camada de transporte, atuando de modo a garantir a entrega dos dados de forma transparente de mensagens inteiras, ponto-a-ponto, incluindo a segmentação e remontagem dos dados e correção de erros da camada de rede, com o intuito de controlar o fluxo dos pacotes de dados e o roteamento das mensagens.

Juntamente com a camada de aplicação, a pseudo-camada quebra as mensagens superiores a 249 octetos. Para cada pacote de dados é inserido um único byte de Function Code, que indica se o pacote da camada de enlace é o primeiro da mensagem, o último, ou ambos, no caso em que não há fragmentação da mensagem.

Quanto ao tipo de mensagem, o protocolo DNP3 utiliza mensagens com ou sem confirmação. Quando se trabalha mensagens com confirmação, a prioridade é dada à confiabilidade dos dados e quando as mensagens são sem confirmação, a prioridade é o desempenho.

Neste protocolo foi incluído o endereço de origem da mensagem, além do endereço de destino, que já estavam presentes no protocolo Modbus e na norma IEC 60870-5-101, permitindo a primeira concepção de rede como conhecida atualmente, consagrada no protocolo TCP/IP. Os modos de endereçamento utilizados no protocolo DNP3 são os seguintes:

Modo mestre-escravo, também serve para o modo por exceção

Modo mestre-grupo, permitindo seleção de lista de pontos

Endereçamento via broadcast do tipo mestre-todos, permitindo difusão dos dados

 

Assim como na norma IEC 60870-5-101, na arquitetura mestre-escravo o protocolo DNP3 apresenta um relacionamento síncrono através de operação por varredura e relacionamento assíncrono através de respostas não solicitadas, por iniciativa das estações escravas.

Esta importante implementação realizada no protocolo DNP3 é denominada de envio espontâneo de informação, que de modo geral indica que foi dado ao dispositivo escravo um primeiro item de liberdade. Com esta nova função, o escravo pode formatar uma mensagem sem antes requisitar ao mestre uma autorização de envio. Com a evolução exponencial dos recursos de hardware, a possibilidade de congestionamento de dados em uma rede diminuiu consideravelmente, desde que o sistema como um todo seja projetado e especificado adequadamente. Além disto, com o objetivo de sincronizar os relógios dos dispositivos interconectados de um sistema, o protocolo estabelece um método de cálculos do tempo de propagação das mensagens.

O protocolo DNP3 atua em três níveis nos dispositivos e cada nível possui diferentes quantidades de objetos de dados disponibilizados. Esta característica deve ser observada durante o processo de aquisição de dados nos equipamentos que utilizam o protocolo DNP3. Cada equipamento possui um documento de perfil do dispositivo, chamado Device Profile, que contém informações permitindo a integração entre diferentes dispositivos mestres e escravos. Assim como na interoperabilidade na norma IEC 60870-5-101, os equipamentos com o protocolo DNP3 com um perfil diferente podem não se comunicar.

Apesar destas atualizações de rede e fragmentação, o protocolo DNP3 se consolidou no mesmo campo da norma IEC 61870-101 como um protocolo de tempo real, em linhas seriais, com mensagens curtas, de 250 bytes, mestre-escravo com varreduras a períodos típicos de um segundo e envio por exceção, entre outros.

Esta página foi útil?