Todos os pacotes TCP possuem o flag PSH definido - quem/o que seria responsável por isso?

Todos os pacotes TCP possuem o flag PSH definido - quem/o que seria responsável por isso?

Em um fluxo TCP servidor->cliente, todos os pacotes do servidor têm o sinalizador PSH definido. O bom e velho Nagle é o responsável pela colocação desta bandeira?

Responder1

O sinalizador push ( PSHou P) é definido pelo host remetente. Se a aplicação de envio utilizar gravação ou envio de 100 bytes, cada pacote estará PSHdefinido. Se o remetente enviar 2.000 bytes, ele será enviado em dois pacotes, e o segundo terá o PSHflag, assumindo tamanho de quadro padrão de 1.500.

O sinalizador push indica ao host receptor que os dados recebidos devem ser passados ​​​​imediatamente para o aplicativo receptor.

Responder2

A configuração do Push Flag geralmente não é controlada pelo aplicativo de envio, mas pela camada TCP de envio. A maioria das pilhas TCP/IP modernas definem o bit PSH no final do buffer fornecido para send() .

Fonte: Melhore a latência do TCP não aguardando o sinalizador Push

Responder3

Definir o bit P o tempo todo é um comportamento padrão correto, mas ineficiente, que você pode ver vindo de pilhas TCP antigas.

informação relacionada