Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno 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.

Jsou zobrazeny jen nové odpovědi. Zobrazit všechny
Předmět Autor Datum
Takže pokud jsou bajty xyz přenáššeny v jednou segmentu (na síťové vrstvě paketu) a dojde k chybě, t…
orbit 25.11.2008 21:57
orbit
Ak sa stratí paket y a paket z sa prenesie, tak sa paket z nemusí prenášať znova v prípade, že sa vo…
los 25.11.2008 22:25
los
Ale ked nedorazi verifikacie packetu y ako sa moze poslat z? Ved predsa musi dojst k odoslaniu y est…
fleg 25.11.2008 22:55
fleg
to právě že ne, zdroj "chrlí" pakety a čeká na odezvy (ACK). Pokud do timeoutu nedorazí ACK, pošle k… nový
touchwood 25.11.2008 23:06
touchwood
Jasne, zabudol som na timeout a bola by blbost keby sa pri kazdom packete cakalo na potvrdenie a az… poslední
fleg 25.11.2008 23:13
fleg

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.

Zpět do poradny Odpovědět na původní otázku Nahoru