
Protokol TCP, fullduplex nezávislý nebo half duplex?
Měl bych takový dotaz pro ty,co ví jak funguje TCP IP protokol: Funguje tak,že když dojde k spojení,mohou si obě strany posílát data nezávisle i současně? A nebo Vždy může vysílat jen jedna strana? Jakou roli v tomto dilema hraje číslo sekvence?
Například při zachycení HTTP komunikace to vypadá tak (v případě HTTP keep.alive), že je to tak, že je to série dotaz-odpoved-dotaz-odpoved, nebo i dotaz-dotaz,dotaz-odpoved-odpoved-odpoved (U HTTP pipelining, to se asi moc neujalo)
Ostatně,když si to otevřu v wiresharku, follow TCP stream, vždy vidím jednu sekvenci, kde se střídá komunikace tam a zpět. Ale to ještě neznamená, že nezávislá 2duplex komunikace je možná,třeba to jen specifické chování vyšší vrstvy HTTP, kdy body čekají, až jeden domluví.
Vymazaný off-topic, prosím bez urážok. (moose)
TCP lze realizovat pomoci ruznych fyzickych vrstev, viz napr. RFC 1149 a RFC 2549
https://cs.wikipedia.org/wiki/IP_pomoc%C3%AD_po%C5%A1tovn%C3%ADch_holub%C5%AF
Ale Ale nižší vrstvy mě vůbec nazajímají a ani s tím nesouvisí.
Kdyby sis precetl i ten odkaz a zamyslel se nad nim, tak bys mozna pochopil, ze na nizsich vrstvach si z toho kdokoli klidne muze udelat holubnik.
A ze takto muzes poslat i velmi velky balik dat a cekat dlouho, nez ti druha strana potvrdi prijeti.
A druhe strane nic nebrani v tom mit taky holubnik a nez doplachti (a je precten) tvuj prvni operenec, tak ti klidne odvysilat cely serial se vsema sezonama, sequely a prequely, zatimco ty posilas Encyklopedii Britaniku.
A nez ti prijde potvrzeni prvniho svazku, tak uz se ti mozna nahromadi v tom holubniku operencu povicero, takze mezitim muzes i poslat potvrzeni alespon nekolika prvnich dilu a nez skoncis s odesilanim, tak ti mozna dojde potvrzeni prvnich par svazku.
A kazdy ten ptak si leti, kudy ho napadne, nemusi to byt vzdy stejnou cestou a nemusi doletet ve stejnem poradi. A nektere sezerou po ceste dravci, nebo proste zabloudi, ale tak se holt na vyzadani poslou ta data po dalsich holubech.
A pokud je na obou stranach holubnik dost velky a trpelivost take (ocekavany velke latence), tak ve vysledku dostanes do videoteky cely ten serial ve spravnem poradi a protistrana v te encyklopedii nebude mit zprehazene listy ani svazky, jen to mozna bude trvat par tydnu, nez budes mit potvrzeno prijeti vseho na obou stranach (a kliddne tou dobou muzes mit ten serial davno zkouknuty cely, zatimco protistrana porad jeste ceka na par poslednich operencu, aby vedela, ze uz ho muze klidne smazat z disku.
Takze ano, obe strany mohou naraz vysilat i prijimat, jen to nemusi byt uplne plynuly provoz.
A na druhou stranu ti nic nebrani zachovavat stare zvyky a i po rychlych linkach, kde jde prenos hlasu plynule tak nechat protistranu dokoncit vetu a zacit mluvit, az kdyz protistrana rekne "prepinam" a pak pronest vlastni proslov ukonceny slovem "prepinam" a doufat, ze i na druhe strane bude gentleman ze stare skoly s monoklem v oku, ktery ti do te reci neskoci a tak zachovate zdani stare dobre jiskrove telegrafie.
Ale to je taky jen nepovinna nadstavba nad protokolem. Stejne jako pouziti pistalek pro morzeovku a mackani papiru pro simulaci statickeho ruseni.