Existe uma diferença entre encaminhamento de porta e encapsulamento?

2

Fiquei um pouco confuso se há uma diferença entre encaminhamento de porta e encapsulamento. O que concluí é que um encaminhador de porta encaminha os dados do aplicativo para outra porta, talvez potencialmente em um host remoto. Um túnel, por outro lado, não carrega dados do aplicativo diretamente, mas carrega as PDUs de outro protocolo IP. Assim, pode-se dizer que um túnel é um tipo especial de encaminhador, em que, diferentemente de um encaminhador normal, em que o servidor mediador faz uma conexão direta com o destino final e encaminha os dados para o destino, um túnel, injeta os dados do protocolo em seu funcionamento pilha de rede do sistema a ser roteada para o destino final?

Mas isso nem sempre parece verdade. Por exemplo, os túneis SSH são geralmente chamados de túneis seguros. Mas eles são realmente túneis? Os dados que estão sendo transportados nesses canais seguros são dados de aplicativos e não dados de protocolo IP.

Talvez eu esteja analisando demais isso e os dois se refiram à mesma coisa.

Portanto, para o cenário a seguir, em que eu tenho um Aplicativo A, B, C. A é um aplicativo cliente que se conecta a B. B simplesmente encaminha os dados para o Aplicativo C. B seria considerado encaminhamento de porta porque não há valor "adicional" "sendo adicionado ao fluxo de dados? Nesse caso, que tal o mesmo cenário, mas suponha que a conexão entre A e B não seja criptografada e a conexão entre B e C seja criptografada. B agora estaria encapsulando dados neste caso, em oposição ao encaminhamento de porta, já que agora existe um "valor agregado" da criptografia?

Ashaman Kingpin
fonte
a principal diferença (e elas são muito diferentes na manifestação) é que o encaminhamento de porta geralmente acontece dentro de um único dispositivo (algum tipo de parede NAT), portanto é basicamente apenas roteamento, com algum redirecionamento TCP e mapeamento de estado da sessão. Em um nível de pacote, o tunelamento é como colocar uma armadura em torno do seu pacote (o pacote é colocado dentro de outro pacote que é seu túnel). no nível de um fluxo, é como o tubo em que seus dados estão, está dentro de outro tubo (o túnel).
5304 Frank Thomas
É útil ter um exemplo concreto. digamos que eu tenho um túnel L4 sobre SSH e quero conectar-me a um servidor remoto na porta 80 através do túnel. Meu sistema criará um pacote IP para o ponto final do túnel remoto, com um segmento ssh no TCP / 22. Também crio um pacote IP para o servidor da web, com um segmento http (tcp / 80). Depois, coloco o pacote que contém o segmento http DENTRO do segmento SSH e o envio ao túnel. O ponto de extremidade remoto recebe o pacote ssh e retira o pacote interno. em seguida, envia o pacote http para o servidor da web, que responderá da mesma maneira.
5304 Frank Thomas

Respostas:

1

O encaminhamento de porta não envolve as PDUs de um protocolo em outro, portanto, não é sinônimo de encapsulamento. O encaminhamento de porta geralmente faz parte de um recurso NAT que aceita tráfego de uma porta permitida, modifica o endereço de destino para o endereço IP mapeado configurado e observa isso para que ele possa rotear o tráfego de saída corretamente.

Geralmente, a única razão pela qual você deseja encapsular as PDUs de um protocolo em outro é ocultá-lo ou protegê-lo, normalmente por motivos de segurança. (O PPP é uma possível exceção notável a isso). Portanto, a grande maioria dos cenários de encapsulamento do mundo real, se não todos, envolverá o encapsulamento do usuário em um servidor que poderá encaminhar o tráfego para outro local, se nada mais for para o host local nesse sistema para alcançar outro tipo de servidor (HTTP etc.) Normalmente, o que está fazendo isso é algum tipo de servidor de acesso ou tunelamento, ou seja, um servidor SSH, servidor VPN etc.

LawrenceC
fonte
9

O encapsulamento permite fazer algumas coisas diferentes, encapsulando dados dentro de outra forma de dados:

  • Segurança - você pode usar um túnel criptografado para transportar dados com segurança por uma rede não confiável, como redes wifi não criptografadas ou a Internet pública
  • Obscuridade - você pode usar um túnel em uma porta para transferir dados que normalmente seriam transmitidos em outra porta, ignorando a segurança da rede e sendo transparente para o cliente e o servidor
  • Versatilidade - você pode usar um túnel para conectar dois dispositivos ou redes, usando algo diferente do protocolo nativo da rede de transporte. Você pode executar o TCP / IP sobre MPLS, por exemplo

O encaminhamento de porta é muito mais simples, apenas encaminha e viabiliza possíveis conexões na rede.

Bert
fonte
Portanto, para o cenário a seguir, em que eu tenho um Aplicativo A, B, C. A é um aplicativo cliente que se conecta a B. B simplesmente encaminha os dados para o Aplicativo C. B seria considerado encaminhamento de porta porque não há valor "adicional" "sendo adicionado ao fluxo de dados? Nesse caso, que tal o mesmo cenário, mas suponha que a conexão entre A e B não seja criptografada e a conexão entre B e C seja criptografada. B agora estaria encapsulando dados neste caso, em oposição ao encaminhamento de porta, já que agora existe um "valor agregado" da criptografia?
Ashaman Kingpin
4

O @Bert deu uma boa resposta (+1), mas acho que as duas maiores diferenças entre os dois são:

  1. o encaminhamento de porta pode ser realizado usando apenas os dados disponíveis no envelope de pacote de rede. O encapsulamento requer inspeção dos dados dentro do pacote (pelo menos para estabelecer o encapsulamento).
  2. o encaminhamento de porta é 'sem estado' no sentido de que todos os dados correspondentes às regras são encaminhados. Os túneis são com estado e são controlados de fora do protocolo de rede, e os dados de um pacote estão relacionados / dependentes dos dados em outro.

Como resultado, o encaminhamento de porta pode ser executado por equipamentos de rede de baixa especificação, basta inspecionar a combinação de porta / host de entrada, reescrever o envelope e redirecionar o pacote para outro lugar. O encapsulamento requer a adição de lógica ao fluxo, implica uma carga mais pesada e um sistema mais robusto para implementá-lo.

rolfl
fonte