Resumo
- PUSH pede que o TCP não espere indefinidamente por mais bytes antes de encaminhar os dados já fornecidos.
- PSH não é um marcador de registro: os limites de escrita, segmento, buffer de recepção e leitura podem ser diferentes.
- Protocolos que precisam de mensagens devem definir seu próprio enquadramento acima do TCP.
De “carta” a fluxo
As primeiras especificações do TCP experimentaram a ideia de uma “carta”. A RFC 793 explica que esse mecanismo foi redescrito como uma função PUSH. A mudança é importante: TCP fornece um fluxo contínuo de octetos, não uma sequência de mensagens com bordas preservadas.
Ao solicitar PUSH, a aplicação pede que os dados já entregues sejam transmitidos e cheguem prontamente ao usuário remoto. Isso trata do tempo de espera permitido ao transporte; não altera o modelo de dados.
Limites que não coincidem
A RFC 9293 diz que, quando a interface permite indicar PUSH em SEND, PSH é colocado no último segmento criado a partir daquele buffer. O TCP ainda pode dividir o buffer, combinar dados ou juntar indicações PUSH sucessivas ao montar segmentos.
Quando a implementação não oferece PUSH ao remetente, ela tampouco pode reter dados indefinidamente: se não houver mais dados na fila, deve marcar com PSH o último segmento armazenado.
No receptor, um buffer cheio pode ser devolvido antes de PSH ser observado. Expor essa indicação à aplicação é opcional; se a interface optar por fazê-lo, PUSH também pode fazer com que um buffer parcialmente preenchido seja entregue. O tamanho das leituras da aplicação não precisa acompanhar o das escritas do remetente.
PSH sinaliza intenção de progresso, não o fim de uma mensagem. Não garante transmissão imediata, quantidade fixa de pacotes ou conclusão de uma leitura. Controle de fluxo, congestionamento, Nagle e a implementação continuam valendo.
Comprimentos, delimitadores, estruturas de tamanho fixo ou outra regra devem fornecer o enquadramento da aplicação. Uma captura mostra onde PSH apareceu em uma determinada segmentação, mas não revela sozinha limites oficiais de registros.
Fontes
Briefing para membros
Contexto aprofundado do perfil
Faça login com o nível de assinatura correto para desbloquear o briefing completo e as notas das fontes.
Apenas para Strategic Circle
Strategic Circle
Aberto a todos os leitores. Desbloqueie Briefings de perfil após se inscrever e fazer login.
Junte-se ao Strategic CircleSomente para Leadership Alliance
Leadership Alliance
Para proprietários e gestores qualificados de ativos de PI; faça login para desbloquear os briefings da Leadership Alliance.
Junte-se ao Leadership Alliance
