Bem, vamos separar isso em camadas, você está descrevendo um roteador no nível IP, a única coisa é que os pacotes chegam em uma porta e saem em uma porta diferente e devem ser manipulados pela camada de aplicação que implementa o protocolo estão descrevendo.
Então, para reproduzir o design conceitual que você descreveu acima, você precisa de um roteador (qualquer caixa linux com tabelas IP será suficiente) mais um serviço de rede que faça exatamente o que você está pedindo e a menos que alguém já tenha programado e liberado o Open Source você está pedindo, você precisará fazer você mesmo.