O protocolo IP e os protocolos que estão diretamente acima dele, como UDP e TCP, devem ser globais (apesar de NAT), destinados a serem independentes de hardware e destinados a não se preocupar com segurança. Isso significa:
- por design, qualquer endereço IP deve ser capaz de se comunicar com qualquer outro endereço IP, independentemente do tipo de mídia (Ethernet, token-ring, Ethernet sem fio, SONET, o que for)
- portanto, por design, existe apenas uma rede de nível superior, também conhecida como. uma "Internet".
- por design, nenhuma segurança é considerada - o trabalho de um pacote IP é ir de sua origem para um host com seu IP de destino e é isso.
- portanto, por padrão, um pacote IP não se importa com o que está viajando enquanto estiver indo em direção ao seu destino
- também, portanto, por design, um pacote IP não se importa com a interface de rede (ou outro mecanismo - por exemplo, PPP). Um roteador se importará, já que um roteador sabe quais endereços IP estão por trás de uma interface de rede.
- quando um roteador ou sistema é confrontado com vários caminhos para o mesmo IP, ele pressupõe que qualquer um funcionará da mesma forma e que pode balancear a carga entre eles ou fazer o failover para o outro.
Por causa disso, a API de sockets C padrão não suporta o envio de tráfego para fora de uma interface específica, você deve estar preocupado apenas com o IP de destino e deixar a camada física / de roteamento até a infraestrutura e o sistema operacional. / p>
Assim, você terá que fazer coisas como ajustar as tabelas de roteamento do sistema operacional ou usar outros recursos específicos do sistema operacional para realizar o que deseja.