Protocolo GRE em roteadores industriais
O protocolo GRE (Generic Routing Encapsulation) é um protocolo de comunicação usado para estabelecer uma conexão direta ponto a ponto entre nós de rede. O GRE adota a tecnologia Tunnel, que é o protocolo de tunelamento de Camada 3 da VPN (Virtual Private Network), e encapsula as mensagens de dados de certos protocolos de camada de rede (como IP e IPX) para que essas mensagens de dados encapsuladas possam ser transmitidas em outro protocolo de camada de rede (como IP), resolvendo assim o problema de rede cross-disparate. Ele encapsula as mensagens de dados de certos protocolos de camada de rede (como IP e IPX) para que essas mensagens de dados encapsuladas possam ser transmitidas em outro protocolo de camada de rede (como IP), resolvendo assim o problema de transmissão através de redes heterogêneas. O GRE é definido pela RFC 2784.
O protocolo GRE tem as seguintes vantagens.
Vários protocolos são usados em um único backbone de protocolo.
A construção da rede pode ser alcançada com um número limitado de saltos
Rede de sub-redes não contíguas
Menores requisitos de recursos do que suas alternativas (por exemplo, VPNs IPsec)
Princípio de operação
O sistema roteia dados para endpoints GRE por meio de rotas estabelecidas na tabela de roteamento. Quando um endpoint GRE recebe um pacote, ele é desencapsulado e redirecionado para seu endereço de destino. Túneis GRE são sem estado, e endpoints de túnel não contêm informações sobre o status ou a disponibilidade de endpoints de túnel remotos. Portanto, um switch operando como um roteador de origem de túnel não pode desligar uma interface de túnel GRE se o endpoint remoto estiver inacessível.
Fluxo de transmissão de mensagens GRE
Se uma mensagem do Host A for transmitida do Roteador A para o Roteador B, os dados GRE são encapsulados no Roteador A e desencapsulados no Roteador B. O caminho que a mensagem de dados encapsulada percorre pela rede é o túnel GRE.
1. Mensagem de encapsulamento
1) Quando o Roteador A recebe um pacote do Host A 192.168.10.10 com IP de destino 192.172.1.10 (Host B), ele encapsula o pacote original como um pacote de carga útil no protocolo GRE e adiciona um cabeçalho GRE com IP de origem 1.1.1.2 e IP de destino 1.1.1.3 na extremidade oposta do túnel.
2) Complete o encapsulamento do pacote GRE
3) O roteador A continua adicionando o IP de origem do túnel GRE 113.113.11.11 e o IP de destino 113.113.10.10 na parte externa do pacote e o envia para a Internet
2. Desencapsular a mensagem
1) Após o pacote ser enviado para a Internet, todos os roteadores somente encaminharão o pacote de acordo com o endereço IP público externo até que o pacote seja encaminhado para o IP de destino real 113.113.10.10 (Roteador B)
2) O roteador B primeiro desembaraçará o cabeçalho IP público do pacote e então perceberá que o IP de destino no cabeçalho GRE é 1.1.1.3, que é exatamente ele mesmo.
3) O roteador B continuará a desembrulhar o pacote GRE e descobrirá que o IP de destino é 192.172.1.10, eventualmente enviando o pacote para 192.172.1.10 (Host B)