Adresy v rámci při průchodu sítí
Stanice na sdíleném médiu
Máme dvě stanice připojené na sdíleném médiu, což může být například stará verze ethernetu v topologii sběrnice (bus) nebo běžně používaná topologie hvězda (star), když se jako centrální prvek použije hub. Obě stanice mají nastavenu IP adresu a určenu síť (zadánu masku subnetu) a síťové karty mají MAC adresu. Tento způsob se označuje jako sdílený ethernet.
V tomto případě jsou obě stanice ve stejné síti (stejném subnetu), takže dojde k přímému doručení.
Pokud chce modrá stanice poslat data červené stanici, tak nejprve vytvoří ethernetový rámec:
- známe IP adresu cílové stanice
- do hlavičky IP paketu se vloží naše IP adresa (zdrojová) a cílová IP adresa
- nyní potřebujeme MAC adresu cílové stanice, buď ji máme v ARP tabulce, nebo provedeme ARP dotaz
- do ethernetového rámce vložíme naši MAC adresu (zdrojovou) a cílovou MAC adresu
Následně se odešlou tato data do sítě (využije se CSMA/CD). Na sdíleném médiu projde rámec celou síť a každá stanice naslouchá, zda neobsahuje její MAC adresu. Pokud ano, tak rámec přijme.
Propojení pomocí switche
V případě, kdy je ethernet propojen do topologie hvězda za pomoci switche, tak se ve většině případů dostane komunikace pouze ke stanicím, kterým je určena (pomocí CAM tabulky, tedy jaká MAC adresa komunikuje z kterého portu, pokud nemá záznam, tak odešle na všechny porty mimo příchozího). Princip komunikace je však stejný jako u sdíleného média a switch je pro komunikující stanice transparentní. Tento, dnes běžný, způsob se označuje jako přepínaný ethernet.
Propojení pomocí routeru
V tomto případě je každá stanice v jiném subnetu, takže musí dojít k nepřímému doručení. Router již není transparentní síťový prvek, ale ostatní síťová zařízení jej musí adresovat. Následující popis je obecný způsob komunikace:
- na síťové vrstvě se vytvoří hlavička IP paketu, která obsahuje IP adresu zdrojové a cílové stanice
- zdrojová stanice testuje, zda je cílová IP adresa ve stejném subnetu, tedy zda je pro ni lokální
- dále pokračuje vrstva síťového rozhranní vytvářením hlavičky ethernetového rámce, vloží svoji zdrojovou MAC adresu, cílová MAC adresa se přiřadí k IP adrese z ARP keše (dotazu) a určí se podle:
- při lokální komunikaci adresy cílové stanice
- pokud není lokální, tak se podívá do routovací tabulky a použije adresu patřičného routeru (další hop, často se použije gateway)
- rámec se odešle do sítě
- data přijdou na router, ten podle MAC adresy pozná, že jsou určena jemu
- zkontroluje paket a sníží TTL (doba života v síti - počet hopů)
- znovu se provádí kontrola, zda je IP adresa lokální na jednom z interfaců a buď se odešle dalšímu routeru nebo přímo cílové stanici
- cílová stanice přijme rámec podle MAC adresy
- ověří jej, zkontroluje IP adresu a postoupí jej skrze vrstvy nahoru
Aktivní síťové prvky
Počítačová síť se skládá z aktivních a pasivních síťových prvků. Mezi pasivní síťové prvky patří kabeláž a konektory. Mezi aktivní síťové prvky patří síťová karta (NIC), switch, router, firewall, apod.
Repeater (opakovač)
- pracuje na první vrstvě OSI modelu (Layer 1)
- většinou má pouze dva porty
- slouží k prodloužení dosahu signálu, hlavně u sběrnicové topologie
- dnes se nepoužívá
Princip funkce
- data, která přijme na jednom portu, okamžitě přeposílá na druhý port
Hub (rozbočovač)
- označuje se také jako multipoint repeater
- pracuje na první vrstvě OSI modelu (Layer 1)
- většinou má 4 - 24 portů
- základní prvek pro hvězdicovou topologii
- dnes se nepoužívá
Princip funkce
- data, která přijme na jednom portu, okamžitě přeposílá na všechny porty mimo portu odkud je přijal
Bridge (most)
- pracuje na druhé vrstvě OSI modelu (Layer 2) - rozhoduje podle MAC adresy
- většinou má pouze dva porty
- slouží k propojení/oddělení segmentů
- snižuje velikost kolizní domény
- broadcasty a multicasty se posílají všude
- dnes se nepoužívá
Princip funkce
- u přicházejících rámců čte zdrojovou MAC adresu a vytváří v paměti tabulku MAC adres a portů, odkud pochází
- pokud nemá pro cílovou MAC adresu záznam, tak rámec odešle na všechny porty
- pokud záznam existuje a pokud leží příjemce ve stejném segmentu jako odesílatel, tak se data neposílají do ostatních segmentů
Switch (přepínač)
- označuje se také jako multipoint bridge
- pracuje na druhé vrstvě OSI modelu (Layer 2) - rozhoduje podle MAC adresy
- většinou má 4 - 48 portů
- slouží k propojení/oddělení segmentů
- snižuje velikost kolizní domény
- broadcasty se posílají všude
- pracuje rychle
- základní prvek pro hvězdicovou topologii
- neupravuje rámec
Princip funkce
- u přicházejících rámců čte zdrojovou MAC adresu a vytváří v paměti tabulku MAC adres a portů, odkud pochází, tabulka se označuje jako CAM (Content Addressable Memory) tabulka
- pokud nemá pro cílovou MAC adresu záznam, tak rámec odešle na všechny porty mimo příchozího
- pokud má v tabulce cílovou MAC adresu, tak rámec pošle pouze na daný port
Módy switche
Kvůli hledání kompromisu mezi zpožděním a spolehlivostí existuje několik metod.
- Cut-Through - rychlé, ale bez kontroly chyb, přeposílá rámce okamžitě, kdy zná cílovou MAC adresu
- Store-and-Forward - nejprve se celý rámec přijme, ověří se FCS (CRC) a pak teprve posílá nebo zahodí
- Fragment-Free (Modified Cut-Through) - kompromis, nejprve načte prvních 64 bytů (včetně hlavičky) a pak přeposílá
Router (směrovač)
- pracuje na třetí vrstvě OSI modelu (Layer 3) - rozhoduje podle IP adresy
- hraniční router se občas označuje jako gateway (brána)
- slouží pro spojování sítí
- nabízí služby uvnitř LAN (směrování ze zdroje do cíle, segmentování sítě, ARP) a propojení do WAN (přes serial, ISDN, DSL, optiku)
- broadcasty se standardně nepřeposílají - snižuje velikost broadcast domény
- je pomalejší než switch, často je dnes nahrazován Layer 3 switchem (MultiLayer Switch)
- vytváří novou hlavičku a ukončení (CRC) rámce
Princip funkce
- v paměti si sestavuje routovací tabulku podle sítí, kam má přímo připojené interfacy, podle statických hodnot a podle informací od ostatních routerů (záleží na použitém protokolu)
- u příchozích paketů se dívá na cílovou IP adresu a podle routovací tabulky určuje cestu k cíli (odesílá data na daný port)
- při odesílání dat modifikuje hlavičku rámce, jako zdrojovou MAC adresu vkládá svojí a jako cílovou buď další router nebo stanici
- pokud cílová IP adresa patří do některého přímo připojeného subnetu, tak odesílá přímo této stanici, přitom se koukne do ARP tabulky, zda má pro danou IP adresu MAC adresu, pokud ne, tak odešle ARP dotaz (kdo má tuto IP?), pokud nedostane odpověď, tak rámec zahodí, pokud ano, tak doplní ARP tabulku a rámec odešle
Další skvělý článek.
Zde mě jen zaskočilo u routerů: "V tomto případě je každá stanice v jiném subnetu"
Mám doma router co mi spojuje ntb a stolní pc s IP 192.168.2.100 a 192.168.2.101. Ty ale jsou ve stejném subnetu?
(Zase ty subnety;-))
odpověď na [1]Vlastimil Ovčáčík: Díky.
Předpokládám, že doma máte kombinovaný router se switchem (to je to běžné, co se prodává pro připojení k netu) a jeden routerový port je připojen do internetu a do druhého (vnitřně) je switch, kde máte NTB a PC.
odpověď na [2]Samuraj: http://www.agen.cz/produkt/24114/SMC-Wireless-G-Barricade-Router-4xLAN-1xWAN.htm
Řekl bych, že jo. PC jede na ethernetu a ntb na wifi/g.
Ještě se vrátím k těm subnetům. Každý subnet má svůj router/switch - dejme tomu tři subnety, tedy tři routery - které jsou pak spojené do jednoho routeru/switche - a ten pak na WAN...
Vezmeme si PC v subnetu
-zdrojová IP 10.0.1.15/24
-cílová IP 10.0.2.9/24
Takže router v subnetu 10.0.1.0/24 zjistí, že to není lokální adresa a tak to pošle na další hop - tj. router (10.0.0.1/16) spojující všechny subnety - ten zjistí že to je v jeho síti a pošle to na router zodpovědný za subnet 10.0.2.0/24 a dále pak do 10.0.2.9/24 - tj. cílový počítač.
?? :)
odpověď na [3]Vlastimil Ovčáčík: Ještě doplním:
00001010.00000000.00000000.0000001
<-------Síť-----> <Subnet> <--PC-->
?
odpověď na [3]Vlastimil Ovčáčík: Tak to jsem moc nepochopil. Pokud chci mít 3 subnety, tak mám jeden router, do kterého jsou připojeny, ten router je gateway. Stanice ví, jestli se jedná o lokální adresu nebo ne (a pak to pošle na GW). Router provádí směrování mezi těmito třemi subnety a internetem (nadřazenou úrovní).
odpověď na [4]vo: Toto je také podivné, takto se to neoznačuje, možná jsem to špatně vysvětloval. Adresa se dělí na část síťovou (network - pro jeden subnet vždy stejná) a hostovskou (host - adresy v daném subnetu).
Myslím, že už jsem prozřel. Vygooglil jsem si obrázek http://www.networkdictionary.cn/images/subnet.gif a už je to jasný... Furt jsem v tom hledal nějakou vědu ;-)
Krásnej článek, jen tak dál. Jsem doma, připravujíc se na CCNA 640-802. ;-)
Chtel bych se zeptat, jakym zpusobem je reseno, aby se sdilelo pouze pripojeni k netu, tzn. aby se zarizeni navzajem nevidely v lokalni siti!?
odpověď na [8]Tomas: Na cisco switchi se to dá řešit pomocí Private VLAN, více v www.samuraj-cz.com/clanek/cisco-ios-19-private-vlan-a-protected-port/.