Diferença entre psh e urg flag

A pilha TCP geralmente processa dados com base em FIFO (Primeiro a entrar, primeiro a sair) para vários solicitantes. Ao enviar um grande volume de dados, isso pode criar uma situação de atraso que afeta o nível de resposta / serviço.

Exemplo: a pilha TCP está manipulando um upload de 10 GB e executando uma sessão de telnet ativa. O upload de arquivos grandes pode criar uma lista de pendências que atrasa os pacotes / respostas da sessão de telnet. A sessão de telnet precisa de prioridade momentânea sobre o outro tráfego. A especificação TCP define o padrão "urgente" para resolver esse problema.

O ponteiro urgente e o sinalizador URG são usados ​​para instruir a pilha TCP a interromper outros impulsos de dados sequenciais e criar imediatamente um canal secundário fora da banda para esses pacotes, a fim de acelerar a transmissão de dados.

Primeiro, você define o sinalizador URG e, em seguida, o valor urgente do ponteiro para informar à pilha em que ponto do fluxo de dados iniciar as transmissões secundárias fora da banda.

Esse é um recurso pouco compreendido do TCP e raramente é implementado corretamente. Eu argumentaria que a superfície de ataque potencial que ela cria supera os benefícios.