Wprowadzenie
We współczesnym świecie technologii posiadanie dogłębnej wiedzy o tym, jak działa networking, stało się koniecznością. Jeśli zajmujesz się zarządzaniem serwerami, zdecydowanie musisz wiedzieć, jak to działa. Szczegółowa wiedza na temat wewnętrznych procesów operacyjnych Twojej usługi pomoże Ci utrzymać porządek w usługach. Pomoże Ci to zastosować najlepsze rozwiązania i utrzymać płynne działanie połączeń.
Celem tego przewodnika jest wyposażenie Cię w niezbędną wiedzę potrzebną do poruszania się po świecie sieci. Obejmuje to najczęściej używaną terminologię, a także podstawowe pojęcia stosowane w sieciach. Znajomość różnych komponentów sieci pomoże Ci zapobiegać problemom i identyfikować je tak szybko, jak to możliwe. W ten sposób możesz szybko się z nimi uporać i zapewnić minimalny czas przestoju.
Niezależnie od tego, czy obecnie zarządzasz serwerem, czy będziesz to robić w przyszłości, potraktuj ten poradnik jako wskazówkę. Poznaj komponenty i charakterystykę, zanim zagłębisz się w funkcjonalności swojego serwera. Tutaj znajdziesz wszystkie szczegóły dotyczące sieci i zarządzania serwerami. Zaczynajmy!
Najczęstsze pojęcia sieciowe
Zanim zagłębisz się w warstwy i komponenty, musisz poznać język, którego będziesz używać w tym środowisku. Na tej liście znajduje się wiele terminów, które będą brzmieć znajomo. Są one używane przez każdego z nas na co dzień, ale większość z nas tak naprawdę nie wie, co oznaczają. Pomożemy Ci zrozumieć te podstawowe pojęcia w kontekście serwerów i sieci. Dzięki temu wiele Twoich procesów będzie łatwiejszych do śledzenia i zrozumienia. Będziemy nadal używać tych terminów i wyjaśniać je w dalszej części przewodnika.
- Połączenie
Sieć to pajęczyna komponentów, które są połączone różnymi połączeniami. Ale co to oznacza w kontekście sieciowym?
Połączenie w sieci to dane lub informacje, które przemieszczają się przez sieć. Przed przesłaniem danych między dwoma punktami w sieci należy najpierw nawiązać połączenie. Protokół środowiska określa, w jaki sposób nawiązuje się to połączenie. Po zakończeniu przesyłania danych można zamknąć połączenie.
- Pakiet
Witaj w podstawowych jednostkach sieci: pakietach. Wyobraź sobie, że Twoje dane są materiałem fizycznym; musiałbyś uporządkować je w różnych paczkach, aby móc bezpiecznie wysłać je w inne miejsce. Podobnie, nawet w sieci cyfrowej, Twoje dane muszą zostać umieszczone w pakietach przed przesłaniem. Dzieli to Twoje dane na osobne części, aby ułatwić komunikację w sieci.
Pakiet danych zazwyczaj składa się z dwóch głównych części. Mamy część nagłówkową i część główną. Część nagłówkowa poprzedza główną treść pakietu. Zawiera ona informacje o pakiecie i jego specyfice. Może na przykład zawierać źródło pakietu, jego cel podróży, znaczniki czasu, przeskoki sieciowe i kilka innych szczegółów.
Główną część pakietu stanowią, zgodnie z oczekiwaniami, rzeczywiste dane. Nazywana również treścią (body) lub ładunkiem (payload), jest to informacja, którą chcesz przesłać do innego punktu w sieci.
- Interfejs
Kiedy myślisz o interfejsie, myślisz o czymś w rodzaju panelu kontrolnego. Jest to platforma, z którą możesz wchodzić w interakcję, aby kontrolować resztę operacji. Innymi słowy, Twój interfejs może być wirtualny lub fizyczny. Dostęp do interfejsu wirtualnego lub cyfrowego uzyskuje się za pomocą oprogramowania. Interfejs fizyczny będzie powiązany z urządzeniem fizycznym lub sprzętem. Możesz modyfikować, zmieniać i kontrolować swoją sieć za pomocą powiązanego z nią konkretnego interfejsu.
- LAN
Większość z nas prawdopodobnie słyszała terminy LAN oraz WAN rzucane dość często. Ale czy wiedziałeś, że LAN to skrót od Local Area Network (lokalna sieć komputerowa)? Sposób jej działania można zrozumieć na podstawie samej nazwy. Lokalna sieć ogranicza Twoje dane wyłącznie do lokalnego kręgu. Oznacza to, że dane w sieci LAN nie są dostępne dla reszty internetu. Pozostają one w granicach, które sam określisz, takich jak sieć domowa lub biurowa.
- WAN
Z drugiej strony, WAN oznacza Wide Area Network (rozległa sieć komputerowa). Jak zapewne się domyślasz, sieć ta obejmuje większy obszar. Sieci te są zazwyczaj duże, rozciągają się na znaczne odległości i często odnoszą się do całego internetu. Dlatego też, jeśli Twój interfejs jest podłączony do sieci WAN, możesz uzyskać do niego dostęp za pośrednictwem internetu.
- Protokół
Pomyśl o protokole jak o instrukcji obsługi lub zbiorze zasad. Definiuje on wszystkie reguły i standardy, których muszą przestrzegać wszystkie komponenty w danej sieci. Zawiera język, którego system używa do komunikacji wewnętrznej. Istnieje wiele różnych typów protokołów używanych w sieciach, takich jak UDP, IP i HTTP. Niektóre z nich są niskopoziomowe, podczas gdy inne należą do warstwy aplikacji. Szczegółowo zbadamy świat protokołów sieciowych w dalszej części tego przewodnika.
- Port
Port w maszynie to adres. Port ten jest zazwyczaj powiązany z częścią oprogramowania. Celem portu jest umożliwienie komunikacji między Twoim serwerem a wieloma rodzajami aplikacji.
- Zapora sieciowa
Jeśli kiedykolwiek korzystałeś z komputera, najprawdopodobniej słyszałeś o zaporze sieciowej (firewallu) lub widziałeś powiadomienie z nią związane. Zapora sieciowa to program, który zapewnia bezpieczeństwo Twojego systemu. Robi to poprzez ograniczanie i monitorowanie ruchu przychodzącego i wychodzącego z systemu. W przypadku serwerów, zapora sieciowa to program, który decyduje, jaki ruch może wchodzić do serwera i z niego wychodzić. Aby to osiągnąć, umożliwia ona konfigurację określonych reguł. Korzystając z tych reguł, możesz określić, który port powinien mieć możliwość wysyłania i odbierania ruchu z Twojego serwera. Możesz także zablokować określone porty, aby uniemożliwić komunikację między nimi a Twoim serwerem.
Możesz zapoznać się z naszymi poradnikami, aby rozpocząć konfigurację i korzystanie z zapór sieciowych:
- Podstawy UFW: Nauka najważniejszych poleceń zapory sieciowej
- Konfiguracja zapory sieciowej za pomocą FirewallD na CentOS 7
- Wyświetlanie i usuwanie reguł zapory sieciowej Iptables
- NAT
NAT to skrót od Network Address Translation (translacja adresów sieciowych). NAT znajdziesz w fizycznych sieciach LAN, gdzie służy do kierowania żądań z określonych adresów IP do odpowiednich serwerów. Monitoruje on serwery backendowe w sieci LAN i tłumaczy przychodzące żądania w celu zapewnienia dokładnego routingu.
- VPN
VPN to skrót od Virtual Private Network (wirtualna sieć prywatna). VPN to cyfrowe narzędzie, którego można używać w celu zapewnienia bezpieczeństwa i prywatności. Maskuje ono Twój adres IP i zabezpiecza pakiety danych przed hakerami i wścibskimi spojrzeniami. W ten sposób możesz bezpiecznie łączyć oddzielne sieci LAN i systemy zdalne za pośrednictwem internetu.
Rozpocznij konfigurację połączeń VPN, korzystając z naszych poradników:
- Poradnik krok po kroku: Podłączanie sieci VPN do infrastruktury CloudSigma
- Uruchom własny serwer VPN w Dockerze za pomocą OpenVPN Access Server
- Konfiguracja OpenVPN na Ubuntu 18.04
To były jedne z najbardziej podstawowych i powszechnie używanych pojęć w świecie sieci komputerowych. Oczywiście nie jesteśmy w stanie omówić wszystkiego na tej liście. Będziesz jednak uczyć się dalej, gdy zagłębimy się w warstwy i protokoły sieciowe. Potraktuj te pojęcia jako podstawę, na której będziesz budować swoją dalszą wiedzę o systemach sieciowych.
Różne warstwy sieciowe
Skoro znamy już znaczenie niektórych pojęć, możemy przejść do organizacji sieci. Połączenia w danej sieci można postrzegać jako hierarchię poziomą. Każda warstwa składa się z technologii i protokołów, które stanowią abstrakcję dla surowych danych, aby uprościć komunikację dla użytkownika i aplikacji. Celem jest skrócenie czasu i zmniejszenie wysiłku potrzebnego do opracowania nowych protokołów do obsługi różnych rodzajów ruchu.
Jeśli chodzi o warstwy w sieciach komputerowych, istnieją różne modele, jak zobaczysz poniżej. Jednak niezależnie od modelu, ścieżka danych jest taka sama. Dane zaczynają się na samej górze ścieżki, gdy wysyłasz je ze swojego urządzenia. Przechodzą przez poszczególne warstwy. Na końcu tej drogi są przesyłane do innego urządzenia. W drugim urządzeniu wędrują w górę przez wszystkie warstwy. Każda warstwa opakowuje dane otrzymane z warstwy poprzedniej, aby pomóc kolejnej w kolejce w ich przetwarzaniu.
W tym miejscu omówimy dwa rodzaje modeli warstw sieciowych: model OSI oraz model TCP/IP:

Model OSI i model TCP/IP
Model OSI
Skrót OSI oznacza Open Systems Interconnect. Model ten składa się z siedmiu różnych warstw:
- Aplikacji
Jest to najbardziej zewnętrzna warstwa, z którą użytkownik wchodzi w największą interakcję. Za pośrednictwem warstwy aplikacji można zarówno monitorować, jak i konfigurować. Dostarcza ona informacji o komunikacji sieciowej, dostępności zasobów oraz synchronizacji danych.
- Prezentacji
Warstwa ta odpowiada za wiele rzeczy, w tym mapowanie zasobów, translację danych i tworzenie kontekstu. Warstwa prezentacji pobiera dane z niższych poziomów i konwertuje je do postaci zrozumiałej dla warstwy aplikacji.
- Sesji
Warstwa sesji jest odpowiedzialna za połączenie w sieci. Możesz użyć tej warstwy do tworzenia nowych połączeń, zamykania tych, których nie potrzebujesz, lub po prostu do utrzymywania bieżących połączeń.
- Transportowa
Zadaniem warstwy transportowej jest zapewnienie niezawodnych połączeń dla kolejnych warstw. Zapewnia ona niezawodność połączenia poprzez weryfikację integralności odbieranych i wysyłanych danych. Oznacza to, że może sprawdzić, czy dane przesłane do kolejnych warstw dotarły w całości, bez żadnych strat lub uszkodzeń. W przypadku utraty części danych w trakcie transferu, warstwa ta ma możliwość ich ponownego wysłania.
- Sieciowa
Warstwa sieciowa odpowiada za trasowanie danych. Komunikuje się z różnymi węzłami tworzącymi sieć i wskazuje danym, dokąd mają się udać, korzystając z adresów komputerów. Ponadto warstwa sieciowa dzieli dane na mniejsze komunikaty w celu ułatwienia ich przesyłania między węzłami. Komunikaty te są kompilowane i dokładnie składane po dotarciu do miejsca docelowego.
- Łącza danych
Warstwa łącza danych jest odpowiedzialna za utrzymywanie stałego i niezawodnego połączenia między węzłami w sieci. Współpracuje z połączeniami fizycznymi w celu ustanawiania i utrzymywania łączy między urządzeniami.
- Fizyczna
Na koniec, warstwa fizyczna obsługuje fizyczne, namacalne urządzenia, między którymi istnieją połączenia. Warstwa ta obejmuje zarówno sprzęt, jak i oprogramowanie, z którego korzysta.
Model TCP/IP
Drugim modelem jest model TCP/IP. Znany również jako pakiet protokołów IP lub Internet Protocol, jest to bardzo popularny model sieciowy. Wynika to z faktu, że jest to stosunkowo bardziej abstrakcyjny i elastyczny model warstwowy. Jego płynność ułatwia wdrożenie.
Składa się tylko z czterech warstw, w przeciwieństwie do siedmiu warstw modelu OSI. Jak zobaczysz poniżej, wiele z tych warstw jest podobnych do tych występujących w modelu OSI.
- Aplikacji
W tym przypadku zadaniem warstwy aplikacji jest tworzenie danych, a także ich przesyłanie. Poszczególne aplikacje znajdują się na zdalnych serwerach. Każda z aplikacji wydaje się działać lokalnie dla użytkownika. Warstwa aplikacji tworzy dane użytkownika, a następnie przesyła je między różnymi aplikacjami.
- Transportowa
Warstwa transportowa służy do pośredniczenia w komunikacji wewnątrz systemu. W tym miejscu ponownie istotne stają się porty. Warstwa transportowa wykorzystuje porty do ustanawiania niezawodnych i niepewnych połączeń między różnymi usługami w sieci. Rodzaj ustanowionego połączenia zależy od typu używanego protokołu.
- Internetowa
W tym miejscu model IP różni się od modelu warstwowego OSI. Warstwa internetowa w tej metodzie jest odpowiedzialna za transmisję danych między węzłami. Nie zajmuje się ona samym połączeniem. Zamiast tego po prostu wykorzystuje wiedzę o punktach końcowych połączenia do przesyłania danych. Identyfikuje źródło i cel za pomocą adresów IP.
- Łącze
Na koniec, warstwa łącza jest tym, co nadaje systemom zdalnym ich tożsamość. Ustanawia ona adresowalność sieci lokalnej i tworzących ją węzłów. To z kolei umożliwia warstwie internetowej transmisję danych.
Interfejsy sieciowe
Po zapoznaniu się z terminologią i podstawami warstw sieciowych możesz przejść do interfejsów. Jak wszyscy rozumiemy, interfejsy to w zasadzie punkty komunikacyjne. Większość serwerów ma jeden interfejs dla każdej karty Ethernet lub bezprzewodowej karty sieciowej. Możesz skonfigurować interfejs zgodnie ze swoimi preferencjami i wymaganiami. Każdy interfejs w Twojej sieci będzie miał odpowiadające mu urządzenie sieciowe. Urządzenie to może być wirtualne lub fizyczne.
Jednym z wirtualnych interfejsów sieciowych konfigurowanych przez serwer jest interfejs pętli zwrotnej (loopback) lub localhost. Większość narzędzi odnosi się do niego jako do interfejsu „lo”. Zadaniem tego interfejsu jest łączenie aplikacji i procesów na różnych komputerach.
Kolejnym interfejsem, który będziesz mieć w swoim systemie, jest interfejs do obsługi ruchu do Internetu. Zazwyczaj jest on konfigurowany przez administratora. Możesz również potrzebować interfejsu dla sieci LAN lub sieci prywatnej.
Protokoły transmisji danych
Ostatnią rzeczą potrzebną do uzupełnienia podstawowej wiedzy o sieciach są protokoły. Protokoły definiują operacje wewnątrz systemu i sprawiają, że sieć działa. Protokoły nakładają się na siebie warstwami, a dane są przesyłane przez nie wszystkie.
Następnie omówimy niektóre z najpopularniejszych protokołów, z których możesz korzystać lub o których możesz usłyszeć. Celem jest zrozumienie, co je różni i dlaczego są ważne dla określonych procesów.
- Media Access Control
Na początek zaczniemy od protokołu komunikacyjnego działającego w warstwie łącza. Protokół kontroli dostępu do nośnika (Media Access Control) pomaga nam rozróżniać poszczególne urządzenia za pomocą adresu. Adres Media Access Control lub MAC określa tożsamość danego urządzenia.
Każde urządzenie otrzymuje swój adres MAC podczas produkcji i jest on całkowicie unikalny. W rezultacie sieć może rozróżnić każde urządzenie w Internecie za pomocą adresu MAC. Oznacza to, że nawet jeśli oprogramowanie zmieni nazwę urządzenia, sieć nadal zidentyfikuje sprzęt.
- IP
Protokół IP to jeden z najpopularniejszych protokołów sieciowych. Dzieje się tak, ponieważ jest to jeden z protokołów, na których opiera się Internet. Wszyscy wiemy, że nasze urządzenia cyfrowe mają unikalne “adresy IP”. Należący do warstwy internetowej w modelu IP/TCP protokół IP ma kilka różnych implementacji. Najczęściej spotykamy IPv4 i IPv6. Ten drugi jest ulepszoną wersją IPv4.
Sposób działania protokołu IP polega na tworzeniu wielu ścieżek w celu ustanowienia połączenia z jednym miejscem docelowym. Wynika to z założenia, że sieć jest zawodna, gdy ruch przekracza granice sieci. Protokół może dynamicznie przełączać się między ścieżkami.
- ICMP
ICMP to skrót od internet control message protocol (protokół komunikatów kontrolnych w Internecie). Jest to protokół szczególnie przydatny w narzędziach diagnostyki sieciowej, takich jak ping i traceroute. ICMP może wskazywać błędy i dostępność poprzez wysyłanie komunikatów między urządzeniami. Protokół ten przesyła pakiety, gdy inne pakiety danych w sieci napotkają problem na swojej drodze. ICMP wykrywa błąd w transmisji.
- TCP
TCP to skrót od transmission control protocol (protokół kontroli transmisji). Należący do warstwy transportowej modelu warstwowego IP/TCP, TCP bierze udział w pakietowaniu i transmisji danych. Jest to jeden z najważniejszych protokołów rządzących naszym Internetem.
Zanim protokół zajmie się transferem danych, musi nawiązać połączenie. Aby to zrobić, TCP używa trójstopniowego uzgadniania (three-way handshake). W tym przypadku dwa punkty końcowe w linii komunikacyjnej muszą zaakceptować żądanie i zapewnić niezawodne połączenie do transmisji danych.
Pełni on różnorodne funkcje w sieci. Po pierwsze, pakuje dane w pakiety i przesyła je przez odpowiednie połączenia. Po drugie, TCP sprawdza system pod kątem błędów. Co więcej, jest również zdolny do składania pakietów danych dla warstwy aplikacji. Gdy dane dotrą do celu, TCP niszczy je za pomocą czterostopniowego uzgadniania.
- UDP
UDP to skrót od User Datagram Protocol. Wiele osób często używa go w połączeniu z TCP, ponieważ jest on również używany w warstwie transportowej. Tym, co odróżnia go od tego drugiego, jest to, że ustanawia on nieniezawodne połączenie. Nieniezawodny transfer danych oznacza, że protokół nie weryfikuje, czy dane zostały bezpiecznie odebrane po drugiej stronie połączenia.
Możesz się zastanawiać, dlaczego ktokolwiek miałby używać nieniezawodnych połączeń zamiast niezawodnych? Istnieje jednak wiele przydatnych zastosowań nieniezawodnego transferu danych, takiego jak ten oferowany przez UDP. Na przykład UDP jest wdrażany w aplikacjach, w których kluczowe znaczenie ma czas. Zamiast czekać na potwierdzenie odbioru danych, system po prostu wysyła je ze swojej strony. Dlatego znajdziesz go w takich zastosowaniach jak gry i VOIP.
- HTTP
HTTP to skrót od Hypertext Transfer Protocol. Powinieneś znać ten protokół, biorąc pod uwagę, że wszystkie strony internetowe zaczynają się od tych czterech liter. Zaimplementowany w warstwie aplikacji, HTTP definiuje funkcje, które pomagają Twojemu systemowi rozpoznać, o co prosi użytkownik.
Na przykład niektóre z tych funkcji to GET, POST i DELETE. Każda z nich wchodzi w interakcję z danymi w inny sposób, wykonując akcję sugerowaną przez nazwę. W związku z tym HTTP odpowiada za komunikację Twojego systemu z Internetem lub w Internecie.
- FTP
FTP to skrót od File Transfer Protocol. Ten protokół, również zaimplementowany w warstwie aplikacji, odpowiada za przesyłanie plików między hostami. Należy jednak pamiętać, że nie jest to bezpieczny protokół. Dlatego jest on najczęściej używany w miejscach publicznych.
- DNS
DNS to skrót od Domain Name System. Kolejny protokół warstwy aplikacji, który pozwala na łatwe nazywanie zasobów internetowych. Nazwy te są przyjazne dla człowieka i łączą domenę z adresem IP, dzięki czemu można łatwo uzyskać do niej dostęp.
- SSH
SSH to protokół warstwy aplikacji, którego nazwa oznacza Secure Shell. Jak sugeruje sama nazwa, jest to protokół szyfrowany end-to-end. Możesz go użyć, aby uczynić połączenia ze zdalnym serwerem bezpieczniejszymi. Jest to powszechny protokół, dlatego wokół niego zbudowano wiele dodatkowych technologii.
Ponadto oto szczegółowe samouczki dotyczące wdrażania protokołu SSH:
- Konfiguracja serwera Linux do korzystania z uwierzytelniania opartego na kluczach SSH
- Jak używać SSH do łączenia się ze zdalnym serwerem w systemie Ubuntu
- Automatyczne wstrzykiwanie kluczy SSH do serwerów chmurowych za pomocą tego prostego skryptu Bash
Podsumowanie
Na koniec, znasz już podstawy sieci. Wcześniejsze zapoznanie się z terminologią ułatwi Ci pracę. Nie wspominając o tym, że da Ci to możliwość maksymalnego wykorzystania potencjału Twojego serwera. Dzieje się tak, ponieważ masz świadomość komponentów i połączeń, które umożliwiają komunikację w systemie. Wykorzystaj tę wiedzę jako fundament, aby wejść w świat operacji sieciowych.
Miłego korzystania z komputera!
Komentarze
Brak komentarzy. Bądź pierwszy.