

potvrzování v protokolu TCP
Dobrý den. Učím se základy počítačových sítí a potřeboval bych osvětlit násludující:
Dočetl jsem se, že protokolem TCP jsou přenášeny tzv. segmenty (respektive od aplikační vrstvy dostává jednotlivé byty a střádá si je do bufferu a poté odešle jako celek v tzv. segmentu). Aby se dosáhlo spolehlivosti, tak na správně přenesená data se reaguje kladným potvrzením (positive-acknowledgement, ještě se tato metoda kombinuje s posunutím pomyslného okénka (sliding windows), které říká, kolik segmentů může odesilatel odeslat bez toho, aby čekal na kladné potvrzení předešlého segmentu) a na špatně přenesená data se nereaguje nijak. Dále jsem se dočetl, že potvrzovanými jednotkami nejsou celé segmenty, ale jednotlivé byty (osmibitové oktety). Pokud dojde k chybě v přenosu nějakého bytu (osmibitového oktetu), tak se přenese vše znova od tohoto chybně přeneseného osmibitového oktetu....příklad: mám byty xyz, které přenáším v segmentu, x se potvrdí (správně přeneseno), y se nepotvrdí (chyba při přenosu) a z se opět potvrdí (správně přeneseno) - a na toto odesilatel reaguje opětovným zasláním bytů yz (metoda Go-Back-N). Je to tak nebo v tom mám bordel? Za případné odpovědi děkuju.
Takže pokud jsou bajty xyz přenáššeny v jednou segmentu (na síťové vrstvě paketu) a dojde k chybě, tak se musí znova poslat všechny bajty xyz. Pokud ovšem jsou bajty xyz posílány každý v jiném segmentu (paketu), tak pokud dojde k chybě pouze v paketu přenášející bajty y, tak se pošlou znova jen bajty yz (ptž protokol TCP kontroluje i správné pořadí, takže nejdříve musí být správně doručeny bajty y a až poté z), x se už znova neposílají?
Jinak díky, že jste mi věnovali nějaký čas, mslím, že mi to pomohlo.
Podla toho ako som ja doteraz chapal TCP je to tak ako to teraz popisujes.
Ak sa stratí paket y a paket z sa prenesie, tak sa paket z nemusí prenášať znova v prípade, že sa vojde do okna. TCP kontroluje správne poradie práve kvôli tomu, že paket z môže byť správne doručený pred paketom y.
Ale ked nedorazi verifikacie packetu y ako sa moze poslat z? Ved predsa musi dojst k odoslaniu y este raz nie? Az potom sa pusti packet z nie?
to právě že ne, zdroj "chrlí" pakety a čeká na odezvy (ACK). Pokud do timeoutu nedorazí ACK, pošle konkrétní pakety, které nebyly přijaty, znova.
Jasne, zabudol som na timeout a bola by blbost keby sa pri kazdom packete cakalo na potvrdenie a az potom by sa odosielali dalsie.