Bästa svaret
PSH och ACK är flaggor i TCP-protokollet. Dessa flaggor är sätt för TCP att kommunicera mellan klienter och servrar.
ACK-flaggan används för att bekräfta till en klient eller server att dess SYN-flagga (synkronisering) har mottagits. PSH-flaggan (push) används för att berätta för klienten / servern att fortsätta och skicka vilken data den har till den mottagande applikationen även om dess buffert inte har fyllts. Detta skickas vanligtvis i slutet av en sändning så att mottagaren systemet kommer inte sitta och vänta på att data ska fylla bufferten när den inte kommer.
Så om system A tar emot ett TCP-paket som har PSH- och ACK-flaggorna inställda från system B, ACK från B bekräftar det senaste SYN-paketet som mottogs från A och PSH berättar för system A att system B inte skickar något vidare och system A kan skicka data upp till applikationen som begärde data även om dess buffert inte är full
Svar
Jag googlade “Vad är PSH ACK i TCP”
Jag fick:
Även från TCP RFC: RFC 793 – Transmission Control Protocol
Basic Data Transfer:
The TCP is able to transfer a continuous stream of octets in each direction between its users by packaging some number of octets into segments for transmission through the internet system. In general, the TCPs decide when to block and forward data at their own convenience.
Sometimes users need to be sure that all the data they have submitted to the TCP has been transmitted. For this purpose a push function is defined. To assure that data submitted to a TCP is actually transmitted the sending user indicates that it should be pushed through to the receiving user. A push causes the TCPs to promptly forward and deliver data up to that point to the receiver.
The exact push point might not be visible to the receiving user and the push function does not supply a record boundary marker.
ACK-bituppsättning betyder bara att bekräftelsefältdata är giltiga.
Jag gjorde precis en fångst för 100 tusen TCP-paket och en snabb titt visade att det enda paketet med ACK unset var några SYN / FIN-paket.
Nu ska du inte ställa en ny fråga vad SYN eller FIN är. Läs igenom RFC.
Att ställa en nybörjare till bazilion är formeln för människor att förakta dina frågor, tysta dig från deras flöde så att de aldrig kommer att se eller svara på några frågor du ställer.
Vänligen respektera tiden för människor som har kunskapen att svara på komplexa och användbara frågor.
Och det är det, tystnar dig från mitt flöde.