-
[odpočítávání písničky: 7, 6, 5, 4, 3, 2, 1] Internet:
pakety, směrování (routing) a spolehlivost
-
Ahoj. Jmenuji se Lynn. Jsem konstruktérka software
tady u Spotify a nedělá mi problém přiznat, že
-
často beru spolehlivost internetu jako samozřejmost.
Už jen to obrovské množství informací, které po
-
Internetu kolují, je ohromující. ale jak je možné, aby
k Vám byl každý kousek dat dodán tak spolehlivě?
-
Řekněme, že si třeba chcete přehrát nějakou
písničku ze Spotify. Zdá se, že Váš počítač
-
se připojuje přímo k serverům Spotify,
a Spotify Vám posílá písničku po přímé
-
lince. Ale ve skutečnosti takto
Internet nefunguje. Kdyby byl
-
Internet sestaven z přímých účelových spojů, bylo
by nemožné udržet vše v chodu, když by se
-
připojovaly miliony uživatelů. Zejména proto,
že není žádná záruka, že všechny počítače a
-
všechny dráty budou pracovat současně. Namísto
toho jsou data po Internetu přepravována
-
mnohem méně přímo. Před mnoha lety, začátkem
70. let 20. století jsme můj partner Bob Kahn a já
-
začali pracovat na návrhu toho, co se dnes nazývá Internet. Bob a já jsme měli povinnost a příležitost
-
navrhnout protokoly a architekturu
Internetu. Takže jsme vytrvali a celou
-
tu dobu až do teď jsme se účastnili
růstu a vývoje internetu. Způsob,
-
jakým jsou informace předávány z jednoho
počítače do druhého, je celkem zajímavý.
-
Musí probíhat po pevně stanovené cestě. Kromě
toho se ta cesta může uprostřed konverzace
-
jednoho počítače s druhým změnit. Informace
na Internetu přecházejí z jednoho počítače do
-
druhého způsobem, kterému říkáme informační
pakety, a paket cestuje po internetu z jednoho
-
místa na druhé značně obdobně tomu, jako my
cestujeme autem. Podle toho, nakolik je silnice
-
ucpaná nebo jinak ovlivněná podmínkami, byste
se mohli rozhodnout, nebo muset, zvolit pokaždé
-
jinou cestu k tomu, abyste se dostali do toho
stejného místa, kam obyčejně cestujete. A.
-
stejně jako v autě můžete přepravovat velmi
mnoho různých druhů věcí, tak také lze mnoho
-
druhů digitálních informací přepravovat pomocí
paketů IP, ale jsou tu určitá omezení. Co když například
-
potřebujete přemístit raketoplán z místa, kde byl postaven, na místo, odkud bude vypuštěn. Raketoplán
-
se nevejde na jeden nákladní vůz, takže je potřeba jej
rozložit na kusy a přepravovat pomocí vozového parku
-
nákladních vozů. Ty by mohly jet různými cestami
a mohly by se dostat do stejného místa v různých
-
časových okamžicích. Avšak když už budou
všechny součásti na místě, můžete z nich složit
-
celý raketoplán, a ten bude připraven k vypuštění.
Na Internetu fungují věci obdobně. Jestliže máte
-
velký obrázek, který chcete poslat příteli nebo jej
nahrát na nějakou webovou stránku, mohlo by se
-
jednat o obrázek složený z desítek milionů bitů
z jedniček a nul, příliš mnoho k zaslání v jednom
-
paketu. Protože data obrázku jsou na počítači,
počítač, který obrázek odesílá, jej může rychle
-
rozložit na stovky nebo i tisíce menších částí
zvaných pakety. Na rozdíl od osobních a nákladních
-
aut tyto pakety nemají řidiče a nemusí se
rozhodovat, kudy pojedou. Každý paket má
-
internetovou adresu místa, odkud pochází a
místa, na které cestuje. Speciální počítače
-
na internetu, zvané routery (směrovače) fungují
jako vedoucí přepravy tak, že pakety hladce
-
navádějí skrze sítě. Je-li některý směrovač přecpán,
mohou různé jednotlivé pakety cestovat různými
-
cestami po internetu a do místa mohou
dorazit v mírně různou dobu nebo i nedorazit.
-
Promluvme si nyní o tom, jak to funguje.
V rámci internetového protokolu sleduje
-
každý směrovač více cest, po kterých jsou
pakety zasílány, a pro každý kousek dat
-
volí nejlevnější dostupnou cestu podle
adresy IP cíle pro daný paket.
-
Pojem „nejlevnější“ v tomto případě nehovoří
o financích, ale o čase a o netechnických faktorech,
-
jako je například politika a vztahy mezi různými
společnostmi. Často tomu bývá tak, že nejlepší
-
dráha pro data není nezbytně ta nejpřímější. Mít
různé možnosti cesty dělá síť tolerantní vůči chybám.
-
To znamená, že síť může pokračovat v odesílání paketů,
i kdyby se něco opravdu, ale opravdu vážného pokazilo.
-
To je základem klíčového principu Internetu:
spolehlivosti. Takže, chcete si vyžádat nějaká
-
data a ne vše je dodáváno? Řekněme, že si
chcete třeba poslechnout písničku.
-
Jak si můžete být na 100% jisti, že všechna data budou
dodána tak, aby byla písnička bez chyby přehrána?
-
Představujeme Vám Vašeho nejlepšího přítele, TCP (Transmission Control Protocol). TCP se daří zasílat a
-
přijímat všechna Vaše data jako pakety.
Představte si to jako takovou poštu se zárukou.
-
Když si na svém zařízení vyžádáte nějakou písničku, Spotify Vám písničku pošle rozdělenou na mnoho
-
paketů. Když pakety dorazí, TCP udělá kompletní
inventář a pošle zpět potvrzení přijetí každého
-
paketu. Jestliže jsou všechny pakety na místě,
TCP odepíše Vaši dodávku a máte to hotovo.
-
(písnička je přehrávána) Jestliže TCP shledá, že
nějaké pakety chybí, neodepíše to, protože by Vaše
-
písnička nezněla tak dobře, nebo by jí kus
chyběl. Každý chybějící nebo neúplný paket
-
pošle Spotify znovu. Až TCP ověří dodání mnoha
paketů pro onen konkrétní daný požadavek
-
na píseň, Vaše píseň začne být přehrávána.
Vynikající na systémech TCP a směrovačů je, že
-
jsou škálovatelné. Mohou pracovat s osmi
zařízeními nebo s osmi miliardami zařízení.
-
Ve skutečnosti díky principům tolerance vůči
chybám a redundance, čím více routerů přidáváme,
-
tím spolehlivějším se Internet stává. Vynikající
je také to, že Internet můžeme nechat rozrůstat
-
a měnit jeho velikost, aniž bychom museli přerušit
služby někomu z těch, kdo jej používají.
-
Internet je tvořen stovkami tisíců sítí a miliardami
počítačů a zařízení propojených fyzicky. Tyto
-
různé systémy tvořící Internet se navzájem spojují,
komunikují navzájem jeden s druhým
-
a spolupracují, a to díky dohodnutým normám
řídícím způsob zasílání dat na internetu.
-
Výpočetní zařízení nebo routery na internetu
umožňují všem paketům dojít na místo, kde
-
budou opět poskládány do stejného pořadí,
bude-li třeba To se odehrává mnoho miliardkrát
-
denně, ať už právě Vy nebo Vaši přátelé posíláte
e-mail, navštěvujete webovou stránku, děláte
-
video chat, používáte mobilní aplikaci, nebo
když senzory nebo zařízení na internetu
-
navzájem komunikují.