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
Potvrdzovanými jednotkami sú síce bajty, ale to neznamená, že pre každý bajt sa pošle potvrdenie (ak…
los 25.11.2008 21:12
los
No presne takto som si to doteraz predstavoval ja, ale ten popis v otazke ma celkom zmiatol. nový
fleg 25.11.2008 21:42
fleg
Takže pokud jsou bajty xyz přenáššeny v jednou segmentu (na síťové vrstvě paketu) a dojde k chybě, t… nový
orbit 25.11.2008 21:57
orbit
Podla toho ako som ja doteraz chapal TCP je to tak ako to teraz popisujes. nový
fleg 25.11.2008 22:14
fleg
Ak sa stratí paket y a paket z sa prenesie, tak sa paket z nemusí prenášať znova v prípade, že sa vo… nový
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… nový
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

Potvrdzovanými jednotkami sú síce bajty, ale to neznamená, že pre každý bajt sa pošle potvrdenie (ak dátová veľkosť paketu nie je rovná 1). Napr. keď príde paket s 500 bajtami, tak nasledujúce potvrdenie potvrdí všetkých 500 bajtov (ak boli všetky pakety predtým potvrdené). Ak sú bajty xyz v jednom pakete, tak v prípade chyby sa musia opätovne zaslať všetky bajty xyz.

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