Vyšlo v týdeníku CHIPweek číslo 15/98, 7. dubna 1998
Vytištěno z adresy: http://www.earchiv.cz/a98/a815k180.php3

IP adresy

IP address (IP adresa)
Pro fungování protokolů TCP/IP, a ostatně i pro fungování samotného Internetu, který je na těchto protokolech vybudován, je nezbytně nutný vhodný mechanismus pro adresování konkrétních uzlů sítě. Důležité přitom je, aby každý jednotlivý uzel měl jednoznačnou (tzv. unikátní) síťovou adresu - což v případě celosvětového Internetu znamená celosvětově unikátní síťovou adresu. Přenosové protokoly TCP/IP, zejména pak protokoly síťové vrstvy (tj. hlavně protokol IP) za tímto účelem používají číselné adresy v rozsahu 32 bitů, označované jako tzv. IP adresy. Pro člověka však takovéto čistě číselné adresy nejsou vhodné proto, že jsou málo mnemonické - a to i v případě, kdy se použije obvyklá konvence pro symbolické zapisování těchto adres: celé 32-bitové číslo, představující konkrétní IP adresu, se rozdělí na 4 části, odpovídající jednotlivým 8-bitovým bytům. Obsah každé z těchto čtyř částí (bytů) se pak vyjádří samostatné jako desítkové číslo, a čtyři takto vzniklá čísla se zapíší za sebe, oddělená čárkami. výsledkem jsou zápisy typu: 193.84.252.1, které sice vypadají mnohem "uživatelsky přítulněji" než 32-bitová binární čísla, ale stále ještě nejsou pro člověka snadno zapamatovatelná. Z tohoto důvodu se v Internetu zavedla ještě další možnost - použití tzv. symbolických doménových jmen (o nich si ale povíme příště).
 
Class A, B, C (IP adresy třídy A, B a C)
Když se autoři protokolů TCP/IP rozhodli pro adresy v rozsahu 32 bitů, představovalo to z jejich tehdejšího pohledu více než dostatečnou rezervu. Dokonce rezervu tak velikou, že si mohli dovolit určitou nehospodárnost v přidělování těchto adresu - což ale na druhé straně velmi šikovně využili pro efektivní fungování přenosových mechanismů, zejména pak protokolu IP. Vtip je v tom, že vždy určitou skupinu IP adres prohlásili za jeden celek (odpovídající jedné síti), a protokol IP uzpůsobili tak, aby této skutečnosti využíval, zejména při tzv. směrování (neboli při hledání cest v soustavě vzájemně propojených sítí). Pro potřeby takovéhoto směrování si jednotlivé směrovače (routery) pamatují vždy jen to, kde leží určitá konkrétní síť jako celek, a již se nezabývají jednotlivými počítači v rámci těchto dílčích sítí (pokud by tak činily, museli by si uchovávat mnohem větší objem informací o topologii celé výsledné soustavy sítí).
Představě, že určitá skupina uzlů tvoří jeden logický celek - síť - autoři protokolů TCP/IP nutně museli uzpůsobit i celou koncepci IP adres a způsob jejich distribuce. Dvaatřicetibitové IP adresy rozdělily logicky na dvě části tak, aby jedna z nich (tvořená vyššími bity) představovala číslo sítě, zatímco zbývající (nižší) bity budou reprezentují relativní adresu konkrétního uzlu v rámci příslušné sítě (s tím že směrovače se při svém rozhodování řídí vždy jen síťovou částí IP adresy). Autoři TCP/IP naštěstí předpokládali, že k Internetu se budou připojovat opravdu různě velké sítě (od velmi velkých, které mohou mít až stovky tisíc uzlů), až po velmi malé sítě, s desítkami uzlů. Proto zavedli tři tzv. třídy IP adres, pojmenované A, B a C (přičemž ještě existují i třídy D a E, pro speciální účely). Třída A je určená pro velmi velké sítě, a je charakteristická tím, že pro číslo sítě používá 7 bitů, zatímco pro relativní adresu uzlu má vyhrazeno 24 bitů. To znamená, že sítí s adresou třídy A může být nejvýše 128 (tj. dvě, umocněno na 8, ve skutečnosti ale méně, protože krajní hodnoty mají speciální význam). Na druhé straně každá z takovýchto sítí může mít až 2 umocněno na 24 různých uzlů, což je opravdu hodně. Adresy třídy B rozdělují 32 bitů celé IP adresy na obě logické složky rovnoměrněji: pro adresu sítě mají vyčleněno 14 bitů, a pro relativní adresu uzlu v rámci sítě bitů 16 (dva bity jsou nutné pro rozlišení tohoto typu adresy). Adresy třídy B proto byly určeny pro středně velké sítě, čítající maximálně 65 536 uzlů (přesněji o dva méně, bez obou krajních). Adresy třídy C pak byly určeny pro nejmenší sítě maximálně s 256 uzly (přesněji 254, kvůli oběma krajním hodnotám) - protože pro relativní adresu uzlu v rámci sítě mají vyhrazeno jen 8 bitů. Pro další vývoj IP adres pak bylo nesmírně podstatné, že tyto adresy se přidělovaly vždy po celých třídách: pokud někdo chtěl například jen čtyři IP adresy (pro velmi malou síť se čtyřmi uzly), nejmenší "kvantum" které mohl dostat přidělené byla jedna síťová adresy třídy C (lidově tzv. jedno C-čko), neboli 256 jednotlivých IP adres. V případě sítě s několika stovkami uzlů to bylo dokonce ještě horší: místo již nepostačující adresy třídy C dostal majitel takovéto sítě jednu adresu třídy B, a tím 65 536 různých IP adres (které využil například jen na několik málo procent).
 
IP registry
v ranných dobách Internetu byly IP adresy distribuovány přímo z jediného centra, a dokud poptávka po nich nebyla příliš velká, mohlo toto středisko (při jedné univerzitě v USA) svou roli zvládat bez větších problémů. Jakmile však zájem o IP adresy vzrostl, muselo toto středisko delegovat část svých pravomocí a povinností "dílčím přidělovatelům", typicky po jednom z každé země , připojené k Internetu,. Těmto subjektům se pak začalo říkat IP registry (někdy překládáno jako "IP registrář"). Ještě později, kvůli zavedení mechanismu CIDR (viz dále) došlo k ještě jemnější delegaci pravomoci k přidělování IP adres - dnes v zásadě musí být takovýmto přidělovatele (IP registry) každý Internet provider s vlastní přípojkou do zahraničí.
 
IPnG, IPv6 (IP next generation, IP version 6)
způsob přidělování IP adres po celých třídách A, B a C časem začal být příliš neefektivní. Při prudkém rozvoji Internetu, a tím při nesmírné poptávce po IP adresách totiž začalo hrozit i jejich případné vyčerpání. Radikálním a současně i definitivním řešením hrozícího nebezpečí mohl být pouze přechod na větší síťové adresy (s větším počtem bitů), ale to znamenalo úplně předělat celý protokol IP (do kterého jsou stávající 32-bitové IP adresy tak dokonale "zažrány", že změna velikosti adres není dost dobře možná). Proto byl vyvinut nástupce současného protokolu IP (verze č. 4). Nový protokol IP, který již pracuje se 128 bitovými adresami, dostal jméno "IP nové generace" (IPnG, IP Next Generation), nebo je označován také jako IP verze 6 (IPv6, přičemž verze 5 neexistuje). Praktické nasazení tohoto protokolu je ale zatím téměř nulové.
 
CIDR (Classless InterDomain Routing)
jedním z důvodů, proč nově vyvinutý protokol IPv6 nedoznal zatím příliš velkého nasazení, je ztráta motivace - nebezpečí brzkého vyčerpání 32-.bitového adresového prostoru současných IP adres totiž bylo různými dočasnými opatřeními zmírněno natolik, že do radikální změny v podobě přechodu na zcela nový protokol se dnes nikdo nehrne. Snad nejefektivnějším opatřením na úsporu a efektivnější přidělování IP adres bylo zavedení mechanismu CIDR (Classless InterDomain Routing). Ten si lze v zásadě představit jako odstranění původního dělení na třídy A, B a C, a na jejich nahrazení libovolně velkými logickými celky, které odpovídají celým sítím (nyní jde o tzv. CIDR bloky - například čtyři původní síťové IP adresy třídy C mohou tvořit jeden CIDR blok, a být přiděleny provozovateli, který si nárokuje několik stovek jednotlivých IP adres. V zásadě tedy lze říci, že díky zavedení mechanismu CIDR lze IP adresy přidělovat po skupinách velikosti libovolné mocniny dvou (to proto, aby bylo vždy možné rozdělit jejich 32 bitů na část odpovídající adrese sítě, a část odpovídající relativní adrese uzlu v rámci sítě).
Zavedení mechanismu CIDR současně pomohlo řešit i jeden další naléhavý problém - neúměrně rostoucí objem směrovacích informací, které musí distribuovány po celém Internetu, a které si musí pamatovat každý směrovač. Díky CIDR blokům je možné objem těchto informací velmi významně snížit, ovšem za cenu toho, že IP adresy se stanou závislé na konkrétním poskytovateli připojení (v zásadě si lze představit, že Internet provider, který současně musí být i IP registry), dostane přidělen celý CIDR blok adres. Z něj pak "vykrajuje" menší CIDR bloku a ty přiděluje svým zákazníkům, ovšem detailní informace o tomto "vykrojení" již nemusí šířit do světa, ale ponechává si je pouze u sebe).