No centro do processo de encaminhamento está a Qualidade de Serviço (QoS) do router, que determina a forma como os recursos da rede são atribuídos e priorizados com base nas necessidades específicas dos diferentes tipos de tráfego. As definições de QoS podem ser configuradas manualmente pelos administradores de rede ou podem ser automatizadas através de protocolos como o Differentiated Services (DiffServ) ou o Integrated Services (IntServ).
Uma vez estabelecida a QoS, o router inicia o processo de encapsulamento dos pacotes de dados com as informações necessárias para garantir uma transmissão bem sucedida. Isto inclui a adição de informações da camada 3 ao modelo OSI (Open Systems Interconnection), que especifica os endereços IP de origem e destino, bem como outros dados relevantes, como o tempo de vida (TTL) e o tipo de protocolo.
A responsabilidade de analisar os endereços IP de destino e definir a melhor rota para os pacotes de dados cabe ao próprio router. Isso é feito através de um processo conhecido como encaminhamento de pacotes, que envolve o exame do endereço IP de destino e sua comparação com as entradas na tabela de roteamento do roteador.
Para determinar a melhor rota, o router avalia o endereço IP de destino em relação às informações contidas na tabela de encaminhamento, concentrando-se especificamente no endereço da rede de destino e na máscara de sub-rede. Com base nestas informações, o router é capaz de identificar a interface de saída correcta para o pacote de dados e encaminhá-lo em conformidade.
A principal diferença entre os routers e os comutadores da camada de ligação é que os routers funcionam na camada de rede do modelo OSI, enquanto os comutadores funcionam na camada de ligação de dados. Os routers são responsáveis pelo encaminhamento de pacotes de dados entre redes, enquanto os switches são utilizados para ligar dispositivos numa rede local (LAN). Além disso, os roteadores normalmente têm recursos de roteamento mais avançados do que os switches, incluindo suporte para QoS, sumarização de rotas e protocolos de roteamento dinâmico.
A diferença entre uma rede de datagrama e uma rede de circuito virtual é que, em uma rede de datagrama, cada pacote é tratado de forma independente e é roteado com base no endereço de destino no cabeçalho do pacote. Por outro lado, numa rede de circuitos virtuais, é estabelecido um caminho predeterminado entre a origem e o destino antes de qualquer pacote ser enviado. Este caminho é mantido durante toda a comunicação e cada pacote é enviado ao longo do caminho estabelecido. Em uma rede de circuito virtual, as entradas da tabela de roteamento são criadas durante o estabelecimento da conexão, enquanto em uma rede de datagrama, as entradas da tabela de roteamento são criadas dinamicamente à medida que os pacotes são enviados.
Para verificar as rotas no Linux, pode-se usar o comando `route`. Basta abrir um terminal e digitar `route -n` para exibir as entradas da tabela de roteamento. A opção `-n` é utilizada para exibir endereços IP ao invés de nomes de hosts, o que pode acelerar a exibição. Adicionalmente, pode-se utilizar o comando `ip route` para exibir a tabela de roteamento num formato mais detalhado e estruturado.
Para ver o gateway no Ubuntu, você pode usar o comando “route -n” no terminal. Isso exibirá a tabela de roteamento, incluindo as informações do gateway.