Type of Service
# Type of Service

O tipo de serviço (em inglês Type of Service ou ToS), trata-se de um campo no cabeçalho IPv4 originalmente e tem sido definida de diferentes maneiras pelas normas (RFC 791, RFC 1122, RFC 1349, RFC 2474 e RFC 3168), hoje definido pelas normas RFC 2474 como (DiffServ) combinando o IPv6, é utilizando para diferenciar o tipo do pacote a ser transportado, classificando-o para que possa ter prioridade em sua transmissão. Seu campo contém oito bits sendo utilizado 6 bits para os serviços diferenciados (Differentiated Services Code Point ou DSCP) e 2 bits para o controle de alertas para congestionamento (Explicit Congestion Notification ou ECN).
Mesmo com as mudanças que o ToS vem passando ao longo do tempo hoje se tornado o DiffServ algumas de suas peculiaridades ainda são mantidas devido a compatibilidade de versões anteriores.

## Tipo de Serviço

No cabeçalho IP, 8 bits são reservados para o Identificar ToS (Tipo de Serviço). Eles podem ser divididos em 5 subcampos:
Os 3 primeiros bits têm um valor de 0 a 7 e são usados para indicar a importância de um datagrama. O padrão é 0 (maior é melhor). Bits 3 4 5 representam o seguinte:
    D: Os pedidos de baixa atraso;
    T: visitas de alto rendimento;
    R: Os pedidos de alta confiabilidade.
Suporte para ToS em roteadores pode tornar-se inútil, no futuro, mas por agora é apenas um "deveria". Um roteador mantém um valor ToS para cada rota em sua tabela de roteamento. Rotas aprendidas através de um protocolo que não suporta o ToS é atribuído um ToS igual a zero. Os roteadores usam o ToS de escolher um destino para o pacote.
    1. O roteador localiza na sua tabela de roteamento de todas as rotas disponíveis para o destino.
    2. Se não houver nenhuma, o roteador descarta o pacote, porque o destino está inacessível.
    3. Se uma ou mais dessas rotas têm uma ToS que corresponda exatamente ao TOS especificado no pacote, o roteador escolhe a rota com a melhor métrica.
    4. Caso contrário, o roteador repete o passo acima, exceto a olhar para as rotas cuja TOS é zero.
    5. Se nenhuma rota foi escolhida acima, o roteador descarta o pacote, porque o destino está inacessível. O roteador retorna um erro ICMP Destination Unreachable, especificando o código adequado: nem Rede inacessível com o tipo de serviço (código 11) ou inacessível Host com o tipo de serviço (código 12).
    6. Se nenhuma rota foi escolhida acima, o roteador descarta o pacote.
    Precedence 0,1,2
    D 3
    T 4
    R 5
    ECN 6
    Field 7