Přepínač (switch), tvorba topologie sítě (router), komunikace mezi sítěmi
Co jsme dnes dělali
Přepínače (switch) a jejich použití
- Minule jsme se bavili o komunikaci na lokální síti. K adresování jsme používali MAC adresy, což jsou identifikátory rozhraní zařízení ("ethernetový" port, WiFi připojení, apod.)
- Abychom mohli propojit zařízení v rámci sítě, použijeme hardwarové zařízení zvané přepínač (switch)
- Minule jsme si ukazovali, jak vypadá; najdete ho v učebně v každé řadě
- Přepínače mají také rozhraní, do kterých připojujeme zařízení. Také mají tabulku, do které si ukládají průběžné
informace o připojených zařízeních
- Páruje MAC adresy s rozhraním
- Přepínače chytře propojují zařízení v rámci sítě a mají na starosti tři věci
- Forwarding: pokud na switch přijde rámec (frame) a v tabulce najde příslušnou MAC adresu příjemce, pošle rámec jen na příslušné rozhraní
- Filtering: pokud na switch přijde rámec a v tabulce zjistí, že odesílatel i příjemce jsou na stejném rozhraní, rámec se nikam dál neposílá
- Flooding: pokud na switch přijde rámec a v tabulce MAC adresa příjemce není, pošle rámec na všechna rozhraní
- Tyto tři schopnosti zajišťují rychlé doručování rámců bez zbytečného přehlcení sítě
Tvorba topologie sítě
- Proč nemůže být celý internet jedna velká síť?
- Abychom udrželi síť rychlou a nepřehlcenou, museli bychom zařízení propojovat jen pomocí přepínačů a jejich MAC tabulky by musely být velmi velmi velké.
- To je jeden z důvodů, proč počítače rozdělujeme do menších sítí
- Pro rozdělení dvou sítí používáme síťové prvky zvané směrovače (router)
- Router je tedy zařízení, které sítě odděluje (tvoří bariéru)
- K identifikaci nám MAC adresy již stačit nebudou, budeme potřebovat systém, podle kterého sítě můžeme logicky oddělovat
- K tomu slouží IP adresy
- IP adresa je logická adresa zařízení v síti
- Nejčastěji se používá IPv4, 4 byty, psané v desítkové soustavě, oddělené tečkou, například
20.10.0.2- Existuje IPv6, větší počet IP adres ($2^{128}$ místo $2^{32}$), problém IPv4 vs IPv6
- V rámci sítě je unikátní
- Používáme je i pro komunikaci v rámci sítě, aby byl systém jednotný
- Jak poznat, že zařízení patří do nějaké sítě?
- Každá síť má svůj rozsah IP adres, říkáme mu síťová maska
- Zapisuje se jako IP adresa s lomítkem a číslem, které udává, kolik bitů IP adresy patří zařízením v síti
- Například
20.10.0.0/24znamená, že první 24 bitů IP adresy patří do sítě, ostatní 8 bitů jsou pro zařízení- Tudíž v této sítí máme 256 možných IP adres ($2^8$) a tedy až 256 možných zařízení
Překlad IP adres na MAC adresy
- Jak bylo zmíněno, pomocí IP adres můžeme komunikovat i v rámci sítě
- To ale nemůže být pravda, protože v rámci sítě používáme MAC adresy
- Chceme ale jednotný způsob adresování, proto se přišlo s protkolem ARP (Address Resolution Protocol), který umí IP adresu na MAC adresu přeložit
- Počítač A chce zjistit MAC adresu počítače B, zná však jen jeho IP adresu
- Počítač A musí nejprve poslat ARP request na síť, aby získal MAC adresu počítače B
- Dělá to pomocí speciální broadcast MAC adresy (
FF:FF:FF:FF:FF:FF); ta slouží k tomu, aby rámec přišel všem zařízením na síti (switche tyto rámce propouští na všechna svá rozhraní)
- Dělá to pomocí speciální broadcast MAC adresy (
- Počítač B vidí, že IP adresa v ARP requestu odpovídá jeho IP adrese
- Počítač B tedy odpovídá ARP reply počítači A, v rámci zasílá svou MAC adresu
- Toto už je klasický unicast, tedy zaslání jednomu zařízení. Počítač B zná MAC adresu počítače A z ARP requestu.
- Počítač A musí nejprve poslat ARP request na síť, aby získal MAC adresu počítače B
- Protokol ARP dokáže nepříjemně zatížit síť kvůli broadcast requestům
- Všechny počítače na síti tedy cachují ARP requesty a informace o MAC adrese odesílatele (aby se potom, kdyby chtěli komunikovat s počítačem A, nemuseli znovu ptát na jeho MAC adresu)
- Počítače A i B svou komunikaci také cachují
Komunikace mezi sítěmi
- Již víme, jak komunikujeme na stejné síti pomocí vrstvy síťového rozhraní
- Pro překročení bariéry sítě musíme použít síťovou vrstvu
- Chceme z naší sítě odeslat data počítači v jiné síti
- Nejdříve se ale podíváme, jestli je příjemce v naší síti: to uděláme pomocí síťové masky
- Pokud je, tak komunikujeme v rámci sítě, pomocí ARP najdeme MAC adresu a pošleme přímo
- Pokud není, zjistíme si adresu takzvané výchozí brány (default gateway)
- Ta je obvykle nastavena při přidělování IP adresy nebo ručně administrátorem počítače
- Tato adresa výchozí brány je většinou právě adresa routeru
- Pomocí ARP získáme MAC adresu routeru a pošleme data (router je jistě na naší lokální síti)
- Podle čeho se ale router rozhodne, kam data odeslat dál?
- Router si uchovává směrovací tabulku, v ní si pamatuje:
- Identifikátor sítě (IP adresu + masku)
- Další skok (na jaký interface máme poslat paket dál)
- Metriku ("cenu" vybrané cesty)
- Po příchodu paketu se router podívá na IP adresu příjemce. V tabulce následně vyhledá záznam pro příslušnou síť (podle masky) a do tohoto směru paket pošle dál
- Nutné je ještě vysvětlit jak se paket posílá dál
- Router přepíše cílovou MAC adresu na MAC adresu dalšího routeru (nebo případně, že jsme dorazili do cíle, na MAC adresu příjemce) a pošle paket dál
- IP adresa se nemění
Příště: Transportní protokoly TCP a UDP, Aplikační protokoly: Dynamické přidělování IP adres (DHCP), HTTP, DNS
Obrázky použité v této lekci pochází z webu Kapitoly informatiky. Tento materiál je dle licence tohoto webu licencován jako CC BY-NC-SA.