Stránka 1 z 1

TCP spojení - posílá data vždy první klient?

Odeslat příspěvekNapsal: 24. 4. 2020 23:47
od Papadimo
Tak nějak dumám nad síťovými protokoly a nikde jsem nenašel tvrzení, že v případě TCP komunikace vždy první musí poslat data klient. Pozor, myslím teď payload (vlastní data protokolu), a ne samotné úkony v řízení sestavení spojení (SYN,ACK, to je logické, že vždy klient musí dát vědět serveru, že se chce k němu připojit).

U protokolu HTTP to tak je, že po otevření spojení pošle klient request (například GET / HTTP/1.0 \nHost:...\Cookie....\n).
Ale jsou i protokoly (nad TCP),kde po otevření spojení, nejprve pošle data server (dokázal bych si představit něco jako banner message nebo challenge prompt)? Jaký takový protokol je?

Re: TCP spojení - posílá data vždy první klient?

Odeslat příspěvekNapsal: 27. 4. 2020 13:23
od Nargon
To tvrzení jsi nemohl najít, protože je to nesmysl.
Navázání spojení musí iniciovat klient. Ale jakmile je spojení navázáno, tak se ztrácí rozdíl mezi klientem a serverem. Obě strany jsou si rovnocenné a první data může vyslat kterákoliv strana. Nebo třeba to mohou udělat obě strany najednou, pak by mě zajímalo jak chceš určit co bylo první.

Ale když chceš příklady, tak vedle HTTP protokolu je další hojně používaný protokol SMTP na emaily a ten funguje přesně opačně. Tj po připojení klienta ihned server pošle info co je zač.
Další příklad mě napadá například SSH protokol. Tam taky první data odesílá server. Buď nějakou MOTD nebo minimálně hlášku: "Username: " pro přihlášení apod. Určitě se najde víc podobných příkladů.