172 lines
16 KiB
TeX
172 lines
16 KiB
TeX
\chapter{Počítačové sítě}
|
|
|
|
V~širším pojetí jsou počítačové sítě multidisciplinárním oborem zaměřujícím se na návrh, implementaci, správu a propojení technických prostředků umožňující navázání spojení a předávání dat mezi počítači a dalšími zařízeními.
|
|
V~užším pojetí je počítačová síť tvořena vzájemně propojenými počítači za účelem sdílení dat a zdrojů.
|
|
|
|
\textit{Nejdůležitější vlastností počítačových sítí je jejích obecné použití. Počítačové sítě jsou primárně budovány z~univerzálního programovatelného hardwaru a nejsou optimalizovány pro konkrétní aplikaci, jako je telefonování nebo přenos televizního signálu}\citep{Peterson_Davie_2022}
|
|
na rozdíl od telekomunikačních sítí (pevná telefonní síť nebo telegrafní síť), které jsou pevně spjaty se službou kterou poskytují.
|
|
Počítačové sítě dokáží přenášet širokou škálu dat včetně textu, obrazu, hlasu, videa různých souborů a dalších dat. Toto umožuje počítačových síťím podporovat mnoho aplikací a služeb.
|
|
|
|
Jedním z~požadavků na počítačové sítě je možnost dynamického navázání spojení a předávání dat s~jinými zařízeními k~tomu se uplatňuje princip přepínané sítě. Existují dva základní principy přepínané sítě. Přepínané sítě založeny na principu \textbf{přepojování okruhů} a sítě založeny na principu \textbf{přepojování paketů}. První z~jmenovaných principů je starší a běžný pro tradiční telefonní síť, kdy je na začátku spojení vytvořen přenosový okruh mezi zdrojovým a cílovým uzlem. Tento okruh má garantované přenosové pásmo a je rozpojen na konci spojení.
|
|
Princip \textbf{přepojování paketů} vymysleli nezávisle na sobě vědci Paul Baran a Donald Davies. Přenášená data se rozdělí na bloky o~určité délce. Každý blok se doplní o~informace o~zdroji, cíli, případně o~další informace potřebné pro přenos. Takový blok se nazývá paket a je odesílán po síti. Síťové prvky každý jeden paket na základě cílové adresy směrují k~dalšímu síťovému prvku nebo koncovému zařízení. Takto může každý každý paket cestovat po síti jinou cestou k~cíli v~závislosti na aktuálním stavu sítě. Na cílovém zařízení dojde k~příjmu a seřazení paketů do původního pořadí, následně jsou z~jednotlivých paketů sestavena původní data.
|
|
|
|
Koncové zařízení je zařízení vybavené komunikačním rozhraním (síťovým adaptérem), které využívá síťové služby a obvykle neposkytuje síťové služby jiným zařízením. Mezi typické koncové zařízaní patří počítač, síťové tiskárny, mobilní zařízení, herní konzole, IoT zařízení.
|
|
|
|
% ==================================================================================================================
|
|
\section{Síťová architektura}
|
|
|
|
V~době vývoje počítačových sítí (v~70. letech 20. století) byly vyvinuty různé síťové technologie, které však nebyly vzájemně kompatibliní. Toto stěžovalo komunikaci mezi koncovými zařízeními různých výrobců. Snaha o~propojení různých sítí a požadavek na kompatibilitu koncových zařízení různých výrobců vyvolávala potřebu standardizace.
|
|
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=0.7\textwidth]{images/osi-tcpip.jpg}
|
|
\caption{Porovnání modelu ISO OSI a TCP/IP.\citep{peterka_tcpip}}
|
|
\label{fig:rozdilmodelu}
|
|
\end{figure}
|
|
|
|
V~reakci na tuto situaci organizace ISO\footnote{International Organization for Standardization - Mezinárodní organizace pro normalizaci} vyvinula teoretický model koncepce počítačových síťí, známý jako model OSI (Open System Interconnection). Tento obecný model fungování počítačových sítí rozděluje jednotlivé funkce sítě do sedmi vrstev. Každá vrstva má svůj specifický úkol. Existence modelu usnadnila vývoj síťových prvků a zvýšila interoperabilitu mezi různými technologiemi a výrobci.
|
|
|
|
V~praxi se pro komunikaci počítačů ujala sada protokolů TCP/IP, která vznikla v~70. letech 20. století pro projekt ARPANET, který byl předchůdcem dnešního internetu a definovala jak mezi sebou mají komunikovat jednotlivé zařízení. Jedná se tedy o~praktickou implementaci síťové komunikace, zatímco OSI zůstává referenčním modelem. V~souvislosti s~modelováním síťové komunikace se lze setkat s~modelem TCP/IP, který fungování těchto protokolů organizuje do vrstev. Oproti ISO OSI modelu má model TCP/IP vrstevy pouze čtyři, protože jsou některé vrstvy zkombinovány. Porovnání obou modelů je znázorněno na obrázku \ref{fig:rozdilmodelu}.
|
|
|
|
Vrstvy modelu TCP/IP:
|
|
\begin{itemize}
|
|
\item \textbf{Vrstva síťového rozhraní}: Jedná se o~nejnižší vrstu modelu TCP/IP. Zajišťuje rámcování dat (rozdělení dat na menší bloky), které jsou přenášeny přes přenosové médium a řídí přístup k~tomuto médiu. Má na starosti příjímat a odesílat jednotlivé bity prostřednictvím přenosového média a zároveň detekovat a opravovat případné chyby, ke kterým mohlo dojít při přenosu dat. Vrstva síťového rozhraní může používat libovolnou přenosovou technologií (Ethernet, Wi-Fi, DSL, optická vlákna), pro kterou musí přizpůsobit přenášená data.
|
|
\item \textbf{Síťová vrstva}: Hlavním úkolem síťové vrstvy je zajistit přenost dat mezi odesílatelem a příjemcem v~různých síťích, kteří nejsou přímo spojeni. K~tomu využívá adresaci, směrování a fragmentaci (rozdělení dat na menší bloky pro přenos přes různé typy síťí). Síťová vrstva pracuje s~protokoly IP (Internet Protokol) pro adresaci a směrování a ICMP (Internet Control Message Protocol) pro diagnostiku.
|
|
\item \textbf{Transportní vrstva}: Tato vrstva také rozděluje data z~aplikační vrstvy na menší bloky (segmenty) a na straně příjemce je znovu skládá do původní podoby. Slouží k~zajištění přenosu dat mezi aplikacemi běžícími na různých zařízeních v~síťi. \textit{Podle jejich nároků a požadavků může transportní vrstva regulovat tok dat oběma směry, zajišťovat spolehlivost přenosu, měnit nespojovaný charakter přenosu (v~síťové vrstvě) na spojovaný}\citep{peterka_tcpip}, kontrolovat chyby v~přijatých datech a řídit pořadí doručených dat. Nejznámější protokoly pracující na transportní vrstvě jsou TCP pro spojovaný (vytváří iluzi nepřerušovaného spojení), spolehlivý přenost dat a UDP pro nespolehlivý přenos dat bez spojení.
|
|
\item \textbf{Aplikační vrstva}: Nejvyžší vrstva TCP/IP modelu slouží jako rozhraní mezi aplikacemi a síťovou infrastrukturou.
|
|
\end{itemize}
|
|
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=1\textwidth]{images/tcpip_zapouzdreni.png}
|
|
\caption{Schéma zapouzdření aplikačních dat na vrstvách TCP/IP.\citep{wiki_tcpip}}
|
|
\label{fig:zapouzdreni}
|
|
\end{figure}
|
|
|
|
Oprázek \ref{fig:zapouzdreni} ilustruje spolupráci jednotlivých vrstev síťového modelu TCP/IP. Vrsvy sítě plní své specifické úkoly a využívají služeb bezprostředně nižší vrstvy.
|
|
|
|
Data jsou předány od aplikací transportní vrsvě, která data rozdělí na menší bloky~-~segmenty\footnote{u UDP též datagramy} a opatří každý segment hlavičkou podle druhu spojení. Obsah Transportní vrstvy je předán vrsvě síťové, která ho zabalí do IP paketů. Každý IP paket obsahuje hlavičku s~IP adresami odesílatele a příjemce, což umožňuje směrování dat přes různé sítě. Síťová vrstva předá IP pakety vrstvě síťového rozhraní, která pakety zabalí do rámců. Rámce jsou opatřeny potřebnými infromacemi pro přenos dat na fyzické vrstvě.
|
|
|
|
Při příjmu dat probíhá tento proces opačně, hlavičky jsou odebírány. Rámce jsou rozbaleny na IP pakety a IP pakety na segmenty, které jsou složeny do původních dat, která jsou předána aplikaci. Každá vrstva zpracovává svou vlastní hlavičku.
|
|
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=0.8\textwidth]{images/tcpip_komunikace.png}
|
|
\caption{Schéma komunikace napříč sítěmi v~TCP/IP.\citep{wiki_tcpip}}
|
|
\label{fig:prenos}
|
|
\end{figure}
|
|
|
|
Obrázek \ref{fig:prenos} znázorňuje, jak probíhá přenos dat prostřednictvím tří propojených sítí, kde jsou data směrována routery. Odesílací a přijímací zařízení se nachází v~různých síťích, a proto nejsou přímo propojena. Přenos dat je zajištěn prostřednictvím síťové vrstvy, která směruje pakety přes jednotlivé sítě. Přenos je na vrstvě síťového rozhraní realizován různými technologiemi.
|
|
|
|
% ==================================================================================================================
|
|
\section{Ethernet}
|
|
|
|
Ethernet je řada drátových síťových technologií, která je standardizována v~IEEE\footnote{Institute of Electrical and Electronics Engineers}~802.3. Ethernet umožňuje komunikaci zařízení v~lokální síťi pomocí MAC adres. Díky své jednoduchosti a nízké ceně se jedná o~nejrozšířenější technologii používanou v~lokálních síťích (LAN).\citep{ijs2_ethernet}
|
|
V~kontextu síťového modelu ISO/OSI pracuje na linkové vrstvě a fyzické vrstvě.
|
|
|
|
Na linkové vrstvě specifikuje formát rámců, detekci chyb a způsob adresování. Dříve ethernet využíval sdílené přenosové média, ke kterým linková vrstva řídila přístup (předcházela a detekovala kolize). Dnešní ethernet je přepínaný (používají se přepínače) a v~přístupových síťích se používá topologie sítě strom. \citep{samuraj_ethernet} Vymizelo sdílení přenosového média, to má za výhodu odstranění kolizí a zvýšení rychlosti.\citep{samuraj_csma}
|
|
|
|
Na fyzické vrstvě IEEE 802.3 specifikuje typy přenosových médií (koaxiální kabel, kroudená dvojlinka, optické vlákno), použité konektory, přenosové rychlosti a signálové kódování.
|
|
|
|
\begin{figure}
|
|
\centering
|
|
\includegraphics[width=1\textwidth]{images/8021q.png}
|
|
\caption{Standartní ethernetový rámec a rozšířený rámec o~802.1Q.\citep{freeccna_vlan}}
|
|
\label{fig:ethernetframe}
|
|
\end{figure}
|
|
|
|
\pagebreak
|
|
|
|
V~horní části na obrázku \ref{fig:ethernetframe} je zobrazen znázorněn standardní ethernetový rámec. Je složen z:
|
|
\begin{itemize}
|
|
\item \textbf{Preambule}: Prvních 48 bitů slouží k~rozpoznání příchozího rámce na straně přijímacího zařízení. Obsahuje tuto sekvenci:\\\verb|10101010 10101010 10101010 10101010|\\\verb|10101010 10101010 10101010 10101011|.\citep{ieee_8023}
|
|
\item \textbf{SFD}: 8 bitů označuje konec preambule nebo také začátek samotného rámce.\\Obsahuje: \verb|10101011|.\citep{ieee_8023}
|
|
\item \textbf{Cílová adresa}: MAC adresa cílového zařízení.
|
|
\item \textbf{Zdrojová adresa}: MAC adresa odesílajícího zařízení.
|
|
\item \textbf{Délka/Typ}: Pokud je hodnota v~decimální soustavě měnší než 1500 označuje délku přenášených dat, pokud je větší neš 1500 označuje jaký protokol je přenášen na vyšší vrstvě. Seznam hodnot a protokolů spravuje IEEE.
|
|
\item \textbf{Data}: Obsahuje data z~vyšší síťové vrstvy.
|
|
\item \textbf{FCS}: Kontrolní CRC součet k~ověření správnosti přenosu rámce. Poškozené rámce jsou zahozeny.
|
|
\end{itemize}
|
|
|
|
\subsection{IEEE 802.1Q VLAN}
|
|
|
|
VLAN, neboli Virtual LAN slouží k~logickému rozdělení fyzické sítě. To je u~Ethernetu umožněno prostřednictvím standardu IEEE 802.1Q, který rozšiřuje standardní Ethernetový rámec o~další hodnoty. V~dolní části obrázku \ref{fig:ethernetframe} je znázorněn ethernetový rámec dle IEEE 802.1Q rozšířený v~hlavičce o~32 bitů. Za zdrojovou adresu jsou vloženy následující hodnoty:
|
|
\begin{itemize}
|
|
\item \textbf{TPID}: Identifikátor použítého VLAN protokolu - v~případě IEEE~802.1Q obsahuje \verb|0x8100|. Je na stejné pozici jako Délka/Typ u~standartního rámce.
|
|
\item \textbf{PCP}: Označuje prioritu rámce podle IEEE 802.1P.
|
|
\item \textbf{CFI}: Říká jakým způsobem je přenášen rámec. Bud od bitu s~nejnižší hodnotou k~bitu s~nejvyšší nebo naopak. Pro ethernet \verb|0|.
|
|
\item \textbf{VID}: Identifikátor (tag) konkrétní VLAN.\citep{fair_vlan}
|
|
\end{itemize}
|
|
|
|
VLAN zjednodušuje správu sítě. Díky možnosti vytvářet směrovací politiky pro různé skupiny zařízení a možnosti oddělení speciálního provozu (management sítě) zvyšuje bezpečnost sítě.\citep{samuraj_vlan}
|
|
|
|
Aby bylo možné jednotlivé zařízení přiřazovat do různých logických sítí je nutné, aby IEEE~802.1Q podporoval přepínač, do kterého jsou zařízení připojeny. Na přepínačích s~podporou IEEE~802.1Q lze nakonfigurovat do které logické sítě konkrétní port spadá a zda na daném portu má být použít tag či nikoli. Přepínače bez podbory IEEE~802.1Q přistupují k~tagovanému provozu stejně jako k~běžným rámcům.
|
|
|
|
\textbf{Trunk port} je port, prostřednictvím kterého je přenášeno více logických síťí. Takto bývají propojeny směrovače s~přepínačema, přepínače mezi sebou nebo přístupové body nabízejí-li více Wi-Fi síťí.
|
|
|
|
\textbf{Access port}\footnote{přístupová port} je port sloužící k~připojení jednotlivých zařízení. Provoz je bez IEEE~802.1Q tagu, tag bývá přiřazen na přepínači.
|
|
|
|
\iffalse
|
|
\section{Taxonomie počítačových sítí}
|
|
|
|
Protože, je pojem počítačové sítě zcela obecný (síť lze realizovat libovolnou technologií), lze počítačové sítě děli na základě celé řady aspektů.
|
|
|
|
\subsection{Podle způsobu přepojování}
|
|
\begin{itemize}
|
|
\item Přepojování okruhů
|
|
\item Přepojování packetů
|
|
\end{itemize}
|
|
|
|
\subsection{Podle rozsahu sítě}
|
|
\begin{itemize}
|
|
\item PAN - Personal area network
|
|
jedná se o~osobní síť malého rozsahu (až v~řádech nízkých desítek metrů), slouží pro potřeby uživatele. Jaké PAN se označují sítě především tvořené nositelnou elektronikou. Bluetooth - přenost zvuku, dat
|
|
|
|
\item LAN - Local area network
|
|
Jedná se o~lokální sítě
|
|
|
|
\item MAN - metropolitan area network
|
|
|
|
|
|
\item WAN - wide area network
|
|
\end{itemize}
|
|
\fi
|
|
|
|
% ==================================================================================================================
|
|
\section{Základní síťové prvky}
|
|
|
|
Počítačové sítě jsou tvořeny technickými prostředky (síťovými prvky). \textbf{Pasivní síťové prvky} nemanipulují s~přenášenými daty a nezasahují do přenášených dat. Nevyžadují externí napájení. Aktivní síťové prvky vyžadují externí napájení a manipulují s~přenášenými daty a mohou do nich i zasahovat. \textbf{Aktivní síťové prvky} nabízejí různou funkcionalitu podle které se dále rozlišují.
|
|
|
|
\textbf{Aktivní síťové prvky:}
|
|
\begin{itemize}
|
|
\item síťový adaptér,
|
|
\item přepínač (switch),
|
|
\item přístupový bod (access point),
|
|
\item směrovač (router).
|
|
\end{itemize}
|
|
|
|
Mezi dnes již málo používané aktivní síťové prvky lze zařadit:
|
|
\begin{itemize}
|
|
\item opakovač (repeater),
|
|
\item most (bridge).
|
|
\end{itemize}
|
|
|
|
\textbf{Pasivní síťové prvky:}
|
|
\begin{itemize}
|
|
\item kabeláž,
|
|
\item spojky,
|
|
\item pasivní rozdělovače,
|
|
\item konektory,
|
|
\item filtry.
|
|
\end{itemize}
|
|
|
|
% ==================================================================================================================
|
|
\section{802.1X}
|
|
802.1X je standard vydaný IEEE\footnote{Institute of Electrical and Electronics Engineers} který v~obecné rovině zavádí a popisuje možnosti řízení přístupu k~přenosovému médiu. Nedefinuje žádné komunikační protokoly a celou problematiku popisuje pouze v~obecné rovině.
|
|
|
|
% ------------------------------------------------------------------------------------------------------------------
|
|
\subsection{eduroam}
|
|
|
|
eduroam je mezinárodní projekt s~cílem umožnit studentům a pracovníkům vzdělávacích a výzkumných institucí jednoduchý, bezpečný a spolehlivý přístup k~veřejné síti Internet v~parcipiující institucích kdekoli na světě. Přístup k~internetu je zařízením umožněň pomocí Wi-Fi nebo ethernetovéh rozhraní. eduroam využívá specifikace 802.1X pro udělení či zamítnutí přístupu. Parcipiující instituce využívají jednotný identifikátor Wi-Fi sítě \verb|eduroam| nebo \verb|eduroam-| dopněný názvem instutuce.
|
|
|
|
Tímto se snaží napodobit roaming (přepnutí ze síťě jednoho operátora do sítě jiného operátora) v~celulárních síťích. |