Nejdůležitějšími používanými adresami jsou na druhé vrstvě OSI MAC adresa a na třerí vrstvě IP adresa.
MAC adresa (zkratka „media access control“) je jedinečný identifikátor síťového zařízení, který používají různé protokoly druhé (spojové) vrstvy OSI. Je přiřazována síťové kartě NIC bezprostředně při její výrobě (u starších karet je přímo uložena do EEPROM paměti), nicméně ji lze dnes u moderních karet dodatečně změnit. Ethernetová MAC adresa se skládá ze 48 bitů a podle standardu by se měla zapisovat jako tři skupiny čtyř hexadecimálních čísel (např. 0123.4567.89ab), mnohem častěji se ale píše jako šestice dvojciferných hexadecimálních čísel oddělených pomlčkami nebo dvojtečkami (např. 01-23-45-67-89-ab nebo 01:23:45:67:89:ab).
MAC adresa přidělená výrobcem je vždy celosvětově jedinečná. Z hlediska přidělování je rozdělena na dvě poloviny. O první polovinu musí výrobce požádat centrálního správce adresního prostoru a je u všech karet daného výrobce stejná (či alespoň velké skupiny karet, velcí výrobci mají k dispozici několik hodnot pro první polovinu). Výrobce pak každé vyrobené kartě či zařízení přiřazuje jedinečnou hodnotu druhé poloviny adresy. Jednoznačnost velmi usnadňuje správu lokálních sítí – novou kartu lze zapojit a spolehnout se na to, že bude jednoznačně identifikována.
Všesměrová (broadcast) je adresa označující všechna připojená zařízení. Jí adresovaný paket bude přijat všemi zařízeními v dané lokální síti. Všesměrová adresa obsahuje samé jedničky (ff:ff:ff:ff:ff:ff).
Skupinová (multicast) adresa označuje skupinu připojených zařízení. Přijmou ji všechna zařízení v lokální síti, která byla nakonfigurována za členy skupiny (typicky některá aplikace požádá o vstup do skupiny a karta následně začne přijímat pakety s danou skupinovou adresou). Skupinové adresy mají v nejméně významném bitu prvního bajtu jedničku (01 při zápisu adresy).
Lokálně spravovaná adresa je přidělována správcem sítě, nikoli výrobcem. Lokálně spravované adresy mají nastaven druhý nejméně významný bit prvního bajtu (02 v zápisu adresy), používají se však jen výjimečně. Vzhledem ke skutečnosti, že moderní síťová zařízení mají možnost MAC adresu změnit, není zaručena jednoznačná identifikace zařízení v lokální počítačové síti LAN. Při výskytu zařízení se stejnou MAC adresou ve stejné lokální síti, nemusí být komunikace mezi některými zařízeními plně funkční.
IP adresa je jednoznačná identifikace konkrétního zařízení (typicky počítače) v prostředí Internetu. Veškerá data (ve formě datagramů), která jsou z/na dané zařízení přez počítačovou síť posílána, obsahují IP adresu odesilatele i příjemce.
Zkratka IP znamená Internet Protocol, což je protokol, pomocí kterého spolu komunikují všechna zařízení v Internetu. Dnes nejčastěji používaná je jeho čtvrtá verze (označovaná jako IPv4), postupně se však bude přecházet na novější verzi 6 (IPv6). V jiných protokolech se adresování jednotlivých zařízení může provádět jinak (viz např. MAC adresa).
Jelikož by pro běžné uživatele počítačových sítí bylo velice obtížné pamatovat si číselné adresy, existuje systém specializovaných počítačů, které převádějí zapamatovatelná doménová jména na IP adresy a opačně. Tomuto systému se říká DNS (Domain Name System).
V IPv4 je adresou 32bitové číslo, zapisované po jednotlivých bajtech, oddělených tečkami. Hodnoty jednotlivých bajtů se zapisují v desítkové soustavě, např.
192.168.48.39
Takových čísel existuje celkem 232 ? 4×109. Určitá část adres je ovšem rezervována pro vnitřní potřeby protokolu a nemohou být přiděleny. Dále pak praktické důvody vedou k tomu, že adresy je nutno přidělovat hierarchicky, takže celý adresní prostor není možné využít beze zbytku. To vede k tomu, že v současnosti je již znatelný nedostatek IP adres, který řeší různými způsoby: dynamickým přidělováním (tzn. např. každý uživatel dial-up připojení dostane dočasnou IP adresu ve chvíli, kdy se připojí, ale jakmile se odpojí, je jeho IP adresa přidělena někomu jinému; při příštím připojení pak může tentýž uživatel dostat úplně jinou adresu), překladem adres (Network address translation) a podobně. Ke správě tohoto přidělování slouží specializované síťové protokoly, jako např. DHCP.
Adresa se v IPv4 dělí na tři základní části:
| adresa sítě | adresa podsítě | adresa počítače |
Koncepce internetu jako sítě složené ze sítí a tomu odpovídající struktura adres patří mezi novinky zavedené IP. Má velký význam pro směrování – mimo cílovou síť se směruje podle adresy sítě a až když je IP datagram doručen do ní, začíná se brát ohled i na detailnější části adresy.
Původní koncept adresace nepočítal s podsítěmi, definoval jen adresu sítě a počítače. Později se však toto členění ukázalo jako příliš hrubé a lokální část adresy se rozdělila na podsíť a počítač. Obecně platí, že mezi adresami ve stejné podsíti (mají totožnou adresu sítě a podsítě) lze data dopravovat přímo – dotyční účastníci jsou všichni propojeni jedním Ethernetem či jinou lokální sítí. Jakmile se adresa cíle nachází v jiné síti, bude potřeba datagram předat příslušnému směrovači, aby jej dopravil dál – viz směrování.
Adresu sítě pro danou koncovou síť přiděluje poskytovatel připojení (oficiálně ji přiděluje lokální registrátor, ale tím bývá právě poskytovatel). Je třeba o ni požádat prostřednictvím standardních formulářů. Strukturu lokální části adresy – zda bude rozdělena na podsítě a jaká její část bude případně věnována adrese podsítě a jaká adrese počítače – určuje správce dotyčné sítě. Ten také přiděluje adresy.
Hranici mezi adresou podsítě a počítače určuje maska podsítě (subnet mask). Jedná se o 32bitovou hodnotu zapisovanou stejně jako IP adresa. V binárním tvaru obsahuje jedničky tam, kde se v adrese nachází síť a podsíť, a nuly tam, kde je počítač. Maska podsítě je společně s IP adresou součástí základní konfigurace síťového rozhraní, často se předává protokolem DHCP.
V úplných začátcích Internetu bylo toto rozdělení adresy na síť a lokální část fixní: prvních osm bitů adresy určovalo síť, zbytek pak stroj v síti. To však umožňovalo pouze 256 sítí (v každé však mohlo být přes 16 milionů stanic), takže s nástupem lokálních sítí bylo zřejmé, že bude potřeba tento systém změnit. Adresy se proto rozdělily do tříd podle toho, jaká část adresy určuje síť a jaká určuje stanici v síti (přičemž dvě třídy byly vyhrazeny pro zvláštní účely). Odpovídající třída se poznala podle hodnoty prvních několika bitů (a pro člověka podle prvního bajtu):
Třídy IP adres
| Třída | Začátek (bin) | 1. bajt | Standardní maska | Bitů sítě | Bitů stanice | Sítí | Stanic v každé síti |
|---|---|---|---|---|---|---|---|
| A | 0 | 0–127 | 255.0.0.0 | 8 | 24 | 128 | 16 777 216 |
| B | 10 | 128-191 | 255.255.0.0 | 16 | 16 | 16384 | 65536 |
| C | 110 | 192-223 | 255.255.255.0 | 24 | 8 | 2 097 152 | 256 |
Postupem času se však i toto rozdělení ukazovalo jako velice nepružné a s rostoucím nedostatkem adres se hledaly způsoby na vylepšení tohoto systému. Od roku 1993 se pak začal používat tzv. Classless Inter-Domain Routing (CIDR, beztřídní mezidoménové směrování), ve kterém je možno předěl mezi adresou sítě a lokální částí adresy umisťovat libovolně. Daná adresa se pak značí kombinací prefixu a délky ve formě
192.168.24.0/21
což znamená, že takto určená síť je určena prvními 21 bity adresy, zbytek je adresa stanice (případně podsítě), takže tato síť používá rozsah adres 192.168.24.0–192.168.31.255.
Mezi adresami nesmí být stanice s adresou sítě ani adresou stanice tvořenou samými bity 1 nebo samými bity 0 – tyto adresy jsou vyhrazeny pro zvláštní použití (nulová adresa znamená „tato síť“, resp. „tato stanice“, jedničková adresa se používá pro všesměrové vysílání, broadcast).
Adresy 127.x.x.x (tzv. localhost, nejčastěji se používá adresa 127.0.0.1) jsou rezervovány pro tzv. loopback, logickou smyčku umožňující posílat pakety sám sobě.
Dále jsou vyčleněny rozsahy tzv. interních (neveřejných) IP adres, které se používají pouze pro adresování vnitřních sítí (např. lokálních), na Internetu se nikdy nemohou objevit. Jako neveřejné jsou určeny adresy:
Trvalejším řešením problémů s nedostatkem adres by měla být nová verze protokolu, označovaná IPv6, která se ovšem zatím rozšiřuje jen velice pozvolna. V IPv6 má adresa délku 128 bitů, což znamená, že počet možných adres je 2128 ? 3×1038. To je astronomicky velké číslo; pro představu: teoreticky se jedná o 6×1023 IP adres na 1 m? zemského povrchu. I pokud započítáme, že i v IPv6 je potřeba velkou část adres rezervovat a adresní prostor opět nelze dokonale využít, je těchto adres dostatek na to, aby každé zařízení připojitelné do internetu dostalo svou vlastní jedinečnou adresu.
Adresa IPv6 se zapisuje jako osm skupin po čtyřech hexadecimálních číslicích, například:
2001:0718:1c01:0016:0214:22ff:fec9:0ca5
Úvodní nuly v každé skupině lze ze zápisu vynechat. Výše uvedenou adresu tedy lze psát ve tvaru
2001:718:1c01:16:214:22ff:fec9:ca5
Pokud adresa obsahuje několik po sobě jdoucích nulových skupin, lze místo nich zapsat jen „::“. Tato zkratka smí být v adrese jen jedna. Používá se často u prefixů pro nulový konec adresy či u speciálních adres, jako je loopback (smyčka), jejíž tvar ::1 je podstatně příjemnější, než 0000:0000:0000:0000:0000:0000:0000:0001.
Adresní architekturu IPv6 definuje RFC 4291. Zavádí tři typy adres:
IPv6 zavádí také koncepci dosahu (scope) adres. Adresa je jednoznačná vždy jen v rámci svého dosahu. Nejčastější dosah je pochopitelně globální, kdy adresa je jednoznačná v celém Internetu. Kromě toho se často používá dosah linkový, definující jednoznačnou adresu v rámci jedné linky (lokální sítě, např. Ethernetu). Propracovanou strukturu dosahů mají skupinové adresy (viz níže).
Adresní prostor je rozdělen následovně:
Výběrové adresy nemají rezervovánu svou vlastní část adresního prostoru. Jsou promíchány s individuálními a je otázkou lokální konfigurace, aby uzel poznal, zda se jedná o individuální či výběrovou adresu.
Router neboli směrovač je síťové zařízení, které procesem zvaným routování přeposílá datagramy směrem k jejich cíli. Routování probíhá na třetí (síťové) vrstvě sedmivrstvého modelu ISO/OSI.
Netechnicky řečeno, router spojuje dvě sítě a přenáší mezi nimi data. Router se podstatně liší od switche, který spojuje počítače v místní síti. Rozdílné funkce routerů a switchů si lze představit jako switche coby silnice spojující všechna města ve státě a routery coby hraniční přechody spojující různé země.
Routování je většinou spojováno s protokolem IP, ačkoliv se stále používají i jiné, méně populární protokoly.
Obecně jako router může sloužit jakýkoliv počítač s podporou síťování a pro routování v menších sítích se často dodnes používají běžné osobní počítače, do vysokorychlostních sítí jsou však jako routery používány vysoce účelové počítače obvykle se speciálním hardwarem, optimalizovaným jak pro běžné přeposílání (forwarding) datagramů, tak pro specializované funkce jako šifrování u IPsec tunelů.
Jiné změny také zlepšují spolehlivost. Například používání stejnosměrného napájení (které se může v datových centrech odebírat z baterií) místo napájení přímo ze sítě, používání flash pamětí místo pevných disků. Velké moderní routery se tak podobají spíše telefonním ústřednám, jejichž technologie k routerům (vzhledem ke stále častějšímu nasazování protokolu IP i ke spojování hovorů) konverguje a které routery případně nahradí, zatímco malé routery, kombinované například s kabelovými nebo DSL modemy, eventuálně WiFi přístupovými body, se stávají běžným vybavením domácností.
Prvními moderními (vyhrazenými, samostatnými) routery byly routery Fuzzball.
Router se používá ke spojení alespoň dvou sítí. Speciálním případem je „jednoruký“ router, který používá jednu zásuvku (port) a routuje pakety mezi virtuálními sítěmi VLAN provozovanými na této zásuvce. V mobilních ad-hoc sítích si každý počítač routuje a forwarduje sám, zatímco v metalických a optických sítích je obvykle jen jeden router pro celou kolizní doménu.
Routeru, který připojuje klienty k vnější sítí (typicky Internetu), se říká „okrajový router“ (edge router, někdy též "brána" – gateway, což je zastaralé označení pro routery obecně). Router přenášející data mezi jinými routery se nazývá „vnitřní router“ (core router).
Router používá routovací tabulku, která obsahuje nejlepší cesty k jistým cílům a routovací metriky spojené s těmito cestami. Viz routování.
Nedávno se routovací funkce začaly přidávat ke switchům, čímž vznikly switche „Layer 2/3“, které routují provoz rychlostí srovanatelnou s rychlostí linky.
Routery se nyní implementují také jako „internetové brány“, primárně pro malé sítě jako ty používané doma a v malých kancelářích. Používají se hlavě tam, kde je internetové připojení rychlé a „vždy připojené“, jako kabelový modem nebo DSL. Tato zařízení ale nejsou v principu routery, protože počítače ve vnitřní efektivně skrývají pod svoji vlastní IP adresu ve vnější síti. Tato technika se nazývá NAT (network address translation, překlad adres).
Výrobců routerů je mnoho, patří mezi ně: 3Com, Alcatel, Cisco Systems, Juniper Networks, NETGEAR, Nortel, SMC Networks
S vhodným softwarem se i z obyčejného osobního počítače dá udělat router:
Pojmem směrování (routing) je označováno hledání cest v počítačových sítích. Jeho úkolem je dopravit datový paket určenému adresátovi, pokud možno co nejefektivnější cestou. Síťová infrastruktura mezi odesilatelem a adresátem paketu může být velmi složitá. Směrování se proto zpravidla nezabývá celou cestou paketu, ale řeší vždy jen jeden krok – komu data předat jako dalšímu. Ten pak rozhoduje, co s paketem udělat dál.
Směrovací proces lze zhruba přirovnat k cestě autem. Přijedete ke křižovatce, podíváte se na ukazatele a podle nich se rozhodnete, kam se dát. Řekněme, že jedete do Prahy a Praha je značena vpravo. Zabočíte tedy doprava a neřešíte, jak budete postupovat na další křižovatce. Teprve když na ni dojedete, prohlédnete si zdejší sadu ukazatelů a provedete další rozhodnutí (např. pojedete rovně). A tak dále, dokud nedorazíte do cíle. Podobně každé směrující zařízení v sobě má sadu pravidel (ukazatelů směru), která říkají, kam se mají předávat pakety směřující k určeným cílům. Podle nich data předá některému ze sousedů a tam se rozhodovací proces bude opakovat podle zdejších pravidel.
Směrování je základním úkolem síťové (čili třetí) vrstvy referenčního modelu OSI. Jelikož hegemonem síťové vrstvy je protokol IP, popíšeme zde směrování z jeho pohledu.
Z názvu by se zdálo, že směrování provádějí směrovače. Ve skutečnosti zdaleka nejsou samy. Směruje každé zařízení zapojené do IP sítě. I koncové počítače, byť v jejich případě bývá směrování triviální.
Základní datovou strukturou pro směrování je směrovací tabulka (routing table). Představuje vlastně onu sadu ukazatelů, podle které se rozhoduje, co udělat s kterým paketem. Směrovací tabulka je složena ze záznamů obsahujících:
Směrovací rozhodnutí pak probíhá samostatně pro každý procházející datagram. Vezme se jeho cílová adresa a porovná se směrovací tabulkou následovně:
Zajímavou otázkou je, jak vznikne a jak je udržována směrovací tabulka. Tento proces mají obecně na starosti směrovací algoritmy. Když jsou pak pro určitý algoritmus definována přesná pravidla komunikace a formáty zpráv nesoucích směrovací informace, vznikne směrovací protokol (routing protocol). Směrovací algoritmy rozdělit do dvou základních skupin: na statické a dynamické. Často se také mluví o statickém a dynamickém směrování, které je důsledkem činnosti příslušných protokolů.
Při statickém (též neadaptivním) směrování se směrovací tabulka nijak nemění. Je dána konfigurací počítače a případné změny je třeba v ní provést ručně. Tato varianta vypadá jako nepříliš atraktivní, ve skutečnosti ale drtivá většina zařízení v Internetu směruje staticky.
Patří sem například skoro všechny uživatelské počítače, které jsou zpravidla v natolik jednoduché síťové situaci, že cokoli složitějšího nemá smysl. Většinou se nacházejí v koncové podsíti, z níž vede jediná cesta ven přes odchozí směrovač. Jejich směrovací tabulka obsahuje dva záznamy: adresy ze stejné podsítě doručovat přímo, všechno ostatní předávat na odchozí směrovač. Tyto informace se nastaví manuálně či automaticky prostřednictvím DHCP a není třeba na nich nic měnit.
Jelikož jsou rozměry Internetu obrovské, je směrování v něm realizováno hierarchicky. Celý Internet je rozdělen na tzv. autonomní systémy (Autonomous System, AS). Oficiální definice zní, že autonomní systém je část sítě s jednotnou směrovací politikou vůči zbytku Internetu. Typickým příkladem je síť jednoho poskytovatele Internetu a jeho připojených zákazníků.
Uvnitř autonomního systému se používá interní směrovací protokol (Interior Gateway Protocol, IGP). Hlavním cílem těchto protokolů je pružnost a rychlá reakce na změny. Typickými představiteli jsou protokoly RIP a OSPF.
Předávání směrovacích informací mezi autonomními systémy řeší externí směrovací protokol (Exterior Gateway Protocol, EGP). Zde je hlavní prioritou stabilita směrovacího protokolu, proto je v porovnání s IGP podstatně konzervativnější. Prakticky jediným představitelem této skupiny je protokol BGP.