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

Síťový protokol je sada pravidel, která zařízení používají ke vzájemné komunikaci přes síť.

Je to podobné, jako když lidé dodržují určité chování a postupy, když spolu mluví.

Specifikují věci, jako je struktura datových paketů, jak by se zařízení měla identifikovat a jak by se měly řešit chyby a konflikty.

Síťové protokoly lze rozdělit do těchto tří hlavních typů: komunikace, zabezpečení a správa.

#1. Komunikační protokoly

Tyto protokoly se zaměřují na umožnění výměny dat a informací mezi zařízeními v síti. Určují, jak jsou data formátována, přenášena a přijímána, což zajišťuje efektivní komunikaci. Příklady jsou HTTP/HTTPS, FTP, TCP a UDP.

#2. Bezpečnostní protokoly

Bezpečnostní protokoly jsou navrženy tak, aby chránily důvěrnost a autenticitu dat při průchodu sítí. Vytvářejí bezpečné kanály pro komunikaci a zajišťují, aby citlivé informace nebyly zranitelné vůči zachycení nebo manipulaci.

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

#3. Protokoly správy

Protokoly pro správu se používají pro správu, monitorování a řízení síťových zařízení/prostředků. Pomáhají správcům sítě konfigurovat a efektivně řešit problémy se síťovými komponentami.

Některé 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.

Pojďme diskutovat o některých společných protokolech z každé kategorie.

Komunikační protokoly

HTTP

HTTP je zkratka pro Hypertext Transfer Protocol.

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

Jedná se o protokol aplikační vrstvy, který funguje nad modelem OSI.

Když do webového prohlížeče zadáte URL a stisknete enter, odešle HTTP požadavek na webový server, který pak požadavek zpracuje a odešle zpět HTTP odpověď obsahující požadované informace.

Může to být webová stránka, obrázek, video nebo jakýkoli jiný zdroj hostovaný na serveru.

HTTP je bezstavový protokol. To znamená, že každý požadavek od klienta na server je považován za nezávislou a izolovanou transakci.

Server neuchovává žádné informace o předchozích požadavcích od stejného klienta. Tato jednoduchost je jedním z důvodů, proč je HTTP tak široce používán.

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ší. Tyto metody určují typ operace, kterou chce klient na serveru provést.

Odpovědi HTTP obecně obsahují stavový kód, který označuje výsledek požadavku.

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

A HTTP se v průběhu let dočkalo několika verzí, přičemž HTTP/1.1 je dlouhodobě jednou z nejpoužívanějších verzí.

HTTP/2 a HTTP/3 (také známé jako QUIC) byly vyvinuty pro zlepšení výkonu.

HTTPS

HTTPS je zkratka pro Hypertext Transfer Protocol Secure.

Jedná se o rozšíření protokolu HTTP používaného pro zabezpečenou komunikaci přes počítačové sítě.

Přidává vrstvu zabezpečení ke standardnímu HTTP šifrováním dat vyměňovaných mezi prohlížečem a webovým serverem pomocí kryptografických protokolů, jako je SSL/TLS. I když někdo zachytí přenášená data, nemůže je snadno přečíst nebo dešifrovat.

HTTPS zahrnuje formu autentizace serveru.

Když se prohlížeč připojí k webu přes HTTPS, web předloží digitální certifikát, který vydává důvěryhodná certifikační autorita (CA).

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

Webové stránky, které používají HTTPS, jsou označeny „https://“ na začátku svých adres URL. Použití této předpony znamená, že web používá zabezpečené připojení.

HTTPS obecně používá pro komunikaci port 443 – zatímco HTTP používá port 80. Webové servery mohou pomocí tohoto rozlišení snadno rozlišovat mezi zabezpečenými a nezabezpečenými připojeními.

Vyhledávače, jako je Google, upřednostňují ve svém hodnocení weby, které používají HTTPS.

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

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

FTP

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

FTP funguje na modelu klient-server. To znamená, že klient zahájí připojení k jinému počítači (serveru), aby si vyžádal a přenesl soubory.

FTP používá pro komunikaci dva porty a může pracovat ve dvou režimech: Aktivní režim a Pasivní režim.

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

Aktivní režim je tradiční režim, který funguje na principu modelu klient-server. Zde je otevřen další port (obvykle v rozsahu 1024-65535) pro přenos dat.

Na druhou stranu se pasivní režim č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.

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

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

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

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

Tradiční FTP není bezpečný protokol, protože přenáší data včetně uživatelských jmen a hesel v prostém textu.

Zabezpečené FTP (SFTP) a FTP přes SSL/TLS (FTPS) jsou bezpečnější alternativy, které šifrují přenos dat pro ochranu citlivých informací.

Zde je podrobný č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 hlavní roli při poskytování spolehlivého a uspořádaného přenosu dat mezi zařízeními přes IP sítě.

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

Podporuje také plně duplexní komunikaci, která umožňuje současně odesílat a přijímat data v obou směrech v rámci navázaného spojení.

TCP obecně monitoruje podmínky sítě a upravuje svou přenosovou rychlost, aby se zabránilo zahlcení sítě.

Tento protokol zahrnuje mechanismy kontroly chyb pro detekci a opravu poškození dat během přenosu. Pokud se zjistí, že datový segment je poškozen, přijímač požádá o opakovaný přenos.

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

Přijímač v TCP spojení posílá potvrzení (ACK) pro potvrzení příjmu datových segmentů. Pokud odesílatel neobdrží ACK do určité doby – odešle datový segment znovu.

TCP udržuje informace o stavu připojení na straně odesílatele i příjemce. Tyto informace pomáhají sledovat posloupnost datových segmentů a spravovat připojení.

IP

IP je zkratka pro internetový protokol.

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 používá číselný adresní systém k identifikaci zařízení v síti. Tyto číselné adresy se nazývají adresy IP 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í hlavní roli při 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, která umožňuje směrovačům přijímat rozhodnutí o předávání.

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

S každým paketem se zachází nezávisle a k dosažení svého cíle může mít různé cesty.

UDP

UDP je zkratka pro User Datagram Protocol.

Je to nespojovaný a lehký protokol, který poskytuje způsob, jak posílat data přes síť bez navazování formálního spojení.

Na rozdíl od TCP protokolu 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 neimplementuje mechanismy pro detekci a opravu chyb. Pokud se paket ztratí nebo přijde mimo provoz, je na aplikační vrstvě, jak se s tím vypořádá.

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 řízení přetížení, takže je možné zahltit síť provozem UDP, který potenciálně způsobuje 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í. Mezi běžné příklady patří streamování zvuku a videa v reálném čase, online hraní her, DNS a některé aplikace IoT.

Nejlepší na UDP je jeho funkce multiplexování. Umožňuje více aplikacím na stejném zařízení používat stejný port UDP, který rozlišuje datové toky pomocí čísel portů.

pojďme pochopit UDP na jednoduchém příkladu.

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

  • Napíšete svůj vzkaz na papír a omotáte ho kolem míče.
  • Míč hodíte směrem ke svému kamarádovi. Nečekáte, až to váš přítel chytí nebo potvrdí, že to dostal; prostě to hodíš a doufáš, že to chytí.
  • Míč se odrazí a dostane se k vašemu kamarádovi, který se ho snaží chytit. Někdy se však kvůli hluku může odrazit od jejich rukou nebo přijít mimo provoz.
  • Váš přítel si přečte zprávu na papíře, a pokud chytí míč úspěšně, dostane zprávu. Pokud ne, mohli by to přehlédnout a vy to nebudete vědět, protože jste to neměli jak zkontrolovat.

Takže v tomto příkladu:

Kulička představuje protokol UDP, který odesílá data bez navazování formálního spojení.

Odeslání míče bez čekání na odpověď je jako UDP bez připojení a nezajištění doručení.

Možnost odskočení 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á prostřednictvím UDP, která se případně zabývá případnými chybějícími daty.

Bezpečnostní protokoly

SSH

SSH je zkratka pro Secure Shell.

Jedná se o síťový protokol použí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 používá kryptografické techniky k ověření klienta i serveru. Tím zajistíte, ž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.

Všechna data přenášená přes SSH připojení jsou šifrována, což ztěžuje každému, kdo zachytí komunikaci, odposlouchávání vyměňovaných dat.

Zdroj obrázku: Přetečení zásobníku

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

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

Když se připojíte k serveru SSH, váš klient použije váš soukromý klíč k prokázání vaší identity.

Spolu s tím také podporuje tradiční ověřování uživatelského jména a hesla. To je však méně bezpečné a často se to nedoporučuje, zejména u serverů připojených k internetu.

SSH standardně používá pro komunikaci port 22 – to však lze z bezpečnostních důvodů 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 bezpečný 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 také dostupný ve Windows prostřednictvím různých softwarových řešení.

SMTP

SMTP je zkratka pro Simple Mail Transfer Protocol.

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

SMTP je základní součástí e-mailové komunikace a funguje ve spojení 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 (pomocí STARTTLS). Port 465 byl také použit pro šifrovanou komunikaci SMTP, ale je méně běžný.

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

Tyto servery SMTP se často používají jako přenosy, 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.

Komunikaci lze zabezpečit pomocí šifrování přes TLS nebo SSL – 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 načítání e-mailů používaných 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“. Načítá e-maily ze serveru a poté je po uložení kopie na zařízení klienta obvykle ze serveru odstraní.

Někteří e-mailoví klienti nabízejí možnost ponechat kopii e-mailu na serveru – toto však není výchozí chování.

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

POP3 je bezstavový protokol. To znamená, že nesleduje e-maily, které jste si již stáhli. Pokaždé, když se připojíte k serveru, načte 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 primárně určen 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 sbírka IP sítí a směrovačů pod kontrolou jediné organizace, která představuje společnou politiku směrování na Internet.

BGP je protokol cesty vektoru. To znamená, že sleduje cestu (seznam autonomních systémů), po které datové pakety dosáhnou 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 procházení více sítí provozovaných různými organizacemi nebo ISP.

Podporuje také agregaci směrování, která pomáhá zmenš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 & the rozdělený horizont pravidlo.

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 ISP a velkými sítěmi. V privátních sítích se používá pro vnitřní 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 nalezlo dostupné servery DHCP.

Nabídka DHCP

Servery DHCP v síti odpoví na zprávu DHCP Discover nabídkou DHCP. Každý server poskytuje IP adresu a související možnosti konfigurace.

Požadavek DHCP

Zařízení vybere jednu z nabídek DHCP a odešle zprávu DHCP Request na vybraný server, který požaduje nabízenou IP adresu.

Potvrzení DHCP

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

Pojďme pochopit princip fungování DHCP na jednoduchém příkladu.

Představte si, že máte domácí síť Wi-Fi 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 přichází na řadu DHCP:

  • Řekněme, že se váš smartphone právě připojil k vaší domácí síti Wi-Fi.
  • 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ší požadavek. Říká: „Jistě, mám dostupnou IP adresu a zde jsou další síťová nastavení, která potřebujete – jako maska ​​podsítě, výchozí brána a server DNS.“
  • 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 používá hlavně pro hlášení chyb a poskytování diagnostických informací souvisejících se zpracováním IP paketů.

Pokud například router narazí na problém při předávání paketu IP – 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 dosažitelný, 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 paketu IP, který lze přenášet bez fragmentace po cestě.

Zprávy ICMP jako „Fragmentation Needed“ a „Packet Too Big“ se používají k určení vhodné MTU pro danou cestu, což pomáhá předcházet fragmentaci a optimalizovat přenos dat.

Tyto zprávy lze také použít ke sledování času, který pakety potřebují k cestě ze zdroje do cíle a zpět. K tomuto účelu se používá zpráva „Time Exceeded“.

SNMP

SNMP je zkratka pro Simple Network Management Protocol.

Jedná se o protokol aplikační vrstvy pro správu a monitorování síťových zařízení/systémů.

SNMP pracuje s použitím modelu manažer-agent. Existují dvě hlavní složky.

Správce SNMP

Manažer je odpovědný za vytváření požadavků a shromažďování informací od agentů SNMP. Může také nastavit konfigurační parametry na agentech.

SNMP agent

Agent je softwarový modul nebo proces běžící na síťových zařízeních. Ukládá informace o konfiguraci a výkonu zařízení. Agent odpovídá na požadavky správců SNMP.

MIB (Management Information Base) je hierarchická databáze, která definuje strukturu a organizaci spravovaných objektů na síťovém zařízení. Slouží jako reference pro SNMP manažery i agenty, což zajišťuje, že si navzájem rozumí.

Existují tři verze SNMP, které jsou široce používány.

SNMPv1: Původní verze SNMP, která k ověřování používá řetězce komunity. Postrádá bezpečnostní prvky a je považován za méně bezpečný.

SNMPv2c: Vylepšení oproti SNMPv1 s podporou dalších datových typů a vylepšeným zpracováním chyb.

SNMPv3: Nejbezpečnější verze SNMP, která nabízí šifrování, ověřování a řízení přístupu. Řeší mnoho bezpečnostních problémů dřívějších verzí.

SNMP se používá pro různé úlohy správy sítě, jako je monitorování využití šířky pásma, sledování provozuschopnosti zařízení, vzdálená konfigurace síťových zařízení a přijímání výstrah, když nastanou určité události (např. selhání systému nebo překročení prahových hodnot).

Závěr ✍️

Doufám, že jste našli tento článek velmi užitečným při poznávání různých síťových protokolů. Možná vás také bude zajímat informace o segmentaci sítě a o tom, jak ji implementovat.

  Úvodní příručka a případová studie Google Cloud