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