<< 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.