Jak działa i skąd się wziął internet
Niekiedy można mieć wrażenie, że internet jest z nami od zawsze. Czy wiemy jednak jak i kiedy powstał? Jakie są podstawy jego działania?
Jeden z moich klientów to firma Loomis—Pay. To firma-córka dość dużej, działającej od wielu lat firmy Loomis. Zajmują się oni opancerzonym transportem gotówki. Myślę, że w zrozumieniu protokołu TCP pomoże nam porównanie do takiej właśnie usługi. W dużym skrócie, odpowiada on za bezpieczne dostarczenie pakietu informacji od miejsca do miejsca!
Cały proces podzieliłem na 7 głównych kroków, które mi przypominają trochę dostawę kurierską lub właśnie transport gotówki.
Pamiętasz, że w artykule o IP operowaliśmy na 1500-bitowych pakietach? Tamten protokół nie byłby w stanie sam obsłużyć dużych transferów danych podzielonych na mniejsze paczki. Uczestniczy on jednak nadal w tym co opisaliśmy wyżej. Po prostu zajmuje się routingiem poszczególnych części, bez “zrozumienia”, że to elementy większej układanki - za to już odpowiada TCP. Ponownie odniosę się do przykładu mebli z Ikei. Zwykle duża szafa przychodzi we wielu mniejszych paczkach, czasem przywożą je inni kurierzy, w innych dniach.
Jeżeli miałeś okazję składać Lego to wiesz, że przy bardziej zaawansowanych zestawach dostaje się kilka ponumerowanych woreczków. To po to żeby łatwiej nam się szukało elementów zgodnie z kolejnością składania w instrukcji. Podobnie jest z danymi obsługiwanymi przez TCP. Też są numerowane, po to żeby mieć pewność, że dojdą wszystkie i zostaną odpakowane i złożone tak jak trzeba.
TCP odpowiada też za regulowanie ilości przesyłanych naraz danych, tak aby nie przeciążać urządzenia odbiorcy lub sieci, która uczestniczy w wymianie informacji. Tutaj warto podkreślić, że protokół realizowany jest tylko na urządzeniu początkowym i końcowym. Urządzenia sieciowe, które uczestniczą w wymianie informacji (bo np. informacje muszą pokonać bardzo długi dystans, od USA do Polski) nie implementują same w sobie tego protokołu.
Ciekawostka - istnieje jednak sytuacja, w której jakieś urządzenie “po drodze” udaje te graniczne urządzenia, zakłamując informacje. Taki atak nazywa się “man-in-the-middle”.
Jeżeli nie otrzymamy informacji zwrotnej ACK mówiącej, że pakiet o danym numerze poprawnie dotarł do celu, nastąpi próba ponowienia jego wysyłki. W teorii - nic nie powinno zginąć. To trochę tak jak ponawianie próby doręczenia kiedy nie było nas akurat w domu przy pierwszym podejściu kuriera (albo go nie słyszeliśmy).
Jak wszystko dotarło, TCP rozpoczyna proces zamykania połączenia. Obie strony muszą to potwierdzić.
Niekiedy można mieć wrażenie, że internet jest z nami od zawsze. Czy wiemy jednak jak i kiedy powstał? Jakie są podstawy jego działania?
Protokoły (ang. protocols) to podstawa funkcjonowania internetu - od samego jego początku. Pierwszym duetem, który odgrywał znaczącą rolę był TCP/IP, chociaż bę...
Do czego służy najbardziej znany wśród webdeveloper’ów protokół? Czym się różnią jego wersje? Wszystkie niezbędne informacje w jednym artykule.
Wiesz co to GET i POST, ale czy używałeś TRACE albo CONNECT? Używać PUT czy PATCH? Odpowiemy sobie dzisiaj na te pytania.