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

Poskytovatelé a technologie, dial-up, ADSL, kabel, optika, bezdrátové připojení

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod Papadimo 25. 4. 2020 00:47

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?
Papadimo
Junior

Odeslat příspěvekod Nargon 27. 4. 2020 14:23

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ů.
Desktop: Ryzen 7 1800X (3.95GHz, 1.35V), Asus Crosshair VI Hero, 16GB DDR4 Ram (3200MHz), 128GB SSD + 3TB HDD, Nvidia GTX 1080
Notebook: Asus UL50VT 15.6" (SU7300@1.7GHz, 4GB ram, 500GB HDD, Intel GMA 4500MHD + nVidia G210M, dlouha vydrz cca 7+ hod)
Nargon
Moderátor


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků