0:00:00.120,0:00:07.950 [piosenka i odliczanie: 7, 6, 5, 4, 3, 2, 1][br]Internet: Pakiety, routing i niezawodność 0:00:07.950,0:00:13.650 Cześć nazywam się Lynn. Jestem inżynierem[br]oprogramowania w firmie Spotify. Jako 0:00:13.650,0:00:18.970 pierwsza przyznam, że niezawodność [br]Internetu jest oczywista. Już sama liczba 0:00:18.970,0:00:23.170 krążących w nim informacji jest [br]zadziwiająca. Jak to możliwe, że dane są 0:00:23.170,0:00:29.080 Wam doręczane w sposób niezawodny? Przyjmijmy, że[br]chcecie odtworzyć piosenkę ze Spotify. 0:00:29.080,0:00:31.848 Można odnieść wrażenie, że komputer łączy[br]się bezpośrednio z serwerami Spotify, a 0:00:31.848,0:00:37.521 Spotify wysyła Ci piosenkę bezpośrednią [br]linię. Cóż, Internet tak nie działa. 0:00:37.521,0:00:43.640 Jeśli Internet opierałby na bezpośrednich[br]połączeniach, nie zdołałby obsługiwać 0:00:43.640,0:00:48.050 milionów dołączających osób. Zwłaszcza, że[br]nie ma gwarancji działania każdego kabla i 0:00:48.050,0:00:53.350 komputera przez cały czas. Dane krążą w [br]Internecie znacznie mniej bezpośrednio. 0:00:53.350,0:01:01.210 Dawno temu, w latach 70. XX w. zaczęliśmy[br]z Bobem Kahnem pracę projektując coś, 0:01:01.210,0:01:06.870 co obecnie nosi miano Internetu. [br]Naszym zadaniem, a jednocześnie szansą 0:01:06.870,0:01:14.790 było projektowanie protokołów [br]i jego architektury. Uczestniczymy 0:01:14.790,0:01:20.000 w procesie rozrastania się i ewolucji internetu[br]przez cały czas, aż do dnia dzisiejszego. 0:01:20.000,0:01:25.500 Sposób przechodzenia informacji z jednego[br]komputera na drugi jest interesujący. 0:01:25.500,0:01:30.900 Nie musimy podążać utartym szlakiem; może[br]się on zmieniać w czasie, gdy komputer 0:01:30.900,0:01:36.100 rozmawia z innym komputerem. Informacje[br]w Internecie przechodzą z komputera na 0:01:36.100,0:01:42.050 komputer w formie pakietu informacji, [br]a pakiet wędruje z jednego miejsca w 0:01:42.050,0:01:46.360 Internecie w inne na zasadzie przejazdu[br]z miejsca na miejsce samochodem. 0:01:46.360,0:01:51.420 W zależności od natężenia ruchu czy[br]warunków drogowych, możemy lub jesteśmy 0:01:51.420,0:01:56.596 zmuszeni do obrania innej trasy, za każdym[br]razem, gdy jedziemy w to samo miejsce. 0:01:56.596,0:02:03.980 Podobnie jak można przewozić różne rzeczy[br]samochodem, rożne informacje cyfrowe można 0:02:03.980,0:02:10.359 wysyłać w pakietach IP, ale są pewne [br]limity. Co zrobić, gdy musimy przewieźć 0:02:10.359,0:02:14.200 statek kosmiczny z miejsca produkcji do [br]miejsca wystrzelenia. Nie zmieści się w 0:02:14.200,0:02:18.780 jednej ciężarówce, więc dzieli się go[br]na części i przewozi wieloma pojazdami. 0:02:18.780,0:02:23.099 Każdy z nich może obrać inną trasę, mogą[br]też dotrzeć na miejsce w różnym czasie. 0:02:23.099,0:02:28.109 Gdy jednak dotrą na miejsce, części można [br]zmontować w statek i przygotować do 0:02:28.109,0:02:34.329 wystrzelenia. Drobne elementy w [br]Internecie funkcjonują podobnie. Jeśli 0:02:34.329,0:02:40.090 mamy duży obraz do wysłania znajomemu[br]lub na stronę internetową, obraz może 0:02:40.090,0:02:44.819 obejmować dziesiątki milionów bitów, zer[br]i jedynek, zbyt wielu, by wysłać je jednym 0:02:44.819,0:02:49.810 pakietem. Są to dane w komputerze, zatem [br]komputer wysyłający obraz może szybko 0:02:49.810,0:02:55.719 podzielić go na setki, tysiące mniejszych[br]elementów zwanych pakietami. Inaczej niż 0:02:55.719,0:03:00.230 samochody te pakiety nie mają kierowców i [br]nie wybierają trasy. Każdy pakiet posiada 0:03:00.230,0:03:04.650 adres internetowy, z którego pochodzi i do[br]którego zmierza. Specjalne komputery w 0:03:04.650,0:03:09.430 Internecie zwane routerami kierują ruchem,[br]by pakiety płynnie przesuwały się w sieci. 0:03:09.430,0:03:15.239 Jeśli jedna trasa jest zakorkowana, [br]pakiety indywidualne mogą przejść innymi 0:03:15.239,0:03:20.370 trasami w Internecie i mogą dotrzeć do[br]miejsc przeznaczenia o innych godzinach 0:03:20.370,0:03:26.569 lub w innej kolejności. Jak to działa? W[br]ramach protokołu internetowego 0:03:26.569,0:03:31.169 każdy router śledzi różne trasy wysyłania[br]pakietów i obiera najtańszą, dostępną 0:03:31.169,0:03:37.079 trasę dla każdej informacji w oparciu o IP[br]miejsca przeznaczenia dla pakietu. 0:03:37.079,0:03:42.120 Najtańsze nie oznacza tutaj kosztu, ale[br]czas i czynniki pozatechniczne takie jak 0:03:42.120,0:03:47.499 polityka i relacje między firmami. Często[br]najlepsza trasa do przemieszczenia danych 0:03:47.499,0:03:53.150 nie jest najbardziej bezpośrednia. Dzięki[br]opcjom tras sieć cechuje tolerancja błędu. 0:03:53.150,0:03:57.700 Oznacza to, ze siecią można wysyłać [br]pakiety nawet, gdy coś poważnie szwankuje. 0:03:57.700,0:04:04.849 To jest podstawa kluczowej zasady Internetu[br]- niezawodności. A jeśli występuje 0:04:04.849,0:04:09.349 zapotrzebowanie na dane i nie wszystko[br]zostanie doręczone? Powiedzmy, chcemy 0:04:09.349,0:04:14.829 posłuchać piosenki. Skąd można mieć 100%[br]pewności otrzymania danych tak, by można 0:04:14.829,0:04:21.440 było ją odsłuchać. Oto nowy kolega, TCP [br](protokół sterowania transmisją). TCP 0:04:21.440,0:04:26.530 reguluje wysyłanie i odbiór wszystkich [br]danych jako pakietów. Jak list polecony. 0:04:26.530,0:04:31.669 Gdy chcesz piosenkę na swoje urządzenie, [br]Spotify wysyła ją rozbitą na pakiety. 0:04:31.669,0:04:37.210 Gdy pakiet dociera, TCP przeprowadza pełny[br]remanent i odsyła potwierdzenie każdego 0:04:37.210,0:04:42.840 otrzymanego pakietu. Jeśli są wszystkie, [br]kwituje odbiór i gotowe. 0:04:42.840,0:04:54.819 (Piosenka w tle). Jeśli stwierdzi, że [br]któregoś brakuje, nie kwituje, gdyż 0:04:54.819,0:04:59.930 piosenka nie brzmiałaby jak należy lub[br]brakowałoby jej części. Spotify przesyła 0:04:59.930,0:05:05.930 ponownie każdy brakujący lub niepełny[br]pakiet. Gdy TCP zweryfikuje dostawę 0:05:05.930,0:05:13.370 wielu pakietów w ramach zamówienia [br]piosenki, zacznie ją odtwarzać. TCP i 0:05:13.370,0:05:15.994 system routera są świetne, bo można je[br]dopasować do skali. Współdziałają z 8 0:05:15.994,0:05:23.449 i 8 miliardami urządzeń. Z uwagi na zasady[br]tolerancji błędu i zapasów, im więcej doda 0:05:23.449,0:05:28.069 się routerów, tym wyższa niezawodność[br]Internetu. Fantastyczne jest to, że można 0:05:28.069,0:05:33.439 zwiększać i dostosowywać internet do skali[br]bez zakłócania obsługi użytkowników. 0:05:33.439,0:05:39.280 Internet to setki tysięcy sieci i miliardy[br]połączonych fizycznie urządzeń. Te systemy 0:05:39.280,0:05:44.360 tworzące Internet, łączą nas, umożliwiają[br]nam komunikację i współpracę dzięki 0:05:44.360,0:05:51.289 wypracowanym normom na potrzeby[br]przesyłania danych w Internecie. 0:05:51.289,0:05:56.000 Urządzenia informatyczne lub routery w[br]w internecie pomagają przesyłać pakiety 0:05:56.000,0:06:02.789 do miejsca przeznaczenia, gdzie, w razie[br]potrzeby ponownie się je montuje. To 0:06:02.789,0:06:08.889 dzieje się miliardy razy dziennie, gdy [br]ktoś wysyła email, wchodzi na stronę 0:06:08.889,0:06:13.870 internetową, prowadzi czat, korzysta z[br]aplikacji mobilnej lub gdy komunikują 0:06:13.870,0:06:14.910 się ze sobą czujniki lub urządzenia[br]w internecie (muzyka cichnie).