Vysvětleny všechny běžné síťové protokoly

Síťový protokol představuje soubor pravidel, podle kterých se zařízení řídí, aby mohla vzájemně komunikovat v rámci sítě.

Je to podobné, jako když se lidé řídí určitými normami a postupy při vzájemné konverzaci.

Tyto protokoly definují například strukturu datových paketů, způsob, jakým se zařízení identifikují, a také jak se řeší případné chyby a konflikty.

Síťové protokoly lze rozdělit do tří základních kategorií: komunikační, bezpečnostní a protokoly pro správu.

#1. Komunikační protokoly

Tyto protokoly se zaměřují na zajištění výměny dat a informací mezi zařízeními v síti. Stanovují, jakým způsobem jsou data formátována, přenášena a přijímána, čímž zabezpečují efektivní komunikaci. Mezi příklady patří HTTP/HTTPS, FTP, TCP a UDP.

#2. Bezpečnostní protokoly

Bezpečnostní protokoly jsou navrženy k ochraně důvěrnosti a autenticity dat při jejich přenosu sítí. Vytvářejí zabezpečené komunikační kanály a zajišťují, aby citlivé informace nebyly zranitelné vůči neoprávněnému zachycení nebo manipulaci.

Mezi příklady patří SSL/TLS pro šifrování, SSH pro bezpečný vzdálený přístup a zabezpečené varianty e-mailových protokolů, jako jsou SMTPS a POP3S.

#3. Protokoly správy

Protokoly pro správu se používají k managementu, monitorování a řízení síťových zařízení a prostředků. Pomáhají správcům sítě s konfigurací a efektivním řešením problémů souvisejících se síťovými komponentami.

Některými příklady jsou DHCP pro dynamické přidělování IP adres, SNMP pro správu síťových zařízení, ICMP pro diagnostické účely a BGP pro informace o směrování a dosažitelnosti.

Nyní se podrobněji podíváme na některé běžné protokoly z každé z těchto kategorií.

Komunikační protokoly

HTTP

HTTP je zkratka pro Hypertext Transfer Protocol.

Jedná se o základní protokol využívaný pro komunikaci mezi webovým prohlížečem a webovým serverem.

Je to protokol aplikační vrstvy, který funguje na modelu OSI.

Když zadáte URL adresu do webového prohlížeče a stisknete klávesu Enter, je odeslán HTTP požadavek na webový server. Ten následně požadavek zpracuje a pošle zpět HTTP odpověď s požadovanými informacemi.

Může to být webová stránka, obrázek, video nebo jakýkoliv jiný zdroj umístěný na serveru.

HTTP je protokol bez stavu. To znamená, že každý požadavek od klienta k serveru je brán jako nezávislá a izolovaná transakce.

Server si neuchovává žádné informace o předchozích požadavcích od stejného klienta. Právě tato jednoduchost je jedním z důvodů, proč je HTTP tak rozšířený.

HTTP definuje několik metod požadavku, včetně GET (načtení dat), POST (odeslání dat ke zpracování), PUT (aktualizace zdroje), DELETE (odstranění zdroje) a dalších. Tyto metody určují typ operace, kterou chce klient na serveru provést.

Odpovědi HTTP obvykle obsahují stavový kód, který signalizuje výsledek požadavku.

Například stavový kód 200 značí úspěšný požadavek, zatímco 404 značí, že požadovaný zdroj nebyl nalezen.

HTTP prošel v průběhu let několika verzemi, přičemž HTTP/1.1 je dlouhodobě jednou z nejvíce používaných verzí.

Pro zvýšení výkonu byly vyvinuty HTTP/2 a HTTP/3 (známý též jako QUIC).

HTTPS

HTTPS je zkratka pro Hypertext Transfer Protocol Secure.

Jde o rozšíření protokolu HTTP, které se používá pro zabezpečenou komunikaci v počítačových sítích.

Ke standardnímu HTTP přidává vrstvu zabezpečení šifrováním dat, která se vyměňují mezi prohlížečem a webovým serverem, za pomoci kryptografických protokolů, jako je SSL/TLS. I když by někdo přenášená data zachytil, nemůže je snadno přečíst nebo dešifrovat.

HTTPS zahrnuje autentizaci serveru.

Když se prohlížeč připojí k webové stránce přes HTTPS, web předloží digitální certifikát vydaný důvěryhodnou certifikační autoritou (CA).

Tento certifikát ověřuje identitu webové stránky a zajišťuje, že se klient připojuje k zamýšlenému serveru, a ne k nějakému škodlivému.

Webové stránky používající HTTPS jsou na začátku URL adresy označeny „https://“. Tato předpona signalizuje, že web používá zabezpečené připojení.

Pro komunikaci HTTPS obvykle používá port 443, zatímco HTTP používá port 80. Webové servery díky tomuto rozlišení snadno identifikují zabezpečená a nezabezpečená připojení.

Vyhledávače, jako je Google, při hodnocení preferují webové stránky, které používají HTTPS.

Prohlížeče mohou uživatele varovat, pokud zabezpečená HTTPS stránka obsahuje prvky (obrázky nebo skripty) poskytované přes nezabezpečené HTTP připojení. Toto je známo jako „smíšený obsah“ a může ohrozit bezpečnost.

Zde je detailní článek o tom, jak získat SSL certifikát pro web. Neváhejte navštívit tuto stránku.

FTP

File Transfer Protocol (FTP) je standardní síťový protokol využívaný k přenosu souborů mezi klientem a serverem v počítačové síti.

FTP funguje na modelu klient-server. To znamená, že klient naváže spojení s jiným počítačem (serverem), aby si vyžádal a přenesl soubory.

Pro komunikaci využívá FTP dva porty a může pracovat ve dvou režimech: aktivní a pasivní.

Port 21 se používá pro řídicí spojení, kde se mezi klientem a serverem posílají příkazy a odpovědi.

Aktivní režim je tradiční a funguje na principu klient-server. Zde se pro přenos dat otevírá další port (obvykle v rozsahu 1024–65535).

Pasivní režim se naopak často používá, když je klient za firewallem nebo zařízením NAT a server otevírá náhodný port s vysokým číslem pro přenos dat.

Pro přístup k souborům na serveru obecně FTP vyžaduje ověření. Uživatelé musí pro přihlášení zadat uživatelské jméno a heslo.

Některé FTP servery podporují i anonymní přístup. Uživatelé se tak mohou přihlásit s obecným uživatelským jménem, jako je „anonymous“ nebo „FTP“, a použít svou e-mailovou adresu jako heslo.

FTP podporuje dva režimy přenosu dat: ASCII režim a binární režim.

ASCII režim se používá pro textové soubory a binární režim pro netextové soubory, jako jsou obrázky a spustitelné soubory. Režim se volí podle typu přenášeného souboru.

Tradiční FTP není zabezpečený protokol, protože přenáší data, včetně uživatelských jmen a hesel, v nešifrované formě.

Zabezpečené FTP (SFTP) a FTP přes SSL/TLS (FTPS) jsou bezpečnější alternativy, které šifrují přenos dat, a tak chrání citlivé informace.

Zde je detailní článek o SFTP vs FTPS a o tom, který protokol použít.

TCP

Transmission Control Protocol (TCP) je jedním z hlavních protokolů transportní vrstvy v sadě IP.

Hraje klíčovou roli v poskytování spolehlivého a uspořádaného přenosu dat mezi zařízeními přes IP sítě.

TCP před zahájením jakéhokoli přenosu dat vytvoří spojení mezi odesílatelem a příjemcem. Toto nastavení spojení zahrnuje třífázový handshake (SYN, SYN-ACK, ACK) a proces ukončení spojení po dokončení výměny dat.

Podporuje také plně duplexní komunikaci, která umožňuje současné odesílání a přijímání dat v obou směrech v rámci vytvořeného spojení.

TCP obecně monitoruje podmínky sítě a upravuje svou přenosovou rychlost, aby se předešlo zahlcení sítě.

Tento protokol zahrnuje mechanismy pro kontrolu chyb za účelem detekce a opravy poškození dat během přenosu. Pokud se zjistí, že datový segment je poškozený, příjemce požádá o opakovaný přenos.

TCP používá čísla portů k identifikaci specifických služeb nebo aplikací na zařízení. Čísla portů pomáhají směrovat příchozí data do správné aplikace.

Příjemce v TCP spojení odesílá potvrzení (ACK) k potvrzení příjmu datových segmentů. Pokud odesílatel neobdrží ACK v určitém časovém intervalu, odešle datový segment znovu.

TCP udržuje informace o stavu spojení jak na straně odesílatele, tak na straně příjemce. Tyto informace pomáhají sledovat pořadí datových segmentů a spravovat spojení.

IP

IP je zkratka pro Internet Protocol.

Jedná se o základní protokol, který umožňuje komunikaci a výměnu dat v počítačových sítích, včetně globální sítě, kterou známe jako internet.

IP využívá číselný adresní systém k identifikaci zařízení v síti. Tyto číselné adresy se nazývají IP adresy a mohou být IPv4 nebo IPv6.

Adresy IPv4 jsou obvykle ve formě čtyř sad desítkových čísel (např. 192.168.1.1), zatímco adresy IPv6 jsou delší a používají hexadecimální zápis.

IP směruje datové pakety mezi zařízeními v různých sítích.

Směrovače a přepínače hrají klíčovou roli ve směrování těchto paketů do zamýšlených cílů na základě jejich IP adres.

Obecně IP používá metodu přepínání paketů. To znamená, že data jsou rozdělena do menších paketů pro přenos po síti. Každý paket obsahuje zdrojovou a cílovou IP adresu, což umožňuje směrovačům rozhodovat o předávání.

IP je považován za bezztrátový protokol. Nevytváří vyhrazené spojení mezi odesílatelem a příjemcem před přenosem dat.

Každý paket je brán jako nezávislý a může využít různé cesty k dosažení svého cíle.

UDP

UDP je zkratka pro User Datagram Protocol.

Je to bezztrátový a odlehčený protokol, který poskytuje způsob, jak odesílat data přes síť bez nutnosti navazovat formální spojení.

Na rozdíl od protokolu TCP, UDP nenavazuje spojení před odesláním dat. Jednoduše zabalí data do datagramů a odešle je na místo určení.

Nezaručuje doručení dat a nezahrnuje mechanismy pro detekci a opravu chyb. Pokud se paket ztratí nebo dorazí mimo pořadí, je na aplikační vrstvě, jak se s tím vyrovná.

UDP má menší režii než TCP, protože neobsahuje funkce jako řízení toku, oprava chyb nebo potvrzení. Díky tomu je rychlejší, ale méně spolehlivý.

Také nemá vestavěné mechanismy pro řízení přetížení, takže je možné zahlcení sítě provozem UDP, což potenciálně může vést k přetížení.

UDP se běžně používá v situacích, kdy je nízká latence a vysokorychlostní přenos dat důležitější než zaručené doručení. Běžnými příklady jsou streamování audio a video v reálném čase, online hraní her, DNS a některé aplikace IoT.

Největší výhodou UDP je funkce multiplexování. Umožňuje více aplikacím na stejném zařízení používat stejný port UDP a rozlišovat datové toky za pomoci čísel portů.

Pojďme si UDP vysvětlit na jednoduchém příkladu.

Představte si, že chcete poslat zprávu svému příteli přes rušné hřiště za pomocí skákacího míče. Rozhodnete se použít UDP, což je jako hodit míč bez jakékoli formální konverzace. Funguje to takto:

  • Napíšete svou zprávu na papír a obalíte ho kolem míče.
  • Míč hodíte směrem ke svému příteli. Nečekáte, až ho váš přítel chytne nebo potvrdí, že ho dostal; prostě ho hodíte a doufáte, že ho chytne.
  • Míč se odrazí a dostane se k vašemu příteli, který se ho snaží chytit. Někdy se ale kvůli hluku může odrazit od jeho rukou nebo dorazit mimo pořadí.
  • Váš přítel si přečte zprávu na papíře, a pokud chytí míč úspěšně, tak zprávu dostane. Pokud ne, může ji minout a vy se to nedozvíte, protože nemáte jak to zkontrolovat.

V tomto příkladu tedy:

Míč představuje protokol UDP, který odesílá data bez vytváření formálního spojení.

Odeslání míče bez čekání na odpověď je jako UDP, který se obejde bez spojení a nezaručuje doručení.

Možnost odrazu nebo ztráty míče symbolizuje nedostatek spolehlivosti v UDP.

Váš přítel, který čte zprávu, je jako aplikační vrstva zpracovávající data přijatá přes UDP a případně řešící případná chybějící data.

Bezpečnostní protokoly

SSH

SSH je zkratka pro Secure Shell.

Jedná se o síťový protokol využívaný pro zabezpečenou komunikaci mezi klientem a serverem přes nezabezpečenou síť. Poskytuje způsob vzdáleného přístupu a správy zařízení přes rozhraní příkazového řádku s vysokou úrovní zabezpečení.

SSH využívá kryptografické techniky k ověření klienta i serveru. Tím se zajistí, že se připojujete ke správnému serveru a že server může ověřit vaši identitu před povolením přístupu.

Veškerá data přenášená přes SSH připojení jsou šifrována, což ztěžuje odposlouchávání vyměňovaných dat komukoliv, kdo by komunikaci zachytil.

Zdroj obrázku: Stack Overflow

SSH pro autentizaci používá pár klíčů. Pár klíčů se skládá z veřejného klíče (který se sdílí se serverem) a soukromého klíče (který uchováváte v tajnosti).

Zde je článek o tom, jak to funguje – SSH Passwordless Login

Když se připojujete k SSH serveru, váš klient prokáže vaši identitu pomocí soukromého klíče.

Kromě toho podporuje i tradiční ověřování uživatelským jménem a heslem. To je však méně bezpečné a často se nedoporučuje, zejména u serverů připojených k internetu.

SSH standardně používá pro komunikaci port 22, nicméně z bezpečnostních důvodů je možné ho změnit. Změna čísla portu může pomoci omezit automatické útoky.

SSH se běžně používá pro vzdálenou správu serverů, přenos souborů (s nástroji jako SCP a SFTP) a zabezpečený přístup ke vzdáleným rozhraním příkazového řádku.

Je široce používán při správě operačních systémů podobných Unixu a je dostupný i ve Windows přes různá softwarová řešení.

SMTP

SMTP je zkratka pro Simple Mail Transfer Protocol.

Jedná se o standardní protokol odpovědný za odesílání odchozích e-mailových zpráv z klienta nebo e-mailového serveru na e-mailový server příjemce.

SMTP je základní součástí e-mailové komunikace a spolupracuje s dalšími e-mailovými protokoly, jako je IMAP/POP3, aby umožnil kompletní životní cyklus e-mailu, včetně odesílání, přijímání a ukládání e-mailových zpráv.

Když vytvoříte e-mail a kliknete na „odeslat“ ve vašem e-mailovém klientovi, použije SMTP k předání zprávy na server vašeho poskytovatele e-mailu.

Používá port 25 pro nešifrovanou komunikaci a port 587 pro šifrovanou komunikaci (za použití STARTTLS). Port 465 se také využíval pro šifrovanou komunikaci SMTP, nicméně není tak běžný.

Mnohé SMTP servery vyžadují k odesílání e-mailů ověření, aby se zabránilo neoprávněnému používání. Používají se autentizační metody jako uživatelské jméno a heslo nebo bezpečnější metody, jako je OAuth.

Tyto servery SMTP se často používají jako přenosové body, což znamená, že přijímají odchozí e-maily od klientů (např. vaší e-mailové aplikace) a předávají je na e-mailový server příjemce. To pomáhá směrovat e-maily přes internet.

Pro komunikaci je možné použít šifrování přes TLS nebo SSL, a to zejména při odesílání citlivých nebo důvěrných informací e-mailem.

Protokoly správy

POP3

POP3 je zkratka pro Post Office Protocol verze 3.

Je to jeden z nejběžnějších protokolů pro stahování e-mailů. Používá se pro načítání e-mailových zpráv z poštovního serveru do aplikace e-mailového klienta.

POP3 je navržen tak, aby fungoval způsobem „ulož a přepošli“. Stahuje e-maily ze serveru a po uložení kopie do zařízení klienta je obvykle ze serveru odstraní.

Někteří e-mailoví klienti nabízejí možnost ponechat kopii e-mailu na serveru, nicméně to není výchozí chování.

Pro nešifrovanou komunikaci se používá port 110. Port 995 se běžně používá pro zabezpečenou komunikaci POP3 pomocí TLS/SSL.

POP3 je protokol bez stavu. To znamená, že nesleduje e-maily, které jste si již stáhli. Pokaždé, když se připojíte k serveru, stáhne všechny nepřečtené zprávy. To může vést k problémům se synchronizací, pokud k e-mailu přistupujete z více zařízení.

POP3 je určen primárně k získávání e-mailů z doručené pošty. Nemusí podporovat načítání e-mailů z jiných složek na serveru, jako jsou odeslané položky nebo koncepty.

Protože POP3 nesynchronizuje e-mailové složky mezi serverem a klientem, akce provedené na jednom zařízení (např. smazání e-mailu) se na ostatních zařízeních neprojeví.

Pro zvýšení bezpečnosti se doporučuje používat zabezpečenou verzi POP3 (POP3S nebo POP3 over SSL/TLS), která šifruje komunikaci mezi e-mailovým klientem a serverem.

POP3 se dnes ve srovnání s IMAP (Internet Message Access Protocol) používá méně. Poskytuje pokročilejší funkce, jako je synchronizace složek a umožňuje více zařízením efektivněji spravovat stejnou poštovní schránku.

BGP

BGP je zkratka pro Border Gateway Protocol.

Jedná se o standardizovaný protokol vnější brány používaný v sítích k výměně informací o směrování a dosažitelnosti mezi autonomními systémy (AS).

Autonomní systém je soubor IP sítí a směrovačů řízených jedinou organizací a reprezentuje jednotnou politiku směrování na internetu.

BGP je protokol vektorové cesty. To znamená, že sleduje cestu (seznam autonomních systémů), kterou datové pakety dorazí do svého cíle. Tyto informace pomáhají směrovačům BGP při rozhodování o směrování na základě zásad a atributů cesty.

Primárně se používá k určení nejlepší cesty pro procházení dat při průchodu více sítěmi provozovanými různými organizacemi nebo poskytovateli internetového připojení.

Podporuje také agregaci směrování, která pomáhá snížit velikost globální směrovací tabulky shrnutím více IP prefixů do jediného oznámení směrování.

Protokol BGP používá různé mechanismy k zamezení směrovacích smyček, včetně použití atributu AS path & pravidla rozděleného horizontu.

Používá se jak ve veřejném internetu, tak v privátních sítích.

Ve veřejném internetu se používá k výměně informací o směrování mezi poskytovateli internetového připojení a velkými sítěmi. V privátních sítích se používá pro interní směrování a připojení k internetu přes hraniční směrovač.

DHCP

DHCP je zkratka pro Dynamic Host Configuration Protocol.

Používá se k automatickému přidělování IP adres a dalších nastavení konfigurace sítě zařízením v síti TCP/IP.

Proces DHCP obecně zahrnuje čtyři hlavní fáze:

DHCP Discover

Když se zařízení připojí k síti, odešle zprávu vysílání DHCP Discover, aby našlo dostupné DHCP servery.

DHCP Offer

DHCP servery v síti odpoví na zprávu DHCP Discover pomocí nabídky DHCP. Každý server poskytne IP adresu a související možnosti konfigurace.

DHCP Request

Zařízení vybere jednu z nabídek DHCP a odešle zprávu DHCP Request na vybraný server, čímž si vyžádá nabízenou IP adresu.

DHCP Acknowledge

DHCP server potvrdí požadavek odesláním zprávy DHCP Acknowledge, která potvrzuje přidělení IP adresy.

Pojďme si vysvětlit princip fungování DHCP na jednoduchém příkladu.

Představte si, že máte domácí Wi-Fi síť a chcete, aby se k ní vaše zařízení (jako jsou telefony a notebooky) připojovala, aniž byste museli ručně nastavovat síťová nastavení každého zařízení. Zde se uplatní DHCP:

  • Řekněme, že se váš smartphone právě připojil k vaší domácí Wi-Fi síti.
  • Smartphone odešle zprávu: „Ahoj, jsem tu nový. Může mi někdo poskytnout IP adresu a další podrobnosti o síti?“
  • Váš Wi-Fi router fungující jako DHCP server uslyší tento požadavek. Řekne: „Jistě, mám dostupnou IP adresu a zde jsou další síťová nastavení, která potřebujete, jako je maska podsítě, výchozí brána a DNS server.“
  • Smartphone obdrží tyto informace a automaticky se nastaví pomocí poskytnuté IP adresy a nastavení sítě.

Smartphone je nyní připraven používat internet a komunikovat s ostatními zařízeními ve vaší domácí síti.

ICMP

Internet Control Message Protocol (ICMP) je protokol síťové vrstvy, který se používá v sadě IP k umožnění komunikace a poskytování zpětné vazby o stavu síťových operací.

ICMP se využívá hlavně k hlášení chyb a poskytování diagnostických informací souvisejících se zpracováním IP paketů.

Pokud například směrovač narazí na problém při předávání IP paketu, vygeneruje chybovou zprávu ICMP a odešle ji zpět zdroji paketu.

Mezi běžné chybové zprávy ICMP patří „Destination Unreachable“, „Time Exceeded“ a „Parameter Problem“.

Jedním z nejznámějších použití ICMP je příkaz „ping“ (používá se ke kontrole dosažitelnosti hostitele).

Tento příkaz ping odesílá zprávy ICMP Echo Request cílovému hostiteli, a pokud je hostitel dostupný, měl by odpovědět zprávou ICMP Echo Reply. Toto je jednoduchý způsob, jak otestovat připojení k síti.

ICMP se také používá pro zjišťování maximální přenosové jednotky (PMTU). PMTU je maximální velikost IP paketu, který lze přenášet bez fragmentace po cestě.

Z