Resumo

  • LSRR e SSRR colocavam endereços intermediários no cabeçalho IPv4 para que os sistemas participantes decidissem se os processariam.
  • Os padrões posteriores mantiveram o formato, mas tornaram o encaminhamento pela origem não local desativado por padrão e recomendaram descartar as opções.

Em geral, o endereço de destino do IPv4 indica para onde o pacote deve seguir. Com o roteamento pela origem, esse valor podia ser substituído durante o percurso. Ao alcançar o endereço atual, um sistema participante copiava o próximo endereço da opção para o campo de destino, registrava ali o endereço da própria interface de saída e avançava o ponteiro em quatro octetos. O itinerário era estado mutável dentro do pacote, não apenas uma anotação.

LSRR, tipo 131, permitia o uso do roteamento comum entre os pontos listados. SSRR, tipo 137, exigia que o próximo ponto fosse diretamente alcançável. As duas opções carregavam comprimento, ponteiro e espaços para endereços IPv4, que precisavam ser validados. O sinalizador de cópia fazia com que acompanhassem todos os fragmentos; o limite de 60 octetos do cabeçalho IPv4 restringia a lista.

A proposta do remetente nunca anulou a política de cada sistema. Um salto SSRR podia falhar quando o próximo endereço não estivesse em uma rede diretamente conectada. Os endereços registrados mostravam quais sistemas haviam aceitado e processado a opção; não autenticavam o caminho completo.

RFC 1122 tornou explícita a dimensão administrativa. Um host podia operar como salto intermediário, mas o encaminhamento não local pela origem precisava de um controle de desativação, com estado inicial desativado. Os filtros aplicáveis a gateways continuavam valendo. Um caminho incompleto que não pudesse ser encaminhado podia gerar ICMP Destination Unreachable, código 5, Source Route Failed.

RFC 6274 associou a capacidade a riscos como contornar controles de roteamento, alcançar sistemas por uma interface inesperada, revelar topologia e forçar trajetos artificiais. Também exigiu verificar comprimento e ponteiro antes de ler ou escrever endereços. A recomendação foi descartar LSRR e SSRR por padrão, mantendo uma habilitação explícita para ambientes que realmente precisassem do recurso, inclusive alguns usos de diagnóstico ou peering.

RFC 7126 apresentou três políticas: descartar o pacote, ignorar a opção e encaminhar normalmente, ou processá-la conforme RFC 791. Para ambas, o padrão recomendado era drop, e esse padrão deveria ser documentado. Ignorar não é o mesmo que descartar: o pacote pode chegar a um equipamento diferente daquele esperado pelo remetente naquela etapa.

O resultado histórico foi a perda da confiança padrão, não a remoção da especificação. O roteamento pela origem continua definido no IPv4, mas a sintaxe do pacote já não pressupõe cooperação automática da rede.

Fontes